final class sun.java2d.marlin.RendererContext extends sun.java2d.ReentrantContext implements sun.java2d.marlin.MarlinConst
  minor version: 0
  major version: 59
  flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
  this_class: sun.java2d.marlin.RendererContext
  super_class: sun.java2d.ReentrantContext
{
  private static final java.util.concurrent.atomic.AtomicInteger CTX_COUNT;
    descriptor: Ljava/util/concurrent/atomic/AtomicInteger;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private final java.lang.Object cleanerObj;
    descriptor: Ljava/lang/Object;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  boolean dirty;
    descriptor: Z
    flags: (0x0000) 

  final double[] double6;
    descriptor: [D
    flags: (0x0010) ACC_FINAL

  final sun.java2d.marlin.Curve curve;
    descriptor: Lsun/java2d/marlin/Curve;
    flags: (0x0010) ACC_FINAL

  final sun.java2d.marlin.DMarlinRenderingEngine$NormalizingPathIterator nPCPathIterator;
    descriptor: Lsun/java2d/marlin/DMarlinRenderingEngine$NormalizingPathIterator;
    flags: (0x0010) ACC_FINAL

  final sun.java2d.marlin.DMarlinRenderingEngine$NormalizingPathIterator nPQPathIterator;
    descriptor: Lsun/java2d/marlin/DMarlinRenderingEngine$NormalizingPathIterator;
    flags: (0x0010) ACC_FINAL

  final sun.java2d.marlin.TransformingPathConsumer2D transformerPC2D;
    descriptor: Lsun/java2d/marlin/TransformingPathConsumer2D;
    flags: (0x0010) ACC_FINAL

  private java.lang.ref.WeakReference<java.awt.geom.Path2D$Double> refPath2D;
    descriptor: Ljava/lang/ref/WeakReference;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/lang/ref/WeakReference<Ljava/awt/geom/Path2D$Double;>;

  final sun.java2d.marlin.Renderer renderer;
    descriptor: Lsun/java2d/marlin/Renderer;
    flags: (0x0010) ACC_FINAL

  final sun.java2d.marlin.Stroker stroker;
    descriptor: Lsun/java2d/marlin/Stroker;
    flags: (0x0010) ACC_FINAL

  final sun.java2d.marlin.CollinearSimplifier simplifier;
    descriptor: Lsun/java2d/marlin/CollinearSimplifier;
    flags: (0x0010) ACC_FINAL

  final sun.java2d.marlin.PathSimplifier pathSimplifier;
    descriptor: Lsun/java2d/marlin/PathSimplifier;
    flags: (0x0010) ACC_FINAL

  final sun.java2d.marlin.Dasher dasher;
    descriptor: Lsun/java2d/marlin/Dasher;
    flags: (0x0010) ACC_FINAL

  final sun.java2d.marlin.MarlinTileGenerator ptg;
    descriptor: Lsun/java2d/marlin/MarlinTileGenerator;
    flags: (0x0010) ACC_FINAL

  final sun.java2d.marlin.MarlinCache cache;
    descriptor: Lsun/java2d/marlin/MarlinCache;
    flags: (0x0010) ACC_FINAL

  int stroking;
    descriptor: I
    flags: (0x0000) 

  boolean doClip;
    descriptor: Z
    flags: (0x0000) 

  boolean closedPath;
    descriptor: Z
    flags: (0x0000) 

  final double[] clipRect;
    descriptor: [D
    flags: (0x0010) ACC_FINAL

  double clipInvScale;
    descriptor: D
    flags: (0x0000) 

  final sun.java2d.marlin.TransformingPathConsumer2D$CurveBasicMonotonizer monotonizer;
    descriptor: Lsun/java2d/marlin/TransformingPathConsumer2D$CurveBasicMonotonizer;
    flags: (0x0010) ACC_FINAL

  final sun.java2d.marlin.TransformingPathConsumer2D$CurveClipSplitter curveClipSplitter;
    descriptor: Lsun/java2d/marlin/TransformingPathConsumer2D$CurveClipSplitter;
    flags: (0x0010) ACC_FINAL

  private final sun.java2d.marlin.IntArrayCache cleanIntCache;
    descriptor: Lsun/java2d/marlin/IntArrayCache;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final sun.java2d.marlin.IntArrayCache dirtyIntCache;
    descriptor: Lsun/java2d/marlin/IntArrayCache;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final sun.java2d.marlin.DoubleArrayCache dirtyDoubleCache;
    descriptor: Lsun/java2d/marlin/DoubleArrayCache;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final sun.java2d.marlin.ByteArrayCache dirtyByteCache;
    descriptor: Lsun/java2d/marlin/ByteArrayCache;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  final sun.java2d.marlin.RendererStats stats;
    descriptor: Lsun/java2d/marlin/RendererStats;
    flags: (0x0010) ACC_FINAL

  final sun.java2d.marlin.RendererContext$PathConsumer2DAdapter p2dAdapter;
    descriptor: Lsun/java2d/marlin/RendererContext$PathConsumer2DAdapter;
    flags: (0x0010) ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=0, args_size=0
         0: .line 43
            new java.util.concurrent.atomic.AtomicInteger
            dup
            iconst_1
            invokespecial java.util.concurrent.atomic.AtomicInteger.<init>:(I)V
            putstatic sun.java2d.marlin.RendererContext.CTX_COUNT:Ljava/util/concurrent/atomic/AtomicInteger;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  static sun.java2d.marlin.RendererContext createContext();
    descriptor: ()Lsun/java2d/marlin/RendererContext;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=5, locals=0, args_size=0
         0: .line 51
            new sun.java2d.marlin.RendererContext
            dup
            new java.lang.StringBuilder
            dup
            ldc "ctx"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         1: .line 52
            getstatic sun.java2d.marlin.RendererContext.CTX_COUNT:Ljava/util/concurrent/atomic/AtomicInteger;
            invokevirtual java.util.concurrent.atomic.AtomicInteger.getAndIncrement:()I
            invokestatic java.lang.Integer.toString:(I)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         2: .line 51
            invokespecial sun.java2d.marlin.RendererContext.<init>:(Ljava/lang/String;)V
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  void <init>(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0000) 
    Code:
      stack=6, locals=2, args_size=2
        start local 0 // sun.java2d.marlin.RendererContext this
        start local 1 // java.lang.String name
         0: .line 115
            aload 0 /* this */
            invokespecial sun.java2d.ReentrantContext.<init>:()V
         1: .line 58
            aload 0 /* this */
            iconst_0
            putfield sun.java2d.marlin.RendererContext.dirty:Z
         2: .line 60
            aload 0 /* this */
            bipush 6
            newarray 7
            putfield sun.java2d.marlin.RendererContext.double6:[D
         3: .line 62
            aload 0 /* this */
            new sun.java2d.marlin.Curve
            dup
            invokespecial sun.java2d.marlin.Curve.<init>:()V
            putfield sun.java2d.marlin.RendererContext.curve:Lsun/java2d/marlin/Curve;
         4: .line 70
            aload 0 /* this */
            aconst_null
            putfield sun.java2d.marlin.RendererContext.refPath2D:Ljava/lang/ref/WeakReference;
         5: .line 74
            aload 0 /* this */
            new sun.java2d.marlin.CollinearSimplifier
            dup
            invokespecial sun.java2d.marlin.CollinearSimplifier.<init>:()V
            putfield sun.java2d.marlin.RendererContext.simplifier:Lsun/java2d/marlin/CollinearSimplifier;
         6: .line 76
            aload 0 /* this */
            new sun.java2d.marlin.PathSimplifier
            dup
            invokespecial sun.java2d.marlin.PathSimplifier.<init>:()V
            putfield sun.java2d.marlin.RendererContext.pathSimplifier:Lsun/java2d/marlin/PathSimplifier;
         7: .line 81
            aload 0 /* this */
            iconst_0
            putfield sun.java2d.marlin.RendererContext.stroking:I
         8: .line 83
            aload 0 /* this */
            iconst_0
            putfield sun.java2d.marlin.RendererContext.doClip:Z
         9: .line 85
            aload 0 /* this */
            iconst_0
            putfield sun.java2d.marlin.RendererContext.closedPath:Z
        10: .line 87
            aload 0 /* this */
            iconst_4
            newarray 7
            putfield sun.java2d.marlin.RendererContext.clipRect:[D
        11: .line 89
            aload 0 /* this */
            dconst_0
            putfield sun.java2d.marlin.RendererContext.clipInvScale:D
        12: .line 97
            aload 0 /* this */
            new sun.java2d.marlin.IntArrayCache
            dup
            iconst_1
            iconst_5
            invokespecial sun.java2d.marlin.IntArrayCache.<init>:(ZI)V
            putfield sun.java2d.marlin.RendererContext.cleanIntCache:Lsun/java2d/marlin/IntArrayCache;
        13: .line 99
            aload 0 /* this */
            new sun.java2d.marlin.IntArrayCache
            dup
            iconst_0
            iconst_5
            invokespecial sun.java2d.marlin.IntArrayCache.<init>:(ZI)V
            putfield sun.java2d.marlin.RendererContext.dirtyIntCache:Lsun/java2d/marlin/IntArrayCache;
        14: .line 101
            aload 0 /* this */
            new sun.java2d.marlin.DoubleArrayCache
            dup
            iconst_0
            iconst_4
            invokespecial sun.java2d.marlin.DoubleArrayCache.<init>:(ZI)V
            putfield sun.java2d.marlin.RendererContext.dirtyDoubleCache:Lsun/java2d/marlin/DoubleArrayCache;
        15: .line 103
            aload 0 /* this */
            new sun.java2d.marlin.ByteArrayCache
            dup
            iconst_0
            iconst_2
            invokespecial sun.java2d.marlin.ByteArrayCache.<init>:(ZI)V
            putfield sun.java2d.marlin.RendererContext.dirtyByteCache:Lsun/java2d/marlin/ByteArrayCache;
        16: .line 108
            aload 0 /* this */
            new sun.java2d.marlin.RendererContext$PathConsumer2DAdapter
            dup
            invokespecial sun.java2d.marlin.RendererContext$PathConsumer2DAdapter.<init>:()V
            putfield sun.java2d.marlin.RendererContext.p2dAdapter:Lsun/java2d/marlin/RendererContext$PathConsumer2DAdapter;
        17: .line 116
            getstatic sun.java2d.marlin.RendererContext.LOG_CREATE_CONTEXT:Z
            ifeq 19
        18: .line 117
            new java.lang.StringBuilder
            dup
            ldc "new RendererContext = "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* name */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic sun.java2d.marlin.MarlinUtils.logInfo:(Ljava/lang/String;)V
        19: .line 119
      StackMap locals: sun.java2d.marlin.RendererContext java.lang.String
      StackMap stack:
            aload 0 /* this */
            new java.lang.Object
            dup
            invokespecial java.lang.Object.<init>:()V
            putfield sun.java2d.marlin.RendererContext.cleanerObj:Ljava/lang/Object;
        20: .line 122
            getstatic sun.java2d.marlin.RendererContext.DO_STATS:Z
            ifeq 26
        21: .line 123
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.java2d.marlin.RendererContext.cleanerObj:Ljava/lang/Object;
            aload 1 /* name */
            invokestatic sun.java2d.marlin.RendererStats.createInstance:(Ljava/lang/Object;Ljava/lang/String;)Lsun/java2d/marlin/RendererStats;
            putfield sun.java2d.marlin.RendererContext.stats:Lsun/java2d/marlin/RendererStats;
        22: .line 125
            aload 0 /* this */
            getfield sun.java2d.marlin.RendererContext.stats:Lsun/java2d/marlin/RendererStats;
            iconst_4
            anewarray sun.java2d.marlin.ArrayCacheConst$CacheStats
            dup
            iconst_0
            aload 0 /* this */
            getfield sun.java2d.marlin.RendererContext.cleanIntCache:Lsun/java2d/marlin/IntArrayCache;
            getfield sun.java2d.marlin.IntArrayCache.stats:Lsun/java2d/marlin/ArrayCacheConst$CacheStats;
            aastore
            dup
            iconst_1
        23: .line 126
            aload 0 /* this */
            getfield sun.java2d.marlin.RendererContext.dirtyIntCache:Lsun/java2d/marlin/IntArrayCache;
            getfield sun.java2d.marlin.IntArrayCache.stats:Lsun/java2d/marlin/ArrayCacheConst$CacheStats;
            aastore
            dup
            iconst_2
            aload 0 /* this */
            getfield sun.java2d.marlin.RendererContext.dirtyDoubleCache:Lsun/java2d/marlin/DoubleArrayCache;
            getfield sun.java2d.marlin.DoubleArrayCache.stats:Lsun/java2d/marlin/ArrayCacheConst$CacheStats;
            aastore
            dup
            iconst_3
            aload 0 /* this */
            getfield sun.java2d.marlin.RendererContext.dirtyByteCache:Lsun/java2d/marlin/ByteArrayCache;
            getfield sun.java2d.marlin.ByteArrayCache.stats:Lsun/java2d/marlin/ArrayCacheConst$CacheStats;
            aastore
        24: .line 125
            putfield sun.java2d.marlin.RendererStats.cacheStats:[Lsun/java2d/marlin/ArrayCacheConst$CacheStats;
        25: .line 128
            goto 27
        26: .line 129
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield sun.java2d.marlin.RendererContext.stats:Lsun/java2d/marlin/RendererStats;
        27: .line 133
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new sun.java2d.marlin.DMarlinRenderingEngine$NormalizingPathIterator$NearestPixelCenter
            dup
            aload 0 /* this */
            getfield sun.java2d.marlin.RendererContext.double6:[D
            invokespecial sun.java2d.marlin.DMarlinRenderingEngine$NormalizingPathIterator$NearestPixelCenter.<init>:([D)V
            putfield sun.java2d.marlin.RendererContext.nPCPathIterator:Lsun/java2d/marlin/DMarlinRenderingEngine$NormalizingPathIterator;
        28: .line 134
            aload 0 /* this */
            new sun.java2d.marlin.DMarlinRenderingEngine$NormalizingPathIterator$NearestPixelQuarter
            dup
            aload 0 /* this */
            getfield sun.java2d.marlin.RendererContext.double6:[D
            invokespecial sun.java2d.marlin.DMarlinRenderingEngine$NormalizingPathIterator$NearestPixelQuarter.<init>:([D)V
            putfield sun.java2d.marlin.RendererContext.nPQPathIterator:Lsun/java2d/marlin/DMarlinRenderingEngine$NormalizingPathIterator;
        29: .line 137
            aload 0 /* this */
            new sun.java2d.marlin.TransformingPathConsumer2D$CurveBasicMonotonizer
            dup
            aload 0 /* this */
            invokespecial sun.java2d.marlin.TransformingPathConsumer2D$CurveBasicMonotonizer.<init>:(Lsun/java2d/marlin/RendererContext;)V
            putfield sun.java2d.marlin.RendererContext.monotonizer:Lsun/java2d/marlin/TransformingPathConsumer2D$CurveBasicMonotonizer;
        30: .line 138
            aload 0 /* this */
            new sun.java2d.marlin.TransformingPathConsumer2D$CurveClipSplitter
            dup
            aload 0 /* this */
            invokespecial sun.java2d.marlin.TransformingPathConsumer2D$CurveClipSplitter.<init>:(Lsun/java2d/marlin/RendererContext;)V
            putfield sun.java2d.marlin.RendererContext.curveClipSplitter:Lsun/java2d/marlin/TransformingPathConsumer2D$CurveClipSplitter;
        31: .line 141
            aload 0 /* this */
            new sun.java2d.marlin.TransformingPathConsumer2D
            dup
            aload 0 /* this */
            invokespecial sun.java2d.marlin.TransformingPathConsumer2D.<init>:(Lsun/java2d/marlin/RendererContext;)V
            putfield sun.java2d.marlin.RendererContext.transformerPC2D:Lsun/java2d/marlin/TransformingPathConsumer2D;
        32: .line 144
            aload 0 /* this */
            new sun.java2d.marlin.MarlinCache
            dup
            aload 0 /* this */
            invokespecial sun.java2d.marlin.MarlinCache.<init>:(Lsun/java2d/marlin/RendererContext;)V
            putfield sun.java2d.marlin.RendererContext.cache:Lsun/java2d/marlin/MarlinCache;
        33: .line 145
            aload 0 /* this */
            new sun.java2d.marlin.Renderer
            dup
            aload 0 /* this */
            invokespecial sun.java2d.marlin.Renderer.<init>:(Lsun/java2d/marlin/RendererContext;)V
            putfield sun.java2d.marlin.RendererContext.renderer:Lsun/java2d/marlin/Renderer;
        34: .line 146
            aload 0 /* this */
            new sun.java2d.marlin.MarlinTileGenerator
            dup
            aload 0 /* this */
            getfield sun.java2d.marlin.RendererContext.stats:Lsun/java2d/marlin/RendererStats;
            aload 0 /* this */
            getfield sun.java2d.marlin.RendererContext.renderer:Lsun/java2d/marlin/Renderer;
            aload 0 /* this */
            getfield sun.java2d.marlin.RendererContext.cache:Lsun/java2d/marlin/MarlinCache;
            invokespecial sun.java2d.marlin.MarlinTileGenerator.<init>:(Lsun/java2d/marlin/RendererStats;Lsun/java2d/marlin/Renderer;Lsun/java2d/marlin/MarlinCache;)V
            putfield sun.java2d.marlin.RendererContext.ptg:Lsun/java2d/marlin/MarlinTileGenerator;
        35: .line 148
            aload 0 /* this */
            new sun.java2d.marlin.Stroker
            dup
            aload 0 /* this */
            invokespecial sun.java2d.marlin.Stroker.<init>:(Lsun/java2d/marlin/RendererContext;)V
            putfield sun.java2d.marlin.RendererContext.stroker:Lsun/java2d/marlin/Stroker;
        36: .line 149
            aload 0 /* this */
            new sun.java2d.marlin.Dasher
            dup
            aload 0 /* this */
            invokespecial sun.java2d.marlin.Dasher.<init>:(Lsun/java2d/marlin/RendererContext;)V
            putfield sun.java2d.marlin.RendererContext.dasher:Lsun/java2d/marlin/Dasher;
        37: .line 150
            return
        end local 1 // java.lang.String name
        end local 0 // sun.java2d.marlin.RendererContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   38     0  this  Lsun/java2d/marlin/RendererContext;
            0   38     1  name  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      name  final

  void dispose();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // sun.java2d.marlin.RendererContext this
         0: .line 157
            getstatic sun.java2d.marlin.RendererContext.DO_STATS:Z
            ifeq 4
         1: .line 158
            aload 0 /* this */
            getfield sun.java2d.marlin.RendererContext.stats:Lsun/java2d/marlin/RendererStats;
            getfield sun.java2d.marlin.RendererStats.totalOffHeap:J
            aload 0 /* this */
            getfield sun.java2d.marlin.RendererContext.stats:Lsun/java2d/marlin/RendererStats;
            getfield sun.java2d.marlin.RendererStats.totalOffHeapMax:J
            lcmp
            ifle 3
         2: .line 159
            aload 0 /* this */
            getfield sun.java2d.marlin.RendererContext.stats:Lsun/java2d/marlin/RendererStats;
            aload 0 /* this */
            getfield sun.java2d.marlin.RendererContext.stats:Lsun/java2d/marlin/RendererStats;
            getfield sun.java2d.marlin.RendererStats.totalOffHeap:J
            putfield sun.java2d.marlin.RendererStats.totalOffHeapMax:J
         3: .line 161
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.java2d.marlin.RendererContext.stats:Lsun/java2d/marlin/RendererStats;
            lconst_0
            putfield sun.java2d.marlin.RendererStats.totalOffHeap:J
         4: .line 163
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            putfield sun.java2d.marlin.RendererContext.stroking:I
         5: .line 164
            aload 0 /* this */
            iconst_0
            putfield sun.java2d.marlin.RendererContext.doClip:Z
         6: .line 165
            aload 0 /* this */
            iconst_0
            putfield sun.java2d.marlin.RendererContext.closedPath:Z
         7: .line 166
            aload 0 /* this */
            dconst_0
            putfield sun.java2d.marlin.RendererContext.clipInvScale:D
         8: .line 169
            aload 0 /* this */
            getfield sun.java2d.marlin.RendererContext.dirty:Z
            ifeq 14
         9: .line 174
            aload 0 /* this */
            getfield sun.java2d.marlin.RendererContext.nPCPathIterator:Lsun/java2d/marlin/DMarlinRenderingEngine$NormalizingPathIterator;
            invokevirtual sun.java2d.marlin.DMarlinRenderingEngine$NormalizingPathIterator.dispose:()V
        10: .line 175
            aload 0 /* this */
            getfield sun.java2d.marlin.RendererContext.nPQPathIterator:Lsun/java2d/marlin/DMarlinRenderingEngine$NormalizingPathIterator;
            invokevirtual sun.java2d.marlin.DMarlinRenderingEngine$NormalizingPathIterator.dispose:()V
        11: .line 177
            aload 0 /* this */
            getfield sun.java2d.marlin.RendererContext.dasher:Lsun/java2d/marlin/Dasher;
            invokevirtual sun.java2d.marlin.Dasher.dispose:()V
        12: .line 179
            aload 0 /* this */
            getfield sun.java2d.marlin.RendererContext.stroker:Lsun/java2d/marlin/Stroker;
            invokevirtual sun.java2d.marlin.Stroker.dispose:()V
        13: .line 182
            aload 0 /* this */
            iconst_0
            putfield sun.java2d.marlin.RendererContext.dirty:Z
        14: .line 184
      StackMap locals:
      StackMap stack:
            return
        end local 0 // sun.java2d.marlin.RendererContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   15     0  this  Lsun/java2d/marlin/RendererContext;

  java.awt.geom.Path2D$Double getPath2D();
    descriptor: ()Ljava/awt/geom/Path2D$Double;
    flags: (0x0000) 
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // sun.java2d.marlin.RendererContext this
         0: .line 188
            aload 0 /* this */
            getfield sun.java2d.marlin.RendererContext.refPath2D:Ljava/lang/ref/WeakReference;
            ifnull 1
            aload 0 /* this */
            getfield sun.java2d.marlin.RendererContext.refPath2D:Ljava/lang/ref/WeakReference;
            invokevirtual java.lang.ref.WeakReference.get:()Ljava/lang/Object;
            checkcast java.awt.geom.Path2D$Double
            goto 2
      StackMap locals:
      StackMap stack:
         1: aconst_null
      StackMap locals:
      StackMap stack: java.awt.geom.Path2D$Double
         2: astore 1 /* p2d */
        start local 1 // java.awt.geom.Path2D$Double p2d
         3: .line 191
            aload 1 /* p2d */
            ifnonnull 6
         4: .line 192
            new java.awt.geom.Path2D$Double
            dup
            iconst_1
            getstatic sun.java2d.marlin.RendererContext.INITIAL_EDGES_COUNT:I
            invokespecial java.awt.geom.Path2D$Double.<init>:(II)V
            astore 1 /* p2d */
         5: .line 195
            aload 0 /* this */
            new java.lang.ref.WeakReference
            dup
            aload 1 /* p2d */
            invokespecial java.lang.ref.WeakReference.<init>:(Ljava/lang/Object;)V
            putfield sun.java2d.marlin.RendererContext.refPath2D:Ljava/lang/ref/WeakReference;
         6: .line 198
      StackMap locals: java.awt.geom.Path2D$Double
      StackMap stack:
            aload 1 /* p2d */
            invokevirtual java.awt.geom.Path2D$Double.reset:()V
         7: .line 199
            aload 1 /* p2d */
            areturn
        end local 1 // java.awt.geom.Path2D$Double p2d
        end local 0 // sun.java2d.marlin.RendererContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Lsun/java2d/marlin/RendererContext;
            3    8     1   p2d  Ljava/awt/geom/Path2D$Double;

  sun.java2d.marlin.RendererStats stats();
    descriptor: ()Lsun/java2d/marlin/RendererStats;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.java2d.marlin.RendererContext this
         0: .line 203
            aload 0 /* this */
            getfield sun.java2d.marlin.RendererContext.stats:Lsun/java2d/marlin/RendererStats;
            areturn
        end local 0 // sun.java2d.marlin.RendererContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/java2d/marlin/RendererContext;

  sun.java2d.marlin.OffHeapArray newOffHeapArray(long);
    descriptor: (J)Lsun/java2d/marlin/OffHeapArray;
    flags: (0x0000) 
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // sun.java2d.marlin.RendererContext this
        start local 1 // long initialSize
         0: .line 207
            getstatic sun.java2d.marlin.RendererContext.DO_STATS:Z
            ifeq 2
         1: .line 208
            aload 0 /* this */
            getfield sun.java2d.marlin.RendererContext.stats:Lsun/java2d/marlin/RendererStats;
            dup
            getfield sun.java2d.marlin.RendererStats.totalOffHeapInitial:J
            lload 1 /* initialSize */
            ladd
            putfield sun.java2d.marlin.RendererStats.totalOffHeapInitial:J
         2: .line 210
      StackMap locals:
      StackMap stack:
            new sun.java2d.marlin.OffHeapArray
            dup
            aload 0 /* this */
            getfield sun.java2d.marlin.RendererContext.cleanerObj:Ljava/lang/Object;
            lload 1 /* initialSize */
            invokespecial sun.java2d.marlin.OffHeapArray.<init>:(Ljava/lang/Object;J)V
            areturn
        end local 1 // long initialSize
        end local 0 // sun.java2d.marlin.RendererContext this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    3     0         this  Lsun/java2d/marlin/RendererContext;
            0    3     1  initialSize  J
    MethodParameters:
             Name  Flags
      initialSize  final

  sun.java2d.marlin.IntArrayCache$Reference newCleanIntArrayRef(int);
    descriptor: (I)Lsun/java2d/marlin/IntArrayCache$Reference;
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.java2d.marlin.RendererContext this
        start local 1 // int initialSize
         0: .line 214
            aload 0 /* this */
            getfield sun.java2d.marlin.RendererContext.cleanIntCache:Lsun/java2d/marlin/IntArrayCache;
            iload 1 /* initialSize */
            invokevirtual sun.java2d.marlin.IntArrayCache.createRef:(I)Lsun/java2d/marlin/IntArrayCache$Reference;
            areturn
        end local 1 // int initialSize
        end local 0 // sun.java2d.marlin.RendererContext this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    1     0         this  Lsun/java2d/marlin/RendererContext;
            0    1     1  initialSize  I
    MethodParameters:
             Name  Flags
      initialSize  final

  sun.java2d.marlin.IntArrayCache$Reference newDirtyIntArrayRef(int);
    descriptor: (I)Lsun/java2d/marlin/IntArrayCache$Reference;
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.java2d.marlin.RendererContext this
        start local 1 // int initialSize
         0: .line 218
            aload 0 /* this */
            getfield sun.java2d.marlin.RendererContext.dirtyIntCache:Lsun/java2d/marlin/IntArrayCache;
            iload 1 /* initialSize */
            invokevirtual sun.java2d.marlin.IntArrayCache.createRef:(I)Lsun/java2d/marlin/IntArrayCache$Reference;
            areturn
        end local 1 // int initialSize
        end local 0 // sun.java2d.marlin.RendererContext this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    1     0         this  Lsun/java2d/marlin/RendererContext;
            0    1     1  initialSize  I
    MethodParameters:
             Name  Flags
      initialSize  final

  sun.java2d.marlin.DoubleArrayCache$Reference newDirtyDoubleArrayRef(int);
    descriptor: (I)Lsun/java2d/marlin/DoubleArrayCache$Reference;
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.java2d.marlin.RendererContext this
        start local 1 // int initialSize
         0: .line 222
            aload 0 /* this */
            getfield sun.java2d.marlin.RendererContext.dirtyDoubleCache:Lsun/java2d/marlin/DoubleArrayCache;
            iload 1 /* initialSize */
            invokevirtual sun.java2d.marlin.DoubleArrayCache.createRef:(I)Lsun/java2d/marlin/DoubleArrayCache$Reference;
            areturn
        end local 1 // int initialSize
        end local 0 // sun.java2d.marlin.RendererContext this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    1     0         this  Lsun/java2d/marlin/RendererContext;
            0    1     1  initialSize  I
    MethodParameters:
             Name  Flags
      initialSize  final

  sun.java2d.marlin.ByteArrayCache$Reference newDirtyByteArrayRef(int);
    descriptor: (I)Lsun/java2d/marlin/ByteArrayCache$Reference;
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.java2d.marlin.RendererContext this
        start local 1 // int initialSize
         0: .line 226
            aload 0 /* this */
            getfield sun.java2d.marlin.RendererContext.dirtyByteCache:Lsun/java2d/marlin/ByteArrayCache;
            iload 1 /* initialSize */
            invokevirtual sun.java2d.marlin.ByteArrayCache.createRef:(I)Lsun/java2d/marlin/ByteArrayCache$Reference;
            areturn
        end local 1 // int initialSize
        end local 0 // sun.java2d.marlin.RendererContext this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    1     0         this  Lsun/java2d/marlin/RendererContext;
            0    1     1  initialSize  I
    MethodParameters:
             Name  Flags
      initialSize  final
}
SourceFile: "RendererContext.java"
NestMembers:
  sun.java2d.marlin.RendererContext$PathConsumer2DAdapter
InnerClasses:
  public Double = java.awt.geom.Path2D$Double of java.awt.geom.Path2D
  final CacheStats = sun.java2d.marlin.ArrayCacheConst$CacheStats of sun.java2d.marlin.ArrayCacheConst
  final Reference = sun.java2d.marlin.ByteArrayCache$Reference of sun.java2d.marlin.ByteArrayCache
  abstract NormalizingPathIterator = sun.java2d.marlin.DMarlinRenderingEngine$NormalizingPathIterator of sun.java2d.marlin.DMarlinRenderingEngine
  final NearestPixelCenter = sun.java2d.marlin.DMarlinRenderingEngine$NormalizingPathIterator$NearestPixelCenter of sun.java2d.marlin.DMarlinRenderingEngine$NormalizingPathIterator
  final NearestPixelQuarter = sun.java2d.marlin.DMarlinRenderingEngine$NormalizingPathIterator$NearestPixelQuarter of sun.java2d.marlin.DMarlinRenderingEngine$NormalizingPathIterator
  final Reference = sun.java2d.marlin.DoubleArrayCache$Reference of sun.java2d.marlin.DoubleArrayCache
  final Reference = sun.java2d.marlin.IntArrayCache$Reference of sun.java2d.marlin.IntArrayCache
  final PathConsumer2DAdapter = sun.java2d.marlin.RendererContext$PathConsumer2DAdapter of sun.java2d.marlin.RendererContext
  final CurveBasicMonotonizer = sun.java2d.marlin.TransformingPathConsumer2D$CurveBasicMonotonizer of sun.java2d.marlin.TransformingPathConsumer2D
  final CurveClipSplitter = sun.java2d.marlin.TransformingPathConsumer2D$CurveClipSplitter of sun.java2d.marlin.TransformingPathConsumer2D