final class sun.java2d.marlin.DRendererContext extends sun.java2d.ReentrantContext implements sun.java2d.marlin.IRendererContext
  minor version: 0
  major version: 59
  flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
  this_class: sun.java2d.marlin.DRendererContext
  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.DCurve curve;
    descriptor: Lsun/java2d/marlin/DCurve;
    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.DTransformingPathConsumer2D transformerPC2D;
    descriptor: Lsun/java2d/marlin/DTransformingPathConsumer2D;
    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.DRenderer renderer;
    descriptor: Lsun/java2d/marlin/DRenderer;
    flags: (0x0010) ACC_FINAL

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

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

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

  final sun.java2d.marlin.DDasher dasher;
    descriptor: Lsun/java2d/marlin/DDasher;
    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.DTransformingPathConsumer2D$CurveBasicMonotonizer monotonizer;
    descriptor: Lsun/java2d/marlin/DTransformingPathConsumer2D$CurveBasicMonotonizer;
    flags: (0x0010) ACC_FINAL

  final sun.java2d.marlin.DTransformingPathConsumer2D$CurveClipSplitter curveClipSplitter;
    descriptor: Lsun/java2d/marlin/DTransformingPathConsumer2D$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.DRendererContext$PathConsumer2DAdapter p2dAdapter;
    descriptor: Lsun/java2d/marlin/DRendererContext$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.DRendererContext.CTX_COUNT:Ljava/util/concurrent/atomic/AtomicInteger;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  static sun.java2d.marlin.DRendererContext createContext();
    descriptor: ()Lsun/java2d/marlin/DRendererContext;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=5, locals=0, args_size=0
         0: .line 51
            new sun.java2d.marlin.DRendererContext
            dup
            new java.lang.StringBuilder
            dup
            ldc "ctx"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         1: .line 52
            getstatic sun.java2d.marlin.DRendererContext.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.DRendererContext.<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.DRendererContext 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.DRendererContext.dirty:Z
         2: .line 60
            aload 0 /* this */
            bipush 6
            newarray 7
            putfield sun.java2d.marlin.DRendererContext.double6:[D
         3: .line 62
            aload 0 /* this */
            new sun.java2d.marlin.DCurve
            dup
            invokespecial sun.java2d.marlin.DCurve.<init>:()V
            putfield sun.java2d.marlin.DRendererContext.curve:Lsun/java2d/marlin/DCurve;
         4: .line 70
            aload 0 /* this */
            aconst_null
            putfield sun.java2d.marlin.DRendererContext.refPath2D:Ljava/lang/ref/WeakReference;
         5: .line 74
            aload 0 /* this */
            new sun.java2d.marlin.DCollinearSimplifier
            dup
            invokespecial sun.java2d.marlin.DCollinearSimplifier.<init>:()V
            putfield sun.java2d.marlin.DRendererContext.simplifier:Lsun/java2d/marlin/DCollinearSimplifier;
         6: .line 76
            aload 0 /* this */
            new sun.java2d.marlin.DPathSimplifier
            dup
            invokespecial sun.java2d.marlin.DPathSimplifier.<init>:()V
            putfield sun.java2d.marlin.DRendererContext.pathSimplifier:Lsun/java2d/marlin/DPathSimplifier;
         7: .line 81
            aload 0 /* this */
            iconst_0
            putfield sun.java2d.marlin.DRendererContext.stroking:I
         8: .line 83
            aload 0 /* this */
            iconst_0
            putfield sun.java2d.marlin.DRendererContext.doClip:Z
         9: .line 85
            aload 0 /* this */
            iconst_0
            putfield sun.java2d.marlin.DRendererContext.closedPath:Z
        10: .line 87
            aload 0 /* this */
            iconst_4
            newarray 7
            putfield sun.java2d.marlin.DRendererContext.clipRect:[D
        11: .line 89
            aload 0 /* this */
            dconst_0
            putfield sun.java2d.marlin.DRendererContext.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.DRendererContext.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.DRendererContext.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.DRendererContext.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.DRendererContext.dirtyByteCache:Lsun/java2d/marlin/ByteArrayCache;
        16: .line 108
            aload 0 /* this */
            new sun.java2d.marlin.DRendererContext$PathConsumer2DAdapter
            dup
            invokespecial sun.java2d.marlin.DRendererContext$PathConsumer2DAdapter.<init>:()V
            putfield sun.java2d.marlin.DRendererContext.p2dAdapter:Lsun/java2d/marlin/DRendererContext$PathConsumer2DAdapter;
        17: .line 116
            getstatic sun.java2d.marlin.DRendererContext.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.DRendererContext java.lang.String
      StackMap stack:
            aload 0 /* this */
            new java.lang.Object
            dup
            invokespecial java.lang.Object.<init>:()V
            putfield sun.java2d.marlin.DRendererContext.cleanerObj:Ljava/lang/Object;
        20: .line 122
            getstatic sun.java2d.marlin.DRendererContext.DO_STATS:Z
            ifeq 26
        21: .line 123
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.java2d.marlin.DRendererContext.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.DRendererContext.stats:Lsun/java2d/marlin/RendererStats;
        22: .line 125
            aload 0 /* this */
            getfield sun.java2d.marlin.DRendererContext.stats:Lsun/java2d/marlin/RendererStats;
            iconst_4
            anewarray sun.java2d.marlin.ArrayCacheConst$CacheStats
            dup
            iconst_0
            aload 0 /* this */
            getfield sun.java2d.marlin.DRendererContext.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.DRendererContext.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.DRendererContext.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.DRendererContext.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.DRendererContext.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.DRendererContext.double6:[D
            invokespecial sun.java2d.marlin.DMarlinRenderingEngine$NormalizingPathIterator$NearestPixelCenter.<init>:([D)V
            putfield sun.java2d.marlin.DRendererContext.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.DRendererContext.double6:[D
            invokespecial sun.java2d.marlin.DMarlinRenderingEngine$NormalizingPathIterator$NearestPixelQuarter.<init>:([D)V
            putfield sun.java2d.marlin.DRendererContext.nPQPathIterator:Lsun/java2d/marlin/DMarlinRenderingEngine$NormalizingPathIterator;
        29: .line 137
            aload 0 /* this */
            new sun.java2d.marlin.DTransformingPathConsumer2D$CurveBasicMonotonizer
            dup
            aload 0 /* this */
            invokespecial sun.java2d.marlin.DTransformingPathConsumer2D$CurveBasicMonotonizer.<init>:(Lsun/java2d/marlin/DRendererContext;)V
            putfield sun.java2d.marlin.DRendererContext.monotonizer:Lsun/java2d/marlin/DTransformingPathConsumer2D$CurveBasicMonotonizer;
        30: .line 138
            aload 0 /* this */
            new sun.java2d.marlin.DTransformingPathConsumer2D$CurveClipSplitter
            dup
            aload 0 /* this */
            invokespecial sun.java2d.marlin.DTransformingPathConsumer2D$CurveClipSplitter.<init>:(Lsun/java2d/marlin/DRendererContext;)V
            putfield sun.java2d.marlin.DRendererContext.curveClipSplitter:Lsun/java2d/marlin/DTransformingPathConsumer2D$CurveClipSplitter;
        31: .line 141
            aload 0 /* this */
            new sun.java2d.marlin.DTransformingPathConsumer2D
            dup
            aload 0 /* this */
            invokespecial sun.java2d.marlin.DTransformingPathConsumer2D.<init>:(Lsun/java2d/marlin/DRendererContext;)V
            putfield sun.java2d.marlin.DRendererContext.transformerPC2D:Lsun/java2d/marlin/DTransformingPathConsumer2D;
        32: .line 144
            aload 0 /* this */
            new sun.java2d.marlin.MarlinCache
            dup
            aload 0 /* this */
            invokespecial sun.java2d.marlin.MarlinCache.<init>:(Lsun/java2d/marlin/IRendererContext;)V
            putfield sun.java2d.marlin.DRendererContext.cache:Lsun/java2d/marlin/MarlinCache;
        33: .line 145
            aload 0 /* this */
            new sun.java2d.marlin.DRenderer
            dup
            aload 0 /* this */
            invokespecial sun.java2d.marlin.DRenderer.<init>:(Lsun/java2d/marlin/DRendererContext;)V
            putfield sun.java2d.marlin.DRendererContext.renderer:Lsun/java2d/marlin/DRenderer;
        34: .line 146
            aload 0 /* this */
            new sun.java2d.marlin.MarlinTileGenerator
            dup
            aload 0 /* this */
            getfield sun.java2d.marlin.DRendererContext.stats:Lsun/java2d/marlin/RendererStats;
            aload 0 /* this */
            getfield sun.java2d.marlin.DRendererContext.renderer:Lsun/java2d/marlin/DRenderer;
            aload 0 /* this */
            getfield sun.java2d.marlin.DRendererContext.cache:Lsun/java2d/marlin/MarlinCache;
            invokespecial sun.java2d.marlin.MarlinTileGenerator.<init>:(Lsun/java2d/marlin/RendererStats;Lsun/java2d/marlin/MarlinRenderer;Lsun/java2d/marlin/MarlinCache;)V
            putfield sun.java2d.marlin.DRendererContext.ptg:Lsun/java2d/marlin/MarlinTileGenerator;
        35: .line 148
            aload 0 /* this */
            new sun.java2d.marlin.DStroker
            dup
            aload 0 /* this */
            invokespecial sun.java2d.marlin.DStroker.<init>:(Lsun/java2d/marlin/DRendererContext;)V
            putfield sun.java2d.marlin.DRendererContext.stroker:Lsun/java2d/marlin/DStroker;
        36: .line 149
            aload 0 /* this */
            new sun.java2d.marlin.DDasher
            dup
            aload 0 /* this */
            invokespecial sun.java2d.marlin.DDasher.<init>:(Lsun/java2d/marlin/DRendererContext;)V
            putfield sun.java2d.marlin.DRendererContext.dasher:Lsun/java2d/marlin/DDasher;
        37: .line 150
            return
        end local 1 // java.lang.String name
        end local 0 // sun.java2d.marlin.DRendererContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   38     0  this  Lsun/java2d/marlin/DRendererContext;
            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.DRendererContext this
         0: .line 157
            getstatic sun.java2d.marlin.DRendererContext.DO_STATS:Z
            ifeq 4
         1: .line 158
            aload 0 /* this */
            getfield sun.java2d.marlin.DRendererContext.stats:Lsun/java2d/marlin/RendererStats;
            getfield sun.java2d.marlin.RendererStats.totalOffHeap:J
            aload 0 /* this */
            getfield sun.java2d.marlin.DRendererContext.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.DRendererContext.stats:Lsun/java2d/marlin/RendererStats;
            aload 0 /* this */
            getfield sun.java2d.marlin.DRendererContext.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.DRendererContext.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.DRendererContext.stroking:I
         5: .line 164
            aload 0 /* this */
            iconst_0
            putfield sun.java2d.marlin.DRendererContext.doClip:Z
         6: .line 165
            aload 0 /* this */
            iconst_0
            putfield sun.java2d.marlin.DRendererContext.closedPath:Z
         7: .line 166
            aload 0 /* this */
            dconst_0
            putfield sun.java2d.marlin.DRendererContext.clipInvScale:D
         8: .line 169
            aload 0 /* this */
            getfield sun.java2d.marlin.DRendererContext.dirty:Z
            ifeq 14
         9: .line 174
            aload 0 /* this */
            getfield sun.java2d.marlin.DRendererContext.nPCPathIterator:Lsun/java2d/marlin/DMarlinRenderingEngine$NormalizingPathIterator;
            invokevirtual sun.java2d.marlin.DMarlinRenderingEngine$NormalizingPathIterator.dispose:()V
        10: .line 175
            aload 0 /* this */
            getfield sun.java2d.marlin.DRendererContext.nPQPathIterator:Lsun/java2d/marlin/DMarlinRenderingEngine$NormalizingPathIterator;
            invokevirtual sun.java2d.marlin.DMarlinRenderingEngine$NormalizingPathIterator.dispose:()V
        11: .line 177
            aload 0 /* this */
            getfield sun.java2d.marlin.DRendererContext.dasher:Lsun/java2d/marlin/DDasher;
            invokevirtual sun.java2d.marlin.DDasher.dispose:()V
        12: .line 179
            aload 0 /* this */
            getfield sun.java2d.marlin.DRendererContext.stroker:Lsun/java2d/marlin/DStroker;
            invokevirtual sun.java2d.marlin.DStroker.dispose:()V
        13: .line 182
            aload 0 /* this */
            iconst_0
            putfield sun.java2d.marlin.DRendererContext.dirty:Z
        14: .line 184
      StackMap locals:
      StackMap stack:
            return
        end local 0 // sun.java2d.marlin.DRendererContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   15     0  this  Lsun/java2d/marlin/DRendererContext;

  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.DRendererContext this
         0: .line 188
            aload 0 /* this */
            getfield sun.java2d.marlin.DRendererContext.refPath2D:Ljava/lang/ref/WeakReference;
            ifnull 1
            aload 0 /* this */
            getfield sun.java2d.marlin.DRendererContext.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.DRendererContext.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.DRendererContext.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.DRendererContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Lsun/java2d/marlin/DRendererContext;
            3    8     1   p2d  Ljava/awt/geom/Path2D$Double;

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

  public sun.java2d.marlin.OffHeapArray newOffHeapArray(long);
    descriptor: (J)Lsun/java2d/marlin/OffHeapArray;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // sun.java2d.marlin.DRendererContext this
        start local 1 // long initialSize
         0: .line 209
            getstatic sun.java2d.marlin.DRendererContext.DO_STATS:Z
            ifeq 2
         1: .line 210
            aload 0 /* this */
            getfield sun.java2d.marlin.DRendererContext.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 212
      StackMap locals:
      StackMap stack:
            new sun.java2d.marlin.OffHeapArray
            dup
            aload 0 /* this */
            getfield sun.java2d.marlin.DRendererContext.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.DRendererContext this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    3     0         this  Lsun/java2d/marlin/DRendererContext;
            0    3     1  initialSize  J
    MethodParameters:
             Name  Flags
      initialSize  final

  public sun.java2d.marlin.IntArrayCache$Reference newCleanIntArrayRef(int);
    descriptor: (I)Lsun/java2d/marlin/IntArrayCache$Reference;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.java2d.marlin.DRendererContext this
        start local 1 // int initialSize
         0: .line 217
            aload 0 /* this */
            getfield sun.java2d.marlin.DRendererContext.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.DRendererContext this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    1     0         this  Lsun/java2d/marlin/DRendererContext;
            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.DRendererContext this
        start local 1 // int initialSize
         0: .line 221
            aload 0 /* this */
            getfield sun.java2d.marlin.DRendererContext.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.DRendererContext this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    1     0         this  Lsun/java2d/marlin/DRendererContext;
            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.DRendererContext this
        start local 1 // int initialSize
         0: .line 225
            aload 0 /* this */
            getfield sun.java2d.marlin.DRendererContext.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.DRendererContext this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    1     0         this  Lsun/java2d/marlin/DRendererContext;
            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.DRendererContext this
        start local 1 // int initialSize
         0: .line 229
            aload 0 /* this */
            getfield sun.java2d.marlin.DRendererContext.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.DRendererContext this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    1     0         this  Lsun/java2d/marlin/DRendererContext;
            0    1     1  initialSize  I
    MethodParameters:
             Name  Flags
      initialSize  final
}
SourceFile: "DRendererContext.java"
NestMembers:
  sun.java2d.marlin.DRendererContext$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 PathConsumer2DAdapter = sun.java2d.marlin.DRendererContext$PathConsumer2DAdapter of sun.java2d.marlin.DRendererContext
  final CurveBasicMonotonizer = sun.java2d.marlin.DTransformingPathConsumer2D$CurveBasicMonotonizer of sun.java2d.marlin.DTransformingPathConsumer2D
  final CurveClipSplitter = sun.java2d.marlin.DTransformingPathConsumer2D$CurveClipSplitter of sun.java2d.marlin.DTransformingPathConsumer2D
  final Reference = sun.java2d.marlin.DoubleArrayCache$Reference of sun.java2d.marlin.DoubleArrayCache
  final Reference = sun.java2d.marlin.IntArrayCache$Reference of sun.java2d.marlin.IntArrayCache