public class com.sun.scenario.effect.impl.sw.sse.SSEBoxShadowPeer extends com.sun.scenario.effect.impl.sw.sse.SSEEffectPeer<com.sun.scenario.effect.impl.state.BoxRenderState>
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.sun.scenario.effect.impl.sw.sse.SSEBoxShadowPeer
  super_class: com.sun.scenario.effect.impl.sw.sse.SSEEffectPeer
{
  public void <init>(com.sun.scenario.effect.FilterContext, com.sun.scenario.effect.impl.Renderer, java.lang.String);
    descriptor: (Lcom/sun/scenario/effect/FilterContext;Lcom/sun/scenario/effect/impl/Renderer;Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // com.sun.scenario.effect.impl.sw.sse.SSEBoxShadowPeer this
        start local 1 // com.sun.scenario.effect.FilterContext fctx
        start local 2 // com.sun.scenario.effect.impl.Renderer r
        start local 3 // java.lang.String uniqueName
         0: .line 45
            aload 0 /* this */
            aload 1 /* fctx */
            aload 2 /* r */
            aload 3 /* uniqueName */
            invokespecial com.sun.scenario.effect.impl.sw.sse.SSEEffectPeer.<init>:(Lcom/sun/scenario/effect/FilterContext;Lcom/sun/scenario/effect/impl/Renderer;Ljava/lang/String;)V
         1: .line 46
            return
        end local 3 // java.lang.String uniqueName
        end local 2 // com.sun.scenario.effect.impl.Renderer r
        end local 1 // com.sun.scenario.effect.FilterContext fctx
        end local 0 // com.sun.scenario.effect.impl.sw.sse.SSEBoxShadowPeer this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0        this  Lcom/sun/scenario/effect/impl/sw/sse/SSEBoxShadowPeer;
            0    2     1        fctx  Lcom/sun/scenario/effect/FilterContext;
            0    2     2           r  Lcom/sun/scenario/effect/impl/Renderer;
            0    2     3  uniqueName  Ljava/lang/String;
    MethodParameters:
            Name  Flags
      fctx        
      r           
      uniqueName  

  public com.sun.scenario.effect.ImageData filter(com.sun.scenario.effect.Effect, com.sun.scenario.effect.impl.state.BoxRenderState, com.sun.javafx.geom.transform.BaseTransform, com.sun.javafx.geom.Rectangle, com.sun.scenario.effect.ImageData[]);
    descriptor: (Lcom/sun/scenario/effect/Effect;Lcom/sun/scenario/effect/impl/state/BoxRenderState;Lcom/sun/javafx/geom/transform/BaseTransform;Lcom/sun/javafx/geom/Rectangle;[Lcom/sun/scenario/effect/ImageData;)Lcom/sun/scenario/effect/ImageData;
    flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
    Code:
      stack=10, locals=29, args_size=6
        start local 0 // com.sun.scenario.effect.impl.sw.sse.SSEBoxShadowPeer this
        start local 1 // com.sun.scenario.effect.Effect effect
        start local 2 // com.sun.scenario.effect.impl.state.BoxRenderState brstate
        start local 3 // com.sun.javafx.geom.transform.BaseTransform transform
        start local 4 // com.sun.javafx.geom.Rectangle outputClip
        start local 5 // com.sun.scenario.effect.ImageData[] inputs
         0: .line 55
            aload 0 /* this */
            aload 2 /* brstate */
            invokevirtual com.sun.scenario.effect.impl.sw.sse.SSEBoxShadowPeer.setRenderState:(Lcom/sun/scenario/effect/impl/state/RenderState;)V
         1: .line 59
            aload 0 /* this */
            invokevirtual com.sun.scenario.effect.impl.sw.sse.SSEBoxShadowPeer.getPass:()I
            ifne 2
            iconst_1
            goto 3
      StackMap locals:
      StackMap stack:
         2: iconst_0
      StackMap locals:
      StackMap stack: int
         3: istore 6 /* horizontal */
        start local 6 // boolean horizontal
         4: .line 60
            iload 6 /* horizontal */
            ifeq 5
            aload 2 /* brstate */
            iconst_0
            invokevirtual com.sun.scenario.effect.impl.state.BoxRenderState.getBoxPixelSize:(I)I
            iconst_1
            isub
            goto 6
      StackMap locals: int
      StackMap stack:
         5: iconst_0
      StackMap locals:
      StackMap stack: int
         6: istore 7 /* hinc */
        start local 7 // int hinc
         7: .line 61
            iload 6 /* horizontal */
            ifeq 8
            iconst_0
            goto 9
      StackMap locals: int
      StackMap stack:
         8: aload 2 /* brstate */
            iconst_1
            invokevirtual com.sun.scenario.effect.impl.state.BoxRenderState.getBoxPixelSize:(I)I
            iconst_1
            isub
      StackMap locals:
      StackMap stack: int
         9: istore 8 /* vinc */
        start local 8 // int vinc
        10: .line 62
            iload 7 /* hinc */
            ifge 11
            iconst_0
            istore 7 /* hinc */
        11: .line 63
      StackMap locals: int
      StackMap stack:
            iload 8 /* vinc */
            ifge 12
            iconst_0
            istore 8 /* vinc */
        12: .line 64
      StackMap locals:
      StackMap stack:
            aload 2 /* brstate */
            invokevirtual com.sun.scenario.effect.impl.state.BoxRenderState.getBlurPasses:()I
            istore 9 /* iterations */
        start local 9 // int iterations
        13: .line 65
            aload 2 /* brstate */
            invokevirtual com.sun.scenario.effect.impl.state.BoxRenderState.getSpread:()F
            fstore 10 /* spread */
        start local 10 // float spread
        14: .line 66
            iload 6 /* horizontal */
            ifeq 17
            iload 9 /* iterations */
            iconst_1
            if_icmplt 15
            iload 7 /* hinc */
            iconst_1
            if_icmpge 17
            iload 8 /* vinc */
            iconst_1
            if_icmpge 17
        15: .line 67
      StackMap locals: int float
      StackMap stack:
            aload 5 /* inputs */
            iconst_0
            aaload
            invokevirtual com.sun.scenario.effect.ImageData.addref:()Z
            pop
        16: .line 68
            aload 5 /* inputs */
            iconst_0
            aaload
            areturn
        17: .line 72
      StackMap locals:
      StackMap stack:
            iload 7 /* hinc */
            iload 9 /* iterations */
            imul
            iconst_1
            iadd
            bipush -2
            iand
            istore 11 /* growx */
        start local 11 // int growx
        18: .line 73
            iload 8 /* vinc */
            iload 9 /* iterations */
            imul
            iconst_1
            iadd
            bipush -2
            iand
            istore 12 /* growy */
        start local 12 // int growy
        19: .line 77
            aload 5 /* inputs */
            iconst_0
            aaload
            invokevirtual com.sun.scenario.effect.ImageData.getUntransformedImage:()Lcom/sun/scenario/effect/Filterable;
            checkcast com.sun.scenario.effect.impl.HeapImage
            astore 13 /* src */
        start local 13 // com.sun.scenario.effect.impl.HeapImage src
        20: .line 78
            aload 5 /* inputs */
            iconst_0
            aaload
            invokevirtual com.sun.scenario.effect.ImageData.getUntransformedBounds:()Lcom/sun/javafx/geom/Rectangle;
            astore 14 /* srcr */
        start local 14 // com.sun.javafx.geom.Rectangle srcr
        21: .line 80
            aload 13 /* src */
            astore 15 /* cur */
        start local 15 // com.sun.scenario.effect.impl.HeapImage cur
        22: .line 81
            aload 14 /* srcr */
            getfield com.sun.javafx.geom.Rectangle.width:I
            istore 16 /* curw */
        start local 16 // int curw
        23: .line 82
            aload 14 /* srcr */
            getfield com.sun.javafx.geom.Rectangle.height:I
            istore 17 /* curh */
        start local 17 // int curh
        24: .line 83
            aload 15 /* cur */
            invokeinterface com.sun.scenario.effect.impl.HeapImage.getScanlineStride:()I
            istore 18 /* curscan */
        start local 18 // int curscan
        25: .line 84
            aload 15 /* cur */
            invokeinterface com.sun.scenario.effect.impl.HeapImage.getPixelArray:()[I
            astore 19 /* curPixels */
        start local 19 // int[] curPixels
        26: .line 86
            iload 16 /* curw */
            iload 11 /* growx */
            iadd
            istore 20 /* finalw */
        start local 20 // int finalw
        27: .line 87
            iload 17 /* curh */
            iload 12 /* growy */
            iadd
            istore 21 /* finalh */
        start local 21 // int finalh
        28: .line 88
            iload 6 /* horizontal */
            ifeq 29
            iconst_0
            goto 30
      StackMap locals: com.sun.scenario.effect.impl.sw.sse.SSEBoxShadowPeer com.sun.scenario.effect.Effect com.sun.scenario.effect.impl.state.BoxRenderState com.sun.javafx.geom.transform.BaseTransform com.sun.javafx.geom.Rectangle com.sun.scenario.effect.ImageData[] int int int int float int int com.sun.scenario.effect.impl.HeapImage com.sun.javafx.geom.Rectangle com.sun.scenario.effect.impl.HeapImage int int int int[] int int
      StackMap stack:
        29: iconst_1
      StackMap locals:
      StackMap stack: int
        30: istore 22 /* force */
        start local 22 // boolean force
        31: .line 89
            goto 77
        32: .line 90
      StackMap locals: int
      StackMap stack:
            iload 16 /* curw */
            iload 7 /* hinc */
            iadd
            istore 23 /* neww */
        start local 23 // int neww
        33: .line 91
            iload 17 /* curh */
            iload 8 /* vinc */
            iadd
            istore 24 /* newh */
        start local 24 // int newh
        34: .line 92
            iload 23 /* neww */
            iload 20 /* finalw */
            if_icmple 35
            iload 20 /* finalw */
            istore 23 /* neww */
        35: .line 93
      StackMap locals: int int
      StackMap stack:
            iload 24 /* newh */
            iload 21 /* finalh */
            if_icmple 36
            iload 21 /* finalh */
            istore 24 /* newh */
        36: .line 94
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.sun.scenario.effect.impl.sw.sse.SSEBoxShadowPeer.getRenderer:()Lcom/sun/scenario/effect/impl/Renderer;
            iload 23 /* neww */
            iload 24 /* newh */
            invokevirtual com.sun.scenario.effect.impl.Renderer.getCompatibleImage:(II)Lcom/sun/scenario/effect/impl/PoolFilterable;
            checkcast com.sun.scenario.effect.impl.HeapImage
            astore 25 /* dst */
        start local 25 // com.sun.scenario.effect.impl.HeapImage dst
        37: .line 95
            aload 25 /* dst */
            invokeinterface com.sun.scenario.effect.impl.HeapImage.getScanlineStride:()I
            istore 26 /* newscan */
        start local 26 // int newscan
        38: .line 96
            aload 25 /* dst */
            invokeinterface com.sun.scenario.effect.impl.HeapImage.getPixelArray:()[I
            astore 27 /* newPixels */
        start local 27 // int[] newPixels
        39: .line 97
            iload 9 /* iterations */
            ifne 41
        40: .line 99
            fconst_0
            fstore 10 /* spread */
        41: .line 101
      StackMap locals: com.sun.scenario.effect.impl.HeapImage int int[]
      StackMap stack:
            iload 6 /* horizontal */
            ifeq 47
        42: .line 102
            aload 27 /* newPixels */
            iload 23 /* neww */
            iload 24 /* newh */
            iload 26 /* newscan */
        43: .line 103
            aload 19 /* curPixels */
            iload 16 /* curw */
            iload 17 /* curh */
            iload 18 /* curscan */
        44: .line 104
            fload 10 /* spread */
        45: .line 102
            invokestatic com.sun.scenario.effect.impl.sw.sse.SSEBoxShadowPeer.filterHorizontalBlack:([IIII[IIIIF)V
        46: .line 105
            goto 68
      StackMap locals:
      StackMap stack:
        47: iload 23 /* neww */
            iload 20 /* finalw */
            if_icmplt 48
            iload 24 /* newh */
            iload 21 /* finalh */
            if_icmpge 53
        48: .line 107
      StackMap locals:
      StackMap stack:
            aload 27 /* newPixels */
            iload 23 /* neww */
            iload 24 /* newh */
            iload 26 /* newscan */
        49: .line 108
            aload 19 /* curPixels */
            iload 16 /* curw */
            iload 17 /* curh */
            iload 18 /* curscan */
        50: .line 109
            fload 10 /* spread */
        51: .line 107
            invokestatic com.sun.scenario.effect.impl.sw.sse.SSEBoxShadowPeer.filterVerticalBlack:([IIII[IIIIF)V
        52: .line 110
            goto 68
        53: .line 112
      StackMap locals:
      StackMap stack:
            aload 2 /* brstate */
            invokevirtual com.sun.scenario.effect.impl.state.BoxRenderState.getShadowColor:()Lcom/sun/scenario/effect/Color4f;
            invokevirtual com.sun.scenario.effect.Color4f.getPremultipliedRGBComponents:()[F
        54: .line 111
            astore 28 /* shadowColor */
        start local 28 // float[] shadowColor
        55: .line 113
            aload 28 /* shadowColor */
            iconst_3
            faload
            fconst_1
            fcmpl
            ifne 64
        56: .line 114
            aload 28 /* shadowColor */
            iconst_0
            faload
            fconst_0
            fcmpl
            ifne 64
        57: .line 115
            aload 28 /* shadowColor */
            iconst_1
            faload
            fconst_0
            fcmpl
            ifne 64
        58: .line 116
            aload 28 /* shadowColor */
            iconst_2
            faload
            fconst_0
            fcmpl
            ifne 64
        59: .line 118
            aload 27 /* newPixels */
            iload 23 /* neww */
            iload 24 /* newh */
            iload 26 /* newscan */
        60: .line 119
            aload 19 /* curPixels */
            iload 16 /* curw */
            iload 17 /* curh */
            iload 18 /* curscan */
        61: .line 120
            fload 10 /* spread */
        62: .line 118
            invokestatic com.sun.scenario.effect.impl.sw.sse.SSEBoxShadowPeer.filterVerticalBlack:([IIII[IIIIF)V
        63: .line 121
            goto 68
        64: .line 122
      StackMap locals: float[]
      StackMap stack:
            aload 27 /* newPixels */
            iload 23 /* neww */
            iload 24 /* newh */
            iload 26 /* newscan */
        65: .line 123
            aload 19 /* curPixels */
            iload 16 /* curw */
            iload 17 /* curh */
            iload 18 /* curscan */
        66: .line 124
            fload 10 /* spread */
            aload 28 /* shadowColor */
        67: .line 122
            invokestatic com.sun.scenario.effect.impl.sw.sse.SSEBoxShadowPeer.filterVertical:([IIII[IIIIF[F)V
        end local 28 // float[] shadowColor
        68: .line 127
      StackMap locals:
      StackMap stack:
            aload 15 /* cur */
            aload 13 /* src */
            if_acmpeq 70
        69: .line 128
            aload 0 /* this */
            invokevirtual com.sun.scenario.effect.impl.sw.sse.SSEBoxShadowPeer.getRenderer:()Lcom/sun/scenario/effect/impl/Renderer;
            aload 15 /* cur */
            invokevirtual com.sun.scenario.effect.impl.Renderer.releaseCompatibleImage:(Lcom/sun/scenario/effect/Filterable;)V
        70: .line 130
      StackMap locals:
      StackMap stack:
            iinc 9 /* iterations */ -1
        71: .line 131
            iconst_0
            istore 22 /* force */
        72: .line 132
            aload 25 /* dst */
            astore 15 /* cur */
        73: .line 133
            iload 23 /* neww */
            istore 16 /* curw */
        74: .line 134
            iload 24 /* newh */
            istore 17 /* curh */
        75: .line 135
            aload 27 /* newPixels */
            astore 19 /* curPixels */
        76: .line 136
            iload 26 /* newscan */
            istore 18 /* curscan */
        end local 27 // int[] newPixels
        end local 26 // int newscan
        end local 25 // com.sun.scenario.effect.impl.HeapImage dst
        end local 24 // int newh
        end local 23 // int neww
        77: .line 89
      StackMap locals: com.sun.scenario.effect.impl.sw.sse.SSEBoxShadowPeer com.sun.scenario.effect.Effect com.sun.scenario.effect.impl.state.BoxRenderState com.sun.javafx.geom.transform.BaseTransform com.sun.javafx.geom.Rectangle com.sun.scenario.effect.ImageData[] int int int int float int int com.sun.scenario.effect.impl.HeapImage com.sun.javafx.geom.Rectangle com.sun.scenario.effect.impl.HeapImage int int int int[] int int int
      StackMap stack:
            iload 22 /* force */
            ifne 32
            iload 16 /* curw */
            iload 20 /* finalw */
            if_icmplt 32
            iload 17 /* curh */
            iload 21 /* finalh */
            if_icmplt 32
        78: .line 140
            new com.sun.javafx.geom.Rectangle
            dup
            aload 14 /* srcr */
            getfield com.sun.javafx.geom.Rectangle.x:I
            iload 11 /* growx */
            iconst_2
            idiv
            isub
            aload 14 /* srcr */
            getfield com.sun.javafx.geom.Rectangle.y:I
            iload 12 /* growy */
            iconst_2
            idiv
            isub
            iload 16 /* curw */
            iload 17 /* curh */
            invokespecial com.sun.javafx.geom.Rectangle.<init>:(IIII)V
        79: .line 139
            astore 23 /* dstBounds */
        start local 23 // com.sun.javafx.geom.Rectangle dstBounds
        80: .line 141
            new com.sun.scenario.effect.ImageData
            dup
            aload 0 /* this */
            invokevirtual com.sun.scenario.effect.impl.sw.sse.SSEBoxShadowPeer.getFilterContext:()Lcom/sun/scenario/effect/FilterContext;
            aload 15 /* cur */
            aload 23 /* dstBounds */
            aload 5 /* inputs */
            iconst_0
            aaload
            invokevirtual com.sun.scenario.effect.ImageData.getTransform:()Lcom/sun/javafx/geom/transform/BaseTransform;
            invokespecial com.sun.scenario.effect.ImageData.<init>:(Lcom/sun/scenario/effect/FilterContext;Lcom/sun/scenario/effect/Filterable;Lcom/sun/javafx/geom/Rectangle;Lcom/sun/javafx/geom/transform/BaseTransform;)V
            areturn
        end local 23 // com.sun.javafx.geom.Rectangle dstBounds
        end local 22 // boolean force
        end local 21 // int finalh
        end local 20 // int finalw
        end local 19 // int[] curPixels
        end local 18 // int curscan
        end local 17 // int curh
        end local 16 // int curw
        end local 15 // com.sun.scenario.effect.impl.HeapImage cur
        end local 14 // com.sun.javafx.geom.Rectangle srcr
        end local 13 // com.sun.scenario.effect.impl.HeapImage src
        end local 12 // int growy
        end local 11 // int growx
        end local 10 // float spread
        end local 9 // int iterations
        end local 8 // int vinc
        end local 7 // int hinc
        end local 6 // boolean horizontal
        end local 5 // com.sun.scenario.effect.ImageData[] inputs
        end local 4 // com.sun.javafx.geom.Rectangle outputClip
        end local 3 // com.sun.javafx.geom.transform.BaseTransform transform
        end local 2 // com.sun.scenario.effect.impl.state.BoxRenderState brstate
        end local 1 // com.sun.scenario.effect.Effect effect
        end local 0 // com.sun.scenario.effect.impl.sw.sse.SSEBoxShadowPeer this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   81     0         this  Lcom/sun/scenario/effect/impl/sw/sse/SSEBoxShadowPeer;
            0   81     1       effect  Lcom/sun/scenario/effect/Effect;
            0   81     2      brstate  Lcom/sun/scenario/effect/impl/state/BoxRenderState;
            0   81     3    transform  Lcom/sun/javafx/geom/transform/BaseTransform;
            0   81     4   outputClip  Lcom/sun/javafx/geom/Rectangle;
            0   81     5       inputs  [Lcom/sun/scenario/effect/ImageData;
            4   81     6   horizontal  Z
            7   81     7         hinc  I
           10   81     8         vinc  I
           13   81     9   iterations  I
           14   81    10       spread  F
           18   81    11        growx  I
           19   81    12        growy  I
           20   81    13          src  Lcom/sun/scenario/effect/impl/HeapImage;
           21   81    14         srcr  Lcom/sun/javafx/geom/Rectangle;
           22   81    15          cur  Lcom/sun/scenario/effect/impl/HeapImage;
           23   81    16         curw  I
           24   81    17         curh  I
           25   81    18      curscan  I
           26   81    19    curPixels  [I
           27   81    20       finalw  I
           28   81    21       finalh  I
           31   81    22        force  Z
           33   77    23         neww  I
           34   77    24         newh  I
           37   77    25          dst  Lcom/sun/scenario/effect/impl/HeapImage;
           38   77    26      newscan  I
           39   77    27    newPixels  [I
           55   68    28  shadowColor  [F
           80   81    23    dstBounds  Lcom/sun/javafx/geom/Rectangle;
    MethodParameters:
            Name  Flags
      effect      
      brstate     
      transform   
      outputClip  
      inputs      

  private static native void filterHorizontalBlack(int[], int, int, int, int[], int, int, int, float);
    descriptor: ([IIII[IIIIF)V
    flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
    MethodParameters:
           Name  Flags
      dstPixels  
      dstw       
      dsth       
      dstscan    
      srcPixels  
      srcw       
      srch       
      srcscan    
      spread     

  private static native void filterVerticalBlack(int[], int, int, int, int[], int, int, int, float);
    descriptor: ([IIII[IIIIF)V
    flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
    MethodParameters:
           Name  Flags
      dstPixels  
      dstw       
      dsth       
      dstscan    
      srcPixels  
      srcw       
      srch       
      srcscan    
      spread     

  private static native void filterVertical(int[], int, int, int, int[], int, int, int, float, float[]);
    descriptor: ([IIII[IIIIF[F)V
    flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
    MethodParameters:
             Name  Flags
      dstPixels    
      dstw         
      dsth         
      dstscan      
      srcPixels    
      srcw         
      srch         
      srcscan      
      spread       
      shadowColor  

  public com.sun.scenario.effect.ImageData filter(com.sun.scenario.effect.Effect, com.sun.scenario.effect.impl.state.RenderState, com.sun.javafx.geom.transform.BaseTransform, com.sun.javafx.geom.Rectangle, com.sun.scenario.effect.ImageData[]);
    descriptor: (Lcom/sun/scenario/effect/Effect;Lcom/sun/scenario/effect/impl/state/RenderState;Lcom/sun/javafx/geom/transform/BaseTransform;Lcom/sun/javafx/geom/Rectangle;[Lcom/sun/scenario/effect/ImageData;)Lcom/sun/scenario/effect/ImageData;
    flags: (0x10c1) ACC_PUBLIC, ACC_BRIDGE, ACC_VARARGS, ACC_SYNTHETIC
    Code:
      stack=6, locals=6, args_size=6
         0: .line 1
            aload 0
            aload 1
            aload 2
            checkcast com.sun.scenario.effect.impl.state.BoxRenderState
            aload 3
            aload 4
            aload 5
            invokevirtual com.sun.scenario.effect.impl.sw.sse.SSEBoxShadowPeer.filter:(Lcom/sun/scenario/effect/Effect;Lcom/sun/scenario/effect/impl/state/BoxRenderState;Lcom/sun/javafx/geom/transform/BaseTransform;Lcom/sun/javafx/geom/Rectangle;[Lcom/sun/scenario/effect/ImageData;)Lcom/sun/scenario/effect/ImageData;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
Signature: Lcom/sun/scenario/effect/impl/sw/sse/SSEEffectPeer<Lcom/sun/scenario/effect/impl/state/BoxRenderState;>;
SourceFile: "SSEBoxShadowPeer.java"