store pushes in instruction context too

This commit is contained in:
Adam
2015-06-24 14:48:30 -04:00
parent 85fc94dd57
commit 1eee5a48ae
129 changed files with 316 additions and 1 deletions

View File

@@ -29,6 +29,8 @@ public class AALoad extends Instruction
StackContext ctx = new StackContext(ins, array.getType().getSubtype());
stack.push(ctx);
ins.push(ctx);
frame.addInstructionContext(ins);
}
}

View File

@@ -26,6 +26,8 @@ public class AConstNull extends Instruction
StackContext ctx = new StackContext(ins, Object.class);
stack.push(ctx);
ins.push(ctx);
frame.addInstructionContext(ins);
}
}

View File

@@ -65,6 +65,8 @@ public class ALoad extends Instruction implements LVTInstruction, WideInstructio
StackContext ctx = new StackContext(ins, vctx.getType());
stack.push(ctx);
ins.push(ctx);
frame.addInstructionContext(ins);
}

View File

@@ -33,6 +33,8 @@ public class ALoad_0 extends Instruction implements LVTInstruction
StackContext ctx = new StackContext(ins, vctx.getType());
stack.push(ctx);
ins.push(ctx);
frame.addInstructionContext(ins);
}

View File

@@ -33,6 +33,8 @@ public class ALoad_1 extends Instruction implements LVTInstruction
StackContext ctx = new StackContext(ins, vctx.getType());
stack.push(ctx);
ins.push(ctx);
frame.addInstructionContext(ins);
}

View File

@@ -33,6 +33,8 @@ public class ALoad_2 extends Instruction implements LVTInstruction
StackContext ctx = new StackContext(ins, vctx.getType());
stack.push(ctx);
ins.push(ctx);
frame.addInstructionContext(ins);
}

View File

@@ -33,6 +33,8 @@ public class ALoad_3 extends Instruction implements LVTInstruction
StackContext ctx = new StackContext(ins, vctx.getType());
stack.push(ctx);
ins.push(ctx);
frame.addInstructionContext(ins);
}

View File

@@ -49,6 +49,8 @@ public class ANewArray extends Instruction
StackContext ctx = new StackContext(ins, t);
stack.push(ctx);
ins.push(ctx);
frame.addInstructionContext(ins);
}
}

View File

@@ -30,6 +30,8 @@ public class ArrayLength extends Instruction
StackContext ctx = new StackContext(ins, int.class);
stack.push(ctx);
ins.push(ctx);
frame.addInstructionContext(ins);
}
}

View File

@@ -29,6 +29,8 @@ public class BALoad extends Instruction
StackContext ctx = new StackContext(ins, int.class); // sign extend
stack.push(ctx);
ins.push(ctx);
frame.addInstructionContext(ins);
}
}

View File

@@ -41,6 +41,8 @@ public class BiPush extends Instruction
StackContext ctx = new StackContext(ins, int.class); // bipush sign extends the value to an int
stack.push(ctx);
ins.push(ctx);
frame.addInstructionContext(ins);
}
}

View File

@@ -29,6 +29,8 @@ public class CALoad extends Instruction
StackContext ctx = new StackContext(ins, int.class); // zero extended to int
stack.push(ctx);
ins.push(ctx);
frame.addInstructionContext(ins);
}
}

View File

@@ -61,6 +61,8 @@ public class CheckCast extends Instruction
StackContext exception = new StackContext(ins, new Type("java/lang/Exception"));
stack.push(exception);
ins.push(exception);
f.addInstructionContext(ins);
f.jump(e.getHandler());

View File

@@ -30,6 +30,8 @@ public class D2F extends Instruction
StackContext ctx = new StackContext(ins, float.class);
stack.push(ctx);
ins.push(ctx);
frame.addInstructionContext(ins);
}
}

View File

@@ -30,6 +30,8 @@ public class D2I extends Instruction
StackContext ctx = new StackContext(ins, int.class);
stack.push(ctx);
ins.push(ctx);
frame.addInstructionContext(ins);
}
}

View File

@@ -30,6 +30,8 @@ public class D2L extends Instruction
StackContext ctx = new StackContext(ins, long.class);
stack.push(ctx);
ins.push(ctx);
frame.addInstructionContext(ins);
}
}

View File

@@ -29,6 +29,8 @@ public class DALoad extends Instruction
StackContext ctx = new StackContext(ins, double.class);
stack.push(ctx);
ins.push(ctx);
frame.addInstructionContext(ins);
}
}

View File

@@ -29,6 +29,8 @@ public class DAdd extends Instruction
StackContext ctx = new StackContext(ins, double.class);
stack.push(ctx);
ins.push(ctx);
frame.addInstructionContext(ins);
}
}

View File

@@ -31,6 +31,8 @@ public class DCmpG extends Instruction
StackContext ctx = new StackContext(ins, int.class);
stack.push(ctx);
ins.push(ctx);
frame.addInstructionContext(ins);
}
}

View File

@@ -31,6 +31,8 @@ public class DCmpL extends Instruction
StackContext ctx = new StackContext(ins, int.class);
stack.push(ctx);
ins.push(ctx);
frame.addInstructionContext(ins);
}
}

View File

@@ -26,6 +26,8 @@ public class DConst_0 extends Instruction
StackContext ctx = new StackContext(ins, double.class);
stack.push(ctx);
ins.push(ctx);
frame.addInstructionContext(ins);
}
}

View File

@@ -26,6 +26,8 @@ public class DConst_1 extends Instruction
StackContext ctx = new StackContext(ins, double.class);
stack.push(ctx);
ins.push(ctx);
frame.addInstructionContext(ins);
}
}

View File

@@ -29,6 +29,8 @@ public class DDiv extends Instruction
StackContext ctx = new StackContext(ins, double.class);
stack.push(ctx);
ins.push(ctx);
frame.addInstructionContext(ins);
}
}

View File

@@ -67,6 +67,8 @@ public class DLoad extends Instruction implements LVTInstruction, WideInstructio
StackContext ctx = new StackContext(ins, vctx.getType());
stack.push(ctx);
ins.push(ctx);
frame.addInstructionContext(ins);
}

View File

@@ -35,6 +35,8 @@ public class DLoad_0 extends Instruction implements LVTInstruction
StackContext ctx = new StackContext(ins, vctx.getType());
stack.push(ctx);
ins.push(ctx);
frame.addInstructionContext(ins);
}

View File

@@ -35,6 +35,8 @@ public class DLoad_1 extends Instruction implements LVTInstruction
StackContext ctx = new StackContext(ins, vctx.getType());
stack.push(ctx);
ins.push(ctx);
frame.addInstructionContext(ins);
}

View File

@@ -35,6 +35,8 @@ public class DLoad_2 extends Instruction implements LVTInstruction
StackContext ctx = new StackContext(ins, double.class);
stack.push(ctx);
ins.push(ctx);
frame.addInstructionContext(ins);
}

View File

@@ -35,6 +35,8 @@ public class DLoad_3 extends Instruction implements LVTInstruction
StackContext ctx = new StackContext(ins, double.class);
stack.push(ctx);
ins.push(ctx);
frame.addInstructionContext(ins);
}

View File

@@ -29,6 +29,8 @@ public class DMul extends Instruction
StackContext ctx = new StackContext(ins, double.class);
stack.push(ctx);
ins.push(ctx);
frame.addInstructionContext(ins);
}
}

View File

@@ -27,6 +27,8 @@ public class DNeg extends Instruction
StackContext ctx = new StackContext(ins, double.class);
stack.push(ctx);
ins.push(ctx);
frame.addInstructionContext(ins);
}
}

View File

@@ -29,6 +29,8 @@ public class DRem extends Instruction
StackContext ctx = new StackContext(ins, double.class);
stack.push(ctx);
ins.push(ctx);
frame.addInstructionContext(ins);
}
}

View File

@@ -29,6 +29,8 @@ public class DSub extends Instruction
StackContext ctx = new StackContext(ins, double.class);
stack.push(ctx);
ins.push(ctx);
frame.addInstructionContext(ins);
}
}

View File

@@ -29,9 +29,13 @@ public class Dup extends Instruction
StackContext ctx = new StackContext(ins, obj.getType());
stack.push(ctx);
ins.push(ctx);
ctx = new StackContext(ins, obj.getType());
stack.push(ctx);
ins.push(ctx);
frame.addInstructionContext(ins);
}

View File

@@ -37,20 +37,28 @@ public class Dup2 extends Instruction
{
StackContext ctx = new StackContext(ins, two.getType());
stack.push(ctx);
ins.push(ctx);
}
StackContext ctx = new StackContext(ins, one.getType());
stack.push(one);
ins.push(ctx);
if (two != null)
{
ctx = new StackContext(ins, two.getType());
stack.push(ctx);
ins.push(ctx);
}
ctx = new StackContext(ins, one.getType());
stack.push(one);
ins.push(ctx);
frame.addInstructionContext(ins);
}

View File

@@ -39,23 +39,33 @@ public class Dup2_X1 extends Instruction
{
StackContext ctx = new StackContext(ins, two.getType());
stack.push(ctx);
ins.push(ctx);
}
StackContext ctx = new StackContext(ins, one.getType());
stack.push(ctx);
ins.push(ctx);
ctx = new StackContext(ins, three.getType());
stack.push(ctx);
ins.push(ctx);
if (two != null)
{
ctx = new StackContext(ins, two.getType());
stack.push(ctx);
ins.push(ctx);
}
ctx = new StackContext(ins, one.getType());
stack.push(ctx);
ins.push(ctx);
frame.addInstructionContext(ins);
}

View File

@@ -44,29 +44,41 @@ public class Dup2_X2 extends Instruction
{
StackContext ctx = new StackContext(ins, two.getType());
stack.push(ctx);
ins.push(ctx);
}
StackContext ctx = new StackContext(ins, one.getType());
stack.push(one);
ins.push(ctx);
if (four != null)
{
ctx = new StackContext(ins, four.getType());
stack.push(ctx);
ins.push(ctx);
}
ctx = new StackContext(ins, three.getType());
stack.push(one);
ins.push(ctx);
if (two != null)
{
ctx = new StackContext(ins, two.getType());
stack.push(ctx);
ins.push(ctx);
}
ctx = new StackContext(ins, one.getType());
stack.push(one);
ins.push(ctx);
frame.addInstructionContext(ins);
}

View File

@@ -31,12 +31,18 @@ public class Dup_X1 extends Instruction
StackContext ctx = new StackContext(ins, one.getType());
stack.push(ctx);
ins.push(ctx);
ctx = new StackContext(ins, two.getType());
stack.push(ctx);
ins.push(ctx);
ctx = new StackContext(ins, one.getType());
stack.push(ctx);
ins.push(ctx);
frame.addInstructionContext(ins);
}

View File

@@ -37,18 +37,26 @@ public class Dup_X2 extends Instruction
StackContext ctx = new StackContext(ins, one.getType());
stack.push(ctx);
ins.push(ctx);
if (three != null)
{
ctx = new StackContext(ins, three.getType());
stack.push(ctx);
ins.push(ctx);
}
ctx = new StackContext(ins, two.getType());
stack.push(ctx);
ins.push(ctx);
ctx = new StackContext(ins, one.getType());
stack.push(ctx);
ins.push(ctx);
frame.addInstructionContext(ins);
}

View File

@@ -29,6 +29,8 @@ public class F2D extends Instruction
StackContext ctx = new StackContext(ins, double.class);
stack.push(ctx);
ins.push(ctx);
frame.addInstructionContext(ins);
}
}

View File

@@ -29,6 +29,8 @@ public class F2I extends Instruction
StackContext ctx = new StackContext(ins, int.class);
stack.push(ctx);
ins.push(ctx);
frame.addInstructionContext(ins);
}
}

View File

@@ -29,6 +29,8 @@ public class F2L extends Instruction
StackContext ctx = new StackContext(ins, long.class);
stack.push(ctx);
ins.push(ctx);
frame.addInstructionContext(ins);
}
}

View File

@@ -29,6 +29,8 @@ public class FALoad extends Instruction
StackContext ctx = new StackContext(ins, float.class);
stack.push(ctx);
ins.push(ctx);
frame.addInstructionContext(ins);
}
}

View File

@@ -29,6 +29,8 @@ public class FAdd extends Instruction
StackContext ctx = new StackContext(ins, float.class);
stack.push(ctx);
ins.push(ctx);
frame.addInstructionContext(ins);
}
}

View File

@@ -31,6 +31,8 @@ public class FCmpG extends Instruction
StackContext ctx = new StackContext(ins, int.class);
stack.push(ctx);
ins.push(ctx);
frame.addInstructionContext(ins);
}
}

View File

@@ -31,6 +31,8 @@ public class FCmpL extends Instruction
StackContext ctx = new StackContext(ins, int.class);
stack.push(ctx);
ins.push(ctx);
frame.addInstructionContext(ins);
}
}

View File

@@ -26,6 +26,8 @@ public class FConst_0 extends Instruction
StackContext ctx = new StackContext(ins, float.class);
stack.push(ctx);
ins.push(ctx);
frame.addInstructionContext(ins);
}
}

View File

@@ -26,6 +26,8 @@ public class FConst_1 extends Instruction
StackContext ctx = new StackContext(ins, float.class);
stack.push(ctx);
ins.push(ctx);
frame.addInstructionContext(ins);
}
}

View File

@@ -26,6 +26,8 @@ public class FConst_2 extends Instruction
StackContext ctx = new StackContext(ins, float.class);
stack.push(ctx);
ins.push(ctx);
frame.addInstructionContext(ins);
}
}

View File

@@ -29,6 +29,8 @@ public class FDiv extends Instruction
StackContext ctx = new StackContext(ins, float.class);
stack.push(ctx);
ins.push(ctx);
frame.addInstructionContext(ins);
}
}

View File

@@ -67,6 +67,8 @@ public class FLoad extends Instruction implements LVTInstruction, WideInstructio
StackContext ctx = new StackContext(ins, vctx.getType());
stack.push(ctx);
ins.push(ctx);
frame.addInstructionContext(ins);
}

View File

@@ -35,6 +35,8 @@ public class FLoad_0 extends Instruction implements LVTInstruction
StackContext ctx = new StackContext(ins, vctx.getType());
stack.push(ctx);
ins.push(ctx);
frame.addInstructionContext(ins);
}

View File

@@ -35,6 +35,8 @@ public class FLoad_1 extends Instruction implements LVTInstruction
StackContext ctx = new StackContext(ins, vctx.getType());
stack.push(ctx);
ins.push(ctx);
frame.addInstructionContext(ins);
}

View File

@@ -35,6 +35,8 @@ public class FLoad_2 extends Instruction implements LVTInstruction
StackContext ctx = new StackContext(ins, vctx.getType());
stack.push(ctx);
ins.push(ctx);
frame.addInstructionContext(ins);
}

View File

@@ -35,6 +35,8 @@ public class FLoad_3 extends Instruction implements LVTInstruction
StackContext ctx = new StackContext(ins, vctx.getType());
stack.push(ctx);
ins.push(ctx);
frame.addInstructionContext(ins);
}

View File

@@ -29,6 +29,8 @@ public class FMul extends Instruction
StackContext ctx = new StackContext(ins, float.class);
stack.push(ctx);
ins.push(ctx);
frame.addInstructionContext(ins);
}
}

View File

@@ -27,6 +27,8 @@ public class FNeg extends Instruction
StackContext ctx = new StackContext(ins, float.class);
stack.push(ctx);
ins.push(ctx);
frame.addInstructionContext(ins);
}
}

View File

@@ -29,6 +29,8 @@ public class FRem extends Instruction
StackContext ctx = new StackContext(ins, float.class);
stack.push(ctx);
ins.push(ctx);
frame.addInstructionContext(ins);
}
}

View File

@@ -29,6 +29,8 @@ public class FSub extends Instruction
StackContext ctx = new StackContext(ins, float.class);
stack.push(ctx);
ins.push(ctx);
frame.addInstructionContext(ins);
}
}

View File

@@ -47,6 +47,8 @@ public class GetField extends Instruction implements GetFieldInstruction
StackContext ctx = new StackContext(ins, new Type(field.getNameAndType().getDescriptorType()).toStackType());
stack.push(ctx);
ins.push(ctx);
frame.addInstructionContext(ins);
}

View File

@@ -47,6 +47,8 @@ public class GetStatic extends Instruction implements GetFieldInstruction
StackContext ctx = new StackContext(ins, new Type(field.getNameAndType().getDescriptorType()).toStackType());
stack.push(ctx);
ins.push(ctx);
frame.addInstructionContext(ins);
}

View File

@@ -29,6 +29,8 @@ public class I2B extends Instruction
StackContext ctx = new StackContext(ins, int.class); // sign extneded
stack.push(ctx);
ins.push(ctx);
frame.addInstructionContext(ins);
}
}

View File

@@ -29,6 +29,8 @@ public class I2C extends Instruction
StackContext ctx = new StackContext(ins, int.class); // sign extended
stack.push(ctx);
ins.push(ctx);
frame.addInstructionContext(ins);
}
}

View File

@@ -29,6 +29,8 @@ public class I2D extends Instruction
StackContext ctx = new StackContext(ins, double.class);
stack.push(ctx);
ins.push(ctx);
frame.addInstructionContext(ins);
}
}

View File

@@ -29,6 +29,8 @@ public class I2F extends Instruction
StackContext ctx = new StackContext(ins, float.class);
stack.push(ctx);
ins.push(ctx);
frame.addInstructionContext(ins);
}
}

View File

@@ -29,6 +29,8 @@ public class I2L extends Instruction
StackContext ctx = new StackContext(ins, long.class);
stack.push(ctx);
ins.push(ctx);
frame.addInstructionContext(ins);
}
}

View File

@@ -29,6 +29,8 @@ public class I2S extends Instruction
StackContext ctx = new StackContext(ins, int.class); // sign extended
stack.push(ctx);
ins.push(ctx);
frame.addInstructionContext(ins);
}
}

View File

@@ -29,6 +29,8 @@ public class IALoad extends Instruction
StackContext ctx = new StackContext(ins, int.class);
stack.push(ctx);
ins.push(ctx);
frame.addInstructionContext(ins);
}
}

View File

@@ -29,6 +29,8 @@ public class IAdd extends Instruction
StackContext ctx = new StackContext(ins, int.class);
stack.push(ctx);
ins.push(ctx);
frame.addInstructionContext(ins);
}
}

View File

@@ -29,6 +29,8 @@ public class IAnd extends Instruction
StackContext ctx = new StackContext(ins, int.class);
stack.push(ctx);
ins.push(ctx);
frame.addInstructionContext(ins);
}
}

View File

@@ -26,6 +26,8 @@ public class IConst_0 extends Instruction
StackContext ctx = new StackContext(ins, int.class);
stack.push(ctx);
ins.push(ctx);
frame.addInstructionContext(ins);
}
}

View File

@@ -26,6 +26,8 @@ public class IConst_1 extends Instruction
StackContext ctx = new StackContext(ins, int.class);
stack.push(ctx);
ins.push(ctx);
frame.addInstructionContext(ins);
}
}

View File

@@ -26,6 +26,8 @@ public class IConst_2 extends Instruction
StackContext ctx = new StackContext(ins, int.class);
stack.push(ctx);
ins.push(ctx);
frame.addInstructionContext(ins);
}
}

View File

@@ -26,6 +26,8 @@ public class IConst_3 extends Instruction
StackContext ctx = new StackContext(ins, int.class);
stack.push(ctx);
ins.push(ctx);
frame.addInstructionContext(ins);
}
}

View File

@@ -26,6 +26,8 @@ public class IConst_4 extends Instruction
StackContext ctx = new StackContext(ins, int.class);
stack.push(ctx);
ins.push(ctx);
frame.addInstructionContext(ins);
}
}

View File

@@ -26,6 +26,8 @@ public class IConst_5 extends Instruction
StackContext ctx = new StackContext(ins, int.class);
stack.push(ctx);
ins.push(ctx);
frame.addInstructionContext(ins);
}
}

View File

@@ -26,6 +26,8 @@ public class IConst_M1 extends Instruction
StackContext ctx = new StackContext(ins, int.class);
stack.push(ctx);
ins.push(ctx);
frame.addInstructionContext(ins);
}
}

View File

@@ -29,6 +29,8 @@ public class IDiv extends Instruction
StackContext ctx = new StackContext(ins, int.class);
stack.push(ctx);
ins.push(ctx);
frame.addInstructionContext(ins);
}
}

View File

@@ -67,6 +67,8 @@ public class ILoad extends Instruction implements LVTInstruction, WideInstructio
StackContext ctx = new StackContext(ins, vctx.getType());
stack.push(ctx);
ins.push(ctx);
frame.addInstructionContext(ins);
}

View File

@@ -35,6 +35,8 @@ public class ILoad_0 extends Instruction implements LVTInstruction
StackContext ctx = new StackContext(ins, vctx.getType());
stack.push(ctx);
ins.push(ctx);
frame.addInstructionContext(ins);
}

View File

@@ -35,6 +35,8 @@ public class ILoad_1 extends Instruction implements LVTInstruction
StackContext ctx = new StackContext(ins, vctx.getType());
stack.push(ctx);
ins.push(ctx);
frame.addInstructionContext(ins);
}

View File

@@ -35,6 +35,8 @@ public class ILoad_2 extends Instruction implements LVTInstruction
StackContext ctx = new StackContext(ins, vctx.getType());
stack.push(ctx);
ins.push(ctx);
frame.addInstructionContext(ins);
}

View File

@@ -35,6 +35,8 @@ public class ILoad_3 extends Instruction implements LVTInstruction
StackContext ctx = new StackContext(ins, vctx.getType());
stack.push(ctx);
ins.push(ctx);
frame.addInstructionContext(ins);
}

View File

@@ -29,6 +29,8 @@ public class IMul extends Instruction
StackContext ctx = new StackContext(ins, int.class);
stack.push(ctx);
ins.push(ctx);
frame.addInstructionContext(ins);
}
}

View File

@@ -27,6 +27,8 @@ public class INeg extends Instruction
StackContext ctx = new StackContext(ins, int.class);
stack.push(ctx);
ins.push(ctx);
frame.addInstructionContext(ins);
}
}

View File

@@ -29,6 +29,8 @@ public class IOr extends Instruction
StackContext ctx = new StackContext(ins, int.class);
stack.push(ctx);
ins.push(ctx);
frame.addInstructionContext(ins);
}
}

View File

@@ -29,6 +29,8 @@ public class IRem extends Instruction
StackContext ctx = new StackContext(ins, int.class);
stack.push(ctx);
ins.push(ctx);
frame.addInstructionContext(ins);
}
}

View File

@@ -29,6 +29,8 @@ public class IShL extends Instruction
StackContext ctx = new StackContext(ins, int.class);
stack.push(ctx);
ins.push(ctx);
frame.addInstructionContext(ins);
}
}

View File

@@ -29,6 +29,8 @@ public class IShR extends Instruction
StackContext ctx = new StackContext(ins, int.class);
stack.push(ctx);
ins.push(ctx);
frame.addInstructionContext(ins);
}
}

View File

@@ -29,6 +29,8 @@ public class ISub extends Instruction
StackContext ctx = new StackContext(ins, int.class);
stack.push(ctx);
ins.push(ctx);
frame.addInstructionContext(ins);
}
}

View File

@@ -29,6 +29,8 @@ public class IUShR extends Instruction
StackContext ctx = new StackContext(ins, int.class);
stack.push(ctx);
ins.push(ctx);
frame.addInstructionContext(ins);
}
}

View File

@@ -29,6 +29,8 @@ public class IXor extends Instruction
StackContext ctx = new StackContext(ins, int.class);
stack.push(ctx);
ins.push(ctx);
frame.addInstructionContext(ins);
}
}

View File

@@ -45,6 +45,8 @@ public class InstanceOf extends Instruction
StackContext ctx = new StackContext(ins, int.class);
stack.push(ctx);
ins.push(ctx);
frame.addInstructionContext(ins);
}
}

View File

@@ -84,6 +84,8 @@ public class InvokeInterface extends Instruction implements InvokeInstruction
{
StackContext ctx = new StackContext(ins, new Type(method.getNameAndType().getDescriptor().getReturnValue()).toStackType());
stack.push(ctx);
ins.push(ctx);
}
frame.addInstructionContext(ins);
@@ -110,6 +112,8 @@ public class InvokeInterface extends Instruction implements InvokeInstruction
StackContext ctx = new StackContext(ins, new Type("java/lang/Exception"));
stack.push(ctx);
ins.push(ctx);
f.jump(e.getHandler());
}
}

View File

@@ -79,6 +79,8 @@ public class InvokeSpecial extends Instruction implements InvokeInstruction
{
StackContext ctx = new StackContext(ins, new Type(method.getNameAndType().getDescriptor().getReturnValue()).toStackType());
stack.push(ctx);
ins.push(ctx);
}
frame.addInstructionContext(ins);
@@ -105,6 +107,8 @@ public class InvokeSpecial extends Instruction implements InvokeInstruction
StackContext ctx = new StackContext(ins, new Type("java/lang/Exception"));
stack.push(ctx);
ins.push(ctx);
f.jump(e.getHandler());
}
}

View File

@@ -76,6 +76,8 @@ public class InvokeStatic extends Instruction implements InvokeInstruction
{
StackContext ctx = new StackContext(ins, new Type(method.getNameAndType().getDescriptor().getReturnValue()).toStackType());
stack.push(ctx);
ins.push(ctx);
}
frame.addInstructionContext(ins);
@@ -102,6 +104,8 @@ public class InvokeStatic extends Instruction implements InvokeInstruction
StackContext ctx = new StackContext(ins, new Type("java/lang/Exception"));
stack.push(ctx);
ins.push(ctx);
f.jump(e.getHandler());
}
}

View File

@@ -80,6 +80,8 @@ public class InvokeVirtual extends Instruction implements InvokeInstruction
{
StackContext ctx = new StackContext(ins, new Type(method.getNameAndType().getDescriptor().getReturnValue()).toStackType());
stack.push(ctx);
ins.push(ctx);
}
frame.addInstructionContext(ins);
@@ -106,6 +108,8 @@ public class InvokeVirtual extends Instruction implements InvokeInstruction
StackContext ctx = new StackContext(ins, new Type("java/lang/Exception"));
stack.push(ctx);
ins.push(ctx);
f.jump(e.getHandler());
}
}

View File

@@ -29,6 +29,8 @@ public class L2D extends Instruction
StackContext ctx = new StackContext(ins, double.class);
stack.push(ctx);
ins.push(ctx);
frame.addInstructionContext(ins);
}
}

View File

@@ -29,6 +29,8 @@ public class L2F extends Instruction
StackContext ctx = new StackContext(ins, float.class);
stack.push(ctx);
ins.push(ctx);
frame.addInstructionContext(ins);
}
}

View File

@@ -29,6 +29,8 @@ public class L2I extends Instruction
StackContext ctx = new StackContext(ins, int.class);
stack.push(ctx);
ins.push(ctx);
frame.addInstructionContext(ins);
}
}

View File

@@ -29,6 +29,8 @@ public class LALoad extends Instruction
StackContext ctx = new StackContext(ins, long.class);
stack.push(ctx);
ins.push(ctx);
frame.addInstructionContext(ins);
}
}

Some files were not shown because too many files have changed in this diff Show More