From 587730f985e6594cc2f0f1d167841f54f5619f96 Mon Sep 17 00:00:00 2001 From: jbachorik Date: Sun, 11 Nov 2018 19:27:27 +0100 Subject: [PATCH] Rework variable mapping logic Possibly fixes #333 Possibly fixes #367 --- .../runtime/InstrumentingMethodVisitor.java | 98 +--- .../sun/btrace/runtime/VariableMapper.java | 128 +++++ .../com/sun/btrace/runtime/BTRACE28Test.java | 2 +- .../com/sun/btrace/runtime/BTRACE333Test.java | 13 + .../sun/btrace/runtime/InstrumentorTest.java | 25 +- .../btrace/runtime/InstrumentorTestBase.java | 22 +- .../sun/btrace/runtime/TezSplitterTest.java | 537 ++++++++++++++---- src/test/traces/issues/BTRACE_333.java | 15 + 8 files changed, 641 insertions(+), 199 deletions(-) create mode 100644 src/share/classes/com/sun/btrace/runtime/VariableMapper.java create mode 100644 src/test/java/com/sun/btrace/runtime/BTRACE333Test.java create mode 100644 src/test/traces/issues/BTRACE_333.java diff --git a/src/share/classes/com/sun/btrace/runtime/InstrumentingMethodVisitor.java b/src/share/classes/com/sun/btrace/runtime/InstrumentingMethodVisitor.java index d962963a3..b79fa1f87 100644 --- a/src/share/classes/com/sun/btrace/runtime/InstrumentingMethodVisitor.java +++ b/src/share/classes/com/sun/btrace/runtime/InstrumentingMethodVisitor.java @@ -321,16 +321,18 @@ private static final class SavedState { static final int UNCONDITIONAL = 1; static final int EXCEPTION = 2; + private final VariableMapper mapper; private final LocalVarTypes lvTypes; private final SimulatedStack sStack; private final Collection newLocals; private final int kind; - SavedState(LocalVarTypes lvTypes, SimulatedStack sStack, Collection newLocals) { - this(lvTypes, sStack, newLocals, CONDITIONAL); + SavedState(VariableMapper mapper, LocalVarTypes lvTypes, SimulatedStack sStack, Collection newLocals) { + this(mapper, lvTypes, sStack, newLocals, CONDITIONAL); } - SavedState(LocalVarTypes lvTypes, SimulatedStack sStack, Collection newLocals, int kind) { + SavedState(VariableMapper mapper,LocalVarTypes lvTypes, SimulatedStack sStack, Collection newLocals, int kind) { + this.mapper = mapper.mirror(); this.lvTypes = new LocalVarTypes(lvTypes.toArray()); this.sStack = new SimulatedStack(sStack.toArray()); this.newLocals = new HashSet<>(newLocals); @@ -339,9 +341,7 @@ private static final class SavedState { } - private int nextMappedVar = 0; - private int[] mapping = new int[8]; - + private final VariableMapper variableMapper; private final SimulatedStack stack = new SimulatedStack(); private final List locals = new ArrayList<>(); private final Set newLocals = new HashSet<>(3); @@ -364,6 +364,7 @@ public InstrumentingMethodVisitor(int access, String owner, String name, String this.desc = desc; initLocals((access & ACC_STATIC) == 0); + this.variableMapper = new VariableMapper(argsSize); } @Override @@ -542,7 +543,7 @@ public void visitJumpInsn(int opcode, Label label) { } } jumpTargetStates.put(label, new SavedState( - localTypes, stack, newLocals, + variableMapper, localTypes, stack, newLocals, opcode == Opcodes.GOTO || opcode == Opcodes.JSR ? SavedState.UNCONDITIONAL : SavedState.CONDITIONAL ) @@ -654,7 +655,7 @@ public void visitVarInsn(int opcode, int var) { break; } } - var = remap(var, size); + var = variableMapper.remap(var, size); boolean isPush = false; Type opType = null; @@ -1150,7 +1151,7 @@ public void visitInsn(int opcode) { @Override public void visitIincInsn(final int var, final int increment) { - super.visitIincInsn(remap(var, 1), increment); + super.visitIincInsn(variableMapper.remap(var, 1), increment); pc++; } @@ -1158,9 +1159,9 @@ public void visitIincInsn(final int var, final int increment) { public void visitLocalVariable(final String name, final String desc, final String signature, final Label start, final Label end, final int index) { - int newIndex = map(index); - if (newIndex != 0) { - super.visitLocalVariable(name, desc, signature, start, end, newIndex == Integer.MIN_VALUE ? 0 : Math.abs(newIndex)); + int newIndex = variableMapper.map(index); + if (newIndex != 0xFFFFFFFF) { + super.visitLocalVariable(name, desc, signature, start, end, newIndex == Integer.MIN_VALUE ? 0 : newIndex); } } @@ -1170,9 +1171,9 @@ public AnnotationVisitor visitLocalVariableAnnotation(int typeRef, TypePath type int cnt = 0; int[] newIndex = new int[index.length]; for (int i = 0; i < newIndex.length; ++i) { - int idx = map(index[i]); - if (idx != 0) { - newIndex[cnt++] = idx == Integer.MIN_VALUE ? 0 : Math.abs(idx); + int idx = variableMapper.map(index[i]); + if (idx != 0xFFFFFFFF) { + newIndex[cnt++] = idx; } } return super.visitLocalVariableAnnotation(typeRef, typePath, start, end, Arrays.copyOf(newIndex, cnt), desc, visible); @@ -1201,12 +1202,13 @@ public void visitLabel(Label label) { lvs.expire(); } } + newLocals.clear(); newLocals.addAll(ss.newLocals); } Label handler = tryCatchHandlerMap.get(label); if (handler != null) { if (!jumpTargetStates.containsKey(handler)) { - jumpTargetStates.put(handler, new SavedState(localTypes, stack, newLocals, SavedState.EXCEPTION)); + jumpTargetStates.put(handler, new SavedState(variableMapper, localTypes, stack, newLocals, SavedState.EXCEPTION)); } } super.visitLabel(label); @@ -1295,16 +1297,18 @@ public int storeAsNew() { @Override public final int newVar(Type t) { - int idx = newVarIdx(t.getSize()); + int idx = variableMapper.newVarIdx(t.getSize()); - newLocals.add(new LocalVarSlot(idx, toSlotType(t))); - int var = idx == Integer.MIN_VALUE ? 0 : Math.abs(idx); + int var = VariableMapper.unmask(idx == Integer.MIN_VALUE ? 0 : idx); + newLocals.add(new LocalVarSlot(var, toSlotType(t))); + localTypes.setType(var, t); return idx; } private void initLocals(boolean isInstance) { + int nextMappedVar = 0; if (isInstance) { locals.add(owner); nextMappedVar++; @@ -1321,6 +1325,7 @@ private void initLocals(boolean isInstance) { private Object[] computeFrameLocals() { Object[] localsArr; + int nextMappedVar = variableMapper.getNextMappedVar(); if (nextMappedVar > argsSize) { int arrSize = Math.max(locals.size(), nextMappedVar); localsArr = new Object[arrSize]; @@ -1334,9 +1339,8 @@ private Object[] computeFrameLocals() { localsArr[++idx] = TOP_EXT; } } else { - int var = mapping[idx - argsSize]; - if (var < 0) { - var = var == Integer.MIN_VALUE ? 0 : -var; + int var = variableMapper.map(idx); + if (var != 0xFFFFFFFF) { localsArr[var] = e; if (e == LONG || e == DOUBLE) { int off = var + 1; @@ -1346,8 +1350,6 @@ private Object[] computeFrameLocals() { localsArr[off] = TOP_EXT; idx++; } - } else { - System.err.println("***"); } } idx++; @@ -1362,9 +1364,8 @@ private Object[] computeFrameLocals() { } else { localsArr = locals.toArray(new Object[0]); } - for (int m : mapping) { + for (int m : variableMapper.mappings()) { if (m != 0) { - m = m == Integer.MIN_VALUE ? 0 : Math.abs(m); if (localsArr[m] == null) { localsArr[m] = TOP; } @@ -1386,45 +1387,6 @@ private void reset() { newLocals.clear(); } - private void setMapping(int from, int to, int padding) { - if (mapping.length <= from + padding) { - mapping = Arrays.copyOf(mapping, Math.max(mapping.length * 2, from + padding + 1)); - } - mapping[from] = to; - if (padding > 0) { - mapping[from + padding] = Math.abs(to) + padding; // padding - } - } - - private int remap(int var, int size) { - int mappedVar = map(var); - if (mappedVar >= 0) { - int offset = var - argsSize; - var = (mappedVar == 0) ? newVarIdx(size) : -mappedVar; - setMapping(offset, var, size - 1); - mappedVar = var; - } - var = mappedVar == Integer.MIN_VALUE ? 0 : Math.abs(mappedVar); - // adjust the mapping pointer if remapping with variable occupying 2 slots - nextMappedVar = Math.max(var + size, nextMappedVar); - return var; - } - - private int map(int var) { - if (var < 0) { - return var; - } - int idx = (var - argsSize); - if (idx >= 0) { - if (mapping.length <= idx) { - mapping = Arrays.copyOf(mapping, mapping.length * 2); - return 0; - } - return mapping[idx]; - } - return var == 0 ? Integer.MIN_VALUE : -var; - } - private Object peekFromStack() { Object o = stack.peek(); if (o == null || o == TOP_EXT) { @@ -1441,12 +1403,6 @@ private void pushToStack(Type t) { stack.push(toSlotType(t)); } - private int newVarIdx(int size) { - int var = -nextMappedVar; - nextMappedVar += size; - return var == 0 ? Integer.MIN_VALUE : var; - } - private Type fromSlotType(Object slotType) { if (slotType == INTEGER) { return Type.INT_TYPE; diff --git a/src/share/classes/com/sun/btrace/runtime/VariableMapper.java b/src/share/classes/com/sun/btrace/runtime/VariableMapper.java new file mode 100644 index 000000000..fc7d55cad --- /dev/null +++ b/src/share/classes/com/sun/btrace/runtime/VariableMapper.java @@ -0,0 +1,128 @@ +package com.sun.btrace.runtime; + +import java.util.Arrays; + +public class VariableMapper { + private static final int UNMASK = 0x1FFFFFFF; + private static final int DOUBLE_SLOT_FLAG = 0x20000000; + private static final int REMAP_FLAG = 0x40000000; + + private int argsSize; + + private int nextMappedVar = 0; + private int[] mapping = new int[8]; + + public VariableMapper(int argsSize) { + this.argsSize = argsSize; + this.nextMappedVar = argsSize; + } + + private VariableMapper(int argsSize, int nextMappedVar, int[] mapping) { + this.argsSize = argsSize; + this.nextMappedVar = nextMappedVar; + this.mapping = Arrays.copyOf(mapping, mapping.length); + } + + public void replaceWith(VariableMapper other) { + this.argsSize = other.argsSize; + this.nextMappedVar = other.nextMappedVar; + this.mapping = Arrays.copyOf(other.mapping, other.mapping.length); + } + + public VariableMapper mirror() { + return new VariableMapper(argsSize, nextMappedVar, mapping); + } + + public void setMapping(int from, int to, int size) { + int padding = size == 1 ? 0 : 1; + if (mapping.length <= from + padding) { + mapping = Arrays.copyOf(mapping, Math.max(mapping.length * 2, from + padding + 1)); + } + mapping[from] = to; + if (padding > 0) { + mapping[from + padding] = Math.abs(to) + padding; // padding + } + } + + public int remap(int var, int size) { + if ((var & REMAP_FLAG) != 0) { + return var & UNMASK; + } + + int offset = var - argsSize; + if (offset < 0) { + // self projection for method arguments + return var; + } + if (offset >= mapping.length) { + mapping = Arrays.copyOf(mapping, mapping.length * 2); + } + int mappedVar = mapping[offset]; + + boolean isRemapped = ((mappedVar & REMAP_FLAG) != 0); + if (size == 2) { + if ((mappedVar & DOUBLE_SLOT_FLAG) == 0) { + // no double slot mapping; must re-map + isRemapped = false; + } + } + if (!isRemapped) { + mappedVar = remapVar(newVarIdxInternal(size), size); + setMapping(offset, mappedVar, size); + } + int unmasked = mappedVar & UNMASK; + // adjust the mapping pointer if remapping with variable occupying 2 slots + nextMappedVar = Math.max(unmasked + size, nextMappedVar); + return unmasked; + } + + public int map(int var) { + if (((var & REMAP_FLAG) != 0)) { + return var & UNMASK; + } + + int offset = (var - argsSize); + if (offset >= 0) { + if (mapping.length <= offset) { + return 0xFFFFFFFF; + } + return mapping[offset] & UNMASK; + } + return var; + } + + public int[] mappings() { + int[] cleansed = new int[mapping.length]; + for (int i = 0; i < mapping.length; i++) { + cleansed[i] = mapping[i] & UNMASK; + } + return cleansed; + } + + private int newVarIdxInternal(int size) { + int var = nextMappedVar; + nextMappedVar += size; + return var == 0 ? Integer.MIN_VALUE : var; + } + + private int remapVar(int var, int size) { + int mappedVar = var | REMAP_FLAG; + if (size == 2) { + mappedVar = mappedVar | DOUBLE_SLOT_FLAG; + } + return mappedVar; + } + + public int newVarIdx(int size) { + int var = newVarIdxInternal(size); + return remapVar(var, size); + } + + public int getNextMappedVar() { + return nextMappedVar; + } + + public static int unmask(int var) { + return var & UNMASK; + } +} diff --git a/src/test/java/com/sun/btrace/runtime/BTRACE28Test.java b/src/test/java/com/sun/btrace/runtime/BTRACE28Test.java index 0eecbe8c8..967a1f996 100644 --- a/src/test/java/com/sun/btrace/runtime/BTRACE28Test.java +++ b/src/test/java/com/sun/btrace/runtime/BTRACE28Test.java @@ -45,7 +45,7 @@ public void bytecodeValidation() throws Exception { "ASTORE 6\n" + "ASTORE 7\n" + "ALOAD 7\n" + - "FRAME FULL [resources/issues/BTRACE28 java/lang/String java/lang/String java/lang/String java/lang/String [B [B java/lang/StringBuilder] [java/lang/Throwable]\n" + + "FRAME FULL [T java/lang/String java/lang/String java/lang/String java/lang/String [B [B java/lang/StringBuilder] [java/lang/Throwable]\n" + "ASTORE 8\n" + "ALOAD 8\n" + "FRAME APPEND [T]\n" + diff --git a/src/test/java/com/sun/btrace/runtime/BTRACE333Test.java b/src/test/java/com/sun/btrace/runtime/BTRACE333Test.java new file mode 100644 index 000000000..6948a26aa --- /dev/null +++ b/src/test/java/com/sun/btrace/runtime/BTRACE333Test.java @@ -0,0 +1,13 @@ +package com.sun.btrace.runtime; + +import org.junit.Test; + +public class BTRACE333Test extends InstrumentorTestBase { + @Test + public void stackmapErrorTest() throws Exception { + originalBC = loadTargetClass("classdata/BackpackExtensionTest"); + transform("issues/BTRACE_333"); + checkTransformation(""); + + } +} diff --git a/src/test/java/com/sun/btrace/runtime/InstrumentorTest.java b/src/test/java/com/sun/btrace/runtime/InstrumentorTest.java index 4ea3ff441..bc39428ab 100644 --- a/src/test/java/com/sun/btrace/runtime/InstrumentorTest.java +++ b/src/test/java/com/sun/btrace/runtime/InstrumentorTest.java @@ -124,7 +124,7 @@ public void methodEntryCheckcastBefore() throws Exception { "LINENUMBER 103 L5\n" + "L4\n" + "LINENUMBER 105 L4\n" + - "FRAME FULL [resources/OnMethodTest java/util/Map T java/util/HashMap] []\n" + + "FRAME FULL [resources/OnMethodTest java/util/Map java/util/HashMap] []\n" + "L6\n" + "LOCALVARIABLE this Lresources/OnMethodTest; L0 L6 0\n" + "LOCALVARIABLE c Ljava/util/Map; L1 L6 1\n" + @@ -176,7 +176,7 @@ public void methodEntryCheckcastAfter() throws Exception { "LINENUMBER 103 L5\n" + "L4\n" + "LINENUMBER 105 L4\n" + - "FRAME FULL [resources/OnMethodTest java/util/Map T java/util/HashMap] []\n" + + "FRAME FULL [resources/OnMethodTest java/util/Map java/util/HashMap] []\n" + "L6\n" + "LOCALVARIABLE this Lresources/OnMethodTest; L0 L6 0\n" + "LOCALVARIABLE c Ljava/util/Map; L1 L6 1\n" + @@ -718,12 +718,11 @@ public void methodEntrySyncEntry() throws Exception { "L7\n" + "LINENUMBER 110 L7\n" + "GOTO L8\n" + - "FRAME FULL [resources/OnMethodTest java/lang/Object T] [java/lang/Throwable]\n" + "ASTORE 3\n" + "ALOAD 3\n" + "L8\n" + "LINENUMBER 111 L8\n" + - "FRAME FULL [resources/OnMethodTest T T T] []\n" + + "FRAME FULL [resources/OnMethodTest T T] []\n" + "L5\n" + "FRAME FULL [resources/OnMethodTest] [java/lang/Throwable]\n" + "ATHROW\n" + @@ -783,12 +782,11 @@ public void methodEntrySyncMEntry() throws Exception { "L7\n" + "LINENUMBER 149 L7\n" + "GOTO L8\n" + - "FRAME SAME1 java/lang/Throwable\n" + "ASTORE 3\n" + "ALOAD 3\n" + "L8\n" + "LINENUMBER 150 L8\n" + - "FRAME FULL [resources/OnMethodTest T T T] []\n" + + "FRAME FULL [resources/OnMethodTest T T] []\n" + "L5\n" + "FRAME FULL [resources/OnMethodTest] [java/lang/Throwable]\n" + "ATHROW\n" + @@ -868,7 +866,7 @@ public void methodEntrySyncExit() throws Exception { "ALOAD 3\n" + "L8\n" + "LINENUMBER 111 L8\n" + - "FRAME FULL [resources/OnMethodTest T T T] []\n" + + "FRAME FULL [resources/OnMethodTest T T] []\n" + "L5\n" + "FRAME FULL [resources/OnMethodTest] [java/lang/Throwable]\n" + "ATHROW\n" + @@ -948,7 +946,7 @@ public void methodEntrySyncMExit() throws Exception { "ALOAD 3\n" + "L8\n" + "LINENUMBER 150 L8\n" + - "FRAME FULL [resources/OnMethodTest T T T] []\n" + + "FRAME FULL [resources/OnMethodTest T T] []\n" + "L5\n" + "FRAME FULL [resources/OnMethodTest] [java/lang/Throwable]\n" + "ATHROW\n" + @@ -2981,7 +2979,7 @@ public void methodEntryArgsDurationMultiReturn() throws Exception { "ALOAD 4\n" + "ALOAD 5\n" + "INVOKESTATIC resources/OnMethodTest.$btrace$traces$onmethod$ArgsDurationMultiReturn$args (Ljava/lang/Object;JJLjava/lang/String;J[Ljava/lang/String;[I)V\n" + - "FRAME APPEND [J J T]\n" + + "FRAME APPEND [J J]\n" + "INVOKESTATIC java/lang/System.nanoTime ()J\n" + "LLOAD 8\n" + "LSUB\n" + @@ -2996,7 +2994,6 @@ public void methodEntryArgsDurationMultiReturn() throws Exception { "ALOAD 4\n" + "ALOAD 5\n" + "INVOKESTATIC resources/OnMethodTest.$btrace$traces$onmethod$ArgsDurationMultiReturn$args (Ljava/lang/Object;JJLjava/lang/String;J[Ljava/lang/String;[I)V\n" + - "FRAME APPEND [T]\n" + "INVOKESTATIC java/lang/System.nanoTime ()J\n" + "LLOAD 8\n" + "LSUB\n" + @@ -3055,7 +3052,7 @@ public void methodEntryArgsDurationMultiReturnLevel() throws Exception { "INVOKESTATIC resources/OnMethodTest.$btrace$traces$onmethod$leveled$ArgsDurationMultiReturn$args (Ljava/lang/Object;JJLjava/lang/String;J[Ljava/lang/String;[I)V\n" + "L4\n" + "FRAME FULL [resources/OnMethodTest java/lang/String J [Ljava/lang/String; [I J J I T T] [J]\n" + - "FRAME CHOP 1\n" + + "FRAME CHOP 2\n" + "IFLE L5\n" + "L6\n" + "LINENUMBER 128 L6\n" + @@ -3081,10 +3078,10 @@ public void methodEntryArgsDurationMultiReturnLevel() throws Exception { "ALOAD 5\n" + "INVOKESTATIC resources/OnMethodTest.$btrace$traces$onmethod$leveled$ArgsDurationMultiReturn$args (Ljava/lang/Object;JJLjava/lang/String;J[Ljava/lang/String;[I)V\n" + "L8\n" + - "FRAME FULL [resources/OnMethodTest java/lang/String J [Ljava/lang/String; [I J J I T T T] [J]\n" + + "FRAME FULL [resources/OnMethodTest java/lang/String J [Ljava/lang/String; [I J J I T T T T] [J]\n" + "L5\n" + "LINENUMBER 132 L5\n" + - "FRAME CHOP 1\n" + + "FRAME FULL [resources/OnMethodTest java/lang/String J [Ljava/lang/String; [I J J I] []\n" + "L9\n" + "LINENUMBER 133 L9\n" + "ILOAD 10\n" + @@ -3109,7 +3106,7 @@ public void methodEntryArgsDurationMultiReturnLevel() throws Exception { "ALOAD 5\n" + "INVOKESTATIC resources/OnMethodTest.$btrace$traces$onmethod$leveled$ArgsDurationMultiReturn$args (Ljava/lang/Object;JJLjava/lang/String;J[Ljava/lang/String;[I)V\n" + "L11\n" + - "FRAME FULL [resources/OnMethodTest java/lang/String J [Ljava/lang/String; [I J J I T T T T] [J]\n" + + "FRAME FULL [resources/OnMethodTest java/lang/String J [Ljava/lang/String; [I J J I T T T T T T] [J]\n" + "L12\n" + "LOCALVARIABLE this Lresources/OnMethodTest; L0 L12 0\n" + "LOCALVARIABLE a Ljava/lang/String; L0 L12 1\n" + diff --git a/src/test/java/com/sun/btrace/runtime/InstrumentorTestBase.java b/src/test/java/com/sun/btrace/runtime/InstrumentorTestBase.java index 09410f3e0..56a78c864 100644 --- a/src/test/java/com/sun/btrace/runtime/InstrumentorTestBase.java +++ b/src/test/java/com/sun/btrace/runtime/InstrumentorTestBase.java @@ -168,6 +168,13 @@ protected void checkTransformation(String expected) throws IOException { } protected void checkTransformation(String expected, boolean verify) throws IOException { + if (transformedBC == null) { + if (expected != null && !expected.isEmpty()) { + fail(); + } else { + return; + } + } org.objectweb.asm.ClassReader cr = new org.objectweb.asm.ClassReader(transformedBC); if (verify) { @@ -182,7 +189,17 @@ protected void checkTransformation(String expected, boolean verify) throws IOExc String diff = diff(); if (DEBUG) { + System.err.println("+++ DEBUG +++"); + System.err.println("--- original ---"); + System.err.println(asmify(originalBC)); + System.err.println("--- original ---"); + System.err.println("--- transformed ---"); + System.err.println(asmify(transformedBC)); + System.err.println("--- transformed ---"); + System.err.println("--- diff ---"); System.err.println(diff); + System.err.println("--- diff ---"); + System.err.println("+++ DEBUG +++"); } assertEquals(expected, diff.substring(0, diff.length() > expected.length() ? expected.length() : diff.length())); } @@ -219,12 +236,15 @@ protected void transform(String traceName, boolean unsafe) throws Exception { } } - load(traceName, cr.getJavaClassName()); +// load(traceName, cr.getJavaClassName()); System.err.println("==== " + traceName); } protected String asmify(byte[] bytecode) { + if (bytecode == null) { + return ""; + } StringWriter sw = new StringWriter(); TraceClassVisitor acv = new TraceClassVisitor(new PrintWriter(sw)); new org.objectweb.asm.ClassReader(bytecode).accept(acv, 0); diff --git a/src/test/java/com/sun/btrace/runtime/TezSplitterTest.java b/src/test/java/com/sun/btrace/runtime/TezSplitterTest.java index 8d8734dcd..b9c935e3d 100644 --- a/src/test/java/com/sun/btrace/runtime/TezSplitterTest.java +++ b/src/test/java/com/sun/btrace/runtime/TezSplitterTest.java @@ -144,33 +144,49 @@ public void annotatedClass() throws Exception { "LINENUMBER 166 L41\n" + "L42\n" + "LINENUMBER 168 L42\n" + + "LSTORE 23\n" + "L43\n" + "LINENUMBER 170 L43\n" + + "LSTORE 25\n" + "L44\n" + "LINENUMBER 173 L44\n" + + "LSTORE 27\n" + "L45\n" + "LINENUMBER 176 L45\n" + + "LLOAD 25\n" + + "LLOAD 27\n" + "IFLT L46\n" + + "LLOAD 27\n" + "IFGT L47\n" + "L46\n" + "LINENUMBER 178 L46\n" + - "FRAME FULL [org/apache/hadoop/mapred/split/TezMapredSplitsGrouper org/apache/hadoop/conf/Configuration [Lorg/apache/hadoop/mapred/InputSplit; I java/lang/String org/apache/hadoop/mapred/split/SplitSizeEstimator I java/lang/String java/lang/String [Ljava/lang/String; I J java/util/Map I J J J T T] []\n" + + "FRAME FULL [org/apache/hadoop/mapred/split/TezMapredSplitsGrouper org/apache/hadoop/conf/Configuration [Lorg/apache/hadoop/mapred/InputSplit; I java/lang/String org/apache/hadoop/mapred/split/SplitSizeEstimator I java/lang/String java/lang/String [Ljava/lang/String; I J java/util/Map I T T J J J] []\n" + + "LLOAD 25\n" + + "LLOAD 27\n" + "L47\n" + "LINENUMBER 182 L47\n" + + "LLOAD 23\n" + + "LLOAD 25\n" + "IFLE L48\n" + "L49\n" + "LINENUMBER 184 L49\n" + + "LLOAD 25\n" + "L50\n" + "LINENUMBER 185 L50\n" + + "LLOAD 23\n" + + "LLOAD 25\n" + "L51\n" + "LINENUMBER 192 L51\n" + "L52\n" + "LINENUMBER 193 L52\n" + "GOTO L35\n" + "L48\n" + + "LLOAD 23\n" + + "LLOAD 27\n" + "IFGE L35\n" + "L53\n" + "LINENUMBER 195 L53\n" + + "LLOAD 27\n" + "L54\n" + "LINENUMBER 200 L54\n" + "IFNE L55\n" + @@ -178,7 +194,9 @@ public void annotatedClass() throws Exception { "LINENUMBER 201 L56\n" + "L55\n" + "LINENUMBER 204 L55\n" + - "FRAME FULL [org/apache/hadoop/mapred/split/TezMapredSplitsGrouper org/apache/hadoop/conf/Configuration [Lorg/apache/hadoop/mapred/InputSplit; I java/lang/String org/apache/hadoop/mapred/split/SplitSizeEstimator I java/lang/String java/lang/String [Ljava/lang/String; I J java/util/Map I J J J I T] []\n" + + "FRAME FULL [org/apache/hadoop/mapred/split/TezMapredSplitsGrouper org/apache/hadoop/conf/Configuration [Lorg/apache/hadoop/mapred/InputSplit; I java/lang/String org/apache/hadoop/mapred/split/SplitSizeEstimator I java/lang/String java/lang/String [Ljava/lang/String; I J java/util/Map I I T J J J] []\n" + + "LLOAD 23\n" + + "LLOAD 27\n" + "L35\n" + "LINENUMBER 215 L35\n" + "FRAME FULL [org/apache/hadoop/mapred/split/TezMapredSplitsGrouper org/apache/hadoop/conf/Configuration [Lorg/apache/hadoop/mapred/InputSplit; I java/lang/String org/apache/hadoop/mapred/split/SplitSizeEstimator I java/lang/String java/lang/String [Ljava/lang/String; I J java/util/Map T T T T T T T T T] []\n" + @@ -198,99 +216,165 @@ public void annotatedClass() throws Exception { "LINENUMBER 226 L62\n" + "L63\n" + "LINENUMBER 227 L63\n" + + "ISTORE 23\n" + "L64\n" + "LINENUMBER 228 L64\n" + + "ASTORE 24\n" + + "ALOAD 24\n" + + "ISTORE 25\n" + + "ISTORE 26\n" + "L65\n" + - "FRAME FULL [org/apache/hadoop/mapred/split/TezMapredSplitsGrouper org/apache/hadoop/conf/Configuration [Lorg/apache/hadoop/mapred/InputSplit; I java/lang/String org/apache/hadoop/mapred/split/SplitSizeEstimator I java/lang/String java/lang/String [Ljava/lang/String; I J java/util/Map [Lorg/apache/hadoop/mapred/InputSplit; I [Lorg/apache/hadoop/mapred/InputSplit; I I T T T T] []\n" + + "FRAME FULL [org/apache/hadoop/mapred/split/TezMapredSplitsGrouper org/apache/hadoop/conf/Configuration [Lorg/apache/hadoop/mapred/InputSplit; I java/lang/String org/apache/hadoop/mapred/split/SplitSizeEstimator I java/lang/String java/lang/String [Ljava/lang/String; I J java/util/Map [Lorg/apache/hadoop/mapred/InputSplit; T T I [Lorg/apache/hadoop/mapred/InputSplit; I I T T] []\n" + + "ILOAD 26\n" + + "ILOAD 25\n" + "IF_ICMPGE L66\n" + + "ALOAD 24\n" + + "ILOAD 26\n" + + "ASTORE 27\n" + "L67\n" + "LINENUMBER 229 L67\n" + + "ALOAD 27\n" + "L68\n" + "LINENUMBER 230 L68\n" + + "ASTORE 28\n" + "L69\n" + "LINENUMBER 231 L69\n" + + "ALOAD 28\n" + + "ALOAD 27\n" + "L70\n" + "LINENUMBER 232 L70\n" + + "ILOAD 23\n" + + "IINC 23 1\n" + + "ALOAD 28\n" + "L71\n" + "LINENUMBER 228 L71\n" + + "IINC 26 1\n" + "GOTO L65\n" + "L66\n" + "LINENUMBER 234 L66\n" + - "FRAME FULL [org/apache/hadoop/mapred/split/TezMapredSplitsGrouper org/apache/hadoop/conf/Configuration [Lorg/apache/hadoop/mapred/InputSplit; I java/lang/String org/apache/hadoop/mapred/split/SplitSizeEstimator I java/lang/String java/lang/String [Ljava/lang/String; I J java/util/Map [Lorg/apache/hadoop/mapred/InputSplit; I T T T T T T T] []\n" + + "FRAME FULL [org/apache/hadoop/mapred/split/TezMapredSplitsGrouper org/apache/hadoop/conf/Configuration [Lorg/apache/hadoop/mapred/InputSplit; I java/lang/String org/apache/hadoop/mapred/split/SplitSizeEstimator I java/lang/String java/lang/String [Ljava/lang/String; I J java/util/Map [Lorg/apache/hadoop/mapred/InputSplit; T T I T T T T T] []\n" + "L61\n" + "LINENUMBER 237 L61\n" + "FRAME FULL [org/apache/hadoop/mapred/split/TezMapredSplitsGrouper org/apache/hadoop/conf/Configuration [Lorg/apache/hadoop/mapred/InputSplit; I java/lang/String org/apache/hadoop/mapred/split/SplitSizeEstimator I java/lang/String java/lang/String [Ljava/lang/String; I J java/util/Map T T T T T T T T T] []\n" + "L72\n" + "LINENUMBER 239 L72\n" + + "LSTORE 23\n" + "L73\n" + "LINENUMBER 240 L73\n" + + "ISTORE 25\n" + "L74\n" + "LINENUMBER 241 L74\n" + + "ILOAD 25\n" + + "ISTORE 26\n" + "L75\n" + "LINENUMBER 242 L75\n" + + "ISTORE 27\n" + "L76\n" + "LINENUMBER 245 L76\n" + + "ASTORE 28\n" + "L77\n" + - "FRAME FULL [org/apache/hadoop/mapred/split/TezMapredSplitsGrouper org/apache/hadoop/conf/Configuration [Lorg/apache/hadoop/mapred/InputSplit; I java/lang/String org/apache/hadoop/mapred/split/SplitSizeEstimator I java/lang/String java/lang/String [Ljava/lang/String; I J java/util/Map java/util/List J I I I java/util/Iterator T T] []\n" + + "FRAME FULL [org/apache/hadoop/mapred/split/TezMapredSplitsGrouper org/apache/hadoop/conf/Configuration [Lorg/apache/hadoop/mapred/InputSplit; I java/lang/String org/apache/hadoop/mapred/split/SplitSizeEstimator I java/lang/String java/lang/String [Ljava/lang/String; I J java/util/Map java/util/List T T J I I I java/util/Iterator] []\n" + + "ALOAD 28\n" + "IFEQ L78\n" + + "ALOAD 28\n" + "L79\n" + "LINENUMBER 246 L79\n" + + "ILOAD 26\n" + "L80\n" + "LINENUMBER 247 L80\n" + "GOTO L77\n" + "L78\n" + "LINENUMBER 249 L78\n" + - "FRAME FULL [org/apache/hadoop/mapred/split/TezMapredSplitsGrouper org/apache/hadoop/conf/Configuration [Lorg/apache/hadoop/mapred/InputSplit; I java/lang/String org/apache/hadoop/mapred/split/SplitSizeEstimator I java/lang/String java/lang/String [Ljava/lang/String; I J java/util/Map java/util/List J I I I T T T] []\n" + + "FRAME FULL [org/apache/hadoop/mapred/split/TezMapredSplitsGrouper org/apache/hadoop/conf/Configuration [Lorg/apache/hadoop/mapred/InputSplit; I java/lang/String org/apache/hadoop/mapred/split/SplitSizeEstimator I java/lang/String java/lang/String [Ljava/lang/String; I J java/util/Map java/util/List T T J I I I T] []\n" + + "ASTORE 28\n" + "L81\n" + "LINENUMBER 250 L81\n" + + "ISTORE 29\n" + "L82\n" + + "FRAME FULL [org/apache/hadoop/mapred/split/TezMapredSplitsGrouper org/apache/hadoop/conf/Configuration [Lorg/apache/hadoop/mapred/InputSplit; I java/lang/String org/apache/hadoop/mapred/split/SplitSizeEstimator I java/lang/String java/lang/String [Ljava/lang/String; I J java/util/Map java/util/List [Lorg/apache/hadoop/mapred/InputSplit; I J I I I java/util/Set I] []\n" + + "ILOAD 29\n" + "IF_ICMPGE L83\n" + + "ILOAD 29\n" + + "ASTORE 30\n" + "L84\n" + "LINENUMBER 251 L84\n" + + "ALOAD 28\n" + "L85\n" + "LINENUMBER 252 L85\n" + + "ALOAD 30\n" + + "ASTORE 31\n" + "L86\n" + "LINENUMBER 253 L86\n" + + "ALOAD 30\n" + + "ASTORE 32\n" + "L87\n" + "LINENUMBER 254 L87\n" + + "ALOAD 32\n" + "IFNULL L88\n" + + "ALOAD 32\n" + "IFNE L89\n" + "L88\n" + "LINENUMBER 255 L88\n" + + "ASTORE 32\n" + "L89\n" + "LINENUMBER 257 L89\n" + + "ALOAD 32\n" + + "ASTORE 33\n" + + "ALOAD 33\n" + + "ISTORE 34\n" + + "ISTORE 35\n" + "L90\n" + + "ILOAD 35\n" + + "ILOAD 34\n" + "IF_ICMPGE L91\n" + + "ALOAD 33\n" + + "ILOAD 35\n" + + "ASTORE 36\n" + "L92\n" + "LINENUMBER 258 L92\n" + + "ALOAD 36\n" + "IFNONNULL L93\n" + "L94\n" + "LINENUMBER 259 L94\n" + - "L93\n" + + "ALOAD 7\n" + + "ASTORE 36\n" + "LINENUMBER 261 L93\n" + + "ALOAD 28\n" + + "ALOAD 36\n" + "L95\n" + "LINENUMBER 257 L95\n" + + "IINC 35 1\n" + "GOTO L90\n" + "L91\n" + "LINENUMBER 263 L91\n" + - "FRAME FULL [org/apache/hadoop/mapred/split/TezMapredSplitsGrouper org/apache/hadoop/conf/Configuration [Lorg/apache/hadoop/mapred/InputSplit; I java/lang/String org/apache/hadoop/mapred/split/SplitSizeEstimator I java/lang/String java/lang/String [Ljava/lang/String; I J java/util/Map java/util/List J I I I java/util/Set [Lorg/apache/hadoop/mapred/InputSplit; I I org/apache/hadoop/mapred/InputSplit org/apache/hadoop/mapred/split/TezMapredSplitsGrouper$SplitHolder [Ljava/lang/String; T T T T] []\n" + + "FRAME FULL [org/apache/hadoop/mapred/split/TezMapredSplitsGrouper org/apache/hadoop/conf/Configuration [Lorg/apache/hadoop/mapred/InputSplit; I java/lang/String org/apache/hadoop/mapred/split/SplitSizeEstimator I java/lang/String java/lang/String [Ljava/lang/String; I J java/util/Map java/util/List [Lorg/apache/hadoop/mapred/InputSplit; I J I I I java/util/Set I org/apache/hadoop/mapred/InputSplit org/apache/hadoop/mapred/split/TezMapredSplitsGrouper$SplitHolder [Ljava/lang/String; T T T T] []\n" + + "ALOAD 28\n" + + "ASTORE 33\n" + "L96\n" + - "FRAME FULL [org/apache/hadoop/mapred/split/TezMapredSplitsGrouper org/apache/hadoop/conf/Configuration [Lorg/apache/hadoop/mapred/InputSplit; I java/lang/String org/apache/hadoop/mapred/split/SplitSizeEstimator I java/lang/String java/lang/String [Ljava/lang/String; I J java/util/Map java/util/List J I I I java/util/Set [Lorg/apache/hadoop/mapred/InputSplit; I I org/apache/hadoop/mapred/InputSplit org/apache/hadoop/mapred/split/TezMapredSplitsGrouper$SplitHolder [Ljava/lang/String; java/util/Iterator T T T] []\n" + + "FRAME FULL [org/apache/hadoop/mapred/split/TezMapredSplitsGrouper org/apache/hadoop/conf/Configuration [Lorg/apache/hadoop/mapred/InputSplit; I java/lang/String org/apache/hadoop/mapred/split/SplitSizeEstimator I java/lang/String java/lang/String [Ljava/lang/String; I J java/util/Map java/util/List [Lorg/apache/hadoop/mapred/InputSplit; I J I I I java/util/Set I org/apache/hadoop/mapred/InputSplit org/apache/hadoop/mapred/split/TezMapredSplitsGrouper$SplitHolder [Ljava/lang/String; java/util/Iterator T T T] []\n" + + "ALOAD 33\n" + "IFEQ L97\n" + + "ALOAD 33\n" + + "ASTORE 34\n" + "L98\n" + "LINENUMBER 264 L98\n" + + "ALOAD 34\n" + + "ASTORE 35\n" + "L99\n" + "LINENUMBER 265 L99\n" + + "ALOAD 35\n" + + "ALOAD 31\n" + "L100\n" + "LINENUMBER 266 L100\n" + "GOTO L96\n" + "L97\n" + "LINENUMBER 250 L97\n" + - "FRAME FULL [org/apache/hadoop/mapred/split/TezMapredSplitsGrouper org/apache/hadoop/conf/Configuration [Lorg/apache/hadoop/mapred/InputSplit; I java/lang/String org/apache/hadoop/mapred/split/SplitSizeEstimator I java/lang/String java/lang/String [Ljava/lang/String; I J java/util/Map java/util/List J I I I java/util/Set [Lorg/apache/hadoop/mapred/InputSplit; I I T T T T T T T] []\n" + + "FRAME FULL [org/apache/hadoop/mapred/split/TezMapredSplitsGrouper org/apache/hadoop/conf/Configuration [Lorg/apache/hadoop/mapred/InputSplit; I java/lang/String org/apache/hadoop/mapred/split/SplitSizeEstimator I java/lang/String java/lang/String [Ljava/lang/String; I J java/util/Map java/util/List [Lorg/apache/hadoop/mapred/InputSplit; I J I I I java/util/Set I T T T T T T T] []\n" + + "IINC 29 1\n" + "GOTO L82\n" + "L83\n" + "LINENUMBER 269 L83\n" + - "FRAME FULL [org/apache/hadoop/mapred/split/TezMapredSplitsGrouper org/apache/hadoop/conf/Configuration [Lorg/apache/hadoop/mapred/InputSplit; I java/lang/String org/apache/hadoop/mapred/split/SplitSizeEstimator I java/lang/String java/lang/String [Ljava/lang/String; I J java/util/Map java/util/List J I I I java/util/Set T T T T T T T T T T] []\n" + + "FRAME FULL [org/apache/hadoop/mapred/split/TezMapredSplitsGrouper org/apache/hadoop/conf/Configuration [Lorg/apache/hadoop/mapred/InputSplit; I java/lang/String org/apache/hadoop/mapred/split/SplitSizeEstimator I java/lang/String java/lang/String [Ljava/lang/String; I J java/util/Map java/util/List T T J I I I java/util/Set T T T T T T T T] []\n" + "L101\n" + "LINENUMBER 272 L101\n" + "L102\n" + @@ -301,351 +385,565 @@ public void annotatedClass() throws Exception { "LINENUMBER 276 L104\n" + "L103\n" + "LINENUMBER 281 L103\n" + - "FRAME FULL [org/apache/hadoop/mapred/split/TezMapredSplitsGrouper org/apache/hadoop/conf/Configuration [Lorg/apache/hadoop/mapred/InputSplit; I java/lang/String org/apache/hadoop/mapred/split/SplitSizeEstimator I java/lang/String java/lang/String [Ljava/lang/String; I J java/util/Map java/util/List J I I I java/util/Set I I T T T T T T T T] []\n" + + "FRAME FULL [org/apache/hadoop/mapred/split/TezMapredSplitsGrouper org/apache/hadoop/conf/Configuration [Lorg/apache/hadoop/mapred/InputSplit; I java/lang/String org/apache/hadoop/mapred/split/SplitSizeEstimator I java/lang/String java/lang/String [Ljava/lang/String; I J java/util/Map java/util/List I I J I I I java/util/Set T T T T T T T T] []\n" + + "LLOAD 23\n" + + "ILOAD 25\n" + + "ILOAD 26\n" + + "ILOAD 27\n" + "L105\n" + "LINENUMBER 291 L105\n" + + "ISTORE 29\n" + "L106\n" + "LINENUMBER 292 L106\n" + + "ILOAD 27\n" + + "ASTORE 30\n" + "L107\n" + "LINENUMBER 293 L107\n" + - "L108\n" + + "ASTORE 31\n" + "LINENUMBER 294 L108\n" + - "L109\n" + + "ISTORE 32\n" + "LINENUMBER 295 L109\n" + - "L110\n" + + "ISTORE 33\n" + "LINENUMBER 296 L110\n" + + "ICONST_0\n" + + "ISTORE 34\n" + "L111\n" + "LINENUMBER 297 L111\n" + - "FRAME FULL [org/apache/hadoop/mapred/split/TezMapredSplitsGrouper org/apache/hadoop/conf/Configuration [Lorg/apache/hadoop/mapred/InputSplit; I java/lang/String org/apache/hadoop/mapred/split/SplitSizeEstimator I java/lang/String java/lang/String [Ljava/lang/String; I J java/util/Map java/util/List J I I I java/util/Set I I I java/util/List java/util/Set I I I T T] []\n" + + "FRAME FULL [org/apache/hadoop/mapred/split/TezMapredSplitsGrouper org/apache/hadoop/conf/Configuration [Lorg/apache/hadoop/mapred/InputSplit; I java/lang/String org/apache/hadoop/mapred/split/SplitSizeEstimator I java/lang/String java/lang/String [Ljava/lang/String; I J java/util/Map java/util/List I I J I I I java/util/Set I java/util/List java/util/Set I I I T T] []\n" + + "ILOAD 29\n" + "IF_ICMPGE L112\n" + - "L113\n" + "LINENUMBER 298 L113\n" + + "IINC 34 1\n" + "L114\n" + "LINENUMBER 299 L114\n" + + "ISTORE 35\n" + "L115\n" + "LINENUMBER 300 L115\n" + + "ASTORE 36\n" + "L116\n" + - "FRAME FULL [org/apache/hadoop/mapred/split/TezMapredSplitsGrouper org/apache/hadoop/conf/Configuration [Lorg/apache/hadoop/mapred/InputSplit; I java/lang/String org/apache/hadoop/mapred/split/SplitSizeEstimator I java/lang/String java/lang/String [Ljava/lang/String; I J java/util/Map java/util/List J I I I java/util/Set I I I java/util/List java/util/Set I I I I java/util/Iterator] []\n" + + "FRAME FULL [org/apache/hadoop/mapred/split/TezMapredSplitsGrouper org/apache/hadoop/conf/Configuration [Lorg/apache/hadoop/mapred/InputSplit; I java/lang/String org/apache/hadoop/mapred/split/SplitSizeEstimator I java/lang/String java/lang/String [Ljava/lang/String; I J java/util/Map java/util/List I I J I I I java/util/Set I java/util/List java/util/Set I I I I java/util/Iterator] []\n" + + "ALOAD 36\n" + "IFEQ L117\n" + + "ALOAD 36\n" + + "ASTORE 37\n" + "L118\n" + "LINENUMBER 301 L118\n" + - "L119\n" + + "ALOAD 30\n" + "LINENUMBER 302 L119\n" + + "INVOKEINTERFACE java/util/Set.clear ()V\n" + "L120\n" + "LINENUMBER 303 L120\n" + + "ALOAD 37\n" + + "ASTORE 38\n" + "L121\n" + "LINENUMBER 304 L121\n" + + "ALOAD 37\n" + + "ASTORE 39\n" + "L122\n" + "LINENUMBER 305 L122\n" + + "ALOAD 39\n" + + "ASTORE 40\n" + "L123\n" + "LINENUMBER 306 L123\n" + + "ALOAD 40\n" + "IFNONNULL L124\n" + "L125\n" + "LINENUMBER 308 L125\n" + "GOTO L116\n" + "LINENUMBER 310 L124\n" + + "FRAME FULL [org/apache/hadoop/mapred/split/TezMapredSplitsGrouper org/apache/hadoop/conf/Configuration [Lorg/apache/hadoop/mapred/InputSplit; I java/lang/String org/apache/hadoop/mapred/split/SplitSizeEstimator I java/lang/String java/lang/String [Ljava/lang/String; I J java/util/Map java/util/List I I J I I I java/util/Set I java/util/List java/util/Set I I I I java/util/Iterator java/util/Map$Entry java/lang/String org/apache/hadoop/mapred/split/TezMapredSplitsGrouper$LocationHolder org/apache/hadoop/mapred/split/TezMapredSplitsGrouper$SplitHolder] []\n" + + "ALOAD 39\n" + + "ISTORE 41\n" + "L126\n" + "LINENUMBER 311 L126\n" + + "LSTORE 42\n" + "L127\n" + "LINENUMBER 312 L127\n" + + "ISTORE 44\n" + "L128\n" + "LINENUMBER 314 L128\n" + + "ALOAD 30\n" + + "ALOAD 40\n" + "L129\n" + "LINENUMBER 315 L129\n" + - "L130\n" + + "LLOAD 42\n" + + "ALOAD 40\n" + + "LSTORE 42\n" + "LINENUMBER 316 L130\n" + + "IINC 44 1\n" + "L131\n" + "LINENUMBER 317 L131\n" + + "ALOAD 39\n" + "L132\n" + "LINENUMBER 318 L132\n" + + "ALOAD 39\n" + + "ASTORE 40\n" + "L133\n" + "LINENUMBER 319 L133\n" + + "ALOAD 40\n" + "IFNULL L134\n" + "IFEQ L135\n" + + "LLOAD 42\n" + + "ALOAD 40\n" + "L136\n" + "LINENUMBER 321 L136\n" + + "LLOAD 23\n" + "IFGT L134\n" + "L135\n" + "IFEQ L128\n" + + "ILOAD 44\n" + + "ILOAD 27\n" + "IF_ICMPLE L128\n" + "L134\n" + "LINENUMBER 325 L134\n" + + "ALOAD 39\n" + "IFEQ L137\n" + + "ILOAD 32\n" + "IFNE L137\n" + "IFEQ L138\n" + + "LLOAD 42\n" + + "LLOAD 23\n" + "IFGE L137\n" + "L138\n" + "IFEQ L139\n" + + "ILOAD 44\n" + + "ILOAD 27\n" + "IF_ICMPGE L137\n" + "L139\n" + "LINENUMBER 330 L139\n" + + "ALOAD 39\n" + + "ILOAD 41\n" + "L140\n" + "LINENUMBER 331 L140\n" + "GOTO L116\n" + "L137\n" + "LINENUMBER 334 L137\n" + + "IINC 35 1\n" + "L141\n" + "LINENUMBER 337 L141\n" + + "ALOAD 38\n" + + "ASTORE 45\n" + "L142\n" + "LINENUMBER 338 L142\n" + + "ALOAD 38\n" + "IF_ACMPNE L143\n" + "L144\n" + "LINENUMBER 339 L144\n" + + "ACONST_NULL\n" + + "ASTORE 45\n" + "GOTO L145\n" + - "L143\n" + "LINENUMBER 340 L143\n" + + "ILOAD 33\n" + "IFEQ L145\n" + "L146\n" + "LINENUMBER 341 L146\n" + + "ALOAD 30\n" + + "ASTORE 46\n" + "L147\n" + + "ALOAD 46\n" + "IFEQ L148\n" + + "ALOAD 46\n" + + "ASTORE 47\n" + "L149\n" + "LINENUMBER 342 L149\n" + + "ALOAD 47\n" + + "ASTORE 48\n" + "L150\n" + "LINENUMBER 343 L150\n" + + "ALOAD 48\n" + "IFNULL L151\n" + "L152\n" + "LINENUMBER 344 L152\n" + + "ALOAD 48\n" + + "ASTORE 49\n" + + "ALOAD 49\n" + + "ISTORE 50\n" + + "ISTORE 51\n" + "L153\n" + + "FRAME FULL [org/apache/hadoop/mapred/split/TezMapredSplitsGrouper org/apache/hadoop/conf/Configuration [Lorg/apache/hadoop/mapred/InputSplit; I java/lang/String org/apache/hadoop/mapred/split/SplitSizeEstimator I java/lang/String java/lang/String [Ljava/lang/String; I J java/util/Map java/util/List I I J I I I java/util/Set I java/util/List java/util/Set I I I I java/util/Iterator java/util/Map$Entry java/lang/String org/apache/hadoop/mapred/split/TezMapredSplitsGrouper$LocationHolder org/apache/hadoop/mapred/split/TezMapredSplitsGrouper$SplitHolder I J I [Ljava/lang/String; java/util/Iterator org/apache/hadoop/mapred/split/TezMapredSplitsGrouper$SplitHolder [Ljava/lang/String; [Ljava/lang/String; I I] []\n" + + "ILOAD 51\n" + + "ILOAD 50\n" + "IF_ICMPGE L151\n" + + "ALOAD 49\n" + + "ILOAD 51\n" + + "ASTORE 52\n" + "L154\n" + "LINENUMBER 345 L154\n" + + "ALOAD 52\n" + "IFNULL L155\n" + "L156\n" + "LINENUMBER 346 L156\n" + + "ALOAD 31\n" + + "ALOAD 52\n" + "L155\n" + "LINENUMBER 344 L155\n" + "FRAME APPEND [T]\n" + + "IINC 51 1\n" + "GOTO L153\n" + "L151\n" + "LINENUMBER 350 L151\n" + - "FRAME FULL [org/apache/hadoop/mapred/split/TezMapredSplitsGrouper org/apache/hadoop/conf/Configuration [Lorg/apache/hadoop/mapred/InputSplit; I java/lang/String org/apache/hadoop/mapred/split/SplitSizeEstimator I java/lang/String java/lang/String [Ljava/lang/String; I J java/util/Map java/util/List J I I I java/util/Set I I I java/util/List java/util/Set I I I I java/util/Iterator java/util/Map$Entry java/lang/String org/apache/hadoop/mapred/split/TezMapredSplitsGrouper$LocationHolder org/apache/hadoop/mapred/split/TezMapredSplitsGrouper$SplitHolder I J I [Ljava/lang/String; java/util/Iterator T T T T T T] []\n" + + "FRAME FULL [org/apache/hadoop/mapred/split/TezMapredSplitsGrouper org/apache/hadoop/conf/Configuration [Lorg/apache/hadoop/mapred/InputSplit; I java/lang/String org/apache/hadoop/mapred/split/SplitSizeEstimator I java/lang/String java/lang/String [Ljava/lang/String; I J java/util/Map java/util/List I I J I I I java/util/Set I java/util/List java/util/Set I I I I java/util/Iterator java/util/Map$Entry java/lang/String org/apache/hadoop/mapred/split/TezMapredSplitsGrouper$LocationHolder org/apache/hadoop/mapred/split/TezMapredSplitsGrouper$SplitHolder I J I [Ljava/lang/String; java/util/Iterator T T T T T T] []\n" + "GOTO L147\n" + "L148\n" + "LINENUMBER 351 L148\n" + - "FRAME FULL [org/apache/hadoop/mapred/split/TezMapredSplitsGrouper org/apache/hadoop/conf/Configuration [Lorg/apache/hadoop/mapred/InputSplit; I java/lang/String org/apache/hadoop/mapred/split/SplitSizeEstimator I java/lang/String java/lang/String [Ljava/lang/String; I J java/util/Map java/util/List J I I I java/util/Set I I I java/util/List java/util/Set I I I I java/util/Iterator java/util/Map$Entry java/lang/String org/apache/hadoop/mapred/split/TezMapredSplitsGrouper$LocationHolder org/apache/hadoop/mapred/split/TezMapredSplitsGrouper$SplitHolder I J I [Ljava/lang/String; T T T T T T T] []\n" + + "FRAME FULL [org/apache/hadoop/mapred/split/TezMapredSplitsGrouper org/apache/hadoop/conf/Configuration [Lorg/apache/hadoop/mapred/InputSplit; I java/lang/String org/apache/hadoop/mapred/split/SplitSizeEstimator I java/lang/String java/lang/String [Ljava/lang/String; I J java/util/Map java/util/List I I J I I I java/util/Set I java/util/List java/util/Set I I I I java/util/Iterator java/util/Map$Entry java/lang/String org/apache/hadoop/mapred/split/TezMapredSplitsGrouper$LocationHolder org/apache/hadoop/mapred/split/TezMapredSplitsGrouper$SplitHolder I J I [Ljava/lang/String; T T T T T T T] []\n" + + "ALOAD 31\n" + + "ALOAD 45\n" + + "ASTORE 45\n" + "L145\n" + "LINENUMBER 353 L145\n" + + "ALOAD 30\n" + "L157\n" + "LINENUMBER 354 L157\n" + + "ALOAD 45\n" + + "ILOAD 33\n" + "IFEQ L158\n" + + "ALOAD 38\n" + "IF_ACMPEQ L158\n" + + "ALOAD 38\n" + "GOTO L159\n" + "L158\n" + - "FRAME FULL [org/apache/hadoop/mapred/split/TezMapredSplitsGrouper org/apache/hadoop/conf/Configuration [Lorg/apache/hadoop/mapred/InputSplit; I java/lang/String org/apache/hadoop/mapred/split/SplitSizeEstimator I java/lang/String java/lang/String [Ljava/lang/String; I J java/util/Map java/util/List J I I I java/util/Set I I I java/util/List java/util/Set I I I I java/util/Iterator java/util/Map$Entry java/lang/String org/apache/hadoop/mapred/split/TezMapredSplitsGrouper$LocationHolder org/apache/hadoop/mapred/split/TezMapredSplitsGrouper$SplitHolder I J I [Ljava/lang/String; T T T T T T T] [L145 L145 I java/lang/String [Ljava/lang/String;]\n" + + "FRAME FULL [org/apache/hadoop/mapred/split/TezMapredSplitsGrouper org/apache/hadoop/conf/Configuration [Lorg/apache/hadoop/mapred/InputSplit; I java/lang/String org/apache/hadoop/mapred/split/SplitSizeEstimator I java/lang/String java/lang/String [Ljava/lang/String; I J java/util/Map java/util/List I I J I I I java/util/Set I java/util/List java/util/Set I I I I java/util/Iterator java/util/Map$Entry java/lang/String org/apache/hadoop/mapred/split/TezMapredSplitsGrouper$LocationHolder org/apache/hadoop/mapred/split/TezMapredSplitsGrouper$SplitHolder I J I [Ljava/lang/String; T T T T T T T] [L145 L145 I java/lang/String [Ljava/lang/String;]\n" + "L159\n" + - "FRAME FULL [org/apache/hadoop/mapred/split/TezMapredSplitsGrouper org/apache/hadoop/conf/Configuration [Lorg/apache/hadoop/mapred/InputSplit; I java/lang/String org/apache/hadoop/mapred/split/SplitSizeEstimator I java/lang/String java/lang/String [Ljava/lang/String; I J java/util/Map java/util/List J I I I java/util/Set I I I java/util/List java/util/Set I I I I java/util/Iterator java/util/Map$Entry java/lang/String org/apache/hadoop/mapred/split/TezMapredSplitsGrouper$LocationHolder org/apache/hadoop/mapred/split/TezMapredSplitsGrouper$SplitHolder I J I [Ljava/lang/String; T T T T T T T] [L145 L145 I java/lang/String [Ljava/lang/String; java/lang/String]\n" + + "FRAME FULL [org/apache/hadoop/mapred/split/TezMapredSplitsGrouper org/apache/hadoop/conf/Configuration [Lorg/apache/hadoop/mapred/InputSplit; I java/lang/String org/apache/hadoop/mapred/split/SplitSizeEstimator I java/lang/String java/lang/String [Ljava/lang/String; I J java/util/Map java/util/List I I J I I I java/util/Set I java/util/List java/util/Set I I I I java/util/Iterator java/util/Map$Entry java/lang/String org/apache/hadoop/mapred/split/TezMapredSplitsGrouper$LocationHolder org/apache/hadoop/mapred/split/TezMapredSplitsGrouper$SplitHolder I J I [Ljava/lang/String; T T T T T T T] [L145 L145 I java/lang/String [Ljava/lang/String; java/lang/String]\n" + + "ASTORE 46\n" + "L160\n" + "LINENUMBER 358 L160\n" + + "ALOAD 30\n" + + "ASTORE 47\n" + "L161\n" + - "FRAME FULL [org/apache/hadoop/mapred/split/TezMapredSplitsGrouper org/apache/hadoop/conf/Configuration [Lorg/apache/hadoop/mapred/InputSplit; I java/lang/String org/apache/hadoop/mapred/split/SplitSizeEstimator I java/lang/String java/lang/String [Ljava/lang/String; I J java/util/Map java/util/List J I I I java/util/Set I I I java/util/List java/util/Set I I I I java/util/Iterator java/util/Map$Entry java/lang/String org/apache/hadoop/mapred/split/TezMapredSplitsGrouper$LocationHolder org/apache/hadoop/mapred/split/TezMapredSplitsGrouper$SplitHolder I J I [Ljava/lang/String; org/apache/hadoop/mapred/split/TezGroupedSplit java/util/Iterator T T T T T] []\n" + + "FRAME FULL [org/apache/hadoop/mapred/split/TezMapredSplitsGrouper org/apache/hadoop/conf/Configuration [Lorg/apache/hadoop/mapred/InputSplit; I java/lang/String org/apache/hadoop/mapred/split/SplitSizeEstimator I java/lang/String java/lang/String [Ljava/lang/String; I J java/util/Map java/util/List I I J I I I java/util/Set I java/util/List java/util/Set I I I I java/util/Iterator java/util/Map$Entry java/lang/String org/apache/hadoop/mapred/split/TezMapredSplitsGrouper$LocationHolder org/apache/hadoop/mapred/split/TezMapredSplitsGrouper$SplitHolder I J I [Ljava/lang/String; org/apache/hadoop/mapred/split/TezGroupedSplit java/util/Iterator T T T T T] []\n" + + "ALOAD 47\n" + "IFEQ L162\n" + + "ALOAD 47\n" + + "ASTORE 48\n" + "L163\n" + "LINENUMBER 359 L163\n" + + "ALOAD 46\n" + + "ALOAD 48\n" + "L164\n" + "LINENUMBER 360 L164\n" + + "ALOAD 48\n" + "IFNE L165\n" + "GOTO L166\n" + "L165\n" + - "FRAME FULL [org/apache/hadoop/mapred/split/TezMapredSplitsGrouper org/apache/hadoop/conf/Configuration [Lorg/apache/hadoop/mapred/InputSplit; I java/lang/String org/apache/hadoop/mapred/split/SplitSizeEstimator I java/lang/String java/lang/String [Ljava/lang/String; I J java/util/Map java/util/List J I I I java/util/Set I I I java/util/List java/util/Set I I I I java/util/Iterator java/util/Map$Entry java/lang/String org/apache/hadoop/mapred/split/TezMapredSplitsGrouper$LocationHolder org/apache/hadoop/mapred/split/TezMapredSplitsGrouper$SplitHolder I J I [Ljava/lang/String; org/apache/hadoop/mapred/split/TezGroupedSplit java/util/Iterator org/apache/hadoop/mapred/split/TezMapredSplitsGrouper$SplitHolder T T T T] []\n" + + "FRAME FULL [org/apache/hadoop/mapred/split/TezMapredSplitsGrouper org/apache/hadoop/conf/Configuration [Lorg/apache/hadoop/mapred/InputSplit; I java/lang/String org/apache/hadoop/mapred/split/SplitSizeEstimator I java/lang/String java/lang/String [Ljava/lang/String; I J java/util/Map java/util/List I I J I I I java/util/Set I java/util/List java/util/Set I I I I java/util/Iterator java/util/Map$Entry java/lang/String org/apache/hadoop/mapred/split/TezMapredSplitsGrouper$LocationHolder org/apache/hadoop/mapred/split/TezMapredSplitsGrouper$SplitHolder I J I [Ljava/lang/String; org/apache/hadoop/mapred/split/TezGroupedSplit java/util/Iterator org/apache/hadoop/mapred/split/TezMapredSplitsGrouper$SplitHolder T T T T] []\n" + "L166\n" + + "ALOAD 38\n" + "L167\n" + "LINENUMBER 362 L167\n" + - "L168\n" + + "ALOAD 48\n" + "LINENUMBER 363 L168\n" + + "IINC 29 1\n" + "L169\n" + "LINENUMBER 364 L169\n" + "GOTO L161\n" + "L162\n" + "LINENUMBER 365 L162\n" + - "FRAME FULL [org/apache/hadoop/mapred/split/TezMapredSplitsGrouper org/apache/hadoop/conf/Configuration [Lorg/apache/hadoop/mapred/InputSplit; I java/lang/String org/apache/hadoop/mapred/split/SplitSizeEstimator I java/lang/String java/lang/String [Ljava/lang/String; I J java/util/Map java/util/List J I I I java/util/Set I I I java/util/List java/util/Set I I I I java/util/Iterator java/util/Map$Entry java/lang/String org/apache/hadoop/mapred/split/TezMapredSplitsGrouper$LocationHolder org/apache/hadoop/mapred/split/TezMapredSplitsGrouper$SplitHolder I J I [Ljava/lang/String; org/apache/hadoop/mapred/split/TezGroupedSplit T T T T T T] []\n" + + "FRAME FULL [org/apache/hadoop/mapred/split/TezMapredSplitsGrouper org/apache/hadoop/conf/Configuration [Lorg/apache/hadoop/mapred/InputSplit; I java/lang/String org/apache/hadoop/mapred/split/SplitSizeEstimator I java/lang/String java/lang/String [Ljava/lang/String; I J java/util/Map java/util/List I I J I I I java/util/Set I java/util/List java/util/Set I I I I java/util/Iterator java/util/Map$Entry java/lang/String org/apache/hadoop/mapred/split/TezMapredSplitsGrouper$LocationHolder org/apache/hadoop/mapred/split/TezMapredSplitsGrouper$SplitHolder I J I [Ljava/lang/String; org/apache/hadoop/mapred/split/TezGroupedSplit T T T T T T] []\n" + "IFEQ L170\n" + "L171\n" + "LINENUMBER 366 L171\n" + + "ALOAD 30\n" + + "ALOAD 46\n" + "L172\n" + "LINENUMBER 367 L172\n" + + "ALOAD 38\n" + "L173\n" + "LINENUMBER 366 L173\n" + "L170\n" + "LINENUMBER 370 L170\n" + + "ALOAD 46\n" + "L174\n" + "LINENUMBER 371 L174\n" + "GOTO L116\n" + "L117\n" + "LINENUMBER 373 L117\n" + - "FRAME FULL [org/apache/hadoop/mapred/split/TezMapredSplitsGrouper org/apache/hadoop/conf/Configuration [Lorg/apache/hadoop/mapred/InputSplit; I java/lang/String org/apache/hadoop/mapred/split/SplitSizeEstimator I java/lang/String java/lang/String [Ljava/lang/String; I J java/util/Map java/util/List J I I I java/util/Set I I I java/util/List java/util/Set I I I I T T T T T T T T T T T T T T T T T] []\n" + + "FRAME FULL [org/apache/hadoop/mapred/split/TezMapredSplitsGrouper org/apache/hadoop/conf/Configuration [Lorg/apache/hadoop/mapred/InputSplit; I java/lang/String org/apache/hadoop/mapred/split/SplitSizeEstimator I java/lang/String java/lang/String [Ljava/lang/String; I J java/util/Map java/util/List I I J I I I java/util/Set I java/util/List java/util/Set I I I I T T T T T T T T T T T T T T T T T] []\n" + + "ILOAD 33\n" + "IFNE L175\n" + + "ILOAD 35\n" + "IF_ICMPGE L175\n" + "L176\n" + "LINENUMBER 375 L176\n" + + "ISTORE 33\n" + "L177\n" + "LINENUMBER 377 L177\n" + + "ILOAD 29\n" + + "ISTORE 36\n" + "L178\n" + "LINENUMBER 378 L178\n" + + "ILOAD 36\n" + + "ASTORE 37\n" + "L179\n" + "LINENUMBER 380 L179\n" + + "ASTORE 38\n" + "L180\n" + - "FRAME FULL [org/apache/hadoop/mapred/split/TezMapredSplitsGrouper org/apache/hadoop/conf/Configuration [Lorg/apache/hadoop/mapred/InputSplit; I java/lang/String org/apache/hadoop/mapred/split/SplitSizeEstimator I java/lang/String java/lang/String [Ljava/lang/String; I J java/util/Map java/util/List J I I I java/util/Set I I I java/util/List java/util/Set I I I I I java/util/Set java/util/Iterator T T T T T T T T T T T T T T] []\n" + + "FRAME FULL [org/apache/hadoop/mapred/split/TezMapredSplitsGrouper org/apache/hadoop/conf/Configuration [Lorg/apache/hadoop/mapred/InputSplit; I java/lang/String org/apache/hadoop/mapred/split/SplitSizeEstimator I java/lang/String java/lang/String [Ljava/lang/String; I J java/util/Map java/util/List I I J I I I java/util/Set I java/util/List java/util/Set I I I I I java/util/Set java/util/Iterator T T T T T T T T T T T T T T] []\n" + + "ALOAD 38\n" + "IFEQ L181\n" + + "ALOAD 38\n" + + "ASTORE 39\n" + "L182\n" + "LINENUMBER 381 L182\n" + + "ALOAD 39\n" + + "ASTORE 40\n" + "L183\n" + "LINENUMBER 382 L183\n" + - "FRAME FULL [org/apache/hadoop/mapred/split/TezMapredSplitsGrouper org/apache/hadoop/conf/Configuration [Lorg/apache/hadoop/mapred/InputSplit; I java/lang/String org/apache/hadoop/mapred/split/SplitSizeEstimator I java/lang/String java/lang/String [Ljava/lang/String; I J java/util/Map java/util/List J I I I java/util/Set I I I java/util/List java/util/Set I I I I I java/util/Set java/util/Iterator java/util/Map$Entry org/apache/hadoop/mapred/split/TezMapredSplitsGrouper$LocationHolder T T T T T T T T T T T T] []\n" + + "FRAME FULL [org/apache/hadoop/mapred/split/TezMapredSplitsGrouper org/apache/hadoop/conf/Configuration [Lorg/apache/hadoop/mapred/InputSplit; I java/lang/String org/apache/hadoop/mapred/split/SplitSizeEstimator I java/lang/String java/lang/String [Ljava/lang/String; I J java/util/Map java/util/List I I J I I I java/util/Set I java/util/List java/util/Set I I I I I java/util/Set java/util/Iterator java/util/Map$Entry org/apache/hadoop/mapred/split/TezMapredSplitsGrouper$LocationHolder T T T T T T T T T T T T] []\n" + + "ALOAD 40\n" + "IFNE L184\n" + "L185\n" + "LINENUMBER 383 L185\n" + + "ALOAD 40\n" + + "ASTORE 41\n" + "L186\n" + "LINENUMBER 384 L186\n" + + "ALOAD 41\n" + "IFNULL L187\n" + "L188\n" + "LINENUMBER 385 L188\n" + + "ALOAD 37\n" + + "ALOAD 41\n" + "L189\n" + "LINENUMBER 386 L189\n" + + "ALOAD 40\n" + "L187\n" + "LINENUMBER 388 L187\n" + "GOTO L183\n" + "L184\n" + "LINENUMBER 389 L184\n" + - "FRAME FULL [org/apache/hadoop/mapred/split/TezMapredSplitsGrouper org/apache/hadoop/conf/Configuration [Lorg/apache/hadoop/mapred/InputSplit; I java/lang/String org/apache/hadoop/mapred/split/SplitSizeEstimator I java/lang/String java/lang/String [Ljava/lang/String; I J java/util/Map java/util/List J I I I java/util/Set I I I java/util/List java/util/Set I I I I I java/util/Set java/util/Iterator T T T T T T T T T T T T T T] []\n" + + "FRAME FULL [org/apache/hadoop/mapred/split/TezMapredSplitsGrouper org/apache/hadoop/conf/Configuration [Lorg/apache/hadoop/mapred/InputSplit; I java/lang/String org/apache/hadoop/mapred/split/SplitSizeEstimator I java/lang/String java/lang/String [Ljava/lang/String; I J java/util/Map java/util/List I I J I I I java/util/Set I java/util/List java/util/Set I I I I I java/util/Set java/util/Iterator T T T T T T T T T T T T T T] []\n" + "GOTO L180\n" + "L181\n" + "LINENUMBER 390 L181\n" + - "FRAME FULL [org/apache/hadoop/mapred/split/TezMapredSplitsGrouper org/apache/hadoop/conf/Configuration [Lorg/apache/hadoop/mapred/InputSplit; I java/lang/String org/apache/hadoop/mapred/split/SplitSizeEstimator I java/lang/String java/lang/String [Ljava/lang/String; I J java/util/Map java/util/List J I I I java/util/Set I I I java/util/List java/util/Set I I I I I java/util/Set T T T T T T T T T T T T T T T] []\n" + + "FRAME FULL [org/apache/hadoop/mapred/split/TezMapredSplitsGrouper org/apache/hadoop/conf/Configuration [Lorg/apache/hadoop/mapred/InputSplit; I java/lang/String org/apache/hadoop/mapred/split/SplitSizeEstimator I java/lang/String java/lang/String [Ljava/lang/String; I J java/util/Map java/util/List I I J I I I java/util/Set I java/util/List java/util/Set I I I I I java/util/Set T T T T T T T T T T T T T T T] []\n" + + "ALOAD 37\n" + + "ILOAD 36\n" + "IF_ICMPEQ L190\n" + "L191\n" + "LINENUMBER 391 L191\n" + + "ILOAD 36\n" + + "ALOAD 37\n" + "L192\n" + "LINENUMBER 392 L192\n" + "L190\n" + "LINENUMBER 397 L190\n" + "L193\n" + "LINENUMBER 398 L193\n" + + "ASTORE 38\n" + "L194\n" + "LINENUMBER 399 L194\n" + + "ASTORE 39\n" + "L195\n" + "LINENUMBER 400 L195\n" + + "ASTORE 40\n" + "L196\n" + - "FRAME FULL [org/apache/hadoop/mapred/split/TezMapredSplitsGrouper org/apache/hadoop/conf/Configuration [Lorg/apache/hadoop/mapred/InputSplit; I java/lang/String org/apache/hadoop/mapred/split/SplitSizeEstimator I java/lang/String java/lang/String [Ljava/lang/String; I J java/util/Map java/util/List J I I I java/util/Set I I I java/util/List java/util/Set I I I I I java/util/Set java/util/Map java/util/Map java/util/Iterator T T T T T T T T T T T T] []\n" + + "FRAME FULL [org/apache/hadoop/mapred/split/TezMapredSplitsGrouper org/apache/hadoop/conf/Configuration [Lorg/apache/hadoop/mapred/InputSplit; I java/lang/String org/apache/hadoop/mapred/split/SplitSizeEstimator I java/lang/String java/lang/String [Ljava/lang/String; I J java/util/Map java/util/List I I J I I I java/util/Set I java/util/List java/util/Set I I I I I java/util/Set java/util/Map java/util/Map java/util/Iterator T T T T T T T T T T T T] []\n" + + "ALOAD 40\n" + "IFEQ L197\n" + + "ALOAD 40\n" + + "ASTORE 41\n" + "L198\n" + "LINENUMBER 401 L198\n" + + "ASTORE 42\n" + "L199\n" + "LINENUMBER 402 L199\n" + + "ALOAD 41\n" + "IF_ACMPEQ L200\n" + "L201\n" + "LINENUMBER 403 L201\n" + + "ALOAD 41\n" + + "ASTORE 42\n" + "L200\n" + "LINENUMBER 405 L200\n" + - "FRAME FULL [org/apache/hadoop/mapred/split/TezMapredSplitsGrouper org/apache/hadoop/conf/Configuration [Lorg/apache/hadoop/mapred/InputSplit; I java/lang/String org/apache/hadoop/mapred/split/SplitSizeEstimator I java/lang/String java/lang/String [Ljava/lang/String; I J java/util/Map java/util/List J I I I java/util/Set I I I java/util/List java/util/Set I I I I I java/util/Set java/util/Map java/util/Map java/util/Iterator java/lang/String java/lang/String T T T T T T T T T T] []\n" + + "FRAME FULL [org/apache/hadoop/mapred/split/TezMapredSplitsGrouper org/apache/hadoop/conf/Configuration [Lorg/apache/hadoop/mapred/InputSplit; I java/lang/String org/apache/hadoop/mapred/split/SplitSizeEstimator I java/lang/String java/lang/String [Ljava/lang/String; I J java/util/Map java/util/List I I J I I I java/util/Set I java/util/List java/util/Set I I I I I java/util/Set java/util/Map java/util/Map java/util/Iterator java/lang/String java/lang/String T T T T T T T T T T] []\n" + + "ALOAD 38\n" + + "ALOAD 41\n" + + "ALOAD 42\n" + "L202\n" + "LINENUMBER 406 L202\n" + + "ALOAD 39\n" + + "ALOAD 42\n" + "IFNONNULL L203\n" + "L204\n" + "LINENUMBER 408 L204\n" + + "ALOAD 39\n" + + "ALOAD 42\n" + + "ILOAD 36\n" + "L203\n" + "LINENUMBER 410 L203\n" + - "FRAME FULL [org/apache/hadoop/mapred/split/TezMapredSplitsGrouper org/apache/hadoop/conf/Configuration [Lorg/apache/hadoop/mapred/InputSplit; I java/lang/String org/apache/hadoop/mapred/split/SplitSizeEstimator I java/lang/String java/lang/String [Ljava/lang/String; I J java/util/Map java/util/List J I I I java/util/Set I I I java/util/List java/util/Set I I I I I java/util/Set java/util/Map java/util/Map java/util/Iterator T T T T T T T T T T T T] []\n" + + "FRAME FULL [org/apache/hadoop/mapred/split/TezMapredSplitsGrouper org/apache/hadoop/conf/Configuration [Lorg/apache/hadoop/mapred/InputSplit; I java/lang/String org/apache/hadoop/mapred/split/SplitSizeEstimator I java/lang/String java/lang/String [Ljava/lang/String; I J java/util/Map java/util/List I I J I I I java/util/Set I java/util/List java/util/Set I I I I I java/util/Set java/util/Map java/util/Map java/util/Iterator T T T T T T T T T T T T] []\n" + "GOTO L196\n" + "L197\n" + "LINENUMBER 411 L197\n" + - "FRAME FULL [org/apache/hadoop/mapred/split/TezMapredSplitsGrouper org/apache/hadoop/conf/Configuration [Lorg/apache/hadoop/mapred/InputSplit; I java/lang/String org/apache/hadoop/mapred/split/SplitSizeEstimator I java/lang/String java/lang/String [Ljava/lang/String; I J java/util/Map java/util/List J I I I java/util/Set I I I java/util/List java/util/Set I I I I I java/util/Set java/util/Map java/util/Map T T T T T T T T T T T T T] []\n" + + "FRAME FULL [org/apache/hadoop/mapred/split/TezMapredSplitsGrouper org/apache/hadoop/conf/Configuration [Lorg/apache/hadoop/mapred/InputSplit; I java/lang/String org/apache/hadoop/mapred/split/SplitSizeEstimator I java/lang/String java/lang/String [Ljava/lang/String; I J java/util/Map java/util/List I I J I I I java/util/Set I java/util/List java/util/Set I I I I I java/util/Set java/util/Map java/util/Map T T T T T T T T T T T T T] []\n" + "L205\n" + "LINENUMBER 412 L205\n" + + "ALOAD 39\n" + + "ASTORE 40\n" + "L206\n" + "LINENUMBER 413 L206\n" + + "ALOAD 37\n" + + "ISTORE 41\n" + "L207\n" + "LINENUMBER 414 L207\n" + + "ASTORE 42\n" + + "ALOAD 42\n" + + "ISTORE 43\n" + + "ISTORE 44\n" + "L208\n" + - "FRAME FULL [org/apache/hadoop/mapred/split/TezMapredSplitsGrouper org/apache/hadoop/conf/Configuration [Lorg/apache/hadoop/mapred/InputSplit; I java/lang/String org/apache/hadoop/mapred/split/SplitSizeEstimator I java/lang/String java/lang/String [Ljava/lang/String; I J java/util/Map java/util/List J I I I java/util/Set I I I java/util/List java/util/Set I I I I I java/util/Set java/util/Map java/util/Map java/util/HashSet I [Lorg/apache/hadoop/mapred/InputSplit; I I T T T T T T T T] []\n" + + "FRAME FULL [org/apache/hadoop/mapred/split/TezMapredSplitsGrouper org/apache/hadoop/conf/Configuration [Lorg/apache/hadoop/mapred/InputSplit; I java/lang/String org/apache/hadoop/mapred/split/SplitSizeEstimator I java/lang/String java/lang/String [Ljava/lang/String; I J java/util/Map java/util/List I I J I I I java/util/Set I java/util/List java/util/Set I I I I I java/util/Set java/util/Map java/util/Map java/util/HashSet I [Lorg/apache/hadoop/mapred/InputSplit; I I T T T T T T T T] []\n" + + "ILOAD 44\n" + + "ILOAD 43\n" + "IF_ICMPGE L209\n" + + "ALOAD 42\n" + + "ILOAD 44\n" + + "ASTORE 45\n" + "L210\n" + "LINENUMBER 415 L210\n" + + "ILOAD 41\n" + "IFNE L211\n" + "L212\n" + "LINENUMBER 416 L212\n" + "GOTO L209\n" + "LINENUMBER 421 L211\n" + - "FRAME FULL [org/apache/hadoop/mapred/split/TezMapredSplitsGrouper org/apache/hadoop/conf/Configuration [Lorg/apache/hadoop/mapred/InputSplit; I java/lang/String org/apache/hadoop/mapred/split/SplitSizeEstimator I java/lang/String java/lang/String [Ljava/lang/String; I J java/util/Map java/util/List J I I I java/util/Set I I I java/util/List java/util/Set I I I I I java/util/Set java/util/Map java/util/Map java/util/HashSet I [Lorg/apache/hadoop/mapred/InputSplit; I I org/apache/hadoop/mapred/InputSplit T T T T T T T] []\n" + + "FRAME FULL [org/apache/hadoop/mapred/split/TezMapredSplitsGrouper org/apache/hadoop/conf/Configuration [Lorg/apache/hadoop/mapred/InputSplit; I java/lang/String org/apache/hadoop/mapred/split/SplitSizeEstimator I java/lang/String java/lang/String [Ljava/lang/String; I J java/util/Map java/util/List I I J I I I java/util/Set I java/util/List java/util/Set I I I I I java/util/Set java/util/Map java/util/Map java/util/HashSet I [Lorg/apache/hadoop/mapred/InputSplit; I I org/apache/hadoop/mapred/InputSplit T T T T T T T] []\n" + + "ALOAD 37\n" + + "ALOAD 45\n" + "IFNE L213\n" + "L214\n" + "LINENUMBER 422 L214\n" + "GOTO L215\n" + "LINENUMBER 424 L213\n" + + "IINC 41 -1\n" + "L216\n" + "LINENUMBER 425 L216\n" + + "ALOAD 40\n" + "L217\n" + "LINENUMBER 426 L217\n" + + "ALOAD 45\n" + + "ASTORE 46\n" + "L218\n" + "LINENUMBER 427 L218\n" + + "ALOAD 45\n" + + "ASTORE 47\n" + "L219\n" + "LINENUMBER 428 L219\n" + + "ALOAD 47\n" + "IFNULL L220\n" + + "ALOAD 47\n" + "IFNE L221\n" + "L220\n" + "LINENUMBER 429 L220\n" + - "FRAME FULL [org/apache/hadoop/mapred/split/TezMapredSplitsGrouper org/apache/hadoop/conf/Configuration [Lorg/apache/hadoop/mapred/InputSplit; I java/lang/String org/apache/hadoop/mapred/split/SplitSizeEstimator I java/lang/String java/lang/String [Ljava/lang/String; I J java/util/Map java/util/List J I I I java/util/Set I I I java/util/List java/util/Set I I I I I java/util/Set java/util/Map java/util/Map java/util/HashSet I [Lorg/apache/hadoop/mapred/InputSplit; I I org/apache/hadoop/mapred/InputSplit org/apache/hadoop/mapred/split/TezMapredSplitsGrouper$SplitHolder [Ljava/lang/String; T T T T T] []\n" + + "FRAME FULL [org/apache/hadoop/mapred/split/TezMapredSplitsGrouper org/apache/hadoop/conf/Configuration [Lorg/apache/hadoop/mapred/InputSplit; I java/lang/String org/apache/hadoop/mapred/split/SplitSizeEstimator I java/lang/String java/lang/String [Ljava/lang/String; I J java/util/Map java/util/List I I J I I I java/util/Set I java/util/List java/util/Set I I I I I java/util/Set java/util/Map java/util/Map java/util/HashSet I [Lorg/apache/hadoop/mapred/InputSplit; I I org/apache/hadoop/mapred/InputSplit org/apache/hadoop/mapred/split/TezMapredSplitsGrouper$SplitHolder [Ljava/lang/String; T T T T T] []\n" + + "ASTORE 47\n" + "L221\n" + "LINENUMBER 431 L221\n" + + "ALOAD 47\n" + + "ASTORE 48\n" + + "ALOAD 48\n" + + "ISTORE 49\n" + + "ISTORE 50\n" + "L222\n" + - "FRAME FULL [org/apache/hadoop/mapred/split/TezMapredSplitsGrouper org/apache/hadoop/conf/Configuration [Lorg/apache/hadoop/mapred/InputSplit; I java/lang/String org/apache/hadoop/mapred/split/SplitSizeEstimator I java/lang/String java/lang/String [Ljava/lang/String; I J java/util/Map java/util/List J I I I java/util/Set I I I java/util/List java/util/Set I I I I I java/util/Set java/util/Map java/util/Map java/util/HashSet I [Lorg/apache/hadoop/mapred/InputSplit; I I org/apache/hadoop/mapred/InputSplit org/apache/hadoop/mapred/split/TezMapredSplitsGrouper$SplitHolder [Ljava/lang/String; [Ljava/lang/String; I I T T] []\n" + + "FRAME FULL [org/apache/hadoop/mapred/split/TezMapredSplitsGrouper org/apache/hadoop/conf/Configuration [Lorg/apache/hadoop/mapred/InputSplit; I java/lang/String org/apache/hadoop/mapred/split/SplitSizeEstimator I java/lang/String java/lang/String [Ljava/lang/String; I J java/util/Map java/util/List I I J I I I java/util/Set I java/util/List java/util/Set I I I I I java/util/Set java/util/Map java/util/Map java/util/HashSet I [Lorg/apache/hadoop/mapred/InputSplit; I I org/apache/hadoop/mapred/InputSplit org/apache/hadoop/mapred/split/TezMapredSplitsGrouper$SplitHolder [Ljava/lang/String; [Ljava/lang/String; I I T T] []\n" + + "ILOAD 50\n" + + "ILOAD 49\n" + "IF_ICMPGE L223\n" + + "ALOAD 48\n" + + "ILOAD 50\n" + + "ASTORE 51\n" + "L224\n" + "LINENUMBER 432 L224\n" + + "ALOAD 51\n" + "IFNONNULL L225\n" + "L226\n" + "LINENUMBER 433 L226\n" + - "L225\n" + + "ALOAD 7\n" + + "ASTORE 51\n" + "LINENUMBER 435 L225\n" + - "FRAME FULL [org/apache/hadoop/mapred/split/TezMapredSplitsGrouper org/apache/hadoop/conf/Configuration [Lorg/apache/hadoop/mapred/InputSplit; I java/lang/String org/apache/hadoop/mapred/split/SplitSizeEstimator I java/lang/String java/lang/String [Ljava/lang/String; I J java/util/Map java/util/List J I I I java/util/Set I I I java/util/List java/util/Set I I I I I java/util/Set java/util/Map java/util/Map java/util/HashSet I [Lorg/apache/hadoop/mapred/InputSplit; I I org/apache/hadoop/mapred/InputSplit org/apache/hadoop/mapred/split/TezMapredSplitsGrouper$SplitHolder [Ljava/lang/String; [Ljava/lang/String; I I java/lang/String T] []\n" + + "FRAME FULL [org/apache/hadoop/mapred/split/TezMapredSplitsGrouper org/apache/hadoop/conf/Configuration [Lorg/apache/hadoop/mapred/InputSplit; I java/lang/String org/apache/hadoop/mapred/split/SplitSizeEstimator I java/lang/String java/lang/String [Ljava/lang/String; I J java/util/Map java/util/List I I J I I I java/util/Set I java/util/List java/util/Set I I I I I java/util/Set java/util/Map java/util/Map java/util/HashSet I [Lorg/apache/hadoop/mapred/InputSplit; I I org/apache/hadoop/mapred/InputSplit org/apache/hadoop/mapred/split/TezMapredSplitsGrouper$SplitHolder [Ljava/lang/String; [Ljava/lang/String; I I java/lang/String T] []\n" + + "ALOAD 40\n" + + "ALOAD 38\n" + + "ALOAD 51\n" + "L227\n" + "LINENUMBER 431 L227\n" + + "IINC 50 1\n" + "GOTO L222\n" + "L223\n" + "LINENUMBER 437 L223\n" + - "FRAME FULL [org/apache/hadoop/mapred/split/TezMapredSplitsGrouper org/apache/hadoop/conf/Configuration [Lorg/apache/hadoop/mapred/InputSplit; I java/lang/String org/apache/hadoop/mapred/split/SplitSizeEstimator I java/lang/String java/lang/String [Ljava/lang/String; I J java/util/Map java/util/List J I I I java/util/Set I I I java/util/List java/util/Set I I I I I java/util/Set java/util/Map java/util/Map java/util/HashSet I [Lorg/apache/hadoop/mapred/InputSplit; I I org/apache/hadoop/mapred/InputSplit org/apache/hadoop/mapred/split/TezMapredSplitsGrouper$SplitHolder [Ljava/lang/String; T T T T T] []\n" + + "FRAME FULL [org/apache/hadoop/mapred/split/TezMapredSplitsGrouper org/apache/hadoop/conf/Configuration [Lorg/apache/hadoop/mapred/InputSplit; I java/lang/String org/apache/hadoop/mapred/split/SplitSizeEstimator I java/lang/String java/lang/String [Ljava/lang/String; I J java/util/Map java/util/List I I J I I I java/util/Set I java/util/List java/util/Set I I I I I java/util/Set java/util/Map java/util/Map java/util/HashSet I [Lorg/apache/hadoop/mapred/InputSplit; I I org/apache/hadoop/mapred/InputSplit org/apache/hadoop/mapred/split/TezMapredSplitsGrouper$SplitHolder [Ljava/lang/String; T T T T T] []\n" + + "ALOAD 40\n" + + "ASTORE 48\n" + "L228\n" + - "FRAME FULL [org/apache/hadoop/mapred/split/TezMapredSplitsGrouper org/apache/hadoop/conf/Configuration [Lorg/apache/hadoop/mapred/InputSplit; I java/lang/String org/apache/hadoop/mapred/split/SplitSizeEstimator I java/lang/String java/lang/String [Ljava/lang/String; I J java/util/Map java/util/List J I I I java/util/Set I I I java/util/List java/util/Set I I I I I java/util/Set java/util/Map java/util/Map java/util/HashSet I [Lorg/apache/hadoop/mapred/InputSplit; I I org/apache/hadoop/mapred/InputSplit org/apache/hadoop/mapred/split/TezMapredSplitsGrouper$SplitHolder [Ljava/lang/String; java/util/Iterator T T T T] []\n" + + "FRAME FULL [org/apache/hadoop/mapred/split/TezMapredSplitsGrouper org/apache/hadoop/conf/Configuration [Lorg/apache/hadoop/mapred/InputSplit; I java/lang/String org/apache/hadoop/mapred/split/SplitSizeEstimator I java/lang/String java/lang/String [Ljava/lang/String; I J java/util/Map java/util/List I I J I I I java/util/Set I java/util/List java/util/Set I I I I I java/util/Set java/util/Map java/util/Map java/util/HashSet I [Lorg/apache/hadoop/mapred/InputSplit; I I org/apache/hadoop/mapred/InputSplit org/apache/hadoop/mapred/split/TezMapredSplitsGrouper$SplitHolder [Ljava/lang/String; java/util/Iterator T T T T] []\n" + + "ALOAD 48\n" + "IFEQ L215\n" + + "ALOAD 48\n" + + "ASTORE 49\n" + "L229\n" + "LINENUMBER 438 L229\n" + + "ALOAD 39\n" + + "ALOAD 49\n" + + "ALOAD 46\n" + "L230\n" + "LINENUMBER 439 L230\n" + "GOTO L228\n" + "L215\n" + "LINENUMBER 414 L215\n" + - "FRAME FULL [org/apache/hadoop/mapred/split/TezMapredSplitsGrouper org/apache/hadoop/conf/Configuration [Lorg/apache/hadoop/mapred/InputSplit; I java/lang/String org/apache/hadoop/mapred/split/SplitSizeEstimator I java/lang/String java/lang/String [Ljava/lang/String; I J java/util/Map java/util/List J I I I java/util/Set I I I java/util/List java/util/Set I I I I I java/util/Set java/util/Map java/util/Map java/util/HashSet I [Lorg/apache/hadoop/mapred/InputSplit; I I T T T T T T T T] []\n" + + "FRAME FULL [org/apache/hadoop/mapred/split/TezMapredSplitsGrouper org/apache/hadoop/conf/Configuration [Lorg/apache/hadoop/mapred/InputSplit; I java/lang/String org/apache/hadoop/mapred/split/SplitSizeEstimator I java/lang/String java/lang/String [Ljava/lang/String; I J java/util/Map java/util/List I I J I I I java/util/Set I java/util/List java/util/Set I I I I I java/util/Set java/util/Map java/util/Map java/util/HashSet I [Lorg/apache/hadoop/mapred/InputSplit; I I T T T T T T T T] []\n" + + "IINC 44 1\n" + "GOTO L208\n" + "L209\n" + "LINENUMBER 441 L209\n" + - "FRAME FULL [org/apache/hadoop/mapred/split/TezMapredSplitsGrouper org/apache/hadoop/conf/Configuration [Lorg/apache/hadoop/mapred/InputSplit; I java/lang/String org/apache/hadoop/mapred/split/SplitSizeEstimator I java/lang/String java/lang/String [Ljava/lang/String; I J java/util/Map java/util/List J I I I java/util/Set I I I java/util/List java/util/Set I I I I I java/util/Set java/util/Map java/util/Map java/util/HashSet I T T T T T T T T T T T] []\n" + + "FRAME FULL [org/apache/hadoop/mapred/split/TezMapredSplitsGrouper org/apache/hadoop/conf/Configuration [Lorg/apache/hadoop/mapred/InputSplit; I java/lang/String org/apache/hadoop/mapred/split/SplitSizeEstimator I java/lang/String java/lang/String [Ljava/lang/String; I J java/util/Map java/util/List I I J I I I java/util/Set I java/util/List java/util/Set I I I I I java/util/Set java/util/Map java/util/Map java/util/HashSet I T T T T T T T T T T T] []\n" + + "ALOAD 37\n" + "L231\n" + "LINENUMBER 442 L231\n" + + "ALOAD 39\n" + "L232\n" + "LINENUMBER 444 L232\n" + + "FSTORE 42\n" + "L233\n" + "LINENUMBER 447 L233\n" + + "FLOAD 42\n" + "IFLE L234\n" + "L235\n" + "LINENUMBER 448 L235\n" + + "LLOAD 23\n" + + "FLOAD 42\n" + + "LSTORE 43\n" + "L236\n" + "LINENUMBER 449 L236\n" + + "ILOAD 27\n" + + "FLOAD 42\n" + + "ISTORE 45\n" + "L237\n" + "LINENUMBER 450 L237\n" + + "LLOAD 43\n" + "IFLE L238\n" + "L239\n" + "LINENUMBER 451 L239\n" + - "L238\n" + + "LLOAD 43\n" + + "LSTORE 23\n" + "LINENUMBER 453 L238\n" + - "FRAME FULL [org/apache/hadoop/mapred/split/TezMapredSplitsGrouper org/apache/hadoop/conf/Configuration [Lorg/apache/hadoop/mapred/InputSplit; I java/lang/String org/apache/hadoop/mapred/split/SplitSizeEstimator I java/lang/String java/lang/String [Ljava/lang/String; I J java/util/Map java/util/List J I I I java/util/Set I I I java/util/List java/util/Set I I I I I java/util/Set java/util/Map java/util/Map java/util/HashSet I F J I T T T T T T T] []\n" + + "FRAME FULL [org/apache/hadoop/mapred/split/TezMapredSplitsGrouper org/apache/hadoop/conf/Configuration [Lorg/apache/hadoop/mapred/InputSplit; I java/lang/String org/apache/hadoop/mapred/split/SplitSizeEstimator I java/lang/String java/lang/String [Ljava/lang/String; I J java/util/Map java/util/List I I J I I I java/util/Set I java/util/List java/util/Set I I I I I java/util/Set java/util/Map java/util/Map java/util/HashSet I F J I T T T T T T T] []\n" + + "ILOAD 45\n" + "IFLE L234\n" + "L240\n" + "LINENUMBER 454 L240\n" + + "ILOAD 45\n" + + "ISTORE 27\n" + "L234\n" + "LINENUMBER 458 L234\n" + - "FRAME FULL [org/apache/hadoop/mapred/split/TezMapredSplitsGrouper org/apache/hadoop/conf/Configuration [Lorg/apache/hadoop/mapred/InputSplit; I java/lang/String org/apache/hadoop/mapred/split/SplitSizeEstimator I java/lang/String java/lang/String [Ljava/lang/String; I J java/util/Map java/util/List J I I I java/util/Set I I I java/util/List java/util/Set I I I I I java/util/Set java/util/Map java/util/Map java/util/HashSet I F T T T T T T T T T T] []\n" + + "FRAME FULL [org/apache/hadoop/mapred/split/TezMapredSplitsGrouper org/apache/hadoop/conf/Configuration [Lorg/apache/hadoop/mapred/InputSplit; I java/lang/String org/apache/hadoop/mapred/split/SplitSizeEstimator I java/lang/String java/lang/String [Ljava/lang/String; I J java/util/Map java/util/List I I J I I I java/util/Set I java/util/List java/util/Set I I I I I java/util/Set java/util/Map java/util/Map java/util/HashSet I F T T T T T T T T T T] []\n" + + "ILOAD 34\n" + + "ILOAD 29\n" + + "ILOAD 35\n" + "L241\n" + "LINENUMBER 461 L241\n" + + "LLOAD 23\n" + + "ILOAD 27\n" + "L242\n" + "LINENUMBER 458 L242\n" + "L243\n" + @@ -653,13 +951,20 @@ public void annotatedClass() throws Exception { "GOTO L111\n" + "L175\n" + "LINENUMBER 469 L175\n" + - "FRAME FULL [org/apache/hadoop/mapred/split/TezMapredSplitsGrouper org/apache/hadoop/conf/Configuration [Lorg/apache/hadoop/mapred/InputSplit; I java/lang/String org/apache/hadoop/mapred/split/SplitSizeEstimator I java/lang/String java/lang/String [Ljava/lang/String; I J java/util/Map java/util/List J I I I java/util/Set I I I java/util/List java/util/Set I I I I T T T T T T T T T T T T T T T T T] []\n" + + "FRAME FULL [org/apache/hadoop/mapred/split/TezMapredSplitsGrouper org/apache/hadoop/conf/Configuration [Lorg/apache/hadoop/mapred/InputSplit; I java/lang/String org/apache/hadoop/mapred/split/SplitSizeEstimator I java/lang/String java/lang/String [Ljava/lang/String; I J java/util/Map java/util/List I I J I I I java/util/Set I java/util/List java/util/Set I I I I T T T T T T T T T T T T T T T T T] []\n" + + "ILOAD 32\n" + "IFNE L244\n" + + "ILOAD 35\n" + + "ILOAD 25\n" + "IF_ICMPGT L244\n" + "L245\n" + "LINENUMBER 472 L245\n" + + "ISTORE 32\n" + "L246\n" + "LINENUMBER 473 L246\n" + + "ILOAD 34\n" + + "ILOAD 29\n" + + "ILOAD 35\n" + "L247\n" + "LINENUMBER 476 L247\n" + "L248\n" + @@ -669,80 +974,87 @@ public void annotatedClass() throws Exception { "IFEQ L249\n" + "L250\n" + "LINENUMBER 480 L250\n" + + "ILOAD 34\n" + + "ILOAD 29\n" + + "ILOAD 35\n" + "L251\n" + "LINENUMBER 483 L251\n" + "L252\n" + "LINENUMBER 480 L252\n" + "L249\n" + "LINENUMBER 485 L249\n" + - "FRAME FULL [org/apache/hadoop/mapred/split/TezMapredSplitsGrouper org/apache/hadoop/conf/Configuration [Lorg/apache/hadoop/mapred/InputSplit; I java/lang/String org/apache/hadoop/mapred/split/SplitSizeEstimator I java/lang/String java/lang/String [Ljava/lang/String; I J java/util/Map java/util/List J I I I java/util/Set I I I java/util/List java/util/Set I I I T T T T T T T T T T T T T T T T T T] []\n" + + "FRAME FULL [org/apache/hadoop/mapred/split/TezMapredSplitsGrouper org/apache/hadoop/conf/Configuration [Lorg/apache/hadoop/mapred/InputSplit; I java/lang/String org/apache/hadoop/mapred/split/SplitSizeEstimator I java/lang/String java/lang/String [Ljava/lang/String; I J java/util/Map java/util/List I I J I I I java/util/Set I java/util/List java/util/Set I I I T T T T T T T T T T T T T T T T T T] []\n" + "GOTO L111\n" + "L112\n" + "LINENUMBER 486 L112\n" + + "ASTORE 35\n" + "L253\n" + "LINENUMBER 487 L253\n" + + "ALOAD 35\n" + "L254\n" + "LINENUMBER 488 L254\n" + "L255\n" + "LINENUMBER 489 L255\n" + + "ILOAD 29\n" + "L256\n" + "LINENUMBER 488 L256\n" + "L257\n" + "LINENUMBER 491 L257\n" + + "ALOAD 35\n" + "L258\n" + "LOCALVARIABLE location Ljava/lang/String; L28 L34 22\n" + - "LOCALVARIABLE locations [Ljava/lang/String; L22 L27 18\n" + - "LOCALVARIABLE split Lorg/apache/hadoop/mapred/InputSplit; L18 L27 17\n" + + "LOCALVARIABLE locations [Ljava/lang/String; L22 L27 26\n" + + "LOCALVARIABLE split Lorg/apache/hadoop/mapred/InputSplit; L18 L27 25\n" + "LOCALVARIABLE newDesiredNumSplits I L50 L52 21\n" + "LOCALVARIABLE newDesiredNumSplits I L54 L35 21\n" + "LOCALVARIABLE splitCount I L39 L35 14\n" + - "LOCALVARIABLE lengthPerGroup J L43 L35 15\n" + - "LOCALVARIABLE maxLengthPerGroup J L44 L35 17\n" + - "LOCALVARIABLE minLengthPerGroup J L45 L35 19\n" + - "LOCALVARIABLE newSplit Lorg/apache/hadoop/mapred/split/TezGroupedSplit; L69 L71 20\n" + - "LOCALVARIABLE split Lorg/apache/hadoop/mapred/InputSplit; L67 L71 19\n" + + "LOCALVARIABLE lengthPerGroup J L43 L35 23\n" + + "LOCALVARIABLE maxLengthPerGroup J L44 L35 25\n" + + "LOCALVARIABLE minLengthPerGroup J L45 L35 27\n" + + "LOCALVARIABLE newSplit Lorg/apache/hadoop/mapred/split/TezGroupedSplit; L69 L71 28\n" + + "LOCALVARIABLE split Lorg/apache/hadoop/mapred/InputSplit; L67 L71 27\n" + "LOCALVARIABLE groupedSplits [Lorg/apache/hadoop/mapred/InputSplit; L63 L61 14\n" + - "LOCALVARIABLE i I L64 L61 15\n" + + "LOCALVARIABLE i I L64 L61 23\n" + "LOCALVARIABLE location Ljava/lang/String; L79 L80 21\n" + - "LOCALVARIABLE location Ljava/lang/String; L92 L95 30\n" + - "LOCALVARIABLE holder Lorg/apache/hadoop/mapred/split/TezMapredSplitsGrouper$LocationHolder; L99 L100 29\n" + - "LOCALVARIABLE location Ljava/lang/String; L98 L100 28\n" + - "LOCALVARIABLE splitHolder Lorg/apache/hadoop/mapred/split/TezMapredSplitsGrouper$SplitHolder; L86 L97 25\n" + - "LOCALVARIABLE locations [Ljava/lang/String; L87 L97 26\n" + - "LOCALVARIABLE split Lorg/apache/hadoop/mapred/InputSplit; L84 L97 24\n" + - "LOCALVARIABLE loc Ljava/lang/String; L154 L155 46\n" + - "LOCALVARIABLE locations [Ljava/lang/String; L150 L151 42\n" + - "LOCALVARIABLE splitH Lorg/apache/hadoop/mapred/split/TezMapredSplitsGrouper$SplitHolder; L149 L151 41\n" + - "LOCALVARIABLE groupedSplitHolder Lorg/apache/hadoop/mapred/split/TezMapredSplitsGrouper$SplitHolder; L163 L169 42\n" + - "LOCALVARIABLE location Ljava/lang/String; L121 L174 32\n" + - "LOCALVARIABLE holder Lorg/apache/hadoop/mapred/split/TezMapredSplitsGrouper$LocationHolder; L122 L174 33\n" + - "LOCALVARIABLE splitHolder Lorg/apache/hadoop/mapred/split/TezMapredSplitsGrouper$SplitHolder; L123 L174 34\n" + - "LOCALVARIABLE oldHeadIndex I L126 L174 35\n" + - "LOCALVARIABLE groupLength J L127 L174 36\n" + - "LOCALVARIABLE groupNumSplits I L128 L174 38\n" + - "LOCALVARIABLE groupLocation [Ljava/lang/String; L142 L174 39\n" + - "LOCALVARIABLE groupedSplit Lorg/apache/hadoop/mapred/split/TezGroupedSplit; L160 L174 40\n" + - "LOCALVARIABLE entry Ljava/util/Map$Entry; L118 L174 31\n" + - "LOCALVARIABLE splitHolder Lorg/apache/hadoop/mapred/split/TezMapredSplitsGrouper$SplitHolder; L186 L187 35\n" + - "LOCALVARIABLE locHolder Lorg/apache/hadoop/mapred/split/TezMapredSplitsGrouper$LocationHolder; L183 L184 34\n" + - "LOCALVARIABLE entry Ljava/util/Map$Entry; L182 L184 33\n" + - "LOCALVARIABLE rack Ljava/lang/String; L199 L203 36\n" + - "LOCALVARIABLE location Ljava/lang/String; L198 L203 35\n" + - "LOCALVARIABLE location Ljava/lang/String; L224 L227 45\n" + - "LOCALVARIABLE rack Ljava/lang/String; L229 L230 43\n" + - "LOCALVARIABLE splitHolder Lorg/apache/hadoop/mapred/split/TezMapredSplitsGrouper$SplitHolder; L218 L215 40\n" + - "LOCALVARIABLE locations [Ljava/lang/String; L219 L215 41\n" + - "LOCALVARIABLE split Lorg/apache/hadoop/mapred/InputSplit; L210 L215 39\n" + - "LOCALVARIABLE newLengthPerGroup J L236 L234 37\n" + - "LOCALVARIABLE newNumSplitsInGroup I L237 L234 39\n" + - "LOCALVARIABLE numRemainingSplits I L178 L175 30\n" + - "LOCALVARIABLE remainingSplits Ljava/util/Set; L179 L175 31\n" + - "LOCALVARIABLE locToRackMap Ljava/util/Map; L194 L175 32\n" + - "LOCALVARIABLE rackLocations Ljava/util/Map; L195 L175 33\n" + - "LOCALVARIABLE rackSet Ljava/util/HashSet; L206 L175 34\n" + - "LOCALVARIABLE numRackSplitsToGroup I L207 L175 35\n" + - "LOCALVARIABLE rackSplitReduction F L233 L175 36\n" + - "LOCALVARIABLE numFullGroupsCreated I L115 L249 29\n" + + "LOCALVARIABLE location Ljava/lang/String; L92 L95 36\n" + + "LOCALVARIABLE holder Lorg/apache/hadoop/mapred/split/TezMapredSplitsGrouper$LocationHolder; L99 L100 35\n" + + "LOCALVARIABLE location Ljava/lang/String; L98 L100 34\n" + + "LOCALVARIABLE splitHolder Lorg/apache/hadoop/mapred/split/TezMapredSplitsGrouper$SplitHolder; L86 L97 31\n" + + "LOCALVARIABLE locations [Ljava/lang/String; L87 L97 32\n" + + "LOCALVARIABLE split Lorg/apache/hadoop/mapred/InputSplit; L84 L97 30\n" + + "LOCALVARIABLE loc Ljava/lang/String; L154 L155 52\n" + + "LOCALVARIABLE locations [Ljava/lang/String; L150 L151 48\n" + + "LOCALVARIABLE splitH Lorg/apache/hadoop/mapred/split/TezMapredSplitsGrouper$SplitHolder; L149 L151 47\n" + + "LOCALVARIABLE groupedSplitHolder Lorg/apache/hadoop/mapred/split/TezMapredSplitsGrouper$SplitHolder; L163 L169 48\n" + + "LOCALVARIABLE location Ljava/lang/String; L121 L174 38\n" + + "LOCALVARIABLE holder Lorg/apache/hadoop/mapred/split/TezMapredSplitsGrouper$LocationHolder; L122 L174 39\n" + + "LOCALVARIABLE splitHolder Lorg/apache/hadoop/mapred/split/TezMapredSplitsGrouper$SplitHolder; L123 L174 40\n" + + "LOCALVARIABLE oldHeadIndex I L126 L174 41\n" + + "LOCALVARIABLE groupLength J L127 L174 42\n" + + "LOCALVARIABLE groupNumSplits I L128 L174 44\n" + + "LOCALVARIABLE groupLocation [Ljava/lang/String; L142 L174 45\n" + + "LOCALVARIABLE groupedSplit Lorg/apache/hadoop/mapred/split/TezGroupedSplit; L160 L174 46\n" + + "LOCALVARIABLE entry Ljava/util/Map$Entry; L118 L174 37\n" + + "LOCALVARIABLE splitHolder Lorg/apache/hadoop/mapred/split/TezMapredSplitsGrouper$SplitHolder; L186 L187 41\n" + + "LOCALVARIABLE locHolder Lorg/apache/hadoop/mapred/split/TezMapredSplitsGrouper$LocationHolder; L183 L184 40\n" + + "LOCALVARIABLE entry Ljava/util/Map$Entry; L182 L184 39\n" + + "LOCALVARIABLE rack Ljava/lang/String; L199 L203 42\n" + + "LOCALVARIABLE location Ljava/lang/String; L198 L203 41\n" + + "LOCALVARIABLE location Ljava/lang/String; L224 L227 51\n" + + "LOCALVARIABLE rack Ljava/lang/String; L229 L230 49\n" + + "LOCALVARIABLE splitHolder Lorg/apache/hadoop/mapred/split/TezMapredSplitsGrouper$SplitHolder; L218 L215 46\n" + + "LOCALVARIABLE locations [Ljava/lang/String; L219 L215 47\n" + + "LOCALVARIABLE split Lorg/apache/hadoop/mapred/InputSplit; L210 L215 45\n" + + "LOCALVARIABLE newLengthPerGroup J L236 L234 43\n" + + "LOCALVARIABLE newNumSplitsInGroup I L237 L234 45\n" + + "LOCALVARIABLE numRemainingSplits I L178 L175 36\n" + + "LOCALVARIABLE remainingSplits Ljava/util/Set; L179 L175 37\n" + + "LOCALVARIABLE locToRackMap Ljava/util/Map; L194 L175 38\n" + + "LOCALVARIABLE rackLocations Ljava/util/Map; L195 L175 39\n" + + "LOCALVARIABLE rackSet Ljava/util/HashSet; L206 L175 40\n" + + "LOCALVARIABLE numRackSplitsToGroup I L207 L175 41\n" + + "LOCALVARIABLE rackSplitReduction F L233 L175 42\n" + + "LOCALVARIABLE numFullGroupsCreated I L115 L249 35\n" + "LOCALVARIABLE this Lorg/apache/hadoop/mapred/split/TezMapredSplitsGrouper; L0 L258 0\n" + "LOCALVARIABLE conf Lorg/apache/hadoop/conf/Configuration; L0 L258 1\n" + "LOCALVARIABLE originalSplits [Lorg/apache/hadoop/mapred/InputSplit; L0 L258 2\n" + @@ -757,20 +1069,21 @@ public void annotatedClass() throws Exception { "LOCALVARIABLE totalLength J L14 L258 11\n" + "LOCALVARIABLE distinctLocations Ljava/util/Map; L15 L258 13\n" + "LOCALVARIABLE groupedSplitsList Ljava/util/List; L72 L258 14\n" + - "LOCALVARIABLE lengthPerGroup J L73 L258 15\n" + - "LOCALVARIABLE numNodeLocations I L74 L258 17\n" + - "LOCALVARIABLE numSplitsPerLocation I L75 L258 18\n" + - "LOCALVARIABLE numSplitsInGroup I L76 L258 19\n" + - "LOCALVARIABLE locSet Ljava/util/Set; L81 L258 20\n" + + "LOCALVARIABLE lengthPerGroup J L73 L258 23\n" + + "LOCALVARIABLE numNodeLocations I L74 L258 25\n" + + "LOCALVARIABLE numSplitsPerLocation I L75 L258 26\n" + + "LOCALVARIABLE numSplitsInGroup I L76 L258 27\n" + + "LOCALVARIABLE locSet Ljava/util/Set; L81 L258 28\n" + "LOCALVARIABLE groupByLength Z L101 L258 21\n" + "LOCALVARIABLE groupByCount Z L102 L258 22\n" + - "LOCALVARIABLE splitsProcessed I L106 L258 23\n" + - "LOCALVARIABLE group Ljava/util/List; L107 L258 24\n" + - "LOCALVARIABLE groupLocationSet Ljava/util/Set; L108 L258 25\n" + - "LOCALVARIABLE allowSmallGroups Z L109 L258 26\n" + - "LOCALVARIABLE doingRackLocal Z L110 L258 27\n" + - "LOCALVARIABLE iterations I L111 L258 28\n" + - "LOCALVARIABLE groupedSplits [Lorg/apache/hadoop/mapred/InputSplit; L253 L258 29", false + "LOCALVARIABLE splitsProcessed I L106 L258 29\n" + + "LOCALVARIABLE group Ljava/util/List; L107 L258 30\n" + + "LOCALVARIABLE groupLocationSet Ljava/util/Set; L108 L258 31\n" + + "LOCALVARIABLE allowSmallGroups Z L109 L258 32\n" + + "LOCALVARIABLE doingRackLocal Z L110 L258 33\n" + + "LOCALVARIABLE iterations I L111 L258 34\n" + + "LOCALVARIABLE groupedSplits [Lorg/apache/hadoop/mapred/InputSplit; L253 L258 35\n" + + "MAXLOCALS = 53", false ); } } diff --git a/src/test/traces/issues/BTRACE_333.java b/src/test/traces/issues/BTRACE_333.java new file mode 100644 index 000000000..2fef4bd54 --- /dev/null +++ b/src/test/traces/issues/BTRACE_333.java @@ -0,0 +1,15 @@ +package traces.issues; + +import com.sun.btrace.annotations.*; +import static com.sun.btrace.BTraceUtils.*; + +@BTrace(unsafe=true) public class BTRACE_333 { + @OnMethod( + clazz="com.bt.pjg.game.backpack.BackpackExtensionTest", + method="/.*/", + location=@Location(value=Kind.SYNC_ENTRY) + ) + public static void m3() { + print("entered SYNC"); + } +}