< prev index next >

src/java.desktop/share/classes/sun/java2d/marlin/RendererContext.java

Print this page

        

*** 1,7 **** /* ! * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License version 2 only, as * published by the Free Software Foundation. Oracle designates this --- 1,7 ---- /* ! * Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License version 2 only, as * published by the Free Software Foundation. Oracle designates this
*** 48,70 **** || (MarlinRenderingEngine.REF_TYPE == MarlinRenderingEngine.REF_WEAK); /** * Create a new renderer context * * @return new RendererContext instance */ ! static RendererContext createContext() { final RendererContext newCtx = new RendererContext("ctx" ! + Integer.toString(contextCount.getAndIncrement())); if (RendererContext.stats != null) { RendererContext.stats.allContexts.add(newCtx); } return newCtx; } // context name (debugging purposes) final String name; /* * Reference to this instance (hard, soft or weak). * @see MarlinRenderingEngine#REF_TYPE */ final Object reference; --- 48,80 ---- || (MarlinRenderingEngine.REF_TYPE == MarlinRenderingEngine.REF_WEAK); /** * Create a new renderer context * + * @param storageQueue true = queue storage; false = thread-Local storage * @return new RendererContext instance */ ! static RendererContext createContext(final boolean storageQueue) { final RendererContext newCtx = new RendererContext("ctx" ! + Integer.toString(contextCount.getAndIncrement()), ! storageQueue); ! if (RendererContext.stats != null) { RendererContext.stats.allContexts.add(newCtx); } return newCtx; } // context name (debugging purposes) final String name; + // true = queue storage; false = thread-Local storage + final boolean storageQueue; + /* + * Used flag indicating this thread-Local context is already used + * (used to detect reentrance) + */ + boolean usedTL = false; /* * Reference to this instance (hard, soft or weak). * @see MarlinRenderingEngine#REF_TYPE */ final Object reference;
*** 99,116 **** int stroking = 0; /** * Constructor * ! * @param name */ ! RendererContext(final String name) { if (logCreateContext) { MarlinUtils.logInfo("new RendererContext = " + name); } this.name = name; // NormalizingPathIterator instances: nPCPathIterator = new NormalizingPathIterator.NearestPixelCenter(float6); nPQPathIterator = new NormalizingPathIterator.NearestPixelQuarter(float6); --- 109,128 ---- int stroking = 0; /** * Constructor * ! * @param name context name (debugging) ! * @param storageQueue true = queue storage; false = thread-Local storage */ ! RendererContext(final String name, final boolean storageQueue) { if (logCreateContext) { MarlinUtils.logInfo("new RendererContext = " + name); } this.name = name; + this.storageQueue = storageQueue; // NormalizingPathIterator instances: nPCPathIterator = new NormalizingPathIterator.NearestPixelCenter(float6); nPQPathIterator = new NormalizingPathIterator.NearestPixelQuarter(float6);
< prev index next >