From james.graham at oracle.com Wed May 1 00:43:18 2013 From: james.graham at oracle.com (Jim Graham) Date: Tue, 30 Apr 2013 17:43:18 -0700 Subject: [OpenJDK 2D-Dev] sun.java2D.Pisces renderer Performance and Memory enhancements In-Reply-To: References: <516DBFBF.20504@oracle.com> <5175A611.9080004@oracle.com> <5177345D.4060408@oracle.com> <517822F0.4040800@oracle.com> Message-ID: <51806526.8070808@oracle.com> Hi Laurent, There's a lot here to go over... ;) On 4/30/13 9:29 AM, Laurent Bourg?s wrote: > Jim, > > here is the latest webrev: > http://jmmc.fr/~bourgesl/share/java2d-pisces/webrev-3/ I'll answer questions first and then have a look... > I have few questions regarding renderer edge handling and float ceil calls: I have a personal philosophy for all rendering engines that I've produced, but I'm not sure the philosophy was adopted for this code. I like to use the same rounding for every operation and have all ranges be specified as semi-open regions - x1 <= x < x2 - for example. The "insideness" rule is most naturally expressed by semi-open intervals since pixel centers that fall on a vertical boundary are inside if the interior region is to their right (i.e. the x1 <= x half of that equation above) and they are outside if the space to their right is non-interior (i.e. the x < x2 half of that equation). A similar rule is also used vertically. The rounding operation which computes this would be: xc = computed crossing value for the current scan line; ceil(xc - 0.5); This maps (for some integer k): k+0.4999 to k k+0.5000 to k k+0.5001 to k+1 Which is exactly what you want for the beginning of a region. If the crossing is exactly at the pixel center then that is the furthest right that you can cross the scan line and still include pixel k. If you just miss the center of a pixel to the right, then the first pixel to be included is k+1. That function computes it correctly. Similarly, if you apply the same formula to the right edge of a region then you compute "the first pixel to not be included in the region. Consider that if you miss a pixel center on that right edge by falling slightly to the left of it, then that pixel is "outside" and it is the first such pixel to be "outside". If you hit its pixel center exactly, then the insideness rule also says that it is "outside". Only when you just miss it by falling slightly to the right of its center would that pixel still be included. The above formula computes that value if you take its answer to be the "first pixel not included in the region". This lets you perform the same rounding on every value and treat every pair of "inside trigger" to "outside trigger" as a half-open interval. Note that otherwise you'd have to compute every floating point crossing, then run the EvenOdd vs. ZeroWinding rule on them, and finally only do the rounding after you knew which were left edges and which were right (which you don't know until you've computed every crossing on the scan line). Since this rounding rule is symmetric given half-open intervals then you can round everything before you've analyzed the results of the winding rules. I then extend that philosophy to every set of coordinates I deal with, be it horizontal ranges, vertical ranges, shape rasterized results, or clip results, and the math usually works out in the simplest and most elegant way possible. For an AA renderer, it isn't clear that the sub-pixel computations should be as sub-sub-pixely accurate, but I'd like to think that the philosophy should be kept down to the lowest layers if we can, especially as this code can be tuned down to a single sub-pixel per real pixel and then it definitely should be as accurate as it can with the insideness rule (even though I doubt it will ever be set up that way). Another consideration is the vertices on an enclosing polygon. You compute one segment to where it ends at xe1,ye1 and start computing the next segment from where it starts at xs2,ys2, but for adjacent segments in an outline, they start and end on a shared common point so xe1==xs2 and ye1==ys2. If you compute crossings for both segments at that shared point then you have a chance of recording the crossings twice for that tiny chunk of the outline. You could special case the last point in a segment, but that gets into lots of tricky tests. On the other hand, if all intervals everywhere are half-open then anything you compute for xe1,ye1 would represent "the first line/pixel that segment 1 does not cause to be included" and computing the same values for xs2,ys2 would naturally generate "the first line/pixel that segment 2 causes to be included" and only one of them would induce inclusion on that scan line or pixel. This gets even more valuable when you consider all cases of segment 1 going down to xe1,ye1 and segment 2 going back up from that point, or up/down or up/up or down/down - and also left/left or left/right or right/right or right/left. All possible cases of how one segment arrives at xe1,ye1 and the next segment leaves from that same point just naturally fall out from using symmetric rounding and half-open intervals. I wanted to get that out to see if we were on the same page or if there was another way of doing the math that you are familiar with that might also make things easier. I'm pretty sure that most of the code in the current version of Pisces uses that same philosophy, but I seem to recall that there were a couple of places that Denis was more comfortable with fully closed intervals. I don't remember the details, but be on the watch for it. Also, I don't recall if it used a half-sub-pixel bias anywhere or simply punted on it as not being visible enough to worry about strict "center of sub-pixel" comparisons. Now on to the specific questions: > private void addLine(float x1, float y1, float x2, float y2) { > ... > // LBO: why ceil ie upper integer ? > final int firstCrossing = Math.max(ceil(y1), boundsMinY); // > upper integer > final int lastCrossing = Math.min(ceil(y2), boundsMaxY); // > upper integer Perhaps lastCrossing is misnamed. I think it represents the end of the interval which is half-open. Does that match the rest of the operations done on it? If every coordinate has already been biased by the -0.5 then ceil is just the tail end of the rounding equation I gave above. If not, then the half-open considerations still apply if you use the same rounding for both the top and the bottom of the segment. If lastCrossing represents the "bottom of the shape" then it should not be included. If the next segment continues on from it, then its y1 will be computed in the first equation and will represent the first scanline that the next segment participates in. > => firstCrossing / lastCrossing should use lower and upper integer > values (rounding issues) ? Do they make sense now given my explanation above? Perhaps they should be renamed to indicate their half-openness? > boolean endRendering() { > // TODO: perform shape clipping to avoid dealing with segments > out of bounding box > > // Ensure shape edges are within bbox: > if (edgeMinX > edgeMaxX || edgeMaxX < 0f) { > return false; // undefined X bounds or negative Xmax > } > if (edgeMinY > edgeMaxY || edgeMaxY < 0f) { > return false; // undefined Y bounds or negative Ymax > } I'd use min >= max since if min==max then I think nothing gets generated as a result of all edges having both the in and out crossings on the same coordinate. Also, why not test against the clip bounds instead? The code after that will clip the edgeMinMaxXY values against the boundsMinMax values. If you do this kind of test after that clipping is done (on spminmaxxy) then you can discover if all of the coordinates are outside the clip or the region of interest. > // why use upper integer for edge min values ? Because an edge falling between sample points includes only the sample point "above" it. (Or "un-includes" it if it is a right/bottom edge.) > => Here is the question: why use ceil instead of floor ? > > final int eMinX = ceil(edgeMinX); // upper positive int > if (eMinX > boundsMaxX) { > return false; // Xmin > bbox maxX > } > > final int eMinY = ceil(edgeMinY); // upper positive int > if (eMinY > boundsMaxY) { > return false; // Ymin > bbox maxY > } > > int spminX = Math.max(eMinX, boundsMinX); > int spmaxX = Math.min(ceil(edgeMaxX), boundsMaxX); // upper > positive int > int spminY = Math.max(eMinY, boundsMinY); > int spmaxY = Math.min(ceil(edgeMaxY), boundsMaxY); // upper > positive int > > int pminX = spminX >> SUBPIXEL_LG_POSITIONS_X; > int pmaxX = (spmaxX + SUBPIXEL_MASK_X) >> SUBPIXEL_LG_POSITIONS_X; > int pminY = spminY >> SUBPIXEL_LG_POSITIONS_Y; > int pmaxY = (spmaxY + SUBPIXEL_MASK_Y) >> SUBPIXEL_LG_POSITIONS_Y; > > // store BBox to answer ptg.getBBox(): > this.cache.init(pminX, pminY, pmaxX, pmaxY); > > In PiscesCache: > void init(int minx, int miny, int maxx, int maxy) { > ... > // LBO: why add +1 ?? > bboxX1 = maxx /* + 1 */; > bboxY1 = maxy /* + 1 */; I think the values passed in are "the smallest and largest values we encountered" and so adding one computes the first coordinate that is "not inside the sample region" as per the half-open philosophy. I tend to use and encourage "min/max" naming for closed-interval values and xy0/xy1 or xy1/xy2 for half-open-interval values. > => piscesCache previously added +1 to maximum (upper loop condition y < y1) > but the pmaxX already uses ceil (+1) and (spmaxY + SUBPIXEL_MASK_Y) > ensures the last pixel is reached. spmaxY + SUBPIXEL_MASK_Y computes the last sub-pixel piece of the last pixel. It is essentially equivalen to "lastrow.9999999". So, the first coordinate not included would be "lastrow+1" which is simply adding +1 to the sub-pixel "max" value that was given. > I fixed these limits to have correct rendering due to dirty rowAARLE reuse. If there was a bug before I'd prefer to have it fixed within the philosophy of half-open intervals rather than trying to translate into closed intervals - it keeps all of the code on the same page. > 2013/4/24 Jim Graham > > Do you have any faster implementation for Math.ceil/floor ? I now use > casting 1 + (int) / (int) but I know it is only correct for positive > numbers (> 0). ceil(integer) == integer, but your technique would return "integer+1". I don't remember a decent technique for doing ceil with a cast. > - clipping issues: > for very large dashed rectangle, millions of segments are emited from > dasher (x1) to stroker (x4 segments) to renderer (x4 segments). > > However, I would like to add a minimal clipping algorithm but the > rendering pipeline seems to be handling affine transforms between stages: > /* > * Pipeline seems to be: > * shape.getPathIterator > * -> inverseDeltaTransformConsumer > * -> Dasher > * -> Stroker > * -> deltaTransformConsumer OR transformConsumer > * -> pc2d = Renderer (bounding box) > */ If we could teach the stroker to be able to apply an elliptical pen then we could do the transforms once up front and simplify that quite a lot. That optimization remains TBD. We currently at least detect uniform scales and those can be handled with a single transform up front and multiplying all dash segment values and the line width by the uniform scale factor. But, anything that transforms a circle into an ellipse requires us to use the multi-stage silliness above. > It is complicated to perform clipping in the Renderer and maybe to late > as a complete stroker's segment must be considered as a whole (4 > segments without caps ...). > > Could you give me advices how to hack / add clipping algorithm in the > rendering pipeline (dasher / stroker / renderer) ? > Should I try to derive a bounding box for the dasher / stroker depending > on the Affine transforms ? Yes, that sounds right so far, but it's pretty high-level and I'm not sure where your level of understanding here falls short...? I guess what I would do is: - compute an expanded "clip box" for the stroker based on the original clip, the transform, the line width, and the miter limit. Note that the transform applied to the stroke coordinates varies depending on whether we use the "uniform scaling" optimization or not - test coordinates for being in the expanded clip box in the PathConsumer2D methods of Stroker. If the segment is rejected, be sure to update all of the internal computations (normal values, last moveto coords, etc.) that might be needed for stroking the following segment - unfortunately this means that dasher doesn't get the advantages, you could add similar code to the dasher, but then you have to be sure an entire dash is omitted before you can omit the data going on, otherwise the stroker will not get proper incoming coordinates from "the previous segment that was out of bounds". That could be managed with proper communication between the dasher and stroker, but then it gets more complicated. Those are the caveats that I would keep in mind while I was designing a solution - hope it helps some... ...jim From lana.steuck at oracle.com Wed May 1 15:43:21 2013 From: lana.steuck at oracle.com (lana.steuck at oracle.com) Date: Wed, 01 May 2013 15:43:21 +0000 Subject: [OpenJDK 2D-Dev] hg: jdk8/2d/corba: Added tag jdk8-b87 for changeset f1709874d55a Message-ID: <20130501154326.66F3D48734@hg.openjdk.java.net> Changeset: 4e3a881ebb1e Author: katleman Date: 2013-04-25 09:23 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/corba/rev/4e3a881ebb1e Added tag jdk8-b87 for changeset f1709874d55a ! .hgtags From lana.steuck at oracle.com Wed May 1 15:43:25 2013 From: lana.steuck at oracle.com (lana.steuck at oracle.com) Date: Wed, 01 May 2013 15:43:25 +0000 Subject: [OpenJDK 2D-Dev] hg: jdk8/2d/jaxws: 2 new changesets Message-ID: <20130501154335.5683448736@hg.openjdk.java.net> Changeset: 72e03566f0a6 Author: katleman Date: 2013-04-23 18:33 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/jaxws/rev/72e03566f0a6 8012643: JDK8 b86 source with GPL header errors Reviewed-by: dholmes, alanb ! src/share/jaxws_classes/com/oracle/webservices/internal/api/EnvelopeStyle.java ! src/share/jaxws_classes/com/oracle/webservices/internal/api/EnvelopeStyleFeature.java ! src/share/jaxws_classes/com/oracle/webservices/internal/api/databinding/Databinding.java ! src/share/jaxws_classes/com/oracle/webservices/internal/api/databinding/DatabindingFactory.java ! src/share/jaxws_classes/com/oracle/webservices/internal/api/databinding/DatabindingMode.java ! src/share/jaxws_classes/com/oracle/webservices/internal/api/databinding/DatabindingModeFeature.java ! src/share/jaxws_classes/com/oracle/webservices/internal/api/databinding/ExternalMetadataFeature.java ! src/share/jaxws_classes/com/oracle/webservices/internal/api/databinding/JavaCallInfo.java ! src/share/jaxws_classes/com/oracle/webservices/internal/api/databinding/WSDLGenerator.java ! src/share/jaxws_classes/com/oracle/webservices/internal/api/databinding/WSDLResolver.java ! src/share/jaxws_classes/com/oracle/webservices/internal/api/message/BaseDistributedPropertySet.java ! src/share/jaxws_classes/com/oracle/webservices/internal/api/message/BasePropertySet.java ! src/share/jaxws_classes/com/oracle/webservices/internal/api/message/ContentType.java ! src/share/jaxws_classes/com/oracle/webservices/internal/api/message/DistributedPropertySet.java ! src/share/jaxws_classes/com/oracle/webservices/internal/api/message/MessageContext.java ! src/share/jaxws_classes/com/oracle/webservices/internal/api/message/MessageContextFactory.java ! src/share/jaxws_classes/com/oracle/webservices/internal/api/message/PropertySet.java ! src/share/jaxws_classes/com/oracle/webservices/internal/api/message/ReadOnlyPropertyException.java ! src/share/jaxws_classes/com/oracle/webservices/internal/impl/encoding/StreamDecoderImpl.java ! src/share/jaxws_classes/com/oracle/webservices/internal/impl/internalspi/encoding/StreamDecoder.java ! src/share/jaxws_classes/com/oracle/xmlns/internal/webservices/jaxws_databinding/ExistingAnnotationsType.java ! src/share/jaxws_classes/com/oracle/xmlns/internal/webservices/jaxws_databinding/JavaMethod.java ! src/share/jaxws_classes/com/oracle/xmlns/internal/webservices/jaxws_databinding/JavaParam.java ! src/share/jaxws_classes/com/oracle/xmlns/internal/webservices/jaxws_databinding/JavaWsdlMappingType.java ! src/share/jaxws_classes/com/oracle/xmlns/internal/webservices/jaxws_databinding/ObjectFactory.java ! src/share/jaxws_classes/com/oracle/xmlns/internal/webservices/jaxws_databinding/SoapBindingParameterStyle.java ! src/share/jaxws_classes/com/oracle/xmlns/internal/webservices/jaxws_databinding/SoapBindingStyle.java ! src/share/jaxws_classes/com/oracle/xmlns/internal/webservices/jaxws_databinding/SoapBindingUse.java ! src/share/jaxws_classes/com/oracle/xmlns/internal/webservices/jaxws_databinding/Util.java ! src/share/jaxws_classes/com/oracle/xmlns/internal/webservices/jaxws_databinding/WebParamMode.java ! src/share/jaxws_classes/com/oracle/xmlns/internal/webservices/jaxws_databinding/XmlAction.java ! src/share/jaxws_classes/com/oracle/xmlns/internal/webservices/jaxws_databinding/XmlAddressing.java ! src/share/jaxws_classes/com/oracle/xmlns/internal/webservices/jaxws_databinding/XmlBindingType.java ! src/share/jaxws_classes/com/oracle/xmlns/internal/webservices/jaxws_databinding/XmlFaultAction.java ! src/share/jaxws_classes/com/oracle/xmlns/internal/webservices/jaxws_databinding/XmlHandlerChain.java ! src/share/jaxws_classes/com/oracle/xmlns/internal/webservices/jaxws_databinding/XmlMTOM.java ! src/share/jaxws_classes/com/oracle/xmlns/internal/webservices/jaxws_databinding/XmlOneway.java ! src/share/jaxws_classes/com/oracle/xmlns/internal/webservices/jaxws_databinding/XmlRequestWrapper.java ! src/share/jaxws_classes/com/oracle/xmlns/internal/webservices/jaxws_databinding/XmlResponseWrapper.java ! src/share/jaxws_classes/com/oracle/xmlns/internal/webservices/jaxws_databinding/XmlSOAPBinding.java ! src/share/jaxws_classes/com/oracle/xmlns/internal/webservices/jaxws_databinding/XmlServiceMode.java ! src/share/jaxws_classes/com/oracle/xmlns/internal/webservices/jaxws_databinding/XmlWebEndpoint.java ! src/share/jaxws_classes/com/oracle/xmlns/internal/webservices/jaxws_databinding/XmlWebFault.java ! src/share/jaxws_classes/com/oracle/xmlns/internal/webservices/jaxws_databinding/XmlWebMethod.java ! src/share/jaxws_classes/com/oracle/xmlns/internal/webservices/jaxws_databinding/XmlWebParam.java ! src/share/jaxws_classes/com/oracle/xmlns/internal/webservices/jaxws_databinding/XmlWebResult.java ! src/share/jaxws_classes/com/oracle/xmlns/internal/webservices/jaxws_databinding/XmlWebService.java ! src/share/jaxws_classes/com/oracle/xmlns/internal/webservices/jaxws_databinding/XmlWebServiceClient.java ! src/share/jaxws_classes/com/oracle/xmlns/internal/webservices/jaxws_databinding/XmlWebServiceProvider.java ! src/share/jaxws_classes/com/oracle/xmlns/internal/webservices/jaxws_databinding/XmlWebServiceRef.java ! src/share/jaxws_classes/com/oracle/xmlns/internal/webservices/jaxws_databinding/package-info.java Changeset: 24fa5452e5d4 Author: katleman Date: 2013-04-25 09:24 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/jaxws/rev/24fa5452e5d4 Added tag jdk8-b87 for changeset 72e03566f0a6 ! .hgtags From lana.steuck at oracle.com Wed May 1 15:43:26 2013 From: lana.steuck at oracle.com (lana.steuck at oracle.com) Date: Wed, 01 May 2013 15:43:26 +0000 Subject: [OpenJDK 2D-Dev] hg: jdk8/2d/nashorn: Added tag jdk8-b87 for changeset 774aeaa89bc1 Message-ID: <20130501154330.53D5148735@hg.openjdk.java.net> Changeset: 40c107d1ae6f Author: katleman Date: 2013-04-25 09:24 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/nashorn/rev/40c107d1ae6f Added tag jdk8-b87 for changeset 774aeaa89bc1 ! .hgtags From lana.steuck at oracle.com Wed May 1 15:43:26 2013 From: lana.steuck at oracle.com (lana.steuck at oracle.com) Date: Wed, 01 May 2013 15:43:26 +0000 Subject: [OpenJDK 2D-Dev] hg: jdk8/2d/jaxp: Added tag jdk8-b87 for changeset eddbc8ad2435 Message-ID: <20130501154338.3502B48737@hg.openjdk.java.net> Changeset: 7122f7bb0fcc Author: katleman Date: 2013-04-25 09:24 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/jaxp/rev/7122f7bb0fcc Added tag jdk8-b87 for changeset eddbc8ad2435 ! .hgtags From lana.steuck at oracle.com Wed May 1 15:43:28 2013 From: lana.steuck at oracle.com (lana.steuck at oracle.com) Date: Wed, 01 May 2013 15:43:28 +0000 Subject: [OpenJDK 2D-Dev] hg: jdk8/2d/langtools: Added tag jdk8-b87 for changeset 1329f9c38d93 Message-ID: <20130501154341.872C448738@hg.openjdk.java.net> Changeset: a1e10f3adc47 Author: katleman Date: 2013-04-25 09:24 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/langtools/rev/a1e10f3adc47 Added tag jdk8-b87 for changeset 1329f9c38d93 ! .hgtags From lana.steuck at oracle.com Wed May 1 15:43:20 2013 From: lana.steuck at oracle.com (lana.steuck at oracle.com) Date: Wed, 01 May 2013 15:43:20 +0000 Subject: [OpenJDK 2D-Dev] hg: jdk8/2d: Added tag jdk8-b87 for changeset b9415faa7066 Message-ID: <20130501154321.C45FD48733@hg.openjdk.java.net> Changeset: c29b583938b1 Author: katleman Date: 2013-04-25 09:23 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/rev/c29b583938b1 Added tag jdk8-b87 for changeset b9415faa7066 ! .hgtags From lana.steuck at oracle.com Wed May 1 15:43:36 2013 From: lana.steuck at oracle.com (lana.steuck at oracle.com) Date: Wed, 01 May 2013 15:43:36 +0000 Subject: [OpenJDK 2D-Dev] hg: jdk8/2d/jdk: 6 new changesets Message-ID: <20130501154545.9D60A48739@hg.openjdk.java.net> Changeset: d5228e624826 Author: katleman Date: 2013-04-23 18:25 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/d5228e624826 8012643: JDK8 b86 source with GPL header errors Reviewed-by: dholmes, alanb ! test/java/lang/Runtime/exec/WinCommand.java ! test/java/lang/reflect/Method/DefaultMethodModeling.java Changeset: 53be90fb39d6 Author: katleman Date: 2013-04-25 09:24 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/53be90fb39d6 Added tag jdk8-b87 for changeset d5228e624826 ! .hgtags Changeset: 78d08fc2dd12 Author: mullan Date: 2013-04-25 11:18 -0400 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/78d08fc2dd12 8011313: OCSP timeout set to wrong value if com.sun.security.ocsp.timeout not defined Reviewed-by: vinnie ! src/share/classes/sun/security/provider/certpath/OCSP.java Changeset: 3e282678a885 Author: mullan Date: 2013-04-25 15:48 -0400 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/3e282678a885 8013228: Create new system properties to control allowable OCSP clock skew and CRL connection timeout Reviewed-by: vinnie ! src/share/classes/sun/security/provider/certpath/CertPathHelper.java ! src/share/classes/sun/security/provider/certpath/DistributionPointFetcher.java ! src/share/classes/sun/security/provider/certpath/OCSPResponse.java ! src/share/classes/sun/security/provider/certpath/URICertStore.java Changeset: 7c4eb715c5e8 Author: ngthomas Date: 2013-04-30 21:49 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/7c4eb715c5e8 Merge Changeset: 46686202aa23 Author: lana Date: 2013-04-30 22:43 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/46686202aa23 Merge From lana.steuck at oracle.com Wed May 1 15:43:53 2013 From: lana.steuck at oracle.com (lana.steuck at oracle.com) Date: Wed, 01 May 2013 15:43:53 +0000 Subject: [OpenJDK 2D-Dev] hg: jdk8/2d/hotspot: 52 new changesets Message-ID: <20130501154551.BE69A4873B@hg.openjdk.java.net> Changeset: d080f5168deb Author: katleman Date: 2013-04-25 09:24 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/d080f5168deb Added tag jdk8-b87 for changeset d4c266784660 ! .hgtags Changeset: c60f69931e1a Author: amurillo Date: 2013-04-11 21:54 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/c60f69931e1a 8011949: new hotspot build - hs25-b29 Reviewed-by: jcoomes ! make/hotspot_version Changeset: 35f8765422b9 Author: zgu Date: 2013-04-10 08:55 -0400 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/35f8765422b9 8010151: nsk/regression/b6653214 fails "assert(snapshot != NULL) failed: Worker should not be started" Summary: Fixed a racing condition when shutting down NMT while worker thread is being started, also fixed a few mis-declared volatile pointers. Reviewed-by: dholmes, dlong ! src/share/vm/runtime/thread.hpp ! src/share/vm/services/memTrackWorker.cpp ! src/share/vm/services/memTrackWorker.hpp ! src/share/vm/services/memTracker.cpp ! src/share/vm/services/memTracker.hpp Changeset: f2c0ccccc6b6 Author: rdurbin Date: 2013-04-16 08:59 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/f2c0ccccc6b6 Merge Changeset: 71013d764f6e Author: johnc Date: 2013-04-10 10:57 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/71013d764f6e 8010780: G1: Eden occupancy/capacity output wrong after a full GC Summary: Move the calculation and recording of eden capacity to the start of a GC and print a detailed heap transition for full GCs. Reviewed-by: tschatzl, jmasa ! src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp ! src/share/vm/gc_implementation/g1/g1CollectorPolicy.cpp ! src/share/vm/gc_implementation/g1/g1CollectorPolicy.hpp Changeset: c0000f77bc6d Author: johnc Date: 2013-04-11 10:20 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/c0000f77bc6d Merge ! src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp Changeset: 9aa8d8037ee3 Author: mgerdin Date: 2013-04-16 12:46 +0200 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/9aa8d8037ee3 Merge ! src/share/vm/gc_implementation/g1/g1CollectorPolicy.cpp Changeset: df254344edf1 Author: jmasa Date: 2013-04-01 10:50 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/df254344edf1 8011173: NPG: Replace the ChunkList implementation with class FreeList Reviewed-by: mgerdin, tschatzl, johnc, coleenp ! src/share/vm/memory/metaspace.cpp Changeset: f2e682ef3156 Author: johnc Date: 2013-04-17 10:57 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/f2e682ef3156 8012335: G1: Fix bug with compressed oops in template interpreter on x86 and sparc. Summary: In do_oop_store the uncompressed value of the oop being stored needs to be preserved and passed to g1_write_barrier_post. This is necessary for the heap region cross check to work correctly. Reviewed-by: coleenp, johnc Contributed-by: Martin Doerr ! src/cpu/sparc/vm/templateTable_sparc.cpp ! src/cpu/x86/vm/templateTable_x86_64.cpp Changeset: 07a4efc5ed14 Author: brutisso Date: 2013-04-18 06:50 +0200 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/07a4efc5ed14 8012455: Missing time and date stamps for PrintGCApplicationConcurrentTime and PrintGCApplicationStoppedTime Summary: also reviewed by: kirk at kodewerk.com, brandon at twitter.com Reviewed-by: tschatzl, stefank, johnc ! src/share/vm/services/runtimeService.cpp Changeset: cbf8c8c25bbe Author: mgerdin Date: 2013-04-18 14:38 +0200 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/cbf8c8c25bbe Merge Changeset: aeaca88565e6 Author: jiangli Date: 2013-04-09 17:17 -0400 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/aeaca88565e6 8010862: The Method counter fields used for profiling can be allocated lazily. Summary: Allocate the method's profiling related metadata until they are needed. Reviewed-by: coleenp, roland ! agent/src/share/classes/sun/jvm/hotspot/oops/Method.java + agent/src/share/classes/sun/jvm/hotspot/oops/MethodCounters.java ! src/cpu/sparc/vm/cppInterpreter_sparc.cpp ! src/cpu/sparc/vm/interp_masm_sparc.cpp ! src/cpu/sparc/vm/interp_masm_sparc.hpp ! src/cpu/sparc/vm/templateInterpreter_sparc.cpp ! src/cpu/sparc/vm/templateTable_sparc.cpp ! src/cpu/x86/vm/cppInterpreter_x86.cpp ! src/cpu/x86/vm/interp_masm_x86_32.cpp ! src/cpu/x86/vm/interp_masm_x86_32.hpp ! src/cpu/x86/vm/interp_masm_x86_64.cpp ! src/cpu/x86/vm/interp_masm_x86_64.hpp ! src/cpu/x86/vm/templateInterpreter_x86_32.cpp ! src/cpu/x86/vm/templateInterpreter_x86_64.cpp ! src/cpu/x86/vm/templateTable_x86_32.cpp ! src/cpu/x86/vm/templateTable_x86_64.cpp ! src/share/vm/c1/c1_LIRGenerator.cpp ! src/share/vm/ci/ciMethod.cpp ! src/share/vm/ci/ciMethod.hpp ! src/share/vm/ci/ciReplay.cpp ! src/share/vm/interpreter/interpreterRuntime.cpp ! src/share/vm/interpreter/interpreterRuntime.hpp ! src/share/vm/interpreter/invocationCounter.cpp ! src/share/vm/oops/method.cpp ! src/share/vm/oops/method.hpp + src/share/vm/oops/methodCounters.cpp + src/share/vm/oops/methodCounters.hpp ! src/share/vm/oops/methodData.cpp ! src/share/vm/opto/parseHelper.cpp ! src/share/vm/runtime/advancedThresholdPolicy.cpp ! src/share/vm/runtime/compilationPolicy.cpp ! src/share/vm/runtime/fprofiler.cpp ! src/share/vm/runtime/simpleThresholdPolicy.cpp ! src/share/vm/runtime/vmStructs.cpp Changeset: 42a42da29fd7 Author: jiangli Date: 2013-04-11 23:06 -0400 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/42a42da29fd7 8012052: java/lang/invoke/6987555/Test6987555.java crashes with assert(mcs != NULL) failed: MethodCounters cannot be NULL. Summary: Skip counter decay if the MethodCounters is NULL in NonTieredCompPolicy::delay_compilation(). Reviewed-by: kvn, dholmes ! src/share/vm/runtime/compilationPolicy.cpp Changeset: 8df6ddda8090 Author: jiangli Date: 2013-04-15 21:25 -0400 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/8df6ddda8090 Merge ! src/share/vm/c1/c1_LIRGenerator.cpp ! src/share/vm/interpreter/interpreterRuntime.cpp ! src/share/vm/oops/method.hpp ! src/share/vm/oops/methodData.cpp ! src/share/vm/prims/whitebox.cpp ! src/share/vm/runtime/compilationPolicy.cpp ! src/share/vm/runtime/vmStructs.cpp Changeset: 9500809ceead Author: jiangli Date: 2013-04-18 17:00 -0400 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/9500809ceead Merge ! src/cpu/sparc/vm/templateTable_sparc.cpp ! src/cpu/x86/vm/templateTable_x86_64.cpp Changeset: b8b081e53312 Author: twisti Date: 2013-04-12 12:22 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/b8b081e53312 8011933: add number of classes, methods and time spent to CompileTheWorld Reviewed-by: jrose, kvn ! src/share/vm/classfile/classLoader.cpp ! src/share/vm/classfile/classLoader.hpp Changeset: 393fd4ef89c4 Author: twisti Date: 2013-04-12 15:43 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/393fd4ef89c4 8011678: test/Makefile should pick up JT_HOME environment variable Reviewed-by: kvn ! test/Makefile Changeset: f36e073d56a4 Author: drchase Date: 2013-04-12 15:53 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/f36e073d56a4 7104565: trim jprt build targets Summary: remove JPRT debug builds, remove -DDEBUG -DFASTDEBUG and use ASSERT instead in sources Reviewed-by: dholmes, kvn, coleenp ! make/Makefile ! make/bsd/Makefile ! make/bsd/makefiles/buildtree.make ! make/bsd/makefiles/debug.make ! make/bsd/makefiles/defs.make ! make/bsd/makefiles/fastdebug.make - make/bsd/makefiles/jvmg.make - make/bsd/makefiles/profiled.make ! make/jprt.properties ! make/linux/Makefile ! make/linux/makefiles/buildtree.make ! make/linux/makefiles/debug.make ! make/linux/makefiles/defs.make ! make/linux/makefiles/fastdebug.make - make/linux/makefiles/jvmg.make - make/linux/makefiles/profiled.make ! make/solaris/Makefile ! make/solaris/makefiles/buildtree.make ! make/solaris/makefiles/debug.make ! make/solaris/makefiles/defs.make ! make/solaris/makefiles/fastdebug.make - make/solaris/makefiles/jvmg.make - make/solaris/makefiles/profiled.make ! make/windows/build.make ! make/windows/makefiles/defs.make ! make/windows/makefiles/vm.make ! make/windows/projectfiles/compiler2/ADLCompiler.dsp ! make/windows/projectfiles/tiered/ADLCompiler.dsp ! src/cpu/sparc/vm/frame_sparc.cpp ! src/os/bsd/dtrace/generateJvmOffsets.cpp ! src/os/solaris/dtrace/generateJvmOffsets.cpp ! src/os/windows/vm/os_windows.cpp ! src/share/tools/hsdis/Makefile ! src/share/vm/classfile/stackMapFrame.hpp ! src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp ! src/share/vm/memory/allocation.hpp ! src/share/vm/runtime/vmThread.cpp Changeset: bc63dd2539a4 Author: kvn Date: 2013-04-12 20:37 -0400 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/bc63dd2539a4 Merge ! make/bsd/makefiles/debug.make - make/bsd/makefiles/jvmg.make - make/bsd/makefiles/profiled.make ! make/linux/makefiles/debug.make - make/linux/makefiles/jvmg.make - make/linux/makefiles/profiled.make ! make/solaris/makefiles/debug.make - make/solaris/makefiles/jvmg.make - make/solaris/makefiles/profiled.make Changeset: 886d1fd67dc3 Author: drchase Date: 2013-04-12 19:14 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/886d1fd67dc3 6443505: Ideal() function for CmpLTMask Summary: Repair wrong code generation, added new matching rule Reviewed-by: kvn, twisti ! src/cpu/sparc/vm/sparc.ad ! src/cpu/x86/vm/x86_32.ad ! src/cpu/x86/vm/x86_64.ad ! src/share/vm/opto/cfgnode.cpp + test/compiler/6443505/Test6443505.java Changeset: bb4a966cc68f Author: roland Date: 2013-04-15 09:42 +0200 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/bb4a966cc68f 8011582: assert(nbits == 32 || (-(1 << nbits-1) <= x && x < ( 1 << nbits-1))) failed: value out of range Summary: c1 runtime's predicate_failed_trap should use jump_to on sparc Reviewed-by: kvn ! src/cpu/sparc/vm/c1_Runtime1_sparc.cpp Changeset: 1c6887c9afaa Author: twisti Date: 2013-04-15 16:20 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/1c6887c9afaa 7172922: export_ makefile targets do not work unless all supported variants are built Reviewed-by: dholmes, kvn ! make/Makefile Changeset: acadb114c818 Author: roland Date: 2013-04-15 17:17 +0200 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/acadb114c818 8011648: C1: optimized build is broken after 7153771 Summary: missing #ifdef ASSERT Reviewed-by: kvn ! src/share/vm/c1/c1_Canonicalizer.cpp ! src/share/vm/c1/c1_Canonicalizer.hpp ! src/share/vm/c1/c1_Instruction.hpp ! src/share/vm/c1/c1_InstructionPrinter.cpp ! src/share/vm/c1/c1_InstructionPrinter.hpp ! src/share/vm/c1/c1_LIR.cpp ! src/share/vm/c1/c1_LIR.hpp ! src/share/vm/c1/c1_LIRGenerator.cpp ! src/share/vm/c1/c1_LIRGenerator.hpp ! src/share/vm/c1/c1_Optimizer.cpp ! src/share/vm/c1/c1_RangeCheckElimination.hpp ! src/share/vm/c1/c1_ValueMap.hpp Changeset: b105029fdbfd Author: roland Date: 2013-04-15 18:42 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/b105029fdbfd Merge Changeset: 8373c19be854 Author: neliasso Date: 2013-04-16 10:08 +0200 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/8373c19be854 8011621: live_ranges_in_separate_class.patch Reviewed-by: kvn, roland Contributed-by: niclas.adlertz at oracle.com ! make/bsd/makefiles/vm.make ! make/linux/makefiles/vm.make ! make/solaris/makefiles/vm.make ! make/windows/create_obj_files.sh - src/os/bsd/vm/chaitin_bsd.cpp - src/os/linux/vm/chaitin_linux.cpp - src/os/solaris/vm/chaitin_solaris.cpp - src/os/windows/vm/chaitin_windows.cpp ! src/share/vm/opto/chaitin.cpp ! src/share/vm/opto/chaitin.hpp ! src/share/vm/opto/coalesce.cpp ! src/share/vm/opto/coalesce.hpp ! src/share/vm/opto/compile.cpp ! src/share/vm/opto/idealGraphPrinter.cpp ! src/share/vm/opto/ifg.cpp ! src/share/vm/opto/live.cpp ! src/share/vm/opto/live.hpp ! src/share/vm/opto/postaloc.cpp ! src/share/vm/opto/reg_split.cpp ! src/share/vm/opto/regalloc.hpp ! src/share/vm/runtime/vmStructs.cpp Changeset: c89eab0b6b30 Author: neliasso Date: 2013-04-16 10:37 -0400 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/c89eab0b6b30 Merge - src/os/bsd/vm/chaitin_bsd.cpp - src/os/linux/vm/chaitin_linux.cpp - src/os/solaris/vm/chaitin_solaris.cpp - src/os/windows/vm/chaitin_windows.cpp Changeset: 4b2eebe03f93 Author: iignatyev Date: 2013-04-16 10:04 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/4b2eebe03f93 8011971: WB API doesn't accept j.l.reflect.Constructor Reviewed-by: kvn, vlivanov ! src/share/vm/prims/whitebox.cpp ! test/compiler/whitebox/ClearMethodStateTest.java ! test/compiler/whitebox/CompilerWhiteBoxTest.java ! test/compiler/whitebox/DeoptimizeAllTest.java ! test/compiler/whitebox/DeoptimizeMethodTest.java ! test/compiler/whitebox/EnqueueMethodForCompilationTest.java ! test/compiler/whitebox/IsMethodCompilableTest.java ! test/compiler/whitebox/MakeMethodNotCompilableTest.java ! test/compiler/whitebox/SetDontInlineMethodTest.java ! test/compiler/whitebox/SetForceInlineMethodTest.java ! test/testlibrary/whitebox/sun/hotspot/WhiteBox.java Changeset: a7fb14888912 Author: neliasso Date: 2013-04-11 13:57 +0200 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/a7fb14888912 8006952: Slow VM due to excessive code cache freelist iteration Summary: Remove continous free block requirement Reviewed-by: kvn ! src/share/vm/code/codeBlob.cpp ! src/share/vm/code/codeCache.cpp ! src/share/vm/code/codeCache.hpp ! src/share/vm/code/nmethod.cpp ! src/share/vm/compiler/compileBroker.cpp ! src/share/vm/memory/heap.cpp ! src/share/vm/memory/heap.hpp ! src/share/vm/opto/output.cpp Changeset: dedc8563e33d Author: bharadwaj Date: 2013-04-18 16:04 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/dedc8563e33d Merge - make/bsd/makefiles/jvmg.make - make/bsd/makefiles/profiled.make - make/linux/makefiles/jvmg.make - make/linux/makefiles/profiled.make - make/solaris/makefiles/jvmg.make - make/solaris/makefiles/profiled.make - src/os/bsd/vm/chaitin_bsd.cpp - src/os/linux/vm/chaitin_linux.cpp - src/os/solaris/vm/chaitin_solaris.cpp - src/os/windows/vm/chaitin_windows.cpp Changeset: 2a9d97b57920 Author: bharadwaj Date: 2013-04-19 03:13 -0400 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/2a9d97b57920 Merge - make/bsd/makefiles/jvmg.make - make/bsd/makefiles/profiled.make - make/linux/makefiles/jvmg.make - make/linux/makefiles/profiled.make - make/solaris/makefiles/jvmg.make - make/solaris/makefiles/profiled.make - src/os/bsd/vm/chaitin_bsd.cpp - src/os/linux/vm/chaitin_linux.cpp - src/os/solaris/vm/chaitin_solaris.cpp - src/os/windows/vm/chaitin_windows.cpp ! src/share/vm/c1/c1_LIRGenerator.cpp ! src/share/vm/prims/whitebox.cpp ! src/share/vm/runtime/vmStructs.cpp Changeset: 01d5f04e64dc Author: amurillo Date: 2013-04-19 09:58 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/01d5f04e64dc Merge ! make/bsd/makefiles/fastdebug.make - make/bsd/makefiles/jvmg.make - make/bsd/makefiles/profiled.make - make/linux/makefiles/jvmg.make - make/linux/makefiles/profiled.make - make/solaris/makefiles/jvmg.make - make/solaris/makefiles/profiled.make - src/os/bsd/vm/chaitin_bsd.cpp - src/os/linux/vm/chaitin_linux.cpp - src/os/solaris/vm/chaitin_solaris.cpp - src/os/windows/vm/chaitin_windows.cpp ! test/testlibrary/whitebox/sun/hotspot/WhiteBox.java Changeset: 0491c26b1f1d Author: amurillo Date: 2013-04-19 09:58 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/0491c26b1f1d Added tag hs25-b29 for changeset 01d5f04e64dc ! .hgtags Changeset: f78763f49817 Author: amurillo Date: 2013-04-19 10:09 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/f78763f49817 8012559: new hotspot build - hs25-b30 Reviewed-by: jcoomes ! make/hotspot_version Changeset: 63e31ce40bdb Author: hseigel Date: 2013-04-17 08:20 -0400 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/63e31ce40bdb 8009928: PSR:PERF Increase default string table size Summary: Increase default string table size to 60013 for 64-bit platforms. Reviewed-by: coleenp, dholmes ! src/share/vm/runtime/arguments.cpp ! src/share/vm/utilities/globalDefinitions.hpp Changeset: b80cc96882f7 Author: zgu Date: 2013-04-18 10:04 -0400 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/b80cc96882f7 8012464: NMT: classes should not derive from _ValueObj, use VALUE_OBJ_CLASS_SPEC instead Summary: NMT value objects should use VALUE_OBJ_CLASS_SPEC instead of deriving from _ValueObj Reviewed-by: coleenp, hseigel, dholmes ! src/share/vm/services/memBaseline.hpp ! src/share/vm/services/memPtr.hpp ! src/share/vm/services/memSnapshot.hpp ! src/share/vm/services/memTrackWorker.hpp Changeset: 41ed397cc0cd Author: bharadwaj Date: 2013-04-18 08:05 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/41ed397cc0cd 8006267: InterfaceMethod_ref should allow invokestatic and invokespecial Summary: Lambda changes; spec 0.6.2 - Allow static invokestatic and invokespecial calls to InterfaceMethod_ref Reviewed-by: dholmes, acorn ! src/share/vm/classfile/classFileParser.cpp ! src/share/vm/classfile/genericSignatures.cpp ! src/share/vm/interpreter/linkResolver.cpp ! src/share/vm/prims/methodHandles.cpp Changeset: 7815eaceaa8c Author: bharadwaj Date: 2013-04-18 14:03 -0400 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/7815eaceaa8c Merge Changeset: 6f817ce50129 Author: minqi Date: 2013-04-19 11:08 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/6f817ce50129 8010992: Remove calls to global ::operator new[] and new Summary: disable use of global operator new and new[] which could cause unexpected exception and escape from NMT tracking. Reviewed-by: coleenp, dholmes, zgu Contributed-by: yumin.qi at oracle.com ! src/os/windows/vm/os_windows.cpp ! src/share/vm/classfile/altHashing.cpp ! src/share/vm/gc_implementation/concurrentMarkSweep/cmsCollectorPolicy.cpp ! src/share/vm/gc_implementation/g1/heapRegionRemSet.cpp ! src/share/vm/memory/allocation.cpp ! src/share/vm/memory/allocation.hpp ! src/share/vm/memory/allocation.inline.hpp ! src/share/vm/memory/cardTableModRefBS.cpp ! src/share/vm/memory/cardTableModRefBS.hpp ! src/share/vm/memory/cardTableRS.cpp ! src/share/vm/memory/cardTableRS.hpp ! src/share/vm/memory/collectorPolicy.cpp ! src/share/vm/opto/idealGraphPrinter.hpp ! src/share/vm/runtime/handles.hpp ! src/share/vm/runtime/reflectionUtils.hpp ! src/share/vm/runtime/synchronizer.cpp ! src/share/vm/runtime/thread.cpp ! src/share/vm/runtime/vmStructs.cpp ! src/share/vm/utilities/events.hpp ! src/share/vm/utilities/quickSort.cpp ! src/share/vm/utilities/workgroup.cpp ! src/share/vm/utilities/workgroup.hpp Changeset: 17c51f84773a Author: dcubed Date: 2013-04-19 13:48 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/17c51f84773a Merge Changeset: 5b6512efcdc4 Author: dcubed Date: 2013-04-19 16:51 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/5b6512efcdc4 Merge - make/bsd/makefiles/jvmg.make - make/bsd/makefiles/profiled.make - make/linux/makefiles/jvmg.make - make/linux/makefiles/profiled.make - make/solaris/makefiles/jvmg.make - make/solaris/makefiles/profiled.make - src/os/bsd/vm/chaitin_bsd.cpp - src/os/linux/vm/chaitin_linux.cpp - src/os/solaris/vm/chaitin_solaris.cpp - src/os/windows/vm/chaitin_windows.cpp ! src/os/windows/vm/os_windows.cpp ! src/share/vm/memory/allocation.hpp ! src/share/vm/runtime/vmStructs.cpp Changeset: 6337ca4dcad8 Author: sspitsyn Date: 2013-04-20 04:07 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/6337ca4dcad8 8008511: JSR 292: MemberName vmtarget refs to methods must be updated at class redefinition Summary: Lazily create and maintain the MemberNameTable to be able to update MemberName's Reviewed-by: coleenp, jrose, dholmes Contributed-by: serguei.spitsyn at oracle.com ! src/share/vm/classfile/javaClasses.cpp ! src/share/vm/classfile/javaClasses.hpp ! src/share/vm/oops/instanceKlass.cpp ! src/share/vm/oops/instanceKlass.hpp ! src/share/vm/prims/jvmtiRedefineClasses.cpp ! src/share/vm/prims/methodHandles.cpp ! src/share/vm/prims/methodHandles.hpp ! src/share/vm/runtime/mutexLocker.cpp ! src/share/vm/runtime/mutexLocker.hpp Changeset: a527ddd44e07 Author: mgronlun Date: 2013-04-20 19:02 +0200 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/a527ddd44e07 6729929: I18N - Taking Heap Dump failed if project path contains multibyte characters Reviewed-by: dholmes, rbackman Contributed-by: peter.allwin at oracle.com ! src/share/vm/services/management.cpp Changeset: 5a9fa2ba85f0 Author: dcubed Date: 2013-04-21 20:41 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/5a9fa2ba85f0 8012907: anti-delta fix for 8010992 Summary: anti-delta fix for 8010992 until 8012902 can be fixed Reviewed-by: acorn, minqi, rdurbin ! src/os/windows/vm/os_windows.cpp ! src/share/vm/classfile/altHashing.cpp ! src/share/vm/gc_implementation/concurrentMarkSweep/cmsCollectorPolicy.cpp ! src/share/vm/gc_implementation/g1/heapRegionRemSet.cpp ! src/share/vm/memory/allocation.cpp ! src/share/vm/memory/allocation.hpp ! src/share/vm/memory/allocation.inline.hpp ! src/share/vm/memory/cardTableModRefBS.cpp ! src/share/vm/memory/cardTableModRefBS.hpp ! src/share/vm/memory/cardTableRS.cpp ! src/share/vm/memory/cardTableRS.hpp ! src/share/vm/memory/collectorPolicy.cpp ! src/share/vm/opto/idealGraphPrinter.hpp ! src/share/vm/runtime/handles.hpp ! src/share/vm/runtime/reflectionUtils.hpp ! src/share/vm/runtime/synchronizer.cpp ! src/share/vm/runtime/thread.cpp ! src/share/vm/runtime/vmStructs.cpp ! src/share/vm/utilities/events.hpp ! src/share/vm/utilities/quickSort.cpp ! src/share/vm/utilities/workgroup.cpp ! src/share/vm/utilities/workgroup.hpp Changeset: cc12becb22e7 Author: dcubed Date: 2013-04-21 21:05 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/cc12becb22e7 Merge ! src/os/windows/vm/os_windows.cpp ! src/share/vm/memory/allocation.hpp ! src/share/vm/runtime/vmStructs.cpp Changeset: ce6d7e43501c Author: bharadwaj Date: 2013-04-23 08:12 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/ce6d7e43501c 8012961: Do not restrict static interface methods to be private Summary: Lambda changes; spec 0.6.2 - remove the restriction that was added as part of recent changes made to support upcoming changes to compilation of lambda methods. Reviewed-by: dholmes, acorn ! src/share/vm/prims/methodHandles.cpp Changeset: 1ea6a35dcbe5 Author: jiangli Date: 2013-04-23 12:32 -0400 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/1ea6a35dcbe5 8012927: 'assert(nbits == 32 || (-(1 << nbits-1) <= x && x < ( 1 << nbits-1))) failed: value out of range' in interpreter initialization. Summary: Change br_null_short() to br_null(). Reviewed-by: coleenp, hseigel ! src/cpu/sparc/vm/interp_masm_sparc.cpp Changeset: 35c15dad89ea Author: roland Date: 2013-04-16 17:06 +0200 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/35c15dad89ea 8011901: Unsafe.getAndAddLong(obj, off, delta) does not work properly with long deltas Summary: instruct xaddL_no_res shouldn't allow 64 bit constants. Reviewed-by: kvn ! src/cpu/x86/vm/x86_64.ad + test/compiler/8011901/Test8011901.java Changeset: 6a3629cf7075 Author: roland Date: 2013-04-24 09:42 +0200 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/6a3629cf7075 8011771: runThese crashed with EAV Summary: Array bound check elimination's in block motion doesn't always reset its data structures from one step to the other. Reviewed-by: kvn, twisti ! src/share/vm/c1/c1_RangeCheckElimination.cpp Changeset: 47766e2d2527 Author: jiangli Date: 2013-04-24 18:20 -0400 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/47766e2d2527 8013041: guarantee(this->is8bit(imm8)) failed: Short forward jump exceeds 8-bit offset. Summary: Change jmpb() to jmp(). Reviewed-by: coleenp, rdurbin, dcubed ! src/cpu/x86/vm/templateInterpreter_x86_32.cpp ! src/cpu/x86/vm/templateInterpreter_x86_64.cpp Changeset: e8a7a5995e65 Author: bharadwaj Date: 2013-04-25 13:10 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/e8a7a5995e65 Merge Changeset: c4af77d20454 Author: amurillo Date: 2013-04-26 00:29 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/c4af77d20454 Merge ! .hgtags - make/bsd/makefiles/jvmg.make - make/bsd/makefiles/profiled.make - make/linux/makefiles/jvmg.make - make/linux/makefiles/profiled.make - make/solaris/makefiles/jvmg.make - make/solaris/makefiles/profiled.make - src/os/bsd/vm/chaitin_bsd.cpp - src/os/linux/vm/chaitin_linux.cpp - src/os/solaris/vm/chaitin_solaris.cpp - src/os/windows/vm/chaitin_windows.cpp Changeset: 8482058e74bc Author: amurillo Date: 2013-04-26 00:29 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/8482058e74bc Added tag hs25-b30 for changeset c4af77d20454 ! .hgtags From philip.race at oracle.com Wed May 1 19:30:47 2013 From: philip.race at oracle.com (Phil Race) Date: Wed, 01 May 2013 12:30:47 -0700 Subject: [OpenJDK 2D-Dev] Request for review [XS]: The XRender backend fails to render any glyphs on 64-bit Big-endian architectures In-Reply-To: References: Message-ID: <51816D67.9050401@oracle.com> Volker .. thanks for the patch looks good although I ask that you break the source code lines at no more than 80 chars .. that's the norm/standard we have always used There actually is an open bug on this you can use :- 7191872: The panel does not include any information for each case on solaris11-sparc. -phil. On 4/26/2013 7:02 AM, Volker Simonis wrote: > Hi, > > I've found and fixed a problem of the XRender pipeline on 64-bit > Big-endian architectures which leads to the effect that all AWT/Swing > applications will run as expected but won't actually display any > character glyphs at all! This seems to be a "day-one" bug which still > exists in both, JDK7 and JDK8 but probably didn't pop up until now > because the XRender backend wasn't enabled by default. This has > however changed recently in JDK8. > > Could somebody please open a bug for this issue and review the change: > > http://cr.openjdk.java.net/~simonis/webrevs/webrev_xrender.v1/ > > The fix is small and straightforward. > You can read the full story below (or the HTML-version in the webrev > for a better reading experience). > > Thank you and best regards, > Volker > > > > Problem description > > The XRender backend writes some native data-structures which have the > size of a native pointer (i.e. 32-bit on 32-bit architectures and > 64-bit on 64-bit architectures) by using Unsafe.putInt(). This is of > course not safe and breaks on 64-bit Big-endian architectures like > SPARC, PPC64 or HPUX/IA64. The concrete problem is in the method > setGlyphID in src/solaris/classes/sun/font/XRGlyphCacheEntry.java: > > public static void setGlyphID(long glyphInfoPtr, int id) { > StrikeCache.unsafe.putInt(glyphInfoPtr + StrikeCache.cacheCellOffset, id); > } > > which writes the offending field and in the function > Java_sun_java2d_xr_XRBackendNative_XRAddGlyphsNative in > src/solaris/native/sun/java2d/x11/XRBackendNative.c which reads this > field: > > for (i=0; i < glyphCnt; i++) { > GlyphInfo *jginfo = (GlyphInfo *) jlong_to_ptr(glyphInfoPtrs[i]); > > gid[i] = (Glyph) (0x0ffffffffL & ((unsigned long)(jginfo->cellInfo))); > > Actually, they both access the cellInfo field of a GlypInfo structure > which has the size of a native pointer (see > src/share/native/sun/font/fontscalerdefs.h): > > struct GlyphInfo { > float advanceX; > float advanceY; > UInt16 width; > UInt16 height; > UInt16 rowBytes; > UInt8 managed; > float topLeftX; > float topLeftY; > void *cellInfo; > UInt8 *image; > } > > The native reader reads the field as a void* and casts it into an > unsigned long. On Big-endian architectures this shifts the integer > value which had been previously written in setGlyphID() by 32 bits to > the left such that the final 'anding' with 0x0ffffffffL will always > lead to a zero result (on Little-endian architectures there's no > problem because the 4-byte integer value lies in the 'right' half of > the 8-byte long value). > > How to reproduce the problem > > This finally leads to the effect that all AWT/Swing applications will > run as expected but won't actually display any character glyphs at > all! This behavior is reproducible with every JDK7 and JDK8. You just > have to set the property -Dsun.java2d.xrender=True and make sure that > the actual Xserver which displays the application window really > supports the XRender extension. Using -Dsun.java2d.xrender=True (with > capital 'T') will print a debugging line which confirms whether the > XRender pipeline will be used ('XRender pipeline enabled') or not > ('Could not enable XRender pipeline'). > > Notice that the XRender pipeline was switched off by default in JDK7 > but is currently switched on by default in JDK8. However if the > displaying X-server doesn't support XRender there's always a silent > fallback to the plain X11 rendering pipeline. So you need an XRender > capable X server to reproduce this problem. > > How to fix the problem > > Fixing the problem is easy: we just have to replace the offending > Unsafe.putInt()/Unsafe.getInt() accesses with corresponding > Unsafe.putAddress()/Unsafe.getAddress() calls. These routines > write/read 4 byte in 32-bit VMs and 8 byte on 64-bit VMs (actually > they read/write Unsafe.addressSize() bytes which corresponds to the > mentioned values). > > Other cleanups in the patch > > Once I've fixed the problem, I've also cleaned up several other > occurrences of the following pattern: > > long pixelDataAddress; > if (StrikeCache.nativeAddressSize == 4) { > pixelDataAddress = 0xffffffff & > StrikeCache.unsafe.getInt(glyphInfoPtr + StrikeCache.pixelDataOffset); > } else { > pixelDataAddress = StrikeCache.unsafe.getLong(glyphInfoPtr + > StrikeCache.pixelDataOffset); > } > long pixelDataAddress = StrikeCache.unsafe.getAddress(glyphInfoPtr + > StrikeCache.pixelDataOffset); > > The intention of this code is to load a native pointer and store it > into a Java long variable. On 32-bit architectures it uses > Unsafe.getInt() to read the value and masks the result with 0xffffffff > after converting it into a Java long value (which is actually the same > as doing a zero-extension of a 32-bit value during the conversion into > a 64-bit value). On 64-bit architectures it simply uses > Unsafe.getLong() to read the value. > > The previous code can be simplified into a single expression by always > using Unsafe.getAddress(): > > long pixelDataAddress = StrikeCache.unsafe.getAddress(glyphInfoPtr + > StrikeCache.pixelDataOffset); > > because Unsafe.getAddress() does exactly the same thing: it reads a > native pointer and returns it as a Java long value. In the case where > the native pointer is less than 64 bits wide, it is extended as an > unsigned number to a Java long (see JavaDoc of > sun.misc.Unsafe.getAddress()). > > I've also simplified the following line in the function > Java_sun_java2d_xr_XRBackendNative_XRAddGlyphsNative in > src/solaris/native/sun/java2d/x11/XRBackendNative.c: > > - gid[i] = (Glyph) (0x0ffffffffL & ((unsigned long)(jginfo->cellInfo))); > + // 'jginfo->cellInfo' is of type 'void*' (see definition of > 'GlyphInfo' in fontscalerdefs.h) > + // 'Glyph' is typedefed to 'unsigned long' (see > http://www.x.org/releases/X11R7.7/doc/libXrender/libXrender.txt) > + // Maybe we should assert that (sizeof(void*) == sizeof(Glyph)) ? > + gid[i] = (Glyph) (jginfo->cellInfo); > > because Glyph is typedefed to unsigned long anyway. The > 'zero-extension' of the result is unnecessary as well because we're > actually reading an integer value here and not a pointer. From bourges.laurent at gmail.com Thu May 2 08:48:25 2013 From: bourges.laurent at gmail.com (=?ISO-8859-1?Q?Laurent_Bourg=E8s?=) Date: Thu, 2 May 2013 10:48:25 +0200 Subject: [OpenJDK 2D-Dev] sun.java2D.Pisces renderer Performance and Memory enhancements In-Reply-To: <51806526.8070808@oracle.com> References: <516DBFBF.20504@oracle.com> <5175A611.9080004@oracle.com> <5177345D.4060408@oracle.com> <517822F0.4040800@oracle.com> <51806526.8070808@oracle.com> Message-ID: Jim, thanks for this long explanations and I agree you approach using semi-open intervals. I have the feeling that pisces was not so accurate implementing it. My comments in the text: I have few questions regarding renderer edge handling and float ceil calls: >> > > I have a personal philosophy for all rendering engines that I've produced, > but I'm not sure the philosophy was adopted for this code. I like to use > the same rounding for every operation and have all ranges be specified as > semi-open regions - x1 <= x < x2 - for example. > > The "insideness" rule is most naturally expressed by semi-open intervals > since pixel centers that fall on a vertical boundary are inside if the > interior region is to their right (i.e. the x1 <= x half of that equation > above) and they are outside if the space to their right is non-interior > (i.e. the x < x2 half of that equation). A similar rule is also used > vertically. > > The rounding operation which computes this would be: > > xc = computed crossing value for the current scan line; > ceil(xc - 0.5); > Agreed; however, pisces code never performs such rounding: for me, ceil(x - 0.5) means (int) Math.round(x). > > This maps (for some integer k): > > k+0.4999 to k > k+0.5000 to k > k+0.5001 to k+1 > > Which is exactly what you want for the beginning of a region. If the > crossing is exactly at the pixel center then that is the furthest right > that you can cross the scan line and still include pixel k. If you just > miss the center of a pixel to the right, then the first pixel to be > included is k+1. That function computes it correctly. > > Similarly, if you apply the same formula to the right edge of a region > then you compute "the first pixel to not be included in the region. > Consider that if you miss a pixel center on that right edge by falling > slightly to the left of it, then that pixel is "outside" and it is the > first such pixel to be "outside". If you hit its pixel center exactly, > then the insideness rule also says that it is "outside". Only when you > just miss it by falling slightly to the right of its center would that > pixel still be included. The above formula computes that value if you take > its answer to be the "first pixel not included in the region". > > This lets you perform the same rounding on every value and treat every > pair of "inside trigger" to "outside trigger" as a half-open interval. Note > that otherwise you'd have to compute every floating point crossing, then > run the EvenOdd vs. ZeroWinding rule on them, and finally only do the > rounding after you knew which were left edges and which were right (which > you don't know until you've computed every crossing on the scan line). > Since this rounding rule is symmetric given half-open intervals then you > can round everything before you've analyzed the results of the winding > rules. > > I then extend that philosophy to every set of coordinates I deal with, be > it horizontal ranges, vertical ranges, shape rasterized results, or clip > results, and the math usually works out in the simplest and most elegant > way possible. > > For an AA renderer, it isn't clear that the sub-pixel computations should > be as sub-sub-pixely accurate, but I'd like to think that the philosophy > should be kept down to the lowest layers if we can, especially as this code > can be tuned down to a single sub-pixel per real pixel and then it > definitely should be as accurate as it can with the insideness rule (even > though I doubt it will ever be set up that way). > > Another consideration is the vertices on an enclosing polygon. You > compute one segment to where it ends at xe1,ye1 and start computing the > next segment from where it starts at xs2,ys2, but for adjacent segments in > an outline, they start and end on a shared common point so xe1==xs2 and > ye1==ys2. If you compute crossings for both segments at that shared point > then you have a chance of recording the crossings twice for that tiny chunk > of the outline. You could special case the last point in a segment, but > that gets into lots of tricky tests. On the other hand, if all intervals > everywhere are half-open then anything you compute for xe1,ye1 would > represent "the first line/pixel that segment 1 does not cause to be > included" and computing the same values for xs2,ys2 would naturally > generate "the first line/pixel that segment 2 causes to be included" and > only one of them would induce inclusion on that scan line or pixel. This > gets even more valuable when you consider all cases of segment 1 going down > to xe1,ye1 and segment 2 going back up from that point, or up/down or up/up > or down/down - and also left/left or left/right or right/right or > right/left. All possible cases of how one segment arrives at xe1,ye1 and > the next segment leaves from that same point just naturally fall out from > using symmetric rounding and half-open intervals. > > I wanted to get that out to see if we were on the same page or if there > was another way of doing the math that you are familiar with that might > also make things easier. > Perfect and very clear. I will then check pisces rounding either on pixel coordinates (px, py) or AA (virtual) pixel coordinates (spx, spy). > I'm pretty sure that most of the code in the current version of Pisces > uses that same philosophy, but I seem to recall that there were a couple of > places that Denis was more comfortable with fully closed intervals. I don't > remember the details, but be on the watch for it. Also, I don't recall if > it used a half-sub-pixel bias anywhere or simply punted on it as not being > visible enough to worry about strict "center of sub-pixel" comparisons. > I am perplex and I am going to check pisces code against your given approach. > Now on to the specific questions: > > > private void addLine(float x1, float y1, float x2, float y2) { >> ... >> // LBO: why ceil ie upper integer ? >> final int firstCrossing = Math.max(ceil(y1), boundsMinY); // >> upper integer >> final int lastCrossing = Math.min(ceil(y2), boundsMaxY); // >> upper integer >> > > Perhaps lastCrossing is misnamed. I think it represents the end of the > interval which is half-open. Does that match the rest of the operations > done on it? > > If every coordinate has already been biased by the -0.5 then ceil is just > the tail end of the rounding equation I gave above. > That's not the case => buggy: x1, y1 and x2, y2 are directly the point coordinates as float values. FYI, firstCrossing is used to compute the first X intersection for that Y coordinate and determine the bucketIdx: _edges[ptr+CURX] = x1 + (firstCrossing - y1) * slope; ... final int bucketIdx = firstCrossing - boundsMinY; ... _edges[ptr+NEXT] = edgeBuckets[bucketIdx]; lastCrossing is used to give the YMax edge coordinate and edgedBucketCounts: _edges[ptr+YMAX] = lastCrossing; ... edgeBucketCounts[lastCrossing - boundsMinY] |= 1; I think rounding errors can lead to pixel / shape rasterization deformations ... ? > If not, then the half-open considerations still apply if you use the same > rounding for both the top and the bottom of the segment. If lastCrossing > represents the "bottom of the shape" then it should not be included. If > the next segment continues on from it, then its y1 will be computed in the > first equation and will represent the first scanline that the next segment > participates in. > > > => firstCrossing / lastCrossing should use lower and upper integer >> values (rounding issues) ? >> > > Do they make sense now given my explanation above? Perhaps they should be > renamed to indicate their half-openness? I am a bit embarrassed to verify maths performed in ScanLineIterator.next() which use edges and edgeBucketCounts arrays ... could you have a look ? Apparently, it uses the following for loop that respects the semi-open interval philosophy: for (int i = 0, ecur, j, k; i < count; i++) { ... However, I am not sure if the edges "linked list" is traversed correctly ... boolean endRendering() { >> // TODO: perform shape clipping to avoid dealing with segments >> out of bounding box >> >> // Ensure shape edges are within bbox: >> if (edgeMinX > edgeMaxX || edgeMaxX < 0f) { >> return false; // undefined X bounds or negative Xmax >> } >> if (edgeMinY > edgeMaxY || edgeMaxY < 0f) { >> return false; // undefined Y bounds or negative Ymax >> } >> > > I'd use min >= max since if min==max then I think nothing gets generated > as a result of all edges having both the in and out crossings on the same > coordinate. Also, why not test against the clip bounds instead? The code > after that will clip the edgeMinMaxXY values against the boundsMinMax > values. If you do this kind of test after that clipping is done (on > spminmaxxy) then you can discover if all of the coordinates are outside the > clip or the region of interest. I tried here to perform few "fast" checks before doing float to int conversions (costly because millions are performed): I think it can be still improved: edgeMinX > edgeMaxX only ensures edgeMinX is defined and both are positive ! TODO: improve boundary checks here. > // why use upper integer for edge min values ? >> > > Because an edge falling between sample points includes only the sample > point "above" it. (Or "un-includes" it if it is a right/bottom edge.) > > > => Here is the question: why use ceil instead of floor ? >> >> final int eMinX = ceil(edgeMinX); // upper positive int >> if (eMinX > boundsMaxX) { >> return false; // Xmin > bbox maxX >> } >> >> final int eMinY = ceil(edgeMinY); // upper positive int >> if (eMinY > boundsMaxY) { >> return false; // Ymin > bbox maxY >> } >> >> int spminX = Math.max(eMinX, boundsMinX); >> int spmaxX = Math.min(ceil(edgeMaxX), boundsMaxX); // upper >> positive int >> int spminY = Math.max(eMinY, boundsMinY); >> int spmaxY = Math.min(ceil(edgeMaxY), boundsMaxY); // upper >> positive int >> >> int pminX = spminX >> SUBPIXEL_LG_POSITIONS_X; >> int pmaxX = (spmaxX + SUBPIXEL_MASK_X) >> >> SUBPIXEL_LG_POSITIONS_X; >> int pminY = spminY >> SUBPIXEL_LG_POSITIONS_Y; >> int pmaxY = (spmaxY + SUBPIXEL_MASK_Y) >> >> SUBPIXEL_LG_POSITIONS_Y; >> >> // store BBox to answer ptg.getBBox(): >> this.cache.init(pminX, pminY, pmaxX, pmaxY); >> >> In PiscesCache: >> void init(int minx, int miny, int maxx, int maxy) { >> ... >> // LBO: why add +1 ?? >> bboxX1 = maxx /* + 1 */; >> bboxY1 = maxy /* + 1 */; >> > > I think the values passed in are "the smallest and largest values we > encountered" and so adding one computes the first coordinate that is "not > inside the sample region" as per the half-open philosophy. > > I tend to use and encourage "min/max" naming for closed-interval values > and xy0/xy1 or xy1/xy2 for half-open-interval values. > > > => piscesCache previously added +1 to maximum (upper loop condition y < >> y1) >> but the pmaxX already uses ceil (+1) and (spmaxY + SUBPIXEL_MASK_Y) >> ensures the last pixel is reached. >> > > spmaxY + SUBPIXEL_MASK_Y computes the last sub-pixel piece of the last > pixel. It is essentially equivalen to "lastrow.9999999". So, the first > coordinate not included would be "lastrow+1" which is simply adding +1 to > the sub-pixel "max" value that was given. I understand but I figured out that pmaxX or pmaxY (pixel coordinates) may lead to upper integer: - spmaxY >> SUBPIXEL_LG_POSITIONS_Y => 6 - (spmaxY + SUBPIXEL_MASK_Y) >> SUBPIXEL_LG_POSITIONS_Y => 7 So adding +1 in piscesCache will give maxY = 8 !! > I fixed these limits to have correct rendering due to dirty rowAARLE >> reuse. >> > > If there was a bug before I'd prefer to have it fixed within the > philosophy of half-open intervals rather than trying to translate into > closed intervals - it keeps all of the code on the same page. > I think it was not a real bug as new rowAARLE[][] was big enough and zero filled so it led to only larger boundaries and tiles. > > 2013/4/24 Jim Graham > james.graham at oracle.com>> >> >> Do you have any faster implementation for Math.ceil/floor ? I now use >> casting 1 + (int) / (int) but I know it is only correct for positive >> numbers (> 0). >> > > ceil(integer) == integer, but your technique would return "integer+1". I > don't remember a decent technique for doing ceil with a cast. I disagree: - ceil(float) => the smallest (closest to negative infinity) floating-point value that is greater than or equal to the argument and is equal to a mathematical integer. - floor(float) => the largest (closest to positive infinity) floating-point value that less than or equal to the argument and is equal to a mathematical integer. i.e. floor(x) < x < ceil(x) Here are numbers comparing the Math.ceil / floor operations and my casting implementation (only valid for >0): floats = [-134758.4, -131.5, -17.2, -1.9, -0.9, -1.0E-8, -1.0E-23, -0.0, 0.0, 134758.4, 131.5, 17.2, 1.9, 0.9, 1.0E-8, 1.0E-23] mathCeil = [-134758, -131, -17, -1, 0, 0, 0, 0, 0, 134759, 132, 18, 2, 1, 1, 1] fastMathCeil = [-134757, -130, -16, 0, 1, 1, 1, 1, 1, 134759, 132, 18, 2, 1, 1, 1] mathFloor = [-134759, -132, -18, -2, -1, -1, -1, 0, 0, 134758, 131, 17, 1, 0, 0, 0] fastMathFloor= [-134758, -131, -17, -1, 0, 0, 0, 0, 0, 134758, 131, 17, 1, 0, 0, 0] Micro benchmark results: # FastMathCeil: run duration: 10 000 ms 4 threads, Tavg = 44,95 ns/op (? = 0,39 ns/op), Total ops = 890974137 [ 44,54 (224799696), 44,76 (223695800), 45,59 (219626233), 44,93 (222852408)] # MathCeil: run duration: 10 000 ms 4 threads, Tavg = 125,59 ns/op (? = 1,71 ns/op), Total ops = 318415673 [ 125,81 (79406107), 128,11 (78061562), 125,22 (79862351), 123,33 (81085653)] > > - clipping issues: >> for very large dashed rectangle, millions of segments are emited from >> dasher (x1) to stroker (x4 segments) to renderer (x4 segments). >> >> However, I would like to add a minimal clipping algorithm but the >> rendering pipeline seems to be handling affine transforms between stages: >> /* >> * Pipeline seems to be: >> * shape.getPathIterator >> * -> inverseDeltaTransformConsumer >> * -> Dasher >> * -> Stroker >> * -> deltaTransformConsumer OR transformConsumer >> * -> pc2d = Renderer (bounding box) >> */ >> > > If we could teach the stroker to be able to apply an elliptical pen then > we could do the transforms once up front and simplify that quite a lot. > That optimization remains TBD. We currently at least detect uniform > scales and those can be handled with a single transform up front and > multiplying all dash segment values and the line width by the uniform scale > factor. But, anything that transforms a circle into an ellipse requires us > to use the multi-stage silliness above. Could you give me more details about "elliptical pen" ie shearing shapes ? Another idea to be discussed: rounding caps are quite expensive (curve break into lines) and an optimization could determine if the cap is invisible (out of the clip bounds) or visually useless = too small ie half circle spans over less than 1 pixels (true pixel or AA pixels): any idea ? maybe I should only check if the line width is too small to renderer caps in such situations... > It is complicated to perform clipping in the Renderer and maybe to late >> as a complete stroker's segment must be considered as a whole (4 >> segments without caps ...). >> >> Could you give me advices how to hack / add clipping algorithm in the >> rendering pipeline (dasher / stroker / renderer) ? >> > > Should I try to derive a bounding box for the dasher / stroker depending >> on the Affine transforms ? >> > > Yes, that sounds right so far, but it's pretty high-level and I'm not sure > where your level of understanding here falls short...? I guess what I > would do is: > > - compute an expanded "clip box" for the stroker based on the original > clip, the transform, the line width, and the miter limit. Note that the > transform applied to the stroke coordinates varies depending on whether we > use the "uniform scaling" optimization or not > > - test coordinates for being in the expanded clip box in the > PathConsumer2D methods of Stroker. If the segment is rejected, be sure to > update all of the internal computations (normal values, last moveto coords, > etc.) that might be needed for stroking the following segment > that's the plan but I would like to do it twice: in dasher and in stroker ... maybe it should be coded once in a new PiscesClipUtils class or Helpers ... > > - unfortunately this means that dasher doesn't get the advantages, you > could add similar code to the dasher, but then you have to be sure an > entire dash is omitted before you can omit the data going on, otherwise the > stroker will not get proper incoming coordinates from "the previous segment > that was out of bounds". That could be managed with proper communication > between the dasher and stroker, but then it gets more complicated. > Agreed but maybe it should be analyzed more deeply to evaluate if it is not too hard ... > > Those are the caveats that I would keep in mind while I was designing a > solution - hope it helps some... > > ...jim > PS: I have more free time until sunday (children are away), so I would like to talk to you using skype if it is possible ? If yes, could you give me your skype account and work times (GMT time please) ? I am living in Grenoble, France (GMT+1) Thanks a lot, Laurent -------------- next part -------------- An HTML attachment was scrubbed... URL: From patrick at reini.net Thu May 2 08:50:58 2013 From: patrick at reini.net (Patrick Reinhart) Date: Thu, 02 May 2013 10:50:58 +0200 Subject: [OpenJDK 2D-Dev] Fix proposal for 9001948: UnixPrintServiceLookup not returning consistent values In-Reply-To: <517EC30A.3010409@reini.net> References: <921DCFDE-B4B9-4E51-A95E-6439111A7AC4@reini.net> <1366229461.2858.4.camel@wsccuw01.ccuw.ch> <5175A7F5.6070208@oracle.com> <7ED39034-6E81-4274-89F1-CBC9B15321AE@reini.net> <5176B668.7040405@oracle.com> <5176BD48.6060704@oracle.com> <2A33148C-51AF-4E70-8138-E9383F634C0F@reini.net> <517EC145.5080504@oracle.com> <517EC30A.3010409@reini.net> Message-ID: <20130502105058.13476sfj4cwocdte@webmail.nine.ch> Hi Jennifer Hi Phil Just wanted to ask if I can help according this problem? Patrick Quoting Patrick Reinhart : > Hi Jennifer, > > I left the existing commands as they where because I'm did not want > to change anything as a rookie (the existing change is already not > changing quit a bit) At least I tested it on my Mac to get the > System V/Mac part verified... > > I'm looking forward to read from the next steps... > > Patrick > > > On 04/29/2013 08:51 PM, Jennifer Godinez wrote: >> Yes I have and dicussed with Phil. It looks pretty good but there >> may be a safer way to fix it since the fix is still using >> lpc/lpstat commands for CUPS. Also, the regression test should be >> modified to use non internal package. Phil will give his input on >> this too. >> >> Jennifer > > > From james.graham at oracle.com Fri May 3 22:57:38 2013 From: james.graham at oracle.com (Jim Graham) Date: Fri, 03 May 2013 15:57:38 -0700 Subject: [OpenJDK 2D-Dev] sun.java2D.Pisces renderer Performance and Memory enhancements In-Reply-To: References: <516DBFBF.20504@oracle.com> <5175A611.9080004@oracle.com> <5177345D.4060408@oracle.com> <517822F0.4040800@oracle.com> <51806526.8070808@oracle.com> Message-ID: <518440E2.4080505@oracle.com> Hi Laurent, On 5/2/13 1:48 AM, Laurent Bourg?s wrote: > xc = computed crossing value for the current scan line; > ceil(xc - 0.5); > > > Agreed; however, pisces code never performs such rounding: for me, > ceil(x - 0.5) means (int) Math.round(x). (int) Math.round(x) is almost the same function, but the 0.5's map the wrong way. 3.5 gets mapped to 4 which implies that pixel #4 is the first on, or first off. But, the first pixel to change is pixel #3 in that case. For all other values it is the same. ceil(x-0.5) reverses the "open interval of rounding" to bias halfway points down instead of up. > I wanted to get that out to see if we were on the same page or if > there was another way of doing the math that you are familiar with > that might also make things easier. > > Perfect and very clear. I will then check pisces rounding either on > pixel coordinates (px, py) or AA (virtual) pixel coordinates (spx, spy). With respect to applying the "center of pixel insideness" rules to the subpixels... I have a vague memory of having the same discussion with Denis, but it seems that either he found a clever way of implementing it that I can't find, or he didn't find it helped on the quality vs. performance scale. Keep in mind that our "pixel centers include pixels" rules are described in a context that is considering a binary "is this pixel inside or not" decision, but AA processing is a different animal and an attempt to represent approximate coverages. So, applying that rule on the sub-pixel sample level of an AA rasterizer is on the gray line of blind dogmatic adherence to a philosophy from a related area. I'm not convinced that one could consider Pisces "non-compliant" with that rule since I don't think it was ever promised that the rule would apply to this case. > I am perplex and I am going to check pisces code against your given > approach. If for no other reason that to make sure that there aren't two parts of the system trying to communicate with different philosophies. You don't want a caller to hand a closed interval to a method which treats the values as half-open, for instance. If the rounding is "different, but consistent", then I think we can leave it for now and treat it as a future refinement to check if it makes any practical difference and correct. But, if it shows up a left-hand-not-talking-to-right-hand bug, then that would be good to fix sooner rather than later. I think it is OK to focus on your current task of performance and memory turmoil, but I wanted to give you the proper background to try to understand what you were reading primarily, and possibly to get you interested in cleaning up the code as you went as a secondary consideration. > Perhaps lastCrossing is misnamed. I think it represents the end of > the interval which is half-open. Does that match the rest of the > operations done on it? > > If every coordinate has already been biased by the -0.5 then ceil is > just the tail end of the rounding equation I gave above. > > > That's not the case => buggy: x1, y1 and x2, y2 are directly the point > coordinates as float values. Then using the ceil() on both is still consistent with half-open intervals, it just has a different interpretation of where the sampling cut-off lies within the subpixel sample. When you determine where the "crossings" lie, then it would be proper to do the same ceil(y +/- some offset) operation to compute the first crossing that is included and the first crossing that is excluded. In this case it appears that the offset if just 0.0 which doesn't really meet my expectations, but is a minor issue. These crossings then become a half-open interval of scanline indices in which to compute the value. > FYI, firstCrossing is used to compute the first X intersection for that > Y coordinate and determine the bucketIdx: > _edges[ptr+CURX] = x1 + (firstCrossing - y1) * slope; > ... > final int bucketIdx = firstCrossing - boundsMinY; > ... > _edges[ptr+NEXT] = edgeBuckets[bucketIdx]; > > lastCrossing is used to give the YMax edge coordinate and edgedBucketCounts: > _edges[ptr+YMAX] = lastCrossing; > ... > edgeBucketCounts[lastCrossing - boundsMinY] |= 1; > > I think rounding errors can lead to pixel / shape rasterization > deformations ... ? As long as the test is "y < _edges[ptr+YMAX]" then that is consistent with a half-open interval sampled at the top of every sub-pixel region, isn't it? I agree with the half-open part of it, but would have preferred a "center of sub-pixel" offset for the actual sampling. > If not, then the half-open considerations still apply if you use the > same rounding for both the top and the bottom of the segment. If > lastCrossing represents the "bottom of the shape" then it should not > be included. If the next segment continues on from it, then its y1 > will be computed in the first equation and will represent the first > scanline that the next segment participates in. > > > => firstCrossing / lastCrossing should use lower and upper integer > values (rounding issues) ? > > > Do they make sense now given my explanation above? Perhaps they > should be renamed to indicate their half-openness? > > > I am a bit embarrassed to verify maths performed in > ScanLineIterator.next() which use edges and edgeBucketCounts arrays ... > could you have a look ? > Apparently, it uses the following for loop that respects the semi-open > interval philosophy: > for (int i = 0, ecur, j, k; i < count; i++) { > ... I'll come back to that at a later time, but it sounds like you are starting to get a handle on the design here. > However, I am not sure if the edges "linked list" is traversed correctly ... That one took me a few tries to understand myself as well. > boolean endRendering() { > // TODO: perform shape clipping to avoid dealing with > segments > out of bounding box > > // Ensure shape edges are within bbox: > if (edgeMinX > edgeMaxX || edgeMaxX < 0f) { > return false; // undefined X bounds or negative Xmax > } > if (edgeMinY > edgeMaxY || edgeMaxY < 0f) { > return false; // undefined Y bounds or negative Ymax > } > > > I'd use min >= max since if min==max then I think nothing gets > generated as a result of all edges having both the in and out > crossings on the same coordinate. Also, why not test against the > clip bounds instead? The code after that will clip the edgeMinMaxXY > values against the boundsMinMax values. If you do this kind of test > after that clipping is done (on spminmaxxy) then you can discover if > all of the coordinates are outside the clip or the region of interest. > > > I tried here to perform few "fast" checks before doing float to int > conversions (costly because millions are performed): I think it can be > still improved: edgeMinX > edgeMaxX only ensures edgeMinX is defined and > both are positive ! endRendering is called once per shape. I don't think moving tests above its conversions to int will affect our throughput compared to calculations done per-vertex. I'm going to have to review the rest of this email at a future time, my apologies... > PS: I have more free time until sunday (children are away), so I would > like to talk to you using skype if it is possible ? > If yes, could you give me your skype account and work times (GMT time > please) ? > I am living in Grenoble, France (GMT+1) Unfortunately, this time frame isn't good for me. :( ...jim From bourges.laurent at gmail.com Sat May 4 11:59:25 2013 From: bourges.laurent at gmail.com (=?ISO-8859-1?Q?Laurent_Bourg=E8s?=) Date: Sat, 4 May 2013 13:59:25 +0200 Subject: [OpenJDK 2D-Dev] sun.java2D.Pisces renderer Performance and Memory enhancements In-Reply-To: References: <516DBFBF.20504@oracle.com> Message-ID: Dear Clemens & Jim, As you know I am currently improving pisces performance (a lot) and I would like to compare its performance with your JulesRenderingEngine (cairo). FYI, my last pisces patch performs a bit slower than native ductus renderer with only 1 thread (only 10-20% slower), but it very faster with multiple threads: pisces patch (1 hour ago): test threads ops Tavg Tmed stdDev rms Med+Stddev min max TotalOps [ms/op] dc_boulder_2013-13-30-06-13-17.ser 1 63 88.731 88.484 0.779 88.488 89.264 88.052 104.455 63 dc_boulder_2013-13-30-06-13-17.ser 2 126 103.945 103.760 1.776 103.775 105.536 102.465 128.479 126 dc_boulder_2013-13-30-06-13-17.ser 4 252 173.820 173.655 3.762 173.696 177.417 170.028 218.739 252 dc_shp_alllayers_2013-00-30-07-00-47.ser 1 25 762.982 760.039 3.484 760.047 763.523 755.093 838.546 25 dc_shp_alllayers_2013-00-30-07-00-47.ser 2 50 894.738 892.648 20.819 892.891 913.467 878.795 1011.004 50 dc_shp_alllayers_2013-00-30-07-00-47.ser 4 100 1510.789 1511.463 98.003 1514.637 1609.467 924.624 2030.892 100 Note: this latest patch uses rowAA optimizations = no more RLE encoding / decoding: rowAA[32][] stores {x0 x1} {alpha sum values for range[x0; x1[ } ductus: test threads ops Tavg Tmed stdDev rms Med+Stddev min max TotalOps [ms/op] dc_boulder_2013-13-30-06-13-17.ser 1 142 75.860 75.749 1.111 75.757 76.860 74.853 92.387 142 dc_boulder_2013-13-30-06-13-17.ser 2 284 131.802 131.508 21.045 133.181 152.553 103.277 243.345 284 dc_boulder_2013-13-30-06-13-17.ser 4 568 284.610 284.757 35.984 287.021 320.741 80.782 405.189 568 dc_shp_alllayers_2013-00-30-07-00-47.ser 1 20 912.910 912.634 1.827 912.635 914.460 909.023 921.782 20 dc_shp_alllayers_2013-00-30-07-00-47.ser 2 40 1484.377 1482.126 84.938 1484.558 1567.063 1371.135 1683.175 40 dc_shp_alllayers_2013-00-30-07-00-47.ser 4 80 5075.550 5086.851 133.047 5088.591 5219.898 3945.514 5324.156 80 Could you give me instructions how to make Jules renderer work ? Apparently JulesRenderingEngine requires xrender pipeline, cairo system library (linux) and also it loads a native library jules. How can I get the source code / build this jules library ? or could you send me a linux x64 binary package ? Cheers, Laurent -------------- next part -------------- An HTML attachment was scrubbed... URL: From bourges.laurent at gmail.com Mon May 6 09:46:29 2013 From: bourges.laurent at gmail.com (=?ISO-8859-1?Q?Laurent_Bourg=E8s?=) Date: Mon, 6 May 2013 11:46:29 +0200 Subject: [OpenJDK 2D-Dev] YourKit Java Profiler Open Source License Request In-Reply-To: <123176560.20130506120447@yourkit.com> References: <123176560.20130506120447@yourkit.com> Message-ID: Dear Dalibor, Donald and java2d members, I am currently working hard to improve performances of the pisces java2d renderering engine. To help me improving cpu hotspots, I need an efficient java profiler (lower overhead than netbeans profiler). I *personally* requested this morning an "open source" license for Yourkit Profiler. As you can see in the sales response (below), this license can be granted free of charge *but it requires a public acknowledgement on the 2D Graphics Group page of the OpenJDK web site*. As I am only a contributor, who can decide if it is possible (dalibor, donald) ? What are your opinions ? Moreover I think having such profiler could be helpful to other openjdk projects as well. If anybody else is interested, please say it on the discuss mailing list. Apparently, licenses are given to persons having their names: "Please send me the list of developers (names and surnames) who need licenses." Best regards, Laurent PS to Vladimir Kondratyev: I am waiting for the openjdk project manager decision before going further. FYI, here are the license request email followed by the Yourkit sales response: 2013/5/6 Vladimir Kondratyev > Dear Laurent, > > Thank you for your interest in our products. > > We are ready to provide free of charge licenses for "The 2D Graphics > Group" project. > > Please send me the list of developers (names and surnames) > who need licenses. > > In return we require to place small a small free-form text > endorsement/testimonial to the project web > site. > > The testimonial should contain the text that 2D Graphics Group is using > YourKit profiler > and contain a reference to YourKit web site. If you need a graphical > logos, please find them attached. > > For example: > > " > YourKit is kindly supporting 2D Graphics open source projects with its > full-featured Java Profiler. > YourKit, LLC is the creator of innovative and intelligent tools for > profiling > Java and .NET applications. Take a look at YourKit's leading software > products: > YourKit Java > Profiler and > YourKit .NET > Profiler. > " > > Best regards, > Vladimir Kondratyev > YourKit, LLC > http://www.yourkit.com > "Don't get lost in data, get information!" > > > Monday, May 6, 2013, 9:16:12 AM, you wrote: > > > Hi, > > > I am currently working hard to improve cpu and memory performance of the > > pisces java2d renderering engine for the open jdk 8: see java2d mailing > > list: openjdk.java.net/groups/2d/ > > > I am using both netbeans profiler and my own probes in the code, but I > > would like to use your profiler to help me having better and more > accurate > > metrics. > > > regards, > > laurent > -------------- next part -------------- An HTML attachment was scrubbed... URL: From volker.simonis at gmail.com Mon May 6 12:25:35 2013 From: volker.simonis at gmail.com (Volker Simonis) Date: Mon, 6 May 2013 14:25:35 +0200 Subject: [OpenJDK 2D-Dev] Request for review [XS]: The XRender backend fails to render any glyphs on 64-bit Big-endian architectures In-Reply-To: <51816D67.9050401@oracle.com> References: <51816D67.9050401@oracle.com> Message-ID: On Wed, May 1, 2013 at 9:30 PM, Phil Race wrote: > Volker .. thanks for the patch looks good although I ask > that you break the source code lines at no more than 80 chars .. > that's the norm/standard we have always used > I read the guidlines but after I realized that some of the files I changed already contain lines with more than 130 characters I thought that the guildines may be antiquated in that respect :) Nevertheless, I'm not against coding standards at all, so please find the '80 chars'-version of my patch below: http://cr.openjdk.java.net/~simonis/webrevs/7191872 > There actually is an open bug on this you can use :- > > 7191872: The panel does not include any information for each case on > solaris11-sparc. > Thanks. I've used it in the new webrev. Unfortunately searching the bug database for 'xrender' only returns a single hit and omits the bug you mentioned. But that's a totally different discussion :) Regards, Volker > > -phil. > > > On 4/26/2013 7:02 AM, Volker Simonis wrote: >> >> Hi, >> >> I've found and fixed a problem of the XRender pipeline on 64-bit >> Big-endian architectures which leads to the effect that all AWT/Swing >> applications will run as expected but won't actually display any >> character glyphs at all! This seems to be a "day-one" bug which still >> exists in both, JDK7 and JDK8 but probably didn't pop up until now >> because the XRender backend wasn't enabled by default. This has >> however changed recently in JDK8. >> >> Could somebody please open a bug for this issue and review the change: >> >> http://cr.openjdk.java.net/~simonis/webrevs/webrev_xrender.v1/ >> >> The fix is small and straightforward. >> You can read the full story below (or the HTML-version in the webrev >> for a better reading experience). >> >> Thank you and best regards, >> Volker >> >> >> >> Problem description >> >> The XRender backend writes some native data-structures which have the >> size of a native pointer (i.e. 32-bit on 32-bit architectures and >> 64-bit on 64-bit architectures) by using Unsafe.putInt(). This is of >> course not safe and breaks on 64-bit Big-endian architectures like >> SPARC, PPC64 or HPUX/IA64. The concrete problem is in the method >> setGlyphID in src/solaris/classes/sun/font/XRGlyphCacheEntry.java: >> >> public static void setGlyphID(long glyphInfoPtr, int id) { >> StrikeCache.unsafe.putInt(glyphInfoPtr + StrikeCache.cacheCellOffset, >> id); >> } >> >> which writes the offending field and in the function >> Java_sun_java2d_xr_XRBackendNative_XRAddGlyphsNative in >> src/solaris/native/sun/java2d/x11/XRBackendNative.c which reads this >> field: >> >> for (i=0; i < glyphCnt; i++) { >> GlyphInfo *jginfo = (GlyphInfo *) jlong_to_ptr(glyphInfoPtrs[i]); >> >> gid[i] = (Glyph) (0x0ffffffffL & ((unsigned long)(jginfo->cellInfo))); >> >> Actually, they both access the cellInfo field of a GlypInfo structure >> which has the size of a native pointer (see >> src/share/native/sun/font/fontscalerdefs.h): >> >> struct GlyphInfo { >> float advanceX; >> float advanceY; >> UInt16 width; >> UInt16 height; >> UInt16 rowBytes; >> UInt8 managed; >> float topLeftX; >> float topLeftY; >> void *cellInfo; >> UInt8 *image; >> } >> >> The native reader reads the field as a void* and casts it into an >> unsigned long. On Big-endian architectures this shifts the integer >> value which had been previously written in setGlyphID() by 32 bits to >> the left such that the final 'anding' with 0x0ffffffffL will always >> lead to a zero result (on Little-endian architectures there's no >> problem because the 4-byte integer value lies in the 'right' half of >> the 8-byte long value). >> >> How to reproduce the problem >> >> This finally leads to the effect that all AWT/Swing applications will >> run as expected but won't actually display any character glyphs at >> all! This behavior is reproducible with every JDK7 and JDK8. You just >> have to set the property -Dsun.java2d.xrender=True and make sure that >> the actual Xserver which displays the application window really >> supports the XRender extension. Using -Dsun.java2d.xrender=True (with >> capital 'T') will print a debugging line which confirms whether the >> XRender pipeline will be used ('XRender pipeline enabled') or not >> ('Could not enable XRender pipeline'). >> >> Notice that the XRender pipeline was switched off by default in JDK7 >> but is currently switched on by default in JDK8. However if the >> displaying X-server doesn't support XRender there's always a silent >> fallback to the plain X11 rendering pipeline. So you need an XRender >> capable X server to reproduce this problem. >> >> How to fix the problem >> >> Fixing the problem is easy: we just have to replace the offending >> Unsafe.putInt()/Unsafe.getInt() accesses with corresponding >> Unsafe.putAddress()/Unsafe.getAddress() calls. These routines >> write/read 4 byte in 32-bit VMs and 8 byte on 64-bit VMs (actually >> they read/write Unsafe.addressSize() bytes which corresponds to the >> mentioned values). >> >> Other cleanups in the patch >> >> Once I've fixed the problem, I've also cleaned up several other >> occurrences of the following pattern: >> >> long pixelDataAddress; >> if (StrikeCache.nativeAddressSize == 4) { >> pixelDataAddress = 0xffffffff & >> StrikeCache.unsafe.getInt(glyphInfoPtr + StrikeCache.pixelDataOffset); >> } else { >> pixelDataAddress = StrikeCache.unsafe.getLong(glyphInfoPtr + >> StrikeCache.pixelDataOffset); >> } >> long pixelDataAddress = StrikeCache.unsafe.getAddress(glyphInfoPtr + >> StrikeCache.pixelDataOffset); >> >> The intention of this code is to load a native pointer and store it >> into a Java long variable. On 32-bit architectures it uses >> Unsafe.getInt() to read the value and masks the result with 0xffffffff >> after converting it into a Java long value (which is actually the same >> as doing a zero-extension of a 32-bit value during the conversion into >> a 64-bit value). On 64-bit architectures it simply uses >> Unsafe.getLong() to read the value. >> >> The previous code can be simplified into a single expression by always >> using Unsafe.getAddress(): >> >> long pixelDataAddress = StrikeCache.unsafe.getAddress(glyphInfoPtr + >> StrikeCache.pixelDataOffset); >> >> because Unsafe.getAddress() does exactly the same thing: it reads a >> native pointer and returns it as a Java long value. In the case where >> the native pointer is less than 64 bits wide, it is extended as an >> unsigned number to a Java long (see JavaDoc of >> sun.misc.Unsafe.getAddress()). >> >> I've also simplified the following line in the function >> Java_sun_java2d_xr_XRBackendNative_XRAddGlyphsNative in >> src/solaris/native/sun/java2d/x11/XRBackendNative.c: >> >> - gid[i] = (Glyph) (0x0ffffffffL & ((unsigned >> long)(jginfo->cellInfo))); >> + // 'jginfo->cellInfo' is of type 'void*' (see definition of >> 'GlyphInfo' in fontscalerdefs.h) >> + // 'Glyph' is typedefed to 'unsigned long' (see >> http://www.x.org/releases/X11R7.7/doc/libXrender/libXrender.txt) >> + // Maybe we should assert that (sizeof(void*) == sizeof(Glyph)) ? >> + gid[i] = (Glyph) (jginfo->cellInfo); >> >> because Glyph is typedefed to unsigned long anyway. The >> 'zero-extension' of the result is unnecessary as well because we're >> actually reading an integer value here and not a pointer. > > From bourges.laurent at gmail.com Mon May 6 13:43:12 2013 From: bourges.laurent at gmail.com (=?ISO-8859-1?Q?Laurent_Bourg=E8s?=) Date: Mon, 6 May 2013 15:43:12 +0200 Subject: [OpenJDK 2D-Dev] sun.java2D.Pisces renderer Performance and Memory enhancements In-Reply-To: <518440E2.4080505@oracle.com> References: <516DBFBF.20504@oracle.com> <5175A611.9080004@oracle.com> <5177345D.4060408@oracle.com> <517822F0.4040800@oracle.com> <51806526.8070808@oracle.com> <518440E2.4080505@oracle.com> Message-ID: Jim, Andrea & java2d members, I am happy to announce an updated Pisces patch that is faster again: - Patched Pisces vs OpenJDK Pisces (ref): ~ 2.5 to 4.5 times faster score small *1* 20 248,04% 247,90% 464,65% 248,04% *253,49%* 232,64% 207,77% *2* 40 276,49% 276,09% 1317,15% 279,32% *308,52%* 251,96% 288,31% *4* 80 295,18% 295,49% 629,06% 298,08% *316,24%* 269,51% 181,64% * * * * score big *1* 20 356,13% 356,44% 1862,18% 356,47% *360,04%* 345,63% 360,26% *2* 40 413,56% 414,14% 350,96% 414,06% *411,88%* 412,23% 385,51% *4* 80 458,96% 459,48% 941,17% 459,68% *467,40%* 425,12% 450,10% - Patched Pisces vs Oracle JDK 8 (ductus): ~ equal (1T) ~ 60% faster (2T) ~ 2 to 3 times faster (4T) score small *1* 20 94,02% 93,58% 61,96% 93,53% *92,77%* 93,69% 128,83% * 2* 40 138,06% 137,95% 763,67% 140,09% *157,44%* 102,14% 183,03% *4* 80 179,10% 179,17% 494,78% 182,03% *198,80%* 119,86% 176,89% * * * * score big *1* 20 122,67% 122,69% 112,98% 122,69% *122,67%* 122,70% 122,23% *2* 40 173,02% 173,17% 335,41% 173,50% *178,99%* 160,51% 175,63% *4* 80 325,52% 326,50% 574,24% 326,59% *330,57%* 226,20% 321,69% JAVA_OPTS="-server -XX:+PrintCommandLineFlags -XX:-PrintFlagsFinal -XX:-TieredCompilation " JAVA_TUNING=" -Xms128m -Xmx128m" Full results: http://jmmc.fr/~bourgesl/share/java2d-pisces/compareRef_Patch_2.ods http://jmmc.fr/~bourgesl/share/java2d-pisces/patch_opt_05_05_20s.log http://jmmc.fr/~bourgesl/share/java2d-pisces/ductus_tests_10s.log http://jmmc.fr/~bourgesl/share/java2d-pisces/ref_test_long.log Here is the updated pisces patch: http://jmmc.fr/~bourgesl/share/java2d-pisces/webrev-4/ Changes: - PiscesCache: use rowAAStride[32][x0; x1; alpha sum(x)] to use alpha data directly instead of encoding / decoding RLE data - fixed PiscesTileGenerator.getAlpha() to use directly and optimally rowAAStride - Renderer: edges array split into edges [CURX, SLOPE] / edgesInt [NEXT, YMAX, OR] to avoid float / int conversions - added "monitors" ie custom cpu / stats probes to gather usage statistics and cpu timings (minimal overhead): enable them using PiscesConst.doMonitors flag - minor tweaks Remaining tasks: - basic clipping algorithm to handle trivial shape or line rejection when no affine transform or simple one (scaling) is in use - enhance curve / round caps and joins handling to take into account the spatial resolution: for example, round caps representing less than 2 AA pixels are visually useless and counter productive (cpu): to be discussed - cleanup / indentation STILL IN PROGRESS Jim, I found few bugs / mistakes related to bbox + 1 (piscesCache) and alpha array (+ 1): I agree pixel coordinates / edges / crossing should be converted to integers in an uniform manner (consistent and more accurate) : to be discusses and remain to be fixed. Finally I updated MapBench & MapDisplay: http://jmmc.fr/~bourgesl/share/java2d-pisces/MapBench/ New features: - each test runs at least 5s (configurable as first CLI arg) to ensure enough test runs to compute accurate average and statistics - perform scaling / translation tests (affineTransform) (clipping tests in progress) - flush monitors after each test Jim, few comments below: 2013/5/4 Jim Graham > > I am perplex and I am going to check pisces code against your given >> approach. >> > > If for no other reason that to make sure that there aren't two parts of > the system trying to communicate with different philosophies. You don't > want a caller to hand a closed interval to a method which treats the values > as half-open, for instance. If the rounding is "different, but > consistent", then I think we can leave it for now and treat it as a future > refinement to check if it makes any practical difference and correct. But, > if it shows up a left-hand-not-talking-to-**right-hand bug, then that > would be good to fix sooner rather than later. > As said before, minor bugs: - alpha array (Renderer) handling seems going over its upper limit: I need to clear it until pix_to + 1 + 1 (pix_to inclusive) ! - edge / crossing coordinate rounding: fix bias to 0.5 => ceil (x - 0.5) > I think it is OK to focus on your current task of performance and memory > turmoil, but I wanted to give you the proper background to try to > understand what you were reading primarily, and possibly to get you > interested in cleaning up the code as you went as a secondary consideration. Agreed. Could you explain me a bit the renderer's scan line algorithm related to crossing in next() and _endRendering methods ? > If every coordinate has already been biased by the -0.5 then ceil is >> just the tail end of the rounding equation I gave above. >> >> >> That's not the case => buggy: x1, y1 and x2, y2 are directly the point >> coordinates as float values. >> > > > Then using the ceil() on both is still consistent with half-open > intervals, it just has a different interpretation of where the sampling > cut-off lies within the subpixel sample. When you determine where the > "crossings" lie, then it would be proper to do the same ceil(y +/- some > offset) operation to compute the first crossing that is included and the > first crossing that is excluded. Ok. > In this case it appears that the offset if just 0.0 which doesn't really > meet my expectations, but is a minor issue. These crossings then become a > half-open interval of scanline indices in which to compute the value. To be fixed soon. > > I think rounding errors can lead to pixel / shape rasterization >> deformations ... ? >> > > > As long as the test is "y < _edges[ptr+YMAX]" then that is consistent with > a half-open interval sampled at the top of every sub-pixel region, isn't > it? Ok. > I agree with the half-open part of it, but would have preferred a "center > of sub-pixel" offset for the actual sampling. Again. > I am a bit embarrassed to verify maths performed in >> ScanLineIterator.next() which use edges and edgeBucketCounts arrays ... >> could you have a look ? >> Apparently, it uses the following for loop that respects the semi-open >> interval philosophy: >> for (int i = 0, ecur, j, k; i < count; i++) { >> ... >> > > I'll come back to that at a later time, but it sounds like you are > starting to get a handle on the design here. Thanks. > > boolean endRendering() { >> // TODO: perform shape clipping to avoid dealing with >> segments >> out of bounding box >> >> // Ensure shape edges are within bbox: >> if (edgeMinX > edgeMaxX || edgeMaxX < 0f) { >> return false; // undefined X bounds or negative Xmax >> } >> if (edgeMinY > edgeMaxY || edgeMaxY < 0f) { >> return false; // undefined Y bounds or negative Ymax >> } >> >> >> I'd use min >= max since if min==max then I think nothing gets >> generated as a result of all edges having both the in and out >> crossings on the same coordinate. Also, why not test against the >> clip bounds instead? The code after that will clip the edgeMinMaxXY >> values against the boundsMinMax values. If you do this kind of test >> after that clipping is done (on spminmaxxy) then you can discover if >> all of the coordinates are outside the clip or the region of interest. >> >> >> I tried here to perform few "fast" checks before doing float to int >> conversions (costly because millions are performed): I think it can be >> still improved: edgeMinX > edgeMaxX only ensures edgeMinX is defined and >> both are positive ! >> > > endRendering is called once per shape. I don't think moving tests above > its conversions to int will affect our throughput compared to calculations > done per-vertex. > Agreed but having a small gain for each shape is still interesting when thousands or millions of shapes are rendered ! > > I'm going to have to review the rest of this email at a future time, my > apologies... Looking forward reading you soon and getting more feedback on last changes. Regards, Laurent -------------- next part -------------- An HTML attachment was scrubbed... URL: From andrea.aime at geo-solutions.it Mon May 6 13:48:35 2013 From: andrea.aime at geo-solutions.it (Andrea Aime) Date: Mon, 6 May 2013 15:48:35 +0200 Subject: [OpenJDK 2D-Dev] sun.java2D.Pisces renderer Performance and Memory enhancements In-Reply-To: References: <516DBFBF.20504@oracle.com> <5175A611.9080004@oracle.com> <5177345D.4060408@oracle.com> <517822F0.4040800@oracle.com> <51806526.8070808@oracle.com> <518440E2.4080505@oracle.com> Message-ID: On Mon, May 6, 2013 at 3:43 PM, Laurent Bourg?s wrote: > Jim, Andrea & java2d members, > > I am happy to announce an updated Pisces patch that is faster again: > Laurent, I cannot comment from the code point of view (haven't really read the patches), but from the performance standpoint: amazing work! I plan to give your patch another test next weekend on a full blown GeoServer to see how it behaves in a full application. Cheers Andrea -- == GeoServer training in Milan, 6th & 7th June 2013! Visit http://geoserver.geo-solutions.it for more information. == Ing. Andrea Aime @geowolf Technical Lead GeoSolutions S.A.S. Via Poggio alle Viti 1187 55054 Massarosa (LU) Italy phone: +39 0584 962313 fax: +39 0584 1660272 mob: +39 339 8844549 http://www.geo-solutions.it http://twitter.com/geosolutions_it ------------------------------------------------------- -------------- next part -------------- An HTML attachment was scrubbed... URL: From bourges.laurent at gmail.com Mon May 6 13:58:32 2013 From: bourges.laurent at gmail.com (=?ISO-8859-1?Q?Laurent_Bourg=E8s?=) Date: Mon, 6 May 2013 15:58:32 +0200 Subject: [OpenJDK 2D-Dev] sun.java2D.Pisces renderer Performance and Memory enhancements In-Reply-To: References: <516DBFBF.20504@oracle.com> <5175A611.9080004@oracle.com> <5177345D.4060408@oracle.com> <517822F0.4040800@oracle.com> <51806526.8070808@oracle.com> <518440E2.4080505@oracle.com> Message-ID: Andrea, Thanks and I am impatient to see your benchmark results. If you have time, could you perform two benchmark runs to compare ThreadLocal vs ConcurrentLinkedQueue modes: In RenderingEngine class: /** use ThreadLocal or ConcurrentLinkedQueue to get the thread RendererContext */ /* TODO: use System property to determine which mode use */ public static final boolean useThreadLocal = true; Just change the flag (true/false) and rebuild your OpenJDK. Laurent 2013/5/6 Andrea Aime > On Mon, May 6, 2013 at 3:43 PM, Laurent Bourg?s > wrote: > >> Jim, Andrea & java2d members, >> >> I am happy to announce an updated Pisces patch that is faster again: >> > > Laurent, I cannot comment from the code point of view (haven't really read > the patches), but from > the performance standpoint: amazing work! > I plan to give your patch another test next weekend on a full blown > GeoServer to see how it behaves in a full application. > > Cheers > Andrea > > -- > == > GeoServer training in Milan, 6th & 7th June 2013! Visit > http://geoserver.geo-solutions.it for more information. > == > > Ing. Andrea Aime > @geowolf > Technical Lead > > GeoSolutions S.A.S. > Via Poggio alle Viti 1187 > 55054 Massarosa (LU) > Italy > phone: +39 0584 962313 > fax: +39 0584 1660272 > mob: +39 339 8844549 > > http://www.geo-solutions.it > http://twitter.com/geosolutions_it > > ------------------------------------------------------- > -------------- next part -------------- An HTML attachment was scrubbed... URL: From aph at redhat.com Mon May 6 14:59:41 2013 From: aph at redhat.com (Andrew Haley) Date: Mon, 06 May 2013 15:59:41 +0100 Subject: [OpenJDK 2D-Dev] YourKit Java Profiler Open Source License Request In-Reply-To: References: <123176560.20130506120447@yourkit.com> Message-ID: <5187C55D.8010201@redhat.com> On 05/06/2013 10:46 AM, Laurent Bourg?s wrote: > Dear Dalibor, Donald and java2d members, > > I am currently working hard to improve performances of the pisces java2d > renderering engine. > > To help me improving cpu hotspots, I need an efficient java profiler (lower > overhead than netbeans profiler). > > I *personally* requested this morning an "open source" license for Yourkit > Profiler. For low overhead profiling it's hard to beat oprofile. Linux only. Andrew. From bourges.laurent at gmail.com Mon May 6 15:07:07 2013 From: bourges.laurent at gmail.com (=?ISO-8859-1?Q?Laurent_Bourg=E8s?=) Date: Mon, 6 May 2013 17:07:07 +0200 Subject: [OpenJDK 2D-Dev] YourKit Java Profiler Open Source License Request In-Reply-To: <5187C55D.8010201@redhat.com> References: <123176560.20130506120447@yourkit.com> <5187C55D.8010201@redhat.com> Message-ID: Andrew, I want to have good metrics related to java code (not native) so I need a java profiler. maybe dtrace could be another candidate but I don't know how to use it on my linux 64 machine. Laurent > I am currently working hard to improve performances of the pisces java2d > > renderering engine. > > > > To help me improving cpu hotspots, I need an efficient java profiler > (lower > > overhead than netbeans profiler). > > > > I *personally* requested this morning an "open source" license for > Yourkit > > Profiler. > > For low overhead profiling it's hard to beat oprofile. Linux only. > > Andrew. > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From bourges.laurent at gmail.com Mon May 6 15:12:32 2013 From: bourges.laurent at gmail.com (=?ISO-8859-1?Q?Laurent_Bourg=E8s?=) Date: Mon, 6 May 2013 17:12:32 +0200 Subject: [OpenJDK 2D-Dev] YourKit Java Profiler Open Source License Request In-Reply-To: References: <123176560.20130506120447@yourkit.com> <5187C55D.8010201@redhat.com> Message-ID: Sorry, I looked at the oprofile's doc: http://oprofile.sourceforge.net/doc/setup-jit.html It seems it is capable to profile java code: "4. Setting up the JIT profiling feature To gather information about JITed code from a virtual machine, it needs to be instrumented with an agent library. We use the agent libraries for Java in the following example. To use the Java profiling feature, you must build OProfile with the "--with-java" option (Section 6, ?Installation?). 4.1. JVM instrumentation Add this to the startup parameters of the JVM (for JVMTI): -agentpath:/libjvmti_oprofile.so[=] or -agentlib:jvmti_oprofile[=] The JVMPI agent implementation is enabled with the command line option -Xrunjvmpi_oprofile[:] " Could you give advices on how to use it with custom OpenJDK builds, andrew ? Thanks for spotting it, Laurent 2013/5/6 Laurent Bourg?s > Andrew, > > I want to have good metrics related to java code (not native) so I need a > java profiler. > maybe dtrace could be another candidate but I don't know how to use it on > my linux 64 machine. > > Laurent > > > > I am currently working hard to improve performances of the pisces java2d >> > renderering engine. >> > >> > To help me improving cpu hotspots, I need an efficient java profiler >> (lower >> > overhead than netbeans profiler). >> > >> > I *personally* requested this morning an "open source" license for >> Yourkit >> > Profiler. >> >> For low overhead profiling it's hard to beat oprofile. Linux only. >> >> Andrew. >> >> >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: From volker.simonis at gmail.com Mon May 6 15:17:54 2013 From: volker.simonis at gmail.com (Volker Simonis) Date: Mon, 6 May 2013 17:17:54 +0200 Subject: [OpenJDK 2D-Dev] YourKit Java Profiler Open Source License Request In-Reply-To: References: <123176560.20130506120447@yourkit.com> <5187C55D.8010201@redhat.com> Message-ID: Oprofile supports Java (see: http://oprofile.sourceforge.net/doc/setup-jit.html) or at least it did some years ago when I used it for the last time. However, depending on your Linux distro, it may be tricky to set up Oprofile (as far as I know, current version of Ubuntu >=12 don't support Oprofile anx more). Regards, Volker On Mon, May 6, 2013 at 5:07 PM, Laurent Bourg?s wrote: > Andrew, > > I want to have good metrics related to java code (not native) so I need a > java profiler. > maybe dtrace could be another candidate but I don't know how to use it on my > linux 64 machine. > > Laurent > > >> > I am currently working hard to improve performances of the pisces java2d >> > renderering engine. >> > >> > To help me improving cpu hotspots, I need an efficient java profiler >> > (lower >> > overhead than netbeans profiler). >> > >> > I *personally* requested this morning an "open source" license for >> > Yourkit >> > Profiler. >> >> For low overhead profiling it's hard to beat oprofile. Linux only. >> >> Andrew. >> >> > From aph at redhat.com Mon May 6 15:26:18 2013 From: aph at redhat.com (Andrew Haley) Date: Mon, 06 May 2013 16:26:18 +0100 Subject: [OpenJDK 2D-Dev] YourKit Java Profiler Open Source License Request In-Reply-To: References: <123176560.20130506120447@yourkit.com> <5187C55D.8010201@redhat.com> Message-ID: <5187CB9A.80803@redhat.com> On 05/06/2013 04:07 PM, Laurent Bourg?s wrote: > I want to have good metrics related to java code (not native) so I need a > java profiler. Oprofile works well with Java code. The JIT compiler has enough smarts to register dynamically-generated code with oprofile, and you get the added benefit that you're profiling native code, not just Java. Like I said, hard to beat. Andrew. From aph at redhat.com Mon May 6 15:28:53 2013 From: aph at redhat.com (Andrew Haley) Date: Mon, 06 May 2013 16:28:53 +0100 Subject: [OpenJDK 2D-Dev] YourKit Java Profiler Open Source License Request In-Reply-To: References: <123176560.20130506120447@yourkit.com> <5187C55D.8010201@redhat.com> Message-ID: <5187CC35.7060200@redhat.com> On 05/06/2013 04:12 PM, Laurent Bourg?s wrote: > Could you give advices on how to use it with custom OpenJDK builds, andrew IME it Just Works. The oprofile shipped with Linux distros has everything you need, and you just need to use -agentpath: when you start the VM. Andrew. From Gary.Frost at amd.com Mon May 6 16:30:29 2013 From: Gary.Frost at amd.com (Frost, Gary) Date: Mon, 6 May 2013 16:30:29 +0000 Subject: [OpenJDK 2D-Dev] YourKit Java Profiler Open Source License Request In-Reply-To: References: <123176560.20130506120447@yourkit.com> <5187C55D.8010201@redhat.com> Message-ID: Andrew, You can actually view profiles of Java jitted code using oprofile. So you get to see how much time is spent in the jitted code from the JVM. The profile data is mapped back to Java source code via the bytecode tables in the class file. Gary -----Original Message----- From: discuss-bounces at openjdk.java.net [mailto:discuss-bounces at openjdk.java.net] On Behalf Of Laurent Bourg?s Sent: Monday, May 06, 2013 10:07 AM To: Andrew Haley Cc: discuss at openjdk.java.net; 2d-dev at openjdk.java.net Subject: Re: YourKit Java Profiler Open Source License Request Andrew, I want to have good metrics related to java code (not native) so I need a java profiler. maybe dtrace could be another candidate but I don't know how to use it on my linux 64 machine. Laurent > I am currently working hard to improve performances of the pisces > java2d > > renderering engine. > > > > To help me improving cpu hotspots, I need an efficient java profiler > (lower > > overhead than netbeans profiler). > > > > I *personally* requested this morning an "open source" license for > Yourkit > > Profiler. > > For low overhead profiling it's hard to beat oprofile. Linux only. > > Andrew. > > > From bourges.laurent at gmail.com Mon May 6 19:56:50 2013 From: bourges.laurent at gmail.com (=?ISO-8859-1?Q?Laurent_Bourg=E8s?=) Date: Mon, 6 May 2013 21:56:50 +0200 Subject: [OpenJDK 2D-Dev] YourKit Java Profiler Open Source License Request In-Reply-To: <5187F555.1090200@oracle.com> References: <123176560.20130506120447@yourkit.com> <5187F555.1090200@oracle.com> Message-ID: Donald, thanks for your prompt decision. I advocate my request was probably stupid / counter productive because it leads to promoting commercial products / services while OpenJDK is open source (;)) However having an efficient profiler is important for such project. Is there any one in the Oracle's tool suite that could be provided to the openjdk community (JRockit ...), dtrace (solaris ...) ? Is there any web page describing tools recommended by openjdk developers on the wiki ? FYI, I just succeed in getting oprofile results on my linux 64 machine (fedora 14 quite old) and it seems very promising. Thanks Andrew for your tips. Regards, Sorry again for the "noise", Laurent 2013/5/6 Donald Smith > Laurent, > > Thanks for this question, here are my initial thoughts... I'm hoping some > of the other technical suggestions people have made are helpful, because I > don't think this is a viable path. I'm not sure how many other communities > handle this scenario, but I know when I was at Eclipse, for example, > projects were discouraged from endorsing products in this manner. > Moreover, submissions advertising goods or services are discouraged in our > web site Terms of Use. > > - Don > > > > On 06/05/2013 5:46 AM, Laurent Bourg?s wrote: > > Dear Dalibor, Donald and java2d members, > > I am currently working hard to improve performances of the pisces java2d > renderering engine. > > To help me improving cpu hotspots, I need an efficient java profiler > (lower overhead than netbeans profiler). > > I *personally* requested this morning an "open source" license for > Yourkit Profiler. > > As you can see in the sales response (below), this license can be granted > free of charge *but it requires a public acknowledgement on the 2D > Graphics Group page of the OpenJDK web site*. > > As I am only a contributor, who can decide if it is possible (dalibor, > donald) ? > What are your opinions ? > > Moreover I think having such profiler could be helpful to other openjdk > projects as well. If anybody else is interested, please say it on the > discuss mailing list. > > Apparently, licenses are given to persons having their names: > "Please send me the list of developers (names and surnames) who need > licenses." > > Best regards, > Laurent > > PS to Vladimir Kondratyev: I am waiting for the openjdk project manager > decision before going further. > > FYI, here are the license request email followed by the Yourkit sales > response: > > 2013/5/6 Vladimir Kondratyev > >> Dear Laurent, >> >> Thank you for your interest in our products. >> >> We are ready to provide free of charge licenses for "The 2D Graphics >> Group" project. >> >> Please send me the list of developers (names and surnames) >> who need licenses. >> >> In return we require to place small a small free-form text >> endorsement/testimonial to the project web >> site. >> >> The testimonial should contain the text that 2D Graphics Group is using >> YourKit profiler >> and contain a reference to YourKit web site. If you need a graphical >> logos, please find them attached. >> >> For example: >> >> " >> YourKit is kindly supporting 2D Graphics open source projects with its >> full-featured Java Profiler. >> YourKit, LLC is the creator of innovative and intelligent tools for >> profiling >> Java and .NET applications. Take a look at YourKit's leading software >> products: >> YourKit Java >> Profiler and >> YourKit .NET >> Profiler. >> " >> >> Best regards, >> Vladimir Kondratyev >> YourKit, LLC >> http://www.yourkit.com >> "Don't get lost in data, get information!" >> >> >> Monday, May 6, 2013, 9:16:12 AM, you wrote: >> >> > Hi, >> >> > I am currently working hard to improve cpu and memory performance of the >> > pisces java2d renderering engine for the open jdk 8: see java2d mailing >> > list: openjdk.java.net/groups/2d/ >> >> > I am using both netbeans profiler and my own probes in the code, but I >> > would like to use your profiler to help me having better and more >> accurate >> > metrics. >> >> > regards, >> > laurent >> > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From philip.race at oracle.com Mon May 6 20:01:00 2013 From: philip.race at oracle.com (philip.race at oracle.com) Date: Mon, 06 May 2013 20:01:00 +0000 Subject: [OpenJDK 2D-Dev] hg: jdk8/2d/jdk: 7191872: Xrender: No text displayed using 64 bit JDK on solaris11-sparc Message-ID: <20130506200151.5AFBE4884A@hg.openjdk.java.net> Changeset: 4dd6f7bb8bbd Author: simonis Date: 2013-05-06 12:57 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/4dd6f7bb8bbd 7191872: Xrender: No text displayed using 64 bit JDK on solaris11-sparc Reviewed-by: prr, ceisserer ! src/share/classes/sun/font/FileFontStrike.java ! src/share/classes/sun/font/GlyphList.java ! src/solaris/classes/sun/font/XRGlyphCacheEntry.java ! src/solaris/native/sun/java2d/x11/XRBackendNative.c From philip.race at oracle.com Mon May 6 20:04:42 2013 From: philip.race at oracle.com (Phil Race) Date: Mon, 06 May 2013 13:04:42 -0700 Subject: [OpenJDK 2D-Dev] Request for review [XS]: The XRender backend fails to render any glyphs on 64-bit Big-endian architectures In-Reply-To: References: <51816D67.9050401@oracle.com> Message-ID: <51880CDA.9090901@oracle.com> On 5/6/2013 5:25 AM, Volker Simonis wrote: > On Wed, May 1, 2013 at 9:30 PM, Phil Race wrote: >> Volker .. thanks for the patch looks good although I ask >> that you break the source code lines at no more than 80 chars .. >> that's the norm/standard we have always used >> > I read the guidlines but after I realized that some of the files I > changed already contain lines with more than 130 characters I thought > that the guildines may be antiquated in that respect :) Nevertheless, > I'm not against coding standards at all, so please find the '80 > chars'-version of my patch below: > > http://cr.openjdk.java.net/~simonis/webrevs/7191872 I have commited this as 'simonis' and pushed to the 2d forest. > >> There actually is an open bug on this you can use :- >> >> 7191872: The panel does not include any information for each case on >> solaris11-sparc. >> > Thanks. I've used it in the new webrev. > Unfortunately searching the bug database for 'xrender' only returns a > single hit and omits the bug you mentioned. But that's a totally > different discussion :) Yes .. its visible as http://bugs.sun.com/view_bug.do?bug_id=7191872 but search has been "bust" for a while. thanks .. -phil. > > Regards, > Volker > >> -phil. >> >> >> On 4/26/2013 7:02 AM, Volker Simonis wrote: >>> Hi, >>> >>> I've found and fixed a problem of the XRender pipeline on 64-bit >>> Big-endian architectures which leads to the effect that all AWT/Swing >>> applications will run as expected but won't actually display any >>> character glyphs at all! This seems to be a "day-one" bug which still >>> exists in both, JDK7 and JDK8 but probably didn't pop up until now >>> because the XRender backend wasn't enabled by default. This has >>> however changed recently in JDK8. >>> >>> Could somebody please open a bug for this issue and review the change: >>> >>> http://cr.openjdk.java.net/~simonis/webrevs/webrev_xrender.v1/ >>> >>> The fix is small and straightforward. >>> You can read the full story below (or the HTML-version in the webrev >>> for a better reading experience). >>> >>> Thank you and best regards, >>> Volker >>> >>> >>> >>> Problem description >>> >>> The XRender backend writes some native data-structures which have the >>> size of a native pointer (i.e. 32-bit on 32-bit architectures and >>> 64-bit on 64-bit architectures) by using Unsafe.putInt(). This is of >>> course not safe and breaks on 64-bit Big-endian architectures like >>> SPARC, PPC64 or HPUX/IA64. The concrete problem is in the method >>> setGlyphID in src/solaris/classes/sun/font/XRGlyphCacheEntry.java: >>> >>> public static void setGlyphID(long glyphInfoPtr, int id) { >>> StrikeCache.unsafe.putInt(glyphInfoPtr + StrikeCache.cacheCellOffset, >>> id); >>> } >>> >>> which writes the offending field and in the function >>> Java_sun_java2d_xr_XRBackendNative_XRAddGlyphsNative in >>> src/solaris/native/sun/java2d/x11/XRBackendNative.c which reads this >>> field: >>> >>> for (i=0; i < glyphCnt; i++) { >>> GlyphInfo *jginfo = (GlyphInfo *) jlong_to_ptr(glyphInfoPtrs[i]); >>> >>> gid[i] = (Glyph) (0x0ffffffffL & ((unsigned long)(jginfo->cellInfo))); >>> >>> Actually, they both access the cellInfo field of a GlypInfo structure >>> which has the size of a native pointer (see >>> src/share/native/sun/font/fontscalerdefs.h): >>> >>> struct GlyphInfo { >>> float advanceX; >>> float advanceY; >>> UInt16 width; >>> UInt16 height; >>> UInt16 rowBytes; >>> UInt8 managed; >>> float topLeftX; >>> float topLeftY; >>> void *cellInfo; >>> UInt8 *image; >>> } >>> >>> The native reader reads the field as a void* and casts it into an >>> unsigned long. On Big-endian architectures this shifts the integer >>> value which had been previously written in setGlyphID() by 32 bits to >>> the left such that the final 'anding' with 0x0ffffffffL will always >>> lead to a zero result (on Little-endian architectures there's no >>> problem because the 4-byte integer value lies in the 'right' half of >>> the 8-byte long value). >>> >>> How to reproduce the problem >>> >>> This finally leads to the effect that all AWT/Swing applications will >>> run as expected but won't actually display any character glyphs at >>> all! This behavior is reproducible with every JDK7 and JDK8. You just >>> have to set the property -Dsun.java2d.xrender=True and make sure that >>> the actual Xserver which displays the application window really >>> supports the XRender extension. Using -Dsun.java2d.xrender=True (with >>> capital 'T') will print a debugging line which confirms whether the >>> XRender pipeline will be used ('XRender pipeline enabled') or not >>> ('Could not enable XRender pipeline'). >>> >>> Notice that the XRender pipeline was switched off by default in JDK7 >>> but is currently switched on by default in JDK8. However if the >>> displaying X-server doesn't support XRender there's always a silent >>> fallback to the plain X11 rendering pipeline. So you need an XRender >>> capable X server to reproduce this problem. >>> >>> How to fix the problem >>> >>> Fixing the problem is easy: we just have to replace the offending >>> Unsafe.putInt()/Unsafe.getInt() accesses with corresponding >>> Unsafe.putAddress()/Unsafe.getAddress() calls. These routines >>> write/read 4 byte in 32-bit VMs and 8 byte on 64-bit VMs (actually >>> they read/write Unsafe.addressSize() bytes which corresponds to the >>> mentioned values). >>> >>> Other cleanups in the patch >>> >>> Once I've fixed the problem, I've also cleaned up several other >>> occurrences of the following pattern: >>> >>> long pixelDataAddress; >>> if (StrikeCache.nativeAddressSize == 4) { >>> pixelDataAddress = 0xffffffff & >>> StrikeCache.unsafe.getInt(glyphInfoPtr + StrikeCache.pixelDataOffset); >>> } else { >>> pixelDataAddress = StrikeCache.unsafe.getLong(glyphInfoPtr + >>> StrikeCache.pixelDataOffset); >>> } >>> long pixelDataAddress = StrikeCache.unsafe.getAddress(glyphInfoPtr + >>> StrikeCache.pixelDataOffset); >>> >>> The intention of this code is to load a native pointer and store it >>> into a Java long variable. On 32-bit architectures it uses >>> Unsafe.getInt() to read the value and masks the result with 0xffffffff >>> after converting it into a Java long value (which is actually the same >>> as doing a zero-extension of a 32-bit value during the conversion into >>> a 64-bit value). On 64-bit architectures it simply uses >>> Unsafe.getLong() to read the value. >>> >>> The previous code can be simplified into a single expression by always >>> using Unsafe.getAddress(): >>> >>> long pixelDataAddress = StrikeCache.unsafe.getAddress(glyphInfoPtr + >>> StrikeCache.pixelDataOffset); >>> >>> because Unsafe.getAddress() does exactly the same thing: it reads a >>> native pointer and returns it as a Java long value. In the case where >>> the native pointer is less than 64 bits wide, it is extended as an >>> unsigned number to a Java long (see JavaDoc of >>> sun.misc.Unsafe.getAddress()). >>> >>> I've also simplified the following line in the function >>> Java_sun_java2d_xr_XRBackendNative_XRAddGlyphsNative in >>> src/solaris/native/sun/java2d/x11/XRBackendNative.c: >>> >>> - gid[i] = (Glyph) (0x0ffffffffL & ((unsigned >>> long)(jginfo->cellInfo))); >>> + // 'jginfo->cellInfo' is of type 'void*' (see definition of >>> 'GlyphInfo' in fontscalerdefs.h) >>> + // 'Glyph' is typedefed to 'unsigned long' (see >>> http://www.x.org/releases/X11R7.7/doc/libXrender/libXrender.txt) >>> + // Maybe we should assert that (sizeof(void*) == sizeof(Glyph)) ? >>> + gid[i] = (Glyph) (jginfo->cellInfo); >>> >>> because Glyph is typedefed to unsigned long anyway. The >>> 'zero-extension' of the result is unnecessary as well because we're >>> actually reading an integer value here and not a pointer. >> From bourges.laurent at gmail.com Tue May 7 07:25:02 2013 From: bourges.laurent at gmail.com (=?ISO-8859-1?Q?Laurent_Bourg=E8s?=) Date: Tue, 7 May 2013 09:25:02 +0200 Subject: [OpenJDK 2D-Dev] YourKit Java Profiler Open Source License Request In-Reply-To: References: Message-ID: Jaroslav, I like very much netbeans profiler and I use it since I adopted netbeans 6. Recently (7.3) it happens sometimes that the socket connexion is lost with the profiled application. In pisces context, I use the bootstrap prepend option to inject my patched classes into the openjdk jvm. Then netbeans is unable to instrument them. Moreover, I use the instrument mode over sampling because I want accurate method call counters and I advocate it is still difficult / obscure how to tell netbeans which classes to instrument or set profiling points: it often profiles nothing when I try tuning them. If you have some time, could we talk using skype today ? I live in france (gmt +1) Laurent Le 7 mai 2013 07:55, "Jaroslav Bachor?k" a ?crit : > > Hi Laurent, > what is exactly the problem with the NB Profiler's overhead. With sensible settings in the instrumented mode it's pretty ok and when you use the sampled mode it's on par with any other sample based profiler (eg. Yourkit with default settings). > > If you need help with tuning the NB Profiler settings I can help (or relay you to guys writing that tool). > > Cheers, > -JB- > > Sent from my Android phone using TouchDown (www.nitrodesk.com) > > -----Original Message----- > From: Laurent Bourg?s [bourges.laurent at gmail.com] > Received: Monday, 06 May 2013, 22:07 > To: Donald Smith [donald.smith at oracle.com] > CC: discuss at openjdk.java.net [discuss at openjdk.java.net]; 2d-dev at openjdk.java.net [2d-dev at openjdk.java.net] > Subject: Re: YourKit Java Profiler Open Source License Request > > Donald, > thanks for your prompt decision. > > I advocate my request was probably stupid / counter productive because it > leads to promoting commercial products / services while OpenJDK is open > source (;)) > > However having an efficient profiler is important for such project. > Is there any one in the Oracle's tool suite that could be provided to the > openjdk community (JRockit ...), dtrace (solaris ...) ? > Is there any web page describing tools recommended by openjdk developers on > the wiki ? > > FYI, I just succeed in getting oprofile results on my linux 64 machine > (fedora 14 quite old) and it seems very promising. Thanks Andrew for your > tips. > > Regards, > Sorry again for the "noise", > Laurent > > > 2013/5/6 Donald Smith > > > Laurent, > > > > Thanks for this question, here are my initial thoughts... I'm hoping some > > of the other technical suggestions people have made are helpful, because I > > don't think this is a viable path. I'm not sure how many other communities > > handle this scenario, but I know when I was at Eclipse, for example, > > projects were discouraged from endorsing products in this manner. > > Moreover, submissions advertising goods or services are discouraged in our > > web site Terms of Use. > > > > - Don > > > > > > > > On 06/05/2013 5:46 AM, Laurent Bourg?s wrote: > > > > Dear Dalibor, Donald and java2d members, > > > > I am currently working hard to improve performances of the pisces java2d > > renderering engine. > > > > To help me improving cpu hotspots, I need an efficient java profiler > > (lower overhead than netbeans profiler). > > > > I *personally* requested this morning an "open source" license for > > Yourkit Profiler. > > > > As you can see in the sales response (below), this license can be granted > > free of charge *but it requires a public acknowledgement on the 2D > > Graphics Group page of the OpenJDK web site*. > > > > As I am only a contributor, who can decide if it is possible (dalibor, > > donald) ? > > What are your opinions ? > > > > Moreover I think having such profiler could be helpful to other openjdk > > projects as well. If anybody else is interested, please say it on the > > discuss mailing list. > > > > Apparently, licenses are given to persons having their names: > > "Please send me the list of developers (names and surnames) who need > > licenses." > > > > Best regards, > > Laurent > > > > PS to Vladimir Kondratyev: I am waiting for the openjdk project manager > > decision before going further. > > > > FYI, here are the license request email followed by the Yourkit sales > > response: > > > > 2013/5/6 Vladimir Kondratyev > > > >> Dear Laurent, > >> > >> Thank you for your interest in our products. > >> > >> We are ready to provide free of charge licenses for "The 2D Graphics > >> Group" project. > >> > >> Please send me the list of developers (names and surnames) > >> who need licenses. > >> > >> In return we require to place small a small free-form text > >> endorsement/testimonial to the project web > >> site. > >> > >> The testimonial should contain the text that 2D Graphics Group is using > >> YourKit profiler > >> and contain a reference to YourKit web site. If you need a graphical > >> logos, please find them attached. > >> > >> For example: > >> > >> " > >> YourKit is kindly supporting 2D Graphics open source projects with its > >> full-featured Java Profiler. > >> YourKit, LLC is the creator of innovative and intelligent tools for > >> profiling > >> Java and .NET applications. Take a look at YourKit's leading software > >> products: > >> YourKit Java > >> Profiler and > >> YourKit .NET > >> Profiler. > >> " > >> > >> Best regards, > >> Vladimir Kondratyev > >> YourKit, LLC > >> http://www.yourkit.com > >> "Don't get lost in data, get information!" > >> > >> > >> Monday, May 6, 2013, 9:16:12 AM, you wrote: > >> > >> > Hi, > >> > >> > I am currently working hard to improve cpu and memory performance of the > >> > pisces java2d renderering engine for the open jdk 8: see java2d mailing > >> > list: openjdk.java.net/groups/2d/ > >> > >> > I am using both netbeans profiler and my own probes in the code, but I > >> > would like to use your profiler to help me having better and more > >> accurate > >> > metrics. > >> > >> > regards, > >> > laurent > >> > > > > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From bourges.laurent at gmail.com Tue May 7 08:44:20 2013 From: bourges.laurent at gmail.com (=?ISO-8859-1?Q?Laurent_Bourg=E8s?=) Date: Tue, 7 May 2013 10:44:20 +0200 Subject: [OpenJDK 2D-Dev] YourKit Java Profiler Open Source License Request In-Reply-To: <5187CC35.7060200@redhat.com> References: <123176560.20130506120447@yourkit.com> <5187C55D.8010201@redhat.com> <5187CC35.7060200@redhat.com> Message-ID: Andrew, I confirm oprofile (0.96 on my fedora 14) works just fine (see below). Do you recommend me to use the latest (git) version ? 0.96 is quite old (2011) Could you explain me a bit how to get sample counts corresponding to the complete benchmark (few minutes long) ? should I use the event argument to set the highest count (reset) value ? By default, oprofile uses: CPU_CLK_UNHALTED:100000:0:1:1 opcontrol --event=CPU_CLK_UNHALTED:400000 What is the maximum value I can set ? [bourgesl at jmmc-laurent test]$ opreport -l -t 0.1 | grep pisces CPU: Intel Westmere microarchitecture, speed 2800 MHz (estimated) *Counted CPU_CLK_UNHALTED events (Clock cycles when not halted) with a unit mask of 0x00 (No unit mask) count 100000 *1513281 37.5074 9729.jo java int sun.java2d.pisces.Renderer$ScanlineIterator.next() 648128 16.0642 9729.jo java void sun.java2d.pisces.Renderer._endRendering(int, int, int, int)~1 394000 9.7655 9729.jo java void sun.java2d.pisces.Renderer.addLine(float, float, float, float) 101770 2.5224 9729.jo java void sun.java2d.pisces.PiscesTileGenerator.getAlpha(byte[], int, int) 98196 2.4338 9729.jo java void sun.java2d.pisces.Stroker.quadTo(float, float, float, float) 92658 2.2966 9729.jo java void sun.java2d.pisces.PiscesCache.copyAARow(int[], int, int, int) 74131 1.8374 9729.jo java void sun.java2d.pisces.PiscesRenderingEngine.pathTo(float[], java.awt.geom.PathIterator, sun.awt.geom.PathConsumer2D) 53440 1.3245 9729.jo java void sun.java2d.pisces.Renderer.quadTo(float, float, float, float) 44042 1.0916 9729.jo java void sun.java2d.pisces.Stroker.lineTo(float, float) 35301 0.8750 9729.jo java int sun.java2d.pisces.Stroker.computeOffsetQuad(float[], int, float[], float[]) 34214 0.8480 9729.jo java void sun.java2d.pisces.Stroker.drawRoundJoin(float, float, float, float, float, float, boolean, float) 33533 0.8311 9729.jo java void sun.java2d.pisces.Renderer.curveBreakIntoLinesAndAdd(float, float, sun.java2d.pisces.Curve, float, float) 33051 0.8192 9729.jo java void sun.java2d.pisces.PiscesRenderingEngine.strokeTo(sun.java2d.pisces.RendererContext, java.awt.Shape, java.awt.geom.AffineTransform, float, sun.java2d.pisces.PiscesRenderingEngine$NormMode, int, int, float, float[], float, sun.awt.geom.PathConsumer2D) 32941 0.8165 9729.jo java float sun.java2d.pisces.Curve.falsePositionROCsqMinusX(float, float, float, float) 32398 0.8030 9729.jo java int sun.java2d.pisces.PiscesRenderingEngine$NormalizingPathIterator.currentSegment(float[]) 30308 0.7512 9729.jo java void sun.java2d.pisces.Stroker.emitReverse() 23163 0.5741 9729.jo java int sun.java2d.pisces.Stroker.findSubdivPoints(sun.java2d.pisces.Curve, float[], float[], int, float) 20532 0.5089 9729.jo java int sun.java2d.pisces.Curve.rootsOfROCMinusW(float[], int, float, float) 14668 0.3636 9729.jo java void sun.java2d.pisces.Stroker.finish() 10103 0.2504 9729.jo java void sun.java2d.pisces.Stroker.emitCurveTo(float, float, float, float, float, float, float, float, boolean) 7497 0.1858 9729.jo java void sun.java2d.pisces.Stroker.drawJoin(float, float, float, float, float, float, float, float, float, float) 7115 0.1763 9729.jo java int sun.java2d.pisces.Helpers.cubicRootsInAB(float, float, float, float, float[], int, float, float) 6183 0.1532 9729.jo java void sun.java2d.pisces.Dasher.lineTo(float, float) 4962 0.1230 9729.jo java void sun.java2d.pisces.Renderer.curveTo(float, float, float, float, float, float) 4681 0.1160 9729.jo java boolean sun.java2d.pisces.Renderer.endRendering() FYI, here is the shell script I run: [bourgesl at jmmc-laurent test]$ cat profile.sh JAVA_OPTS="-server -XX:+PrintCommandLineFlags -XX:-PrintFlagsFinal -XX:-TieredCompilation " JAVA_TUNING="-Xms128m -Xmx128m" #JAVA_TUNING="-Xms2048m -Xmx2048m" CLASSPATH=/home/bourgesl/NetBeansProjects/PiscesTests/dist/Java2DPiscesTests.jar BOOTCLASSPATH="" DURATION="2000" echo "CP: $CLASSPATH" echo "Boot CP: $BOOTCLASSPATH" echo "JVM path" which java echo "Java version" java -version * JAVA_CMD="/home/bourgesl/libs/openjdk/jdk8/build/linux-x86_64-normal-server-release/images/j2sdk-image/bin/java" AGENT="-agentpath:/usr/lib64/oprofile/libjvmti_oprofile.so" opcontrol --event=default opcontrol --no-vmlinux opcontrol --init opcontrol --start $JAVA_CMD $BOOTCLASSPATH $AGENT $JAVA_OPTS $JAVA_TUNING -cp $CLASSPATH it.geosolutions.java2d.MapBench $DURATION opcontrol --shutdown * Thanks for your support, Laurent 2013/5/6 Andrew Haley > On 05/06/2013 04:12 PM, Laurent Bourg?s wrote: > > Could you give advices on how to use it with custom OpenJDK builds, > andrew > > IME it Just Works. The oprofile shipped with Linux distros has > everything you need, and you just need to use -agentpath: when you > start the VM. > > Andrew. > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From aph at redhat.com Tue May 7 08:55:05 2013 From: aph at redhat.com (Andrew Haley) Date: Tue, 07 May 2013 09:55:05 +0100 Subject: [OpenJDK 2D-Dev] YourKit Java Profiler Open Source License Request In-Reply-To: References: <123176560.20130506120447@yourkit.com> <5187C55D.8010201@redhat.com> <5187CC35.7060200@redhat.com> Message-ID: <5188C169.1050002@redhat.com> On 05/07/2013 09:44 AM, Laurent Bourg?s wrote: > I confirm oprofile (0.96 on my fedora 14) works just fine (see below). > > Do you recommend me to use the latest (git) version ? 0.96 is quite old > (2011) Only if the version you're using doesn't work. > Could you explain me a bit how to get sample counts corresponding to the > complete benchmark (few minutes long) ? I don't understand. As far as I can see that is what you have. > should I use the event argument to set the highest count (reset) value ? > > By default, oprofile uses: CPU_CLK_UNHALTED:100000:0:1:1 > > opcontrol --event=CPU_CLK_UNHALTED:400000 > > What is the maximum value I can set ? I always use the default. The more you increase sample frequency the more overhead there is. The real test is to experiment and see if it makes any difference. Andrew. From patrick at reini.net Tue May 7 09:23:05 2013 From: patrick at reini.net (Patrick Reinhart) Date: Tue, 07 May 2013 11:23:05 +0200 Subject: [OpenJDK 2D-Dev] JDK-8013810: UnixPrintServiceLookup not returning consistent values In-Reply-To: <517EC145.5080504@oracle.com> References: <921DCFDE-B4B9-4E51-A95E-6439111A7AC4@reini.net> <1366229461.2858.4.camel@wsccuw01.ccuw.ch> <5175A7F5.6070208@oracle.com> <7ED39034-6E81-4274-89F1-CBC9B15321AE@reini.net> <5176B668.7040405@oracle.com> <5176BD48.6060704@oracle.com> <2A33148C-51AF-4E70-8138-E9383F634C0F@reini.net> <517EC145.5080504@oracle.com> Message-ID: <20130507112305.11145qtcsz4fz2t5@webmail.nine.ch> Hi Jennifer, I have changed the test to not use non internal packages now that produces the same results for my case now. Now I still waiting for the feedback of Phil to get that fixed correctly.. Best regards Patirck Quoting Jennifer Godinez : > Yes I have and dicussed with Phil. It looks pretty good but there > may be a safer way to fix it since the fix is still using lpc/lpstat > commands for CUPS. Also, the regression test should be modified to > use non internal package. Phil will give his input on this too. > > Jennifer From bourges.laurent at gmail.com Tue May 7 13:02:27 2013 From: bourges.laurent at gmail.com (=?ISO-8859-1?Q?Laurent_Bourg=E8s?=) Date: Tue, 7 May 2013 15:02:27 +0200 Subject: [OpenJDK 2D-Dev] YourKit Java Profiler Open Source License Request In-Reply-To: <5188C169.1050002@redhat.com> References: <123176560.20130506120447@yourkit.com> <5187C55D.8010201@redhat.com> <5187CC35.7060200@redhat.com> <5188C169.1050002@redhat.com> Message-ID: Andrew, thanks so much for advertising oprofile: it works like a charm ! Apparently, I understood the documentation and the default CPU_CLK_UNHALTED setting is perfect. Moreover, it is able to annotate java source code (dtrace like) and it is so easy: opannotate --source -o src/ -t 0.1 --search-dirs=/home/bourgesl/libs/openjdk/pisces/src/sun/java2d/pisces/ PS: It would be so great if there is a netbeans plugin (apparently an eclipse one exists in the fedora packages) ... Here is an part of annoted java code (2 major hotspot methods): /* int sun.java2d.pisces.Renderer$ScanlineIterator.next() total: 4380416 34.2926 */ : int next() { : final float[] _edges = rdr.edges; 86967 0.6808 : final int[] _edgesInt = rdr.edgesInt; /* int sun.java2d.pisces.Renderer$ScanlineIterator.next() total: 4380416 34.2926 */ 2653 0.0208 : final int cury = nextY++; 89373 0.6997 : final int bucket = cury - rdr.boundsMinY; 24478 0.1916 : int count = this.edgeCount; 1101 0.0086 : int[] ptrs = this.edgePtrs; 19457 0.1523 : final int bucketcount = rdr.edgeBucketCounts[bucket]; : 33547 0.2626 : if ((bucketcount & 0x1) != 0) { 16662 0.1304 : final int offYmax = YMAX; : int newCount = 0; 72462 0.5673 : for (int i = 0, ecur; i < count; i++) { 81526 0.6382 : ecur = ptrs[i]; 99950 0.7825 : if (_edgesInt[ecur + offYmax] > cury) { 209365 1.6390 : ptrs[newCount++] = ecur; : } : } 25606 0.2005 : count = newCount; : } : : int ptrLen = bucketcount >> 1; 33571 0.2628 : if (ptrs.length < count + ptrLen) { 50928 0.3987 : boolean ptrInitial = (ptrs == edgePtrs_initial); : this.edgePtrs = ptrs = Helpers.widenArray(rdrCtx, ptrs, count, ptrLen, arrayMaxUsed); 7024 0.0550 : if (ptrInitial && doCleanDirty) { : IntArrayCache.fill(edgePtrs_initial, 0, arrayMaxUsed, 0); : } : } : : final int nul = NULL; 26781 0.2097 : for (int ecur = rdr.edgeBuckets[bucket]; ecur != nul; ecur = _edgesInt[ecur /* + NEXT */]) { 340270 2.6638 : ptrs[count++] = ecur; : // REMIND: Adjust start Y if necessary : } : 21188 0.1659 : this.edgeCount = count; :// if ((count & 0x1) != 0) { :// System.out.println("ODD NUMBER OF EDGES!!!!"); :// } : 15596 0.1221 : int[] xings = this.crossings; 31884 0.2496 : if (xings.length < count) { 10004 0.0783 : if (crossings == crossings_initial) { : IntArrayCache.fill(crossings, 0, arrayMaxUsed, 0); : } else { : rdrCtx.putIntArray(crossings, arrayMaxUsed); // last known value for arrayMaxUsed : } : // Get larger array: : this.crossings = xings = rdrCtx.getIntArray(count); // count or ptrs.length ? : } : // LBO: max used mark : if (count > arrayMaxUsed) { arrayMaxUsed = count; } : 5708 0.0447 : final int offSlope = SLOPE; 3331 0.0261 : final int offOr = OR; : : float curx; : int cross, jcross; : 135873 1.0637 : for (int i = 0, ecur, j; i < count; i++) { 21831 0.1709 : ecur = ptrs[i]; 227570 1.7816 : curx = _edges[ecur /* + CURX */]; 159331 1.2473 : _edges[ecur /* + CURX */] = curx + _edges[ecur + offSlope]; : 594904 4.6573 : cross = ((int) curx) << 1; 2985 0.0234 : if (_edgesInt[ecur + offOr] != 0 /* > 0 */) { 269643 2.1109 : cross |= 1; : } : : // LBO: right shift crossings ... : j = i; 128253 1.0040 : while (--j >= 0) { 102837 0.8051 : jcross = xings[j]; 283135 2.2166 : if (jcross <= cross) { 92418 0.7235 : break; : } 70142 0.5491 : xings[j + 1] = jcross; 257937 2.0193 : ptrs[j + 1] = ptrs[j]; : } 304554 2.3842 : xings[j + 1] = cross; 350968 2.7476 : ptrs[j + 1] = ecur; : } 68603 0.5371 : return count; : } : : boolean hasNext() { : return nextY < maxY; : } : : int curY() { : return nextY - 1; : } : } /* void sun.java2d.pisces.Renderer._endRendering(int, int, int, int) total: 2601080 20.3628 */ : private void _endRendering(final int bboxx0, final int bboxx1, : int ymin, int ymax) : { : // Mask to determine the relevant bit of the crossing sum : // 0x1 if EVEN_ODD, all bits if NON_ZERO : final int mask = (windingRule == WIND_EVEN_ODD) ? 0x1 : ~0x0; : : // Useful when processing tile line by tile line 5500 0.0431 : final int[] alpha = alphaLine; /* void sun.java2d.pisces.Renderer._endRendering(int, int, int, int) total: 2601080 20.3628 */ : 39171 0.3067 : final PiscesCache _cache = this.cache; : : // Now we iterate through the scanlines. We must tell emitRow the coord : // of the first non-transparent pixel, so we must keep accumulators for : // the first and last pixels of the section of the current pixel row : // that we will emit. : // We also need to accumulate pix_bbox*, but the iterator does it : // for us. We will just get the values from it once this loop is done 1199 0.0094 : int pix_maxX = Integer.MIN_VALUE; : int pix_minX = Integer.MAX_VALUE; : : int y = boundsMinY; // needs to be declared here so we emit the last row properly. : 354 0.0028 : for (final ScanlineIterator it = scanlineIterator.init(ymin, ymax); 1974 0.0155 : it.hasNext(); ) : { 525 0.0041 : final int numCrossings = it.next(); 82494 0.6458 : y = it.curY(); : 6392 0.0500 : if (numCrossings > 0) { 8991 0.0704 : final int[] crossings = it.crossings; // array may change : : // LBO: TODO: explain crossing processing: Jim, please ? ... 48601 0.3805 : int lowx = crossings[0] >> 1; 33739 0.2641 : int highx = crossings[numCrossings - 1] >> 1; 94313 0.7383 : int x0 = Math.max(lowx, bboxx0); : int x1 = Math.min(highx, bboxx1); : : pix_minX = Math.min(pix_minX, x0 >> SUBPIXEL_LG_POSITIONS_X); 44084 0.3451 : pix_maxX = Math.max(pix_maxX, x1 >> SUBPIXEL_LG_POSITIONS_X); : : // TODO: fix alpha last index = pix_xmax + 1 : // ie x1 >> SUBPIXEL_LG_POSITIONS_X (inclusive) : // alpha[pix_xmax + 1] <=> alpha[x1 >> SUBPIXEL_LG_POSITIONS_X + 1] : // in contrary to half-open pattern used by pix_maxX = max(x1 >> SUBPIXEL_LG_POSITIONS_X) : 53976 0.4226 : int sum = 0; : int prev = bboxx0; : for (int i = 0; i < numCrossings; i++) { 61179 0.4789 : int curxo = crossings[i]; 116872 0.9149 : int curx = curxo >> 1; : // to turn {0, 1} into {-1, 1}, multiply by 2 and subtract 1. 86834 0.6798 : int crorientation = ((curxo & 0x1) << 1) - 1; : : // LBO: TODO: explain alpha computation: Jim, please ? ... 56304 0.4408 : if ((sum & mask) != 0) { 145231 1.1370 : x0 = Math.max(prev, bboxx0); 88536 0.6931 : x1 = Math.min(curx, bboxx1); 70122 0.5490 : if (x0 < x1) { 140577 1.1005 : x0 -= bboxx0; // turn x0, x1 from coords to indeces 73769 0.5775 : x1 -= bboxx0; // in the alpha array. : 10572 0.0828 : int pix_x = x0 >> SUBPIXEL_LG_POSITIONS_X; 42994 0.3366 : int pix_xmaxm1 = (x1 - 1) >> SUBPIXEL_LG_POSITIONS_X; : : if (pix_x == pix_xmaxm1) { : // Start and end in same pixel 94868 0.7427 : int tmp = (x1 - x0); 6644 0.0520 : alpha[pix_x] += tmp; 62346 0.4881 : alpha[pix_x + 1] -= tmp; 126253 0.9884 : } else { 80656 0.6314 : int pix_xmax = x1 >> SUBPIXEL_LG_POSITIONS_X; 6179 0.0484 : int tmp = (x0 & SUBPIXEL_MASK_X); 25400 0.1988 : alpha[pix_x] += SUBPIXEL_POSITIONS_X - tmp; 224672 1.7589 : alpha[pix_x + 1] += tmp; 84426 0.6609 : tmp = (x1 & SUBPIXEL_MASK_X); 1039 0.0081 : alpha[pix_xmax] -= SUBPIXEL_POSITIONS_X - tmp; 184161 1.4417 : alpha[pix_xmax + 1] -= tmp; : } : } : } 106838 0.8364 : sum += crorientation; 59094 0.4626 : prev = curx; : } : : } : : // even if this last row had no crossings, alpha will be zeroed : // from the last emitRow call. But this doesn't matter because : // maxX < minX, so no row will be emitted to the piscesCache. 19036 0.1490 : if ((y & SUBPIXEL_MASK_Y) == SUBPIXEL_MASK_Y) { 13020 0.1019 : if (pix_maxX >= pix_minX) { 1464 0.0115 : emitRow(_cache, alpha, y >> SUBPIXEL_LG_POSITIONS_Y, pix_minX, pix_maxX); : } else { 130734 1.0235 : _cache.clearAARow(y >> SUBPIXEL_LG_POSITIONS_Y); : } 45 3.5e-04 : pix_minX = Integer.MAX_VALUE; : pix_maxX = Integer.MIN_VALUE; : } : } // scan line iterator : : // Emit final row 56073 0.4390 : if (pix_maxX >= pix_minX) { :// System.out.println("EmitFinalRow = " + (y >> SUBPIXEL_LG_POSITIONS_Y)); 1345 0.0105 : emitRow(_cache, alpha, y >> SUBPIXEL_LG_POSITIONS_Y, pix_minX, pix_maxX); : } 2484 0.0194 : } Thanks again, Laurent 2013/5/7 Andrew Haley > On 05/07/2013 09:44 AM, Laurent Bourg?s wrote: > > > I confirm oprofile (0.96 on my fedora 14) works just fine (see below). > > > > Do you recommend me to use the latest (git) version ? 0.96 is quite old > > (2011) > > Only if the version you're using doesn't work. > > > Could you explain me a bit how to get sample counts corresponding to the > > complete benchmark (few minutes long) ? > > I don't understand. As far as I can see that is what you have. > > > should I use the event argument to set the highest count (reset) value ? > > > > By default, oprofile uses: CPU_CLK_UNHALTED:100000:0:1:1 > > > > opcontrol --event=CPU_CLK_UNHALTED:400000 > > > > What is the maximum value I can set ? > > I always use the default. The more you increase sample frequency the > more overhead there is. > > The real test is to experiment and see if it makes any difference. > > Andrew. > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From jennifer.godinez at oracle.com Tue May 7 16:33:22 2013 From: jennifer.godinez at oracle.com (jennifer.godinez at oracle.com) Date: Tue, 07 May 2013 16:33:22 +0000 Subject: [OpenJDK 2D-Dev] hg: jdk8/2d/jdk: 8011069: Printing: NullPointerException since jdk8 b82 showing native Page Setup Dialog. Message-ID: <20130507163406.AE6CA48884@hg.openjdk.java.net> Changeset: 23f7ff502a89 Author: jgodinez Date: 2013-05-07 09:32 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/23f7ff502a89 8011069: Printing: NullPointerException since jdk8 b82 showing native Page Setup Dialog. Reviewed-by: bae, prr ! src/macosx/classes/sun/lwawt/macosx/CPrinterJob.java ! src/share/classes/sun/print/RasterPrinterJob.java From jaroslav.bachorik at oracle.com Tue May 7 05:55:18 2013 From: jaroslav.bachorik at oracle.com (Jaroslav Bachorík) Date: Tue, 07 May 2013 07:55:18 +0200 Subject: [OpenJDK 2D-Dev] =?utf-8?q?YourKit_Java_Profiler_Open_Source_Lice?= =?utf-8?q?nse_Request?= Message-ID: Hi Laurent, what is exactly the problem with the NB Profiler's overhead. With sensible settings in the instrumented mode it's pretty ok and when you use the sampled mode it's on par with any other sample based profiler (eg. Yourkit with default settings). If you need help with tuning the NB Profiler settings I can help (or relay you to guys writing that tool). Cheers, -JB- Sent from my Android phone using TouchDown (www.nitrodesk.com) -----Original Message----- From: Laurent Bourg?s [bourges.laurent at gmail.com] Received: Monday, 06 May 2013, 22:07 To: Donald Smith [donald.smith at oracle.com] CC: discuss at openjdk.java.net [discuss at openjdk.java.net]; 2d-dev at openjdk.java.net [2d-dev at openjdk.java.net] Subject: Re: YourKit Java Profiler Open Source License Request Donald, thanks for your prompt decision. I advocate my request was probably stupid / counter productive because it leads to promoting commercial products / services while OpenJDK is open source (;)) However having an efficient profiler is important for such project. Is there any one in the Oracle's tool suite that could be provided to the openjdk community (JRockit ...), dtrace (solaris ...) ? Is there any web page describing tools recommended by openjdk developers on the wiki ? FYI, I just succeed in getting oprofile results on my linux 64 machine (fedora 14 quite old) and it seems very promising. Thanks Andrew for your tips. Regards, Sorry again for the "noise", Laurent 2013/5/6 Donald Smith > Laurent, > > Thanks for this question, here are my initial thoughts... I'm hoping some > of the other technical suggestions people have made are helpful, because I > don't think this is a viable path. I'm not sure how many other communities > handle this scenario, but I know when I was at Eclipse, for example, > projects were discouraged from endorsing products in this manner. > Moreover, submissions advertising goods or services are discouraged in our > web site Terms of Use. > > - Don > > > > On 06/05/2013 5:46 AM, Laurent Bourg?s wrote: > > Dear Dalibor, Donald and java2d members, > > I am currently working hard to improve performances of the pisces java2d > renderering engine. > > To help me improving cpu hotspots, I need an efficient java profiler > (lower overhead than netbeans profiler). > > I *personally* requested this morning an "open source" license for > Yourkit Profiler. > > As you can see in the sales response (below), this license can be granted > free of charge *but it requires a public acknowledgement on the 2D > Graphics Group page of the OpenJDK web site*. > > As I am only a contributor, who can decide if it is possible (dalibor, > donald) ? > What are your opinions ? > > Moreover I think having such profiler could be helpful to other openjdk > projects as well. If anybody else is interested, please say it on the > discuss mailing list. > > Apparently, licenses are given to persons having their names: > "Please send me the list of developers (names and surnames) who need > licenses." > > Best regards, > Laurent > > PS to Vladimir Kondratyev: I am waiting for the openjdk project manager > decision before going further. > > FYI, here are the license request email followed by the Yourkit sales > response: > > 2013/5/6 Vladimir Kondratyev > >> Dear Laurent, >> >> Thank you for your interest in our products. >> >> We are ready to provide free of charge licenses for "The 2D Graphics >> Group" project. >> >> Please send me the list of developers (names and surnames) >> who need licenses. >> >> In return we require to place small a small free-form text >> endorsement/testimonial to the project web >> site. >> >> The testimonial should contain the text that 2D Graphics Group is using >> YourKit profiler >> and contain a reference to YourKit web site. If you need a graphical >> logos, please find them attached. >> >> For example: >> >> " >> YourKit is kindly supporting 2D Graphics open source projects with its >> full-featured Java Profiler. >> YourKit, LLC is the creator of innovative and intelligent tools for >> profiling >> Java and .NET applications. Take a look at YourKit's leading software >> products: >> YourKit Java >> Profiler and >> YourKit .NET >> Profiler. >> " >> >> Best regards, >> Vladimir Kondratyev >> YourKit, LLC >> http://www.yourkit.com >> "Don't get lost in data, get information!" >> >> >> Monday, May 6, 2013, 9:16:12 AM, you wrote: >> >> > Hi, >> >> > I am currently working hard to improve cpu and memory performance of the >> > pisces java2d renderering engine for the open jdk 8: see java2d mailing >> > list: openjdk.java.net/groups/2d/ >> >> > I am using both netbeans profiler and my own probes in the code, but I >> > would like to use your profiler to help me having better and more >> accurate >> > metrics. >> >> > regards, >> > laurent >> > > > From philip.race at oracle.com Tue May 7 23:38:20 2013 From: philip.race at oracle.com (Phil Race) Date: Tue, 07 May 2013 16:38:20 -0700 Subject: [OpenJDK 2D-Dev] JDK-8013810: UnixPrintServiceLookup not returning consistent values In-Reply-To: <20130507112305.11145qtcsz4fz2t5@webmail.nine.ch> References: <921DCFDE-B4B9-4E51-A95E-6439111A7AC4@reini.net> <1366229461.2858.4.camel@wsccuw01.ccuw.ch> <5175A7F5.6070208@oracle.com> <7ED39034-6E81-4274-89F1-CBC9B15321AE@reini.net> <5176B668.7040405@oracle.com> <5176BD48.6060704@oracle.com> <2A33148C-51AF-4E70-8138-E9383F634C0F@reini.net> <517EC145.5080504@oracle.com> <20130507112305.11145qtcsz4fz2t5@webmail.nine.ch> Message-ID: <5189906C.7000104@oracle.com> I am assuming this current webrev replaced the previous one:- http://reinharts.dyndns.org/webrev/ getNamedPrinterNameSysV() and getNamedPrinterNameBSD() should not be changed as they should always create a UnixPrintService and so can do this directly. You are subverting the code in there to first check for CUPS which shouldn't be needed. I haven' t tested this out but from inspection, I think the problem is in getServiceByName() where it is ignorant of the CUPS possibility. It needs to have the isCUPSRunning() check and if so create an IPPPrintService(). So that's where you should place your call. That is likely the only change here that is really necessary. The refactoring is OK but but not essential to the fix. -phil. On 5/7/2013 2:23 AM, Patrick Reinhart wrote: > Hi Jennifer, > > I have changed the test to not use non internal packages now that > produces the same results for my case now. > > Now I still waiting for the feedback of Phil to get that fixed > correctly.. > > Best regards > > Patirck > > Quoting Jennifer Godinez : > >> Yes I have and dicussed with Phil. It looks pretty good but there >> may be a safer way to fix it since the fix is still using lpc/lpstat >> commands for CUPS. Also, the regression test should be modified to >> use non internal package. Phil will give his input on this too. >> >> Jennifer > From james.graham at oracle.com Wed May 8 02:26:44 2013 From: james.graham at oracle.com (Jim Graham) Date: Tue, 07 May 2013 19:26:44 -0700 Subject: [OpenJDK 2D-Dev] sun.java2D.Pisces renderer Performance and Memory enhancements In-Reply-To: References: <516DBFBF.20504@oracle.com> <5175A611.9080004@oracle.com> <5177345D.4060408@oracle.com> <517822F0.4040800@oracle.com> <51806526.8070808@oracle.com> <518440E2.4080505@oracle.com> Message-ID: <5189B7E4.5010209@oracle.com> This is amazing work, Laurent! I'll look over the code changes soon. Note that the "2 edge arrays" issue goes away if we can use native methods and C structs. It may be faster still in that case... ...jim On 5/6/13 6:43 AM, Laurent Bourg?s wrote: > Jim, Andrea & java2d members, > > I am happy to announce an updated Pisces patch that is faster again: From patrick at reini.net Wed May 8 07:48:14 2013 From: patrick at reini.net (Patrick Reinhart) Date: Wed, 08 May 2013 09:48:14 +0200 Subject: [OpenJDK 2D-Dev] JDK-8013810: UnixPrintServiceLookup not returning consistent values In-Reply-To: <5189906C.7000104@oracle.com> References: <921DCFDE-B4B9-4E51-A95E-6439111A7AC4@reini.net> <1366229461.2858.4.camel@wsccuw01.ccuw.ch> <5175A7F5.6070208@oracle.com> <7ED39034-6E81-4274-89F1-CBC9B15321AE@reini.net> <5176B668.7040405@oracle.com> <5176BD48.6060704@oracle.com> <2A33148C-51AF-4E70-8138-E9383F634C0F@reini.net> <517EC145.5080504@oracle.com> <20130507112305.11145qtcsz4fz2t5@webmail.nine.ch> <5189906C.7000104@oracle.com> Message-ID: <518A033E.60503@reini.net> Hi Phil, Sorry, I can not share your point of the methods getNamedPrinterNameXX() always returning a UnixPrintService though. That is exactly the point of inconsistency shown by the test case. As far as I checked it the only referred places of those getNamedPrinterNameXX() is exactly the getServiceByName() method mentioned to place the fix. In my opinion those method names are misleading anyway. They both called getNamedPrinterNameXX() even though they return a PrintService. As I assume that they originally did return the active printer name and the PrintService was created outside, as the usage of the getAllPrinterNamesXX() methods - that are called when creating all PrintService instances. You explained me before that in case of hundreds of printers it's faster to just lookup the printer state of one printer only - which is done within the getNamedPrinterNameXX() methods. Patrick Am 08.05.13 01:38, schrieb Phil Race: > I am assuming this current webrev replaced the previous > one:- http://reinharts.dyndns.org/webrev/ > > getNamedPrinterNameSysV() and > > getNamedPrinterNameBSD() > > should not be changed as they should always > create a UnixPrintService and so can do this > directly. You are subverting the code in > there to first check for CUPS which shouldn't > be needed. > > > I haven' t tested this out but from inspection, > I think the problem is in getServiceByName() where > it is ignorant of the CUPS possibility. > It needs to have the isCUPSRunning() check and > if so create an IPPPrintService(). > > So that's where you should place your call. > > That is likely the only change here that is really necessary. > The refactoring is OK but but not essential to the fix. > > -phil. > > On 5/7/2013 2:23 AM, Patrick Reinhart wrote: >> Hi Jennifer, >> >> I have changed the test to not use non internal packages now that >> produces the same results for my case now. >> >> Now I still waiting for the feedback of Phil to get that fixed >> correctly.. >> >> Best regards >> >> Patirck >> >> Quoting Jennifer Godinez : >> >>> Yes I have and dicussed with Phil. It looks pretty good but there >>> may be a safer way to fix it since the fix is still using lpc/lpstat >>> commands for CUPS. Also, the regression test should be modified to >>> use non internal package. Phil will give his input on this too. >>> >>> Jennifer >> > From dingxmin at linux.vnet.ibm.com Thu May 9 06:27:50 2013 From: dingxmin at linux.vnet.ibm.com (Frank Ding) Date: Thu, 09 May 2013 14:27:50 +0800 Subject: [OpenJDK 2D-Dev] Defect 7032904(XRender: Java2Demo) remains Message-ID: <518B41E6.7010308@linux.vnet.ibm.com> Hi Recently our team discovered defect 7032904(XRender: Java2Demo : Infinite loop in Java_sun_java2d_loops_MaskBlit_MaskBlit on OEL 5.6 x64) still exists in latest JDK (7u21) on SLES10SP4. It can be easily reproduced by running SwingSet2 with Nimbus LAF. The issue is also seen in Java 8. Can anybody look into it? Best regards, Frank From philip.race at oracle.com Thu May 9 22:08:29 2013 From: philip.race at oracle.com (Phil Race) Date: Thu, 09 May 2013 15:08:29 -0700 Subject: [OpenJDK 2D-Dev] JDK-8013810: UnixPrintServiceLookup not returning consistent values In-Reply-To: <518A033E.60503@reini.net> References: <921DCFDE-B4B9-4E51-A95E-6439111A7AC4@reini.net> <1366229461.2858.4.camel@wsccuw01.ccuw.ch> <5175A7F5.6070208@oracle.com> <7ED39034-6E81-4274-89F1-CBC9B15321AE@reini.net> <5176B668.7040405@oracle.com> <5176BD48.6060704@oracle.com> <2A33148C-51AF-4E70-8138-E9383F634C0F@reini.net> <517EC145.5080504@oracle.com> <20130507112305.11145qtcsz4fz2t5@webmail.nine.ch> <5189906C.7000104@oracle.com> <518A033E.60503@reini.net> Message-ID: <518C1E5D.30609@oracle.com> Patrick, Maybe you need to be clear in the problem statement. I can't actually find it anywhere in this email thread. I'm reverse engineering to it as follows: You got an IPPPrintService for lookup via PrintServiceLookup.lookupPrintServices(null, null) but a UnixPrintService via attributes.add(new PrinterName(name, null)); PrintServiceLookup.lookupPrintServices(null, attributes) If you read my email you should see that if you make the change I proposed you will never enter the getNamedPrinterXXX() methods if you are using CUPS, which seems like it should fix your problem of different classes. You don't really need to test the class and probably shouldn't. service.equals(serviceByName) seems better. And although getServiceByName() shouldn't enumerate all printers, because that can be very costly in some configurations, it likely should first check to see if we already enumerated all printers, and then see if its in the list. As its written its really intended for the case where no enumeration has been performed but if it already happened there's no harm in leveraging that. Put another, way does this patch (on its own, no other changes) fix your problem It modifies the getPrinterByName() method. If not, why, not, and please print out the actual class/service names seen by your test so we can see more clearly diff --git a/src/solaris/classes/sun/print/UnixPrintServiceLookup.java b/src/solaris/classes/sun/print/UnixPrintServiceLookup.java --- a/src/solaris/classes/sun/print/UnixPrintServiceLookup.java +++ b/src/solaris/classes/sun/print/UnixPrintServiceLookup.java @@ -366,6 +366,29 @@ if (name == null || name.equals("") || !checkPrinterName(name)) { return null; } + + if (printServices != null) { + for (int i=0; i Hi Phil, > > Sorry, I can not share your point of the methods > getNamedPrinterNameXX() always returning a UnixPrintService though. > That is exactly the point of inconsistency shown by the test case. As > far as I checked it the only referred places of those > getNamedPrinterNameXX() is exactly the getServiceByName() method > mentioned to place the fix. > > In my opinion those method names are misleading anyway. They both > called getNamedPrinterNameXX() even though they return a PrintService. > As I assume that they originally did return the active printer name > and the PrintService was created outside, as the usage of the > getAllPrinterNamesXX() methods - that are called when creating all > PrintService instances. You explained me before that in case of > hundreds of printers it's faster to just lookup the printer state of > one printer only - which is done within the getNamedPrinterNameXX() > methods. > > Patrick > > > Am 08.05.13 01:38, schrieb Phil Race: >> I am assuming this current webrev replaced the previous >> one:- http://reinharts.dyndns.org/webrev/ >> >> getNamedPrinterNameSysV() and >> >> getNamedPrinterNameBSD() >> >> should not be changed as they should always >> create a UnixPrintService and so can do this >> directly. You are subverting the code in >> there to first check for CUPS which shouldn't >> be needed. >> >> >> I haven' t tested this out but from inspection, >> I think the problem is in getServiceByName() where >> it is ignorant of the CUPS possibility. >> It needs to have the isCUPSRunning() check and >> if so create an IPPPrintService(). >> >> So that's where you should place your call. >> >> That is likely the only change here that is really necessary. >> The refactoring is OK but but not essential to the fix. >> >> -phil. >> >> On 5/7/2013 2:23 AM, Patrick Reinhart wrote: >>> Hi Jennifer, >>> >>> I have changed the test to not use non internal packages now that >>> produces the same results for my case now. >>> >>> Now I still waiting for the feedback of Phil to get that fixed >>> correctly.. >>> >>> Best regards >>> >>> Patirck >>> >>> Quoting Jennifer Godinez : >>> >>>> Yes I have and dicussed with Phil. It looks pretty good but there >>>> may be a safer way to fix it since the fix is still using >>>> lpc/lpstat commands for CUPS. Also, the regression test should be >>>> modified to use non internal package. Phil will give his input on >>>> this too. >>>> >>>> Jennifer >>> >> > From lana.steuck at oracle.com Fri May 10 05:06:50 2013 From: lana.steuck at oracle.com (lana.steuck at oracle.com) Date: Fri, 10 May 2013 05:06:50 +0000 Subject: [OpenJDK 2D-Dev] hg: jdk8/2d/jaxws: 2 new changesets Message-ID: <20130510050659.D300B4899A@hg.openjdk.java.net> Changeset: 88838e08e4ef Author: katleman Date: 2013-05-02 13:35 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/jaxws/rev/88838e08e4ef Added tag jdk8-b88 for changeset 24fa5452e5d4 ! .hgtags Changeset: 3e5b9ea5ac35 Author: katleman Date: 2013-05-09 10:04 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/jaxws/rev/3e5b9ea5ac35 Added tag jdk8-b89 for changeset 88838e08e4ef ! .hgtags From lana.steuck at oracle.com Fri May 10 05:06:48 2013 From: lana.steuck at oracle.com (lana.steuck at oracle.com) Date: Fri, 10 May 2013 05:06:48 +0000 Subject: [OpenJDK 2D-Dev] hg: jdk8/2d/corba: 6 new changesets Message-ID: <20130510050656.8FAAF48999@hg.openjdk.java.net> Changeset: 1f13a798d1b8 Author: katleman Date: 2013-05-02 13:34 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/corba/rev/1f13a798d1b8 Added tag jdk8-b88 for changeset 4e3a881ebb1e ! .hgtags Changeset: 8f0a461776a9 Author: dmeetry Date: 2013-04-29 16:44 +0400 URL: http://hg.openjdk.java.net/jdk8/2d/corba/rev/8f0a461776a9 4504275: CORBA boolean type unions do not generate compilable code from idlj Summary: JLS doesn't allow boolean type in switch statement, hence substituted by if statement. Reviewed-by: lancea ! src/share/classes/com/sun/tools/corba/se/idl/toJavaPortable/UnionGen.java Changeset: 846aaf02e516 Author: dmeetry Date: 2013-04-29 16:51 +0400 URL: http://hg.openjdk.java.net/jdk8/2d/corba/rev/846aaf02e516 8011986: [corba] idlj generates read/write union helper methods that throw wrong exception in some cases Reviewed-by: lancea ! src/share/classes/com/sun/tools/corba/se/idl/toJavaPortable/UnionGen.java Changeset: ed59110eecdb Author: lana Date: 2013-04-30 17:41 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/corba/rev/ed59110eecdb Merge Changeset: fe4150590ee5 Author: lana Date: 2013-05-06 11:41 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/corba/rev/fe4150590ee5 Merge Changeset: c8286839d0df Author: katleman Date: 2013-05-09 10:03 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/corba/rev/c8286839d0df Added tag jdk8-b89 for changeset fe4150590ee5 ! .hgtags From lana.steuck at oracle.com Fri May 10 05:06:49 2013 From: lana.steuck at oracle.com (lana.steuck at oracle.com) Date: Fri, 10 May 2013 05:06:49 +0000 Subject: [OpenJDK 2D-Dev] hg: jdk8/2d: 14 new changesets Message-ID: <20130510050650.88B7048998@hg.openjdk.java.net> Changeset: 1dfcc874461e Author: omajid Date: 2013-04-29 12:34 -0400 URL: http://hg.openjdk.java.net/jdk8/2d/rev/1dfcc874461e 8013480: fix zero build on arm Reviewed-by: erikj ! common/autoconf/generated-configure.sh ! common/autoconf/platform.m4 ! common/autoconf/spec.gmk.in Changeset: 7e7582e961ba Author: jwilhelm Date: 2013-04-25 16:00 +0200 URL: http://hg.openjdk.java.net/jdk8/2d/rev/7e7582e961ba 7074926: create Solaris Studio IDE (Netbeans) project for hotspot sources Summary: Project files for hotspot delevopment in Solaris Studio and NetBeans. Also reviewed by vladimir.voskresensky at oracle.com Reviewed-by: erikj, dsamersoff + common/nb_native/nbproject/configurations.xml + common/nb_native/nbproject/project.xml Changeset: b9bf111a9547 Author: katleman Date: 2013-04-30 14:39 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/rev/b9bf111a9547 Merge Changeset: e404d321abc6 Author: erikj Date: 2013-05-02 15:46 +0200 URL: http://hg.openjdk.java.net/jdk8/2d/rev/e404d321abc6 8013786: JDK-8013480 broke configure on solaris Reviewed-by: tbell ! common/autoconf/configure.ac ! common/autoconf/generated-configure.sh ! common/autoconf/platform.m4 ! common/autoconf/toolchain.m4 Changeset: e1a929afcfc4 Author: erikj Date: 2013-05-02 15:56 +0200 URL: http://hg.openjdk.java.net/jdk8/2d/rev/e1a929afcfc4 8011687: Support correct dependencies from header files on windows and solaris Reviewed-by: tbell ! common/autoconf/generated-configure.sh ! common/autoconf/spec.gmk.in ! common/autoconf/toolchain.m4 ! common/makefiles/NativeCompilation.gmk Changeset: 8fb91165e596 Author: katleman Date: 2013-05-02 13:34 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/rev/8fb91165e596 Added tag jdk8-b88 for changeset e1a929afcfc4 ! .hgtags Changeset: e34781a0566b Author: mduigou Date: 2013-04-24 21:46 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/rev/e34781a0566b 8013185: Add java.util.stream to CORE_PKGS.gmk in root repo Reviewed-by: mduigou Contributed-by: Henry Jen ! common/makefiles/javadoc/CORE_PKGS.gmk Changeset: e4794ae1016e Author: mduigou Date: 2013-04-24 21:46 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/rev/e4794ae1016e Merge Changeset: 10775618db00 Author: aharlap Date: 2013-04-26 15:54 -0400 URL: http://hg.openjdk.java.net/jdk8/2d/rev/10775618db00 8011152: Precision problems on sflt builds Summary: Need to add global flag to the linker Reviewed-by: tbell, dholmes ! common/makefiles/NativeCompilation.gmk Changeset: a7a8302473d3 Author: mduigou Date: 2013-04-29 14:20 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/rev/a7a8302473d3 8008632: Additional JavaDoc tags @apiNote, @implSpec and @implNote Reviewed-by: briangoetz, alanb, rriggs ! common/makefiles/javadoc/Javadoc.gmk Changeset: f171aa801ea5 Author: mduigou Date: 2013-04-29 14:21 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/rev/f171aa801ea5 Merge Changeset: 1603c9216e83 Author: lana Date: 2013-04-30 17:41 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/rev/1603c9216e83 Merge Changeset: 892a0196d10c Author: lana Date: 2013-05-06 11:41 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/rev/892a0196d10c Merge ! common/makefiles/NativeCompilation.gmk Changeset: 69b773a221b9 Author: katleman Date: 2013-05-09 10:03 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/rev/69b773a221b9 Added tag jdk8-b89 for changeset 892a0196d10c ! .hgtags From lana.steuck at oracle.com Fri May 10 05:07:02 2013 From: lana.steuck at oracle.com (lana.steuck at oracle.com) Date: Fri, 10 May 2013 05:07:02 +0000 Subject: [OpenJDK 2D-Dev] hg: jdk8/2d/nashorn: 40 new changesets Message-ID: <20130510050736.7B0764899C@hg.openjdk.java.net> Changeset: 501bc4aeb1b1 Author: katleman Date: 2013-05-02 13:35 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/nashorn/rev/501bc4aeb1b1 Added tag jdk8-b88 for changeset 40c107d1ae6f ! .hgtags Changeset: aa8170c0dec9 Author: sundar Date: 2013-04-15 20:12 +0530 URL: http://hg.openjdk.java.net/jdk8/2d/nashorn/rev/aa8170c0dec9 8012240: Array.prototype.map.call({length: -1, get 0(){throw 0}}, function(){}).length does not throw error Reviewed-by: lagergren, jlaskey ! src/jdk/nashorn/internal/runtime/arrays/MapIterator.java + test/script/basic/JDK-8012240.js Changeset: 486d92559c37 Author: sundar Date: 2013-04-17 16:52 +0530 URL: http://hg.openjdk.java.net/jdk8/2d/nashorn/rev/486d92559c37 8012457: Function.prototype.apply should accept any array-like argument for function arguments Reviewed-by: lagergren, jlaskey ! src/jdk/nashorn/internal/objects/NativeFunction.java + test/script/basic/JDK-8012457.js Changeset: d4468316fe73 Author: jlaskey Date: 2013-04-17 08:48 -0300 URL: http://hg.openjdk.java.net/jdk8/2d/nashorn/rev/d4468316fe73 Merge Changeset: 04b36c02c0e2 Author: jlaskey Date: 2013-04-17 15:36 -0300 URL: http://hg.openjdk.java.net/jdk8/2d/nashorn/rev/04b36c02c0e2 8012529: Remove -esa from testing jvmargs Reviewed-by: sundar Contributed-by: james.laskey at oracle.com ! make/project.properties Changeset: 2bb3b22392d7 Author: sundar Date: 2013-04-18 15:47 +0530 URL: http://hg.openjdk.java.net/jdk8/2d/nashorn/rev/2bb3b22392d7 Merge Changeset: ac309d492b8d Author: sundar Date: 2013-04-18 15:50 +0530 URL: http://hg.openjdk.java.net/jdk8/2d/nashorn/rev/ac309d492b8d 8012462: Date.prototype.toJSON does not handle non-Date 'this' as per the spec. Reviewed-by: jlaskey, hannesw ! src/jdk/nashorn/internal/objects/NativeDate.java + test/script/basic/JDK-8012462.js Changeset: d1d564f5cf82 Author: hannesw Date: 2013-04-18 14:25 +0200 URL: http://hg.openjdk.java.net/jdk8/2d/nashorn/rev/d1d564f5cf82 8012460: RegExp regression Reviewed-by: jlaskey, sundar ! src/jdk/nashorn/internal/runtime/regexp/joni/Parser.java + test/script/basic/JDK-8012460.js + test/script/basic/JDK-8012460.js.EXPECTED Changeset: bc251a7b5103 Author: sundar Date: 2013-04-19 17:46 +0530 URL: http://hg.openjdk.java.net/jdk8/2d/nashorn/rev/bc251a7b5103 8012612: Compile failed Reviewed-by: hannesw, jlaskey, attila ! src/jdk/nashorn/internal/runtime/Context.java Changeset: c8460f668d0c Author: sundar Date: 2013-04-19 18:23 +0530 URL: http://hg.openjdk.java.net/jdk8/2d/nashorn/rev/c8460f668d0c 8012593: JSAdapter overrides impacts strongly construction time Reviewed-by: jlaskey, attila ! src/jdk/nashorn/internal/objects/NativeJSAdapter.java Changeset: 3a209cbd1d8f Author: lagergren Date: 2013-04-19 16:11 +0200 URL: http://hg.openjdk.java.net/jdk8/2d/nashorn/rev/3a209cbd1d8f 8010701: Immutable nodes - final iteration Reviewed-by: sundar, hannesw, jlaskey ! bin/verbose_octane.sh ! src/jdk/nashorn/api/scripting/NashornScriptEngine.java ! src/jdk/nashorn/internal/codegen/Attr.java ! src/jdk/nashorn/internal/codegen/ClassEmitter.java ! src/jdk/nashorn/internal/codegen/CodeGenerator.java ! src/jdk/nashorn/internal/codegen/CompilationPhase.java ! src/jdk/nashorn/internal/codegen/Compiler.java ! src/jdk/nashorn/internal/codegen/CompilerConstants.java ! src/jdk/nashorn/internal/codegen/FieldObjectCreator.java ! src/jdk/nashorn/internal/codegen/FinalizeTypes.java ! src/jdk/nashorn/internal/codegen/FoldConstants.java - src/jdk/nashorn/internal/codegen/Frame.java ! src/jdk/nashorn/internal/codegen/Lower.java ! src/jdk/nashorn/internal/codegen/MethodEmitter.java ! src/jdk/nashorn/internal/codegen/Namespace.java ! src/jdk/nashorn/internal/codegen/ObjectClassGenerator.java ! src/jdk/nashorn/internal/codegen/ObjectCreator.java + src/jdk/nashorn/internal/codegen/SplitMethodEmitter.java ! src/jdk/nashorn/internal/codegen/Splitter.java ! src/jdk/nashorn/internal/codegen/WeighNodes.java ! src/jdk/nashorn/internal/ir/AccessNode.java ! src/jdk/nashorn/internal/ir/BaseNode.java ! src/jdk/nashorn/internal/ir/BinaryNode.java ! src/jdk/nashorn/internal/ir/Block.java + src/jdk/nashorn/internal/ir/BlockLexicalContext.java ! src/jdk/nashorn/internal/ir/BreakNode.java ! src/jdk/nashorn/internal/ir/BreakableNode.java ! src/jdk/nashorn/internal/ir/CallNode.java ! src/jdk/nashorn/internal/ir/CaseNode.java ! src/jdk/nashorn/internal/ir/CatchNode.java ! src/jdk/nashorn/internal/ir/ContinueNode.java - src/jdk/nashorn/internal/ir/DoWhileNode.java ! src/jdk/nashorn/internal/ir/EmptyNode.java ! src/jdk/nashorn/internal/ir/ExecuteNode.java + src/jdk/nashorn/internal/ir/Flags.java ! src/jdk/nashorn/internal/ir/ForNode.java ! src/jdk/nashorn/internal/ir/FunctionNode.java ! src/jdk/nashorn/internal/ir/IdentNode.java ! src/jdk/nashorn/internal/ir/IfNode.java ! src/jdk/nashorn/internal/ir/IndexNode.java ! src/jdk/nashorn/internal/ir/LabelNode.java - src/jdk/nashorn/internal/ir/LabeledNode.java ! src/jdk/nashorn/internal/ir/LexicalContext.java + src/jdk/nashorn/internal/ir/LexicalContextNode.java ! src/jdk/nashorn/internal/ir/LineNumberNode.java ! src/jdk/nashorn/internal/ir/LiteralNode.java ! src/jdk/nashorn/internal/ir/Location.java + src/jdk/nashorn/internal/ir/LoopNode.java ! src/jdk/nashorn/internal/ir/Node.java ! src/jdk/nashorn/internal/ir/ObjectNode.java ! src/jdk/nashorn/internal/ir/PropertyNode.java ! src/jdk/nashorn/internal/ir/ReturnNode.java ! src/jdk/nashorn/internal/ir/RuntimeNode.java ! src/jdk/nashorn/internal/ir/SplitNode.java ! src/jdk/nashorn/internal/ir/SwitchNode.java ! src/jdk/nashorn/internal/ir/Symbol.java ! src/jdk/nashorn/internal/ir/TernaryNode.java ! src/jdk/nashorn/internal/ir/ThrowNode.java ! src/jdk/nashorn/internal/ir/TryNode.java ! src/jdk/nashorn/internal/ir/UnaryNode.java ! src/jdk/nashorn/internal/ir/VarNode.java ! src/jdk/nashorn/internal/ir/WhileNode.java ! src/jdk/nashorn/internal/ir/WithNode.java + src/jdk/nashorn/internal/ir/annotations/Immutable.java ! src/jdk/nashorn/internal/ir/debug/ASTWriter.java ! src/jdk/nashorn/internal/ir/debug/JSONWriter.java ! src/jdk/nashorn/internal/ir/debug/PrintVisitor.java ! src/jdk/nashorn/internal/ir/visitor/NodeOperatorVisitor.java ! src/jdk/nashorn/internal/ir/visitor/NodeVisitor.java ! src/jdk/nashorn/internal/lookup/MethodHandleFactory.java ! src/jdk/nashorn/internal/objects/NativeString.java ! src/jdk/nashorn/internal/parser/AbstractParser.java ! src/jdk/nashorn/internal/parser/JSONParser.java ! src/jdk/nashorn/internal/parser/Parser.java ! src/jdk/nashorn/internal/parser/TokenType.java ! src/jdk/nashorn/internal/runtime/Context.java ! src/jdk/nashorn/internal/runtime/DebugLogger.java ! src/jdk/nashorn/internal/runtime/RecompilableScriptFunctionData.java ! src/jdk/nashorn/internal/runtime/StructureLoader.java ! src/jdk/nashorn/internal/runtime/linker/ClassAndLoader.java ! src/jdk/nashorn/tools/Shell.java + test/script/basic/try2.js + test/script/basic/try2.js.EXPECTED Changeset: e599a1cad89a Author: jlaskey Date: 2013-04-20 08:54 -0300 URL: http://hg.openjdk.java.net/jdk8/2d/nashorn/rev/e599a1cad89a 8011578: -Dnashorn.unstable.relink.threshold=1 causes tests to fail. Reviewed-by: sundar, lagergren Contributed-by: james.laskey at oracle.com ! src/jdk/nashorn/internal/runtime/FindProperty.java ! src/jdk/nashorn/internal/runtime/ScriptObject.java ! src/jdk/nashorn/internal/runtime/WithObject.java + test/script/basic/JDK-8011578.js + test/script/basic/JDK-8011578.js.EXPECTED Changeset: ead94bc57939 Author: sundar Date: 2013-04-22 18:09 +0530 URL: http://hg.openjdk.java.net/jdk8/2d/nashorn/rev/ead94bc57939 8012673: Nashorn's package name vs class name inferring logic is wrong Reviewed-by: hannesw, jlaskey, attila ! src/jdk/nashorn/internal/runtime/NativeJavaPackage.java Changeset: 812e9cc70320 Author: jlaskey Date: 2013-04-22 10:37 -0300 URL: http://hg.openjdk.java.net/jdk8/2d/nashorn/rev/812e9cc70320 8012919: findMegaMorphicSetMethod should not cast result type Reviewed-by: attila, sundar Contributed-by: james.laskey at oracle.com ! src/jdk/nashorn/internal/runtime/ScriptObject.java ! src/jdk/nashorn/internal/runtime/WithObject.java Changeset: cfda59f3d827 Author: sundar Date: 2013-04-22 19:57 +0530 URL: http://hg.openjdk.java.net/jdk8/2d/nashorn/rev/cfda59f3d827 Merge - src/jdk/nashorn/internal/codegen/Frame.java - src/jdk/nashorn/internal/ir/DoWhileNode.java - src/jdk/nashorn/internal/ir/LabeledNode.java Changeset: 08143fa6b3da Author: lana Date: 2013-04-23 15:09 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/nashorn/rev/08143fa6b3da Merge Changeset: 0547a1c76259 Author: attila Date: 2013-04-23 12:52 +0200 URL: http://hg.openjdk.java.net/jdk8/2d/nashorn/rev/0547a1c76259 8011065: Problems when script implements an interface with variadic methods Reviewed-by: jlaskey, hannesw, sundar ! src/jdk/nashorn/internal/codegen/CodeGenerator.java ! src/jdk/nashorn/internal/runtime/ScriptObject.java ! src/jdk/nashorn/internal/runtime/linker/JavaAdapterBytecodeGenerator.java ! src/jdk/nashorn/internal/runtime/linker/JavaAdapterServices.java ! test/src/jdk/nashorn/api/scripting/ScriptEngineTest.java + test/src/jdk/nashorn/api/scripting/VariableArityTestInterface.java Changeset: 32036918585d Author: attila Date: 2013-04-23 16:48 +0200 URL: http://hg.openjdk.java.net/jdk8/2d/nashorn/rev/32036918585d 8010731: Don't expose internal symbols to scripts Reviewed-by: jlaskey, lagergren ! src/jdk/nashorn/internal/codegen/CompilerConstants.java ! src/jdk/nashorn/internal/codegen/ObjectClassGenerator.java Changeset: a6c53280343d Author: hannesw Date: 2013-04-24 13:28 +0200 URL: http://hg.openjdk.java.net/jdk8/2d/nashorn/rev/a6c53280343d 8012334: ToUint32, ToInt32, and ToUint16 don't conform to spec Reviewed-by: lagergren, attila ! src/jdk/nashorn/internal/codegen/CodeGenerator.java ! src/jdk/nashorn/internal/codegen/FoldConstants.java ! src/jdk/nashorn/internal/objects/NativeArray.java ! src/jdk/nashorn/internal/objects/NativeUint32Array.java ! src/jdk/nashorn/internal/runtime/JSType.java ! src/jdk/nashorn/internal/runtime/ScriptObject.java ! src/jdk/nashorn/internal/runtime/arrays/SparseArrayData.java + test/examples/int-micro.js + test/script/basic/JDK-8012334.js + test/script/basic/JDK-8012334.js.EXPECTED ! test/src/jdk/nashorn/internal/runtime/JSTypeTest.java Changeset: 3974ce844f17 Author: hannesw Date: 2013-04-24 13:34 +0200 URL: http://hg.openjdk.java.net/jdk8/2d/nashorn/rev/3974ce844f17 8012931: NativeDate.safeToString() throws RangeError for invalid date Reviewed-by: lagergren, attila ! src/jdk/nashorn/internal/objects/NativeDate.java + test/script/basic/JDK-8012931.js + test/script/basic/JDK-8012931.js.EXPECTED Changeset: e959c7969f3b Author: hannesw Date: 2013-04-24 13:36 +0200 URL: http://hg.openjdk.java.net/jdk8/2d/nashorn/rev/e959c7969f3b 8008238: Labeled break in finally causes stack overflow in Node copy Reviewed-by: lagergren, attila + test/script/basic/JDK-8008238.js Changeset: c0a10bbf6752 Author: jlaskey Date: 2013-04-24 14:25 -0300 URL: http://hg.openjdk.java.net/jdk8/2d/nashorn/rev/c0a10bbf6752 8012251: jjs should support -fx option Reviewed-by: sundar, attila, lagergren Contributed-by: james.laskey at oracle.com ! src/jdk/nashorn/internal/runtime/Context.java ! src/jdk/nashorn/internal/runtime/ScriptEnvironment.java ! src/jdk/nashorn/internal/runtime/resources/Options.properties + src/jdk/nashorn/internal/runtime/resources/fx/base.js + src/jdk/nashorn/internal/runtime/resources/fx/bootstrap.js + src/jdk/nashorn/internal/runtime/resources/fx/controls.js + src/jdk/nashorn/internal/runtime/resources/fx/fxml.js + src/jdk/nashorn/internal/runtime/resources/fx/graphics.js + src/jdk/nashorn/internal/runtime/resources/fx/media.js + src/jdk/nashorn/internal/runtime/resources/fx/swing.js + src/jdk/nashorn/internal/runtime/resources/fx/swt.js + src/jdk/nashorn/internal/runtime/resources/fx/web.js ! src/jdk/nashorn/tools/Shell.java ! tools/fxshell/jdk/nashorn/tools/FXShell.java Changeset: 9ad1ebb44c86 Author: hannesw Date: 2013-04-25 14:20 +0200 URL: http://hg.openjdk.java.net/jdk8/2d/nashorn/rev/9ad1ebb44c86 8013131: Various compatibility issues in String.prototype.split() Reviewed-by: lagergren, jlaskey ! src/jdk/nashorn/internal/objects/NativeJSON.java ! src/jdk/nashorn/internal/objects/NativeRegExp.java ! src/jdk/nashorn/internal/objects/NativeRegExpExecResult.java ! src/jdk/nashorn/internal/objects/NativeString.java + test/script/basic/JDK-8013131.js + test/script/basic/JDK-8013131.js.EXPECTED Changeset: ff1e4655a57f Author: attila Date: 2013-04-25 14:47 +0200 URL: http://hg.openjdk.java.net/jdk8/2d/nashorn/rev/ff1e4655a57f 8013203: A collection of smaller speedups to compilation pipeline Reviewed-by: hannesw, jlaskey ! src/jdk/nashorn/internal/codegen/CodeGenerator.java ! src/jdk/nashorn/internal/codegen/FinalizeTypes.java ! src/jdk/nashorn/internal/codegen/MethodEmitter.java ! src/jdk/nashorn/internal/codegen/ObjectClassGenerator.java ! src/jdk/nashorn/internal/parser/Lexer.java ! src/jdk/nashorn/internal/runtime/AccessorProperty.java Changeset: fd0b969a6d07 Author: attila Date: 2013-04-25 15:31 +0200 URL: http://hg.openjdk.java.net/jdk8/2d/nashorn/rev/fd0b969a6d07 8013167: Vararg constructor not found Reviewed-by: jlaskey, lagergren, sundar ! src/jdk/internal/dynalink/beans/StaticClassIntrospector.java ! src/jdk/internal/dynalink/beans/StaticClassLinker.java + test/script/basic/JDK-8013167.js + test/script/basic/JDK-8013167.js.EXPECTED + test/src/jdk/nashorn/test/models/VarArgConstructor.java Changeset: 215d9b042cb6 Author: sundar Date: 2013-04-26 12:17 +0530 URL: http://hg.openjdk.java.net/jdk8/2d/nashorn/rev/215d9b042cb6 8013295: ScriptEngineTest.java fails with compilation error when running under jtreg Reviewed-by: attila, hannesw ! test/src/jdk/nashorn/api/scripting/ScriptEngineTest.java Changeset: 7917ef020898 Author: attila Date: 2013-04-26 09:20 +0200 URL: http://hg.openjdk.java.net/jdk8/2d/nashorn/rev/7917ef020898 8013325: function named 'arguments' should set DEFINES_ARGUMENTS flag in its parent, not itself Reviewed-by: hannesw, sundar ! src/jdk/internal/dynalink/beans/StaticClassIntrospector.java ! src/jdk/nashorn/internal/codegen/Attr.java ! src/jdk/nashorn/internal/ir/LexicalContext.java ! src/jdk/nashorn/internal/objects/NativeString.java ! src/jdk/nashorn/internal/parser/Parser.java + test/script/basic/JDK-8013325.js + test/script/basic/JDK-8013325.js.EXPECTED Changeset: 5c98cc846f92 Author: jlaskey Date: 2013-04-26 09:48 -0300 URL: http://hg.openjdk.java.net/jdk8/2d/nashorn/rev/5c98cc846f92 8013208: Octane performance regression Reviewed-by: hannesw, sundar Contributed-by: james.laskey at oracle.com ! src/jdk/nashorn/internal/runtime/ScriptObject.java ! src/jdk/nashorn/internal/runtime/arrays/ArrayIndex.java Changeset: b532eeab085f Author: sundar Date: 2013-04-26 18:31 +0530 URL: http://hg.openjdk.java.net/jdk8/2d/nashorn/rev/b532eeab085f 8013337: Issues with Date.prototype's get, set functions Reviewed-by: jlaskey, hannesw, lagergren ! src/jdk/nashorn/internal/objects/NativeDate.java + test/script/basic/JDK-8013337.js + test/script/basic/JDK-8013337.js.EXPECTED Changeset: c62144b08c65 Author: hannesw Date: 2013-04-26 17:35 +0200 URL: http://hg.openjdk.java.net/jdk8/2d/nashorn/rev/c62144b08c65 8006559: Octane:pdfjs leaks memory, runs slower iteration to iteration Reviewed-by: attila, sundar, jlaskey ! buildtools/nasgen/src/jdk/nashorn/internal/tools/nasgen/ConstructorGenerator.java ! buildtools/nasgen/src/jdk/nashorn/internal/tools/nasgen/StringConstants.java ! src/jdk/nashorn/internal/objects/BoundScriptFunctionImpl.java ! src/jdk/nashorn/internal/objects/NativeDebug.java ! src/jdk/nashorn/internal/objects/ScriptFunctionImpl.java ! src/jdk/nashorn/internal/runtime/PropertyListenerManager.java ! src/jdk/nashorn/internal/runtime/ScriptFunction.java Changeset: 241904013024 Author: sundar Date: 2013-04-26 22:29 +0530 URL: http://hg.openjdk.java.net/jdk8/2d/nashorn/rev/241904013024 8013369: nashorn build failure with jdk8 b84 Reviewed-by: hannesw ! make/build-nasgen.xml Changeset: ef4c1f3aa9ed Author: jlaskey Date: 2013-04-26 15:13 -0300 URL: http://hg.openjdk.java.net/jdk8/2d/nashorn/rev/ef4c1f3aa9ed 8013360: Should be using JavaFX 8 classes for -fx support Reviewed-by: hannesw, sundar Contributed-by: james.laskey at oracle.com ! src/jdk/nashorn/internal/runtime/resources/fx/base.js ! src/jdk/nashorn/internal/runtime/resources/fx/controls.js ! src/jdk/nashorn/internal/runtime/resources/fx/fxml.js ! src/jdk/nashorn/internal/runtime/resources/fx/graphics.js ! src/jdk/nashorn/internal/runtime/resources/fx/media.js ! src/jdk/nashorn/internal/runtime/resources/fx/swing.js ! src/jdk/nashorn/internal/runtime/resources/fx/swt.js ! src/jdk/nashorn/internal/runtime/resources/fx/web.js Changeset: e8d7298f29a1 Author: attila Date: 2013-04-29 13:21 +0200 URL: http://hg.openjdk.java.net/jdk8/2d/nashorn/rev/e8d7298f29a1 8013419: Streamline handling of with and eval Reviewed-by: hannesw, lagergren ! src/jdk/nashorn/internal/codegen/Attr.java ! src/jdk/nashorn/internal/codegen/CodeGenerator.java ! src/jdk/nashorn/internal/codegen/MethodEmitter.java ! src/jdk/nashorn/internal/ir/CallNode.java ! src/jdk/nashorn/internal/ir/FunctionNode.java ! src/jdk/nashorn/internal/ir/LexicalContext.java ! src/jdk/nashorn/internal/parser/Parser.java ! src/jdk/nashorn/internal/runtime/linker/NashornCallSiteDescriptor.java Changeset: ada2ca9aeac5 Author: sundar Date: 2013-04-29 18:40 +0530 URL: http://hg.openjdk.java.net/jdk8/2d/nashorn/rev/ada2ca9aeac5 8013444: JSON.parse does not invoke "reviver" callback as per spec. Reviewed-by: jlaskey, hannesw ! src/jdk/nashorn/internal/runtime/JSONFunctions.java + test/script/basic/JDK-8013444.js + test/script/basic/JDK-8013444.js.EXPECTED Changeset: 630372cb8f2a Author: attila Date: 2013-04-29 23:22 +0200 URL: http://hg.openjdk.java.net/jdk8/2d/nashorn/rev/630372cb8f2a 8008814: Configurable ignore/warning/error behavior for function declaration as statement Reviewed-by: jlaskey, sundar ! src/jdk/nashorn/internal/parser/AbstractParser.java ! src/jdk/nashorn/internal/parser/Parser.java ! src/jdk/nashorn/internal/runtime/ScriptEnvironment.java ! src/jdk/nashorn/internal/runtime/options/Options.java ! src/jdk/nashorn/internal/runtime/resources/Options.properties + test/script/basic/JDK-8008814-3.js + test/script/basic/JDK-8008814-3.js.EXPECTED + test/script/basic/JDK-8008814-4.js + test/script/basic/JDK-8008814-4.js.EXPECTED + test/script/error/JDK-8008814-1.js + test/script/error/JDK-8008814-1.js.EXPECTED + test/script/error/JDK-8008814-2.js + test/script/error/JDK-8008814-2.js.EXPECTED Changeset: 3f339ab2d050 Author: jlaskey Date: 2013-04-29 21:38 -0300 URL: http://hg.openjdk.java.net/jdk8/2d/nashorn/rev/3f339ab2d050 Merge Changeset: ad28f2b52b12 Author: lagergren Date: 2013-04-30 09:42 +0200 URL: http://hg.openjdk.java.net/jdk8/2d/nashorn/rev/ad28f2b52b12 8013533: Increase code coverage report for types and logging Reviewed-by: hannesw, sundar ! src/jdk/nashorn/internal/codegen/types/BooleanType.java ! src/jdk/nashorn/internal/codegen/types/IntType.java ! src/jdk/nashorn/internal/codegen/types/LongType.java ! src/jdk/nashorn/internal/codegen/types/NumberType.java ! src/jdk/nashorn/internal/codegen/types/Type.java ! test/script/error/JDK-8008814-1.js.EXPECTED ! test/script/error/JDK-8008814-2.js.EXPECTED + test/script/trusted/logcoverage.js + test/script/trusted/logcoverage.js.EXPECTED Changeset: 9fee4992f796 Author: lana Date: 2013-04-30 17:53 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/nashorn/rev/9fee4992f796 Merge Changeset: 45ce27fbe272 Author: lana Date: 2013-05-06 11:53 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/nashorn/rev/45ce27fbe272 Merge - src/jdk/nashorn/internal/codegen/Frame.java - src/jdk/nashorn/internal/ir/DoWhileNode.java - src/jdk/nashorn/internal/ir/LabeledNode.java Changeset: 67ca019e3713 Author: katleman Date: 2013-05-09 10:04 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/nashorn/rev/67ca019e3713 Added tag jdk8-b89 for changeset 45ce27fbe272 ! .hgtags From lana.steuck at oracle.com Fri May 10 05:06:50 2013 From: lana.steuck at oracle.com (lana.steuck at oracle.com) Date: Fri, 10 May 2013 05:06:50 +0000 Subject: [OpenJDK 2D-Dev] hg: jdk8/2d/jaxp: 7 new changesets Message-ID: <20130510050715.7ED0D4899B@hg.openjdk.java.net> Changeset: 21f75e572cb3 Author: katleman Date: 2013-05-02 13:35 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/jaxp/rev/21f75e572cb3 Added tag jdk8-b88 for changeset 7122f7bb0fcc ! .hgtags Changeset: fad6560cb32a Author: dfuchs Date: 2013-04-17 15:23 +0200 URL: http://hg.openjdk.java.net/jdk8/2d/jaxp/rev/fad6560cb32a 8005954: JAXP Plugability Layer should use java.util.ServiceLoader Summary: This fix replaces manual processing of files under META-INF/services in JAXP factories by calls to java.util.ServiceLoader. Reviewed-by: alanb, joehw, mchung ! src/javax/xml/datatype/DatatypeFactory.java ! src/javax/xml/datatype/FactoryFinder.java ! src/javax/xml/parsers/DocumentBuilderFactory.java ! src/javax/xml/parsers/FactoryFinder.java ! src/javax/xml/parsers/SAXParserFactory.java ! src/javax/xml/stream/FactoryFinder.java ! src/javax/xml/stream/XMLEventFactory.java ! src/javax/xml/stream/XMLInputFactory.java ! src/javax/xml/stream/XMLOutputFactory.java ! src/javax/xml/transform/FactoryFinder.java ! src/javax/xml/transform/TransformerFactory.java ! src/javax/xml/validation/SchemaFactory.java + src/javax/xml/validation/SchemaFactoryConfigurationError.java ! src/javax/xml/validation/SchemaFactoryFinder.java ! src/javax/xml/xpath/XPathFactory.java ! src/javax/xml/xpath/XPathFactoryFinder.java Changeset: 1c2079d11a79 Author: dfuchs Date: 2013-04-19 17:22 +0200 URL: http://hg.openjdk.java.net/jdk8/2d/jaxp/rev/1c2079d11a79 8010495: Update JAXP NetBeans project - add support for generating javadoc Summary: Make it possible to use NetBeans to edit the jaxp sources and to generate a preview of the associated javadoc. Reviewed-by: joehw, alanb ! build.xml ! nbproject/project.xml Changeset: 6c6411a7070f Author: lana Date: 2013-04-23 15:03 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/jaxp/rev/6c6411a7070f Merge Changeset: be5d6853d821 Author: lana Date: 2013-04-30 17:50 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/jaxp/rev/be5d6853d821 Merge Changeset: 893d2ba8bbea Author: lana Date: 2013-05-06 11:41 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/jaxp/rev/893d2ba8bbea Merge Changeset: 668acc0e1034 Author: katleman Date: 2013-05-09 10:03 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/jaxp/rev/668acc0e1034 Added tag jdk8-b89 for changeset 893d2ba8bbea ! .hgtags From lana.steuck at oracle.com Fri May 10 05:07:02 2013 From: lana.steuck at oracle.com (lana.steuck at oracle.com) Date: Fri, 10 May 2013 05:07:02 +0000 Subject: [OpenJDK 2D-Dev] hg: jdk8/2d/langtools: 17 new changesets Message-ID: <20130510050758.1E6E84899D@hg.openjdk.java.net> Changeset: adec2a5d510a Author: katleman Date: 2013-05-02 13:35 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/langtools/rev/adec2a5d510a Added tag jdk8-b88 for changeset a1e10f3adc47 ! .hgtags Changeset: ed918a442b83 Author: jlahoda Date: 2013-04-17 15:54 +0200 URL: http://hg.openjdk.java.net/jdk8/2d/langtools/rev/ed918a442b83 8008174: DocTree API should provide start and end positions for tree nodes Summary: Adding DocSourcePositions to allow access to DocTree starting/ending position Reviewed-by: jjg, darcy Contributed-by: Ralph Benjamin Ruijs , Jan Lahoda + src/share/classes/com/sun/source/util/DocSourcePositions.java ! src/share/classes/com/sun/source/util/DocTrees.java ! src/share/classes/com/sun/source/util/SourcePositions.java ! src/share/classes/com/sun/tools/javac/api/JavacTrees.java ! src/share/classes/com/sun/tools/javac/parser/DocCommentParser.java ! src/share/classes/com/sun/tools/javac/tree/DCTree.java + test/tools/javac/doctree/positions/TestPosition.java + test/tools/javac/doctree/positions/TestPosition.out + test/tools/javac/doctree/positions/TestPositionSource.java Changeset: 891b88acf47a Author: jjg Date: 2013-04-18 19:58 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/langtools/rev/891b88acf47a 8012658: Change default langtools source level to 7 Reviewed-by: darcy ! make/netbeans/langtools/nbproject/project.xml Changeset: 95d29b99e5b3 Author: jjg Date: 2013-04-18 20:00 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/langtools/rev/95d29b99e5b3 8012656: cache frequently used name strings for DocImpl classes Reviewed-by: darcy ! src/share/classes/com/sun/tools/javadoc/ClassDocImpl.java ! src/share/classes/com/sun/tools/javadoc/FieldDocImpl.java ! src/share/classes/com/sun/tools/javadoc/MethodDocImpl.java ! src/share/classes/com/sun/tools/javadoc/PackageDocImpl.java Changeset: a3655c24e232 Author: jfranck Date: 2013-04-19 11:57 +0200 URL: http://hg.openjdk.java.net/jdk8/2d/langtools/rev/a3655c24e232 8012681: Commit for JDK-8012656 breaks tl build Reviewed-by: vromero, chegar, alanb ! src/share/classes/com/sun/tools/javadoc/FieldDocImpl.java Changeset: d59730bd3162 Author: jjg Date: 2013-04-19 11:10 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/langtools/rev/d59730bd3162 8012661: remove langtools Makefile-classic Reviewed-by: erikj, tbell - make/Makefile-classic Changeset: bae8387d16aa Author: jfranck Date: 2013-04-22 10:24 +0200 URL: http://hg.openjdk.java.net/jdk8/2d/langtools/rev/bae8387d16aa 8011027: Type parameter annotations not passed through to javax.lang.model Reviewed-by: jjg, darcy ! src/share/classes/com/sun/tools/javac/code/Symbol.java ! src/share/classes/com/sun/tools/javac/code/TypeAnnotations.java ! src/share/classes/com/sun/tools/javac/model/JavacAnnoConstructs.java ! src/share/classes/com/sun/tools/javac/model/JavacElements.java + test/tools/javac/processing/model/element/TestTypeParameterAnnotations.java Changeset: da0bd69335d4 Author: lana Date: 2013-04-23 15:09 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/langtools/rev/da0bd69335d4 Merge Changeset: 4b0038f66d66 Author: jjg Date: 2013-04-25 17:45 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/langtools/rev/4b0038f66d66 8013256: javac test failing after Lambda changes to java.util.List Reviewed-by: mduigou ! test/tools/javac/api/TestJavacTaskScanner.java Changeset: 3c02d2f1a421 Author: vromero Date: 2013-04-26 10:04 +0100 URL: http://hg.openjdk.java.net/jdk8/2d/langtools/rev/3c02d2f1a421 8012723: strictfp interface misses strictfp modifer on default method Reviewed-by: mcimadamore ! src/share/classes/com/sun/tools/javac/comp/Check.java + test/tools/javac/defaultMethods/CheckACC_STRICTFlagOnDefaultMethodTest.java Changeset: 2ca9e7d50136 Author: vromero Date: 2013-04-26 10:17 +0100 URL: http://hg.openjdk.java.net/jdk8/2d/langtools/rev/2ca9e7d50136 8008562: javac, a refactoring to Bits is necessary in order to provide a change history Reviewed-by: mcimadamore ! src/share/classes/com/sun/tools/javac/comp/Flow.java ! src/share/classes/com/sun/tools/javac/jvm/Code.java ! src/share/classes/com/sun/tools/javac/util/Bits.java Changeset: f3f3ac1273e8 Author: vromero Date: 2013-04-26 15:59 +0100 URL: http://hg.openjdk.java.net/jdk8/2d/langtools/rev/f3f3ac1273e8 8010304: javac should detect all mutable implicit static fields in langtools using a plugin Reviewed-by: jjg ! make/build.xml + make/tools/crules/AbstractCodingRulesAnalyzer.java + make/tools/crules/MutableFieldsAnalyzer.java + make/tools/crules/resources/crules.properties Changeset: 57648bad3287 Author: mchung Date: 2013-04-30 15:43 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/langtools/rev/57648bad3287 8013531: Provide a utility class in com.sun.tools.classfile to find field/method references Reviewed-by: alanb ! src/share/classes/com/sun/tools/classfile/Dependencies.java + src/share/classes/com/sun/tools/classfile/ReferenceFinder.java Changeset: 260013a710ef Author: lana Date: 2013-04-30 17:53 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/langtools/rev/260013a710ef Merge Changeset: 8e27e84de2e9 Author: rfield Date: 2013-05-01 08:46 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/langtools/rev/8e27e84de2e9 8011591: BootstrapMethodError when capturing constructor ref to local classes Reviewed-by: mcimadamore ! src/share/classes/com/sun/tools/javac/comp/LambdaToMethod.java + test/tools/javac/lambda/methodReferenceExecution/MethodReferenceTestNewInnerImplicitArgs.java Changeset: ec434cfd2752 Author: lana Date: 2013-05-06 11:53 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/langtools/rev/ec434cfd2752 Merge - make/Makefile-classic Changeset: e19283cd30a4 Author: katleman Date: 2013-05-09 10:04 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/langtools/rev/e19283cd30a4 Added tag jdk8-b89 for changeset ec434cfd2752 ! .hgtags From lana.steuck at oracle.com Fri May 10 05:07:29 2013 From: lana.steuck at oracle.com (lana.steuck at oracle.com) Date: Fri, 10 May 2013 05:07:29 +0000 Subject: [OpenJDK 2D-Dev] hg: jdk8/2d/hotspot: 67 new changesets Message-ID: <20130510050942.C8C944899E@hg.openjdk.java.net> Changeset: d0081bfc425c Author: katleman Date: 2013-05-02 13:35 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/d0081bfc425c Added tag jdk8-b88 for changeset 8482058e74bc ! .hgtags Changeset: 57ac6a688ae6 Author: amurillo Date: 2013-04-26 00:40 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/57ac6a688ae6 8013227: new hotspot build - hs25-b31 Reviewed-by: jcoomes ! make/hotspot_version Changeset: cc70cbbd422e Author: hseigel Date: 2013-04-24 09:00 -0400 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/cc70cbbd422e 8012695: Assertion message displays %u and %s text instead of actual values Summary: USe err_msg() to create a proper assertion message. Reviewed-by: twisti, coleenp, iklam ! src/share/vm/classfile/classFileParser.hpp Changeset: fbca7eaeac2e Author: zgu Date: 2013-04-24 14:55 -0400 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/fbca7eaeac2e 8011218: Kitchensink hanged, likely NMT is to blame Summary: Made NMT query safepoint aware. Reviewed-by: dholmes, coleenp ! src/share/vm/services/memBaseline.cpp ! src/share/vm/services/memBaseline.hpp ! src/share/vm/services/memTracker.cpp Changeset: d587a5c30bd8 Author: coleenp Date: 2013-04-24 16:19 -0400 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/d587a5c30bd8 8011803: release_C_heap_structures is never called for anonymous classes. Summary: Call this function from the ClassLoaderData destructor instead of the system dictionary walk. Reviewed-by: stefank, mgerdin ! src/share/vm/classfile/classLoaderData.cpp ! src/share/vm/classfile/dictionary.cpp ! src/share/vm/oops/instanceKlass.cpp ! src/share/vm/oops/instanceKlass.hpp Changeset: d66a24adbe3f Author: coleenp Date: 2013-04-24 15:57 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/d66a24adbe3f Merge Changeset: 15a99ca4ee34 Author: sspitsyn Date: 2013-04-25 03:58 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/15a99ca4ee34 8007037: JSR 292: the VM_RedefineClasses::append_entry() should do cross-checks with indy operands Summary: References from operands to CP entries and back must be correct after CP merge Reviewed-by: coleenp, twisti Contributed-by: serguei.spitsyn at oracle.com ! src/share/vm/oops/constantPool.cpp ! src/share/vm/oops/constantPool.hpp ! src/share/vm/prims/jvmtiRedefineClasses.cpp ! src/share/vm/prims/jvmtiRedefineClasses.hpp Changeset: c115fac239eb Author: iklam Date: 2013-04-25 12:55 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/c115fac239eb 8008962: NPG: Memory regression: One extra Monitor per ConstantPool Summary: Re-use InstanceKlass::_init_lock locking ConstantPool as well. Reviewed-by: dholmes, coleenp, acorn ! src/share/vm/ci/ciEnv.cpp ! src/share/vm/oops/constantPool.cpp ! src/share/vm/oops/constantPool.hpp ! src/share/vm/oops/cpCache.cpp ! src/share/vm/oops/instanceKlass.cpp ! src/share/vm/oops/instanceKlass.hpp ! src/share/vm/prims/jvmtiEnv.cpp Changeset: 3c9b7ef92c61 Author: dcubed Date: 2013-04-26 08:40 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/3c9b7ef92c61 Merge Changeset: d1644a010f52 Author: emc Date: 2013-04-26 07:34 -0400 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/d1644a010f52 8007154: Remove support for u4 MethodParameter flags fields Summary: Remove support for parsing class files with four-byte flags fields in MethodParameters attributes Reviewed-by: jrose, coleenp ! src/share/vm/classfile/classFileParser.cpp Changeset: f258c5828eb8 Author: hseigel Date: 2013-04-29 16:13 -0400 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/f258c5828eb8 8011773: Some tests on Interned String crashed JVM with OOM Summary: Instead of terminating the VM, throw OutOfMemoryError exceptions. Reviewed-by: coleenp, dholmes ! src/share/vm/classfile/javaClasses.cpp ! src/share/vm/classfile/javaClasses.hpp ! src/share/vm/classfile/symbolTable.cpp ! src/share/vm/memory/allocation.hpp ! src/share/vm/oops/oop.cpp ! src/share/vm/prims/whitebox.cpp Changeset: c53e49efe6a8 Author: hseigel Date: 2013-04-29 16:36 -0400 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/c53e49efe6a8 Merge Changeset: f32b6c267d2e Author: mikael Date: 2013-04-29 11:03 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/f32b6c267d2e 8012015: Use PROT_NONE when reserving memory Summary: Reserved memory had PROT_READ+PROT_WRITE access on Linux/bsd, now changed to PROT_NONE. Reviewed-by: dholmes, ctornqvi ! src/os/bsd/vm/os_bsd.cpp ! src/os/linux/vm/os_linux.cpp ! src/share/vm/prims/whitebox.cpp + test/runtime/memory/ReserveMemory.java ! test/testlibrary/whitebox/sun/hotspot/WhiteBox.java Changeset: 9f96b7a853bc Author: sla Date: 2013-04-30 10:53 +0200 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/9f96b7a853bc 8013466: SA crashes when attaching to a process on OS X Reviewed-by: coleenp, rbackman, minqi ! agent/src/os/bsd/MacosxDebuggerLocal.m Changeset: 409d4b59e095 Author: sla Date: 2013-04-30 02:28 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/409d4b59e095 Merge Changeset: ed5a590835a4 Author: zgu Date: 2013-04-30 09:17 -0400 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/ed5a590835a4 8013214: BigApps fails due to 'fatal error: Illegal threadstate encountered: 6' Summary: Grab and drop SR_lock to get the thread to honor the safepoint protocol Reviewed-by: dcubed, coleenp ! src/share/vm/services/memBaseline.cpp Changeset: 746b070f5022 Author: ccheung Date: 2013-04-30 11:56 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/746b070f5022 8011661: Insufficient memory message says "malloc" when sometimes it should say "mmap" Reviewed-by: coleenp, zgu, hseigel ! src/os/solaris/vm/os_solaris.cpp ! src/os_cpu/linux_sparc/vm/os_linux_sparc.cpp ! src/os_cpu/linux_x86/vm/os_linux_x86.cpp ! src/os_cpu/linux_zero/vm/os_linux_zero.cpp ! src/os_cpu/solaris_sparc/vm/os_solaris_sparc.cpp ! src/os_cpu/solaris_x86/vm/os_solaris_x86.cpp ! src/share/vm/asm/assembler.cpp ! src/share/vm/code/stubs.cpp ! src/share/vm/code/vtableStubs.cpp ! src/share/vm/gc_implementation/g1/g1BlockOffsetTable.cpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp ! src/share/vm/gc_implementation/g1/heapRegionRemSet.cpp ! src/share/vm/gc_implementation/parallelScavenge/cardTableExtension.cpp ! src/share/vm/gc_implementation/parallelScavenge/gcTaskThread.cpp ! src/share/vm/gc_implementation/parallelScavenge/objectStartArray.cpp ! src/share/vm/interpreter/interpreterRuntime.cpp ! src/share/vm/memory/allocation.cpp ! src/share/vm/memory/allocation.inline.hpp ! src/share/vm/memory/blockOffsetTable.cpp ! src/share/vm/memory/cardTableModRefBS.cpp ! src/share/vm/oops/oop.cpp ! src/share/vm/prims/jvmtiTagMap.cpp ! src/share/vm/prims/methodHandles.cpp ! src/share/vm/runtime/objectMonitor.cpp ! src/share/vm/runtime/stubRoutines.cpp ! src/share/vm/runtime/synchronizer.cpp ! src/share/vm/utilities/debug.cpp ! src/share/vm/utilities/debug.hpp ! src/share/vm/utilities/vmError.cpp ! src/share/vm/utilities/vmError.hpp ! src/share/vm/utilities/workgroup.cpp Changeset: e4614b063fe1 Author: sla Date: 2013-04-30 21:47 +0200 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/e4614b063fe1 8013364: SA-JDI exceptions caused by lack of permissions on OSX should be more verbose about issue cause Reviewed-by: coleenp, rbackman ! agent/src/os/bsd/MacosxDebuggerLocal.m Changeset: 376ff861f611 Author: sla Date: 2013-05-01 01:07 +0200 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/376ff861f611 Merge Changeset: b4081e9714ec Author: vladidan Date: 2013-04-30 17:36 -0400 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/b4081e9714ec 8013398: Adjust number of stack guard pages on systems with large memory page size Summary: Auto adjust number of stack guard pages on systems with large memory page size Reviewed-by: bobv, coleenp ! src/os/linux/vm/os_linux.cpp ! src/os/linux/vm/os_linux.hpp Changeset: 1847df492437 Author: vladidan Date: 2013-05-01 10:10 -0400 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/1847df492437 Merge Changeset: 08236d966eea Author: bharadwaj Date: 2013-05-01 08:07 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/08236d966eea 8013418: assert(i == total_args_passed) in AdapterHandlerLibrary::get_adapter since 8-b87 Summary: Do not treat static methods as miranda methods. Reviewed-by: dholmes, acorn ! src/share/vm/oops/klassVtable.cpp + test/runtime/lambda-features/PublicStaticInterfaceMethodHandling.java Changeset: 8fe2542bdc8d Author: bharadwaj Date: 2013-05-01 09:00 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/8fe2542bdc8d Merge Changeset: a6e09d6dd8e5 Author: dlong Date: 2013-04-24 20:55 -0400 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/a6e09d6dd8e5 8003853: specify offset of IC load in java_to_interp stub Summary: refactored code to allow platform-specific differences Reviewed-by: dlong, twisti Contributed-by: Goetz Lindenmaier + src/cpu/sparc/vm/compiledIC_sparc.cpp ! src/cpu/sparc/vm/sparc.ad + src/cpu/x86/vm/compiledIC_x86.cpp ! src/cpu/x86/vm/x86_32.ad ! src/cpu/x86/vm/x86_64.ad + src/cpu/zero/vm/compiledIC_zero.cpp ! src/share/vm/adlc/main.cpp ! src/share/vm/code/compiledIC.cpp ! src/share/vm/code/compiledIC.hpp ! src/share/vm/opto/output.cpp Changeset: e10e43e58e92 Author: dlong Date: 2013-04-24 21:11 -0400 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/e10e43e58e92 Merge - make/bsd/makefiles/jvmg.make - make/bsd/makefiles/profiled.make - make/linux/makefiles/jvmg.make - make/linux/makefiles/profiled.make - make/solaris/makefiles/jvmg.make - make/solaris/makefiles/profiled.make ! src/cpu/sparc/vm/sparc.ad ! src/cpu/x86/vm/x86_32.ad ! src/cpu/x86/vm/x86_64.ad - src/os/bsd/vm/chaitin_bsd.cpp - src/os/linux/vm/chaitin_linux.cpp - src/os/solaris/vm/chaitin_solaris.cpp - src/os/windows/vm/chaitin_windows.cpp ! src/share/vm/opto/output.cpp - test/gc/6941923/test6941923.sh - test/gc/TestVerifyBeforeGCDuringStartup.java - test/runtime/NMT/AllocTestType.java Changeset: 3c0584fec1e6 Author: dholmes Date: 2013-04-28 18:24 -0400 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/3c0584fec1e6 8010428: Special -agentpath checks needed with minimal VM to produce proper error message Reviewed-by: dholmes, alanb, cjplummer, olagneau Contributed-by: Carlos Lucasius ! src/share/vm/runtime/arguments.cpp Changeset: 78603aa58b1e Author: jiangli Date: 2013-04-26 16:58 -0400 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/78603aa58b1e Merge ! src/cpu/x86/vm/x86_64.ad Changeset: e01e02a9fcb6 Author: jiangli Date: 2013-04-29 01:58 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/e01e02a9fcb6 Merge ! src/share/vm/runtime/arguments.cpp Changeset: 052caeaeb771 Author: jiangli Date: 2013-05-02 12:16 -0400 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/052caeaeb771 Merge Changeset: 8f9fae155577 Author: jiangli Date: 2013-05-02 13:12 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/8f9fae155577 Merge Changeset: c23dbf0e8ab7 Author: jmasa Date: 2013-03-01 10:19 -0800 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/c23dbf0e8ab7 8011268: NPG: Free unused VirtualSpaceNodes Reviewed-by: mgerdin, coleenp, johnc ! src/share/vm/classfile/classLoaderData.cpp ! src/share/vm/memory/metachunk.cpp ! src/share/vm/memory/metachunk.hpp ! src/share/vm/memory/metaspace.cpp ! src/share/vm/memory/metaspace.hpp Changeset: bfe3be9ebd6c Author: kevinw Date: 2013-04-18 17:02 +0100 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/bfe3be9ebd6c 7109087: gc/7072527/TestFullGCCount.java fails when GC is set in command-line Reviewed-by: mgerdin ! test/gc/7072527/TestFullGCCount.java Changeset: 12927badda81 Author: kevinw Date: 2013-04-19 05:14 +0200 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/12927badda81 Merge Changeset: d391427ddc29 Author: mgerdin Date: 2013-04-22 10:10 +0200 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/d391427ddc29 Merge Changeset: a08c80e9e1e5 Author: stefank Date: 2013-04-22 20:27 +0200 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/a08c80e9e1e5 8012687: Remove unused is_root checks and closures Reviewed-by: tschatzl, jmasa ! src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.hpp ! src/share/vm/gc_implementation/g1/g1MarkSweep.cpp ! src/share/vm/gc_implementation/parallelScavenge/psMarkSweep.cpp ! src/share/vm/gc_implementation/parallelScavenge/psMarkSweep.hpp ! src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp ! src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.hpp ! src/share/vm/gc_implementation/shared/markSweep.cpp ! src/share/vm/gc_implementation/shared/markSweep.hpp ! src/share/vm/gc_implementation/shared/markSweep.inline.hpp ! src/share/vm/memory/genCollectedHeap.cpp ! src/share/vm/memory/genCollectedHeap.hpp ! src/share/vm/memory/genMarkSweep.cpp ! src/share/vm/memory/sharedHeap.cpp ! src/share/vm/memory/sharedHeap.hpp Changeset: ebded0261dfc Author: jmasa Date: 2013-04-22 22:00 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/ebded0261dfc 8012111: Remove warning about CMS generation shrinking. Reviewed-by: johnc, brutisso, stefank ! src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp + test/gc/concurrentMarkSweep/GuardShrinkWarning.java Changeset: 1cb4795305b9 Author: mgerdin Date: 2013-04-23 08:39 +0200 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/1cb4795305b9 8011802: NPG: init_dependencies in class loader data graph can cause invalid CLD Summary: Restructure initialization of ClassLoaderData to not add a new instance if init_dependencies fail Reviewed-by: stefank, coleenp ! src/share/vm/classfile/classLoaderData.cpp ! src/share/vm/classfile/classLoaderData.hpp ! src/share/vm/classfile/classLoaderData.inline.hpp Changeset: 5c93c1f61226 Author: johnc Date: 2013-04-18 10:09 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/5c93c1f61226 8011724: G1: Stack allocate instances of HeapRegionRemSetIterator Summary: Stack allocate instances of HeapRegionRemSetIterator during RSet scanning. Reviewed-by: brutisso, jwilhelm ! src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.hpp ! src/share/vm/gc_implementation/g1/g1RemSet.cpp ! src/share/vm/gc_implementation/g1/g1RemSet.hpp ! src/share/vm/gc_implementation/g1/heapRegionRemSet.cpp ! src/share/vm/gc_implementation/g1/heapRegionRemSet.hpp ! src/share/vm/gc_implementation/g1/sparsePRT.cpp ! src/share/vm/gc_implementation/g1/sparsePRT.hpp Changeset: 868d87ed63c8 Author: jmasa Date: 2013-02-12 14:15 -0800 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/868d87ed63c8 8008966: NPG: Inefficient Metaspace counter functions cause large young GC regressions Reviewed-by: mgerdin, coleenp ! src/share/vm/classfile/classLoaderData.cpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp ! src/share/vm/gc_implementation/parallelScavenge/psMarkSweep.cpp ! src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp ! src/share/vm/gc_implementation/shared/vmGCOperations.cpp ! src/share/vm/memory/filemap.cpp ! src/share/vm/memory/genCollectedHeap.cpp ! src/share/vm/memory/metaspace.cpp ! src/share/vm/memory/metaspace.hpp ! src/share/vm/memory/metaspaceCounters.cpp ! src/share/vm/memory/metaspaceCounters.hpp ! src/share/vm/memory/metaspaceShared.cpp Changeset: 9d75bcd7c890 Author: mgerdin Date: 2013-04-24 19:55 +0200 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/9d75bcd7c890 8013136: NPG: Parallel class loading tests fail after fix for JDK-8011802 Summary: Move initialization of dependencies to before allocation of CLD Reviewed-by: stefank, coleenp ! src/share/vm/classfile/classLoaderData.cpp ! src/share/vm/classfile/classLoaderData.hpp Changeset: d50cc62e94ff Author: johnc Date: 2013-04-24 14:48 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/d50cc62e94ff 8012715: G1: GraphKit accesses PtrQueue::_index as int but is size_t Summary: In graphKit INT operations were generated to access PtrQueue::_index which has type size_t. This is 64 bit on 64-bit machines. No problems occur on little endian machines as long as the index fits into 32 bit, but on big endian machines the upper part is read, which is zero. This leads to unnecessary branches to the slow path in the runtime. Reviewed-by: twisti, johnc Contributed-by: Martin Doerr ! src/share/vm/opto/graphKit.cpp Changeset: b06ac540229e Author: stefank Date: 2013-04-24 20:13 +0200 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/b06ac540229e 8013132: Add a flag to turn off the output of the verbose verification code Reviewed-by: johnc, brutisso ! src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp ! src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.hpp ! src/share/vm/gc_implementation/g1/concurrentMark.cpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp ! src/share/vm/gc_implementation/g1/g1MarkSweep.cpp ! src/share/vm/gc_implementation/parallelScavenge/psMarkSweep.cpp ! src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp ! src/share/vm/gc_implementation/parallelScavenge/psScavenge.cpp ! src/share/vm/memory/genCollectedHeap.cpp ! src/share/vm/memory/universe.cpp ! src/share/vm/memory/universe.hpp ! src/share/vm/runtime/globals.hpp ! src/share/vm/runtime/thread.cpp ! src/share/vm/runtime/vmThread.cpp ! src/share/vm/runtime/vm_operations.hpp Changeset: b294421fa3c5 Author: brutisso Date: 2013-04-26 09:53 +0200 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/b294421fa3c5 8012915: ReservedSpace::align_reserved_region() broken on Windows Summary: remove unused constructors and helper methods for ReservedHeapSpace and ReservedSpace Reviewed-by: mgerdin, jmasa, johnc, tschatzl ! src/share/vm/runtime/virtualspace.cpp ! src/share/vm/runtime/virtualspace.hpp Changeset: 2f50bc369470 Author: stefank Date: 2013-04-26 10:40 +0200 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/2f50bc369470 8013160: NPG: Remove unnecessary mark stack draining after CodeCache::do_unloading Reviewed-by: coleenp, mgerdin ! src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp ! src/share/vm/gc_implementation/g1/g1MarkSweep.cpp ! src/share/vm/gc_implementation/parallelScavenge/psMarkSweep.cpp ! src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp ! src/share/vm/memory/genMarkSweep.cpp Changeset: 3edf23423bb2 Author: johnc Date: 2013-04-26 10:57 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/3edf23423bb2 8011898: gc/TestVerifyBeforeGCDuringStartup.java: java.lang.RuntimeException: '[Verifying' missing from stdout/stderr: [Error: Could not find or load main class] Summary: System.getProperty("test.java.opts") can return NULL, which gets converted to to the empty string, and the child java command then interprets that as the name of the main class. Reviewed-by: jmasa, brutisso ! test/gc/TestVerifyDuringStartup.java Changeset: caac22686b17 Author: mgerdin Date: 2013-04-29 09:31 +0200 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/caac22686b17 Merge ! src/share/vm/gc_implementation/g1/heapRegionRemSet.cpp ! src/share/vm/runtime/thread.cpp Changeset: 601183f604b2 Author: mgerdin Date: 2013-04-29 13:07 +0200 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/601183f604b2 8013129: Possible deadlock with Metaspace locks due to mixed usage of safepoint aware and non-safepoint aware locking Summary: Change Metaspace::deallocate to take lock with _no_safepoint_check_flag Reviewed-by: coleenp, jmasa, dholmes ! src/share/vm/memory/metaspace.cpp Changeset: 9075044ed66b Author: ehelin Date: 2013-04-30 16:36 +0200 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/9075044ed66b 8008541: Remove old code in HotSpot that supported the jmap -permstat functionality Reviewed-by: sla, brutisso ! agent/src/share/classes/sun/jvm/hotspot/tools/JMap.java Changeset: d58c62b7447d Author: mgerdin Date: 2013-05-02 19:28 +0200 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/d58c62b7447d Merge ! src/share/vm/classfile/classLoaderData.cpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp ! src/share/vm/gc_implementation/g1/heapRegionRemSet.cpp Changeset: cbd4ce58f1f3 Author: mgerdin Date: 2013-05-02 16:41 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/cbd4ce58f1f3 Merge Changeset: e12c9b3740db Author: vlivanov Date: 2013-04-25 11:02 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/e12c9b3740db 8012260: ciReplay: Include PID into the name of replay data file Reviewed-by: kvn, twisti ! src/os/bsd/vm/os_bsd.cpp ! src/os/linux/vm/os_linux.cpp ! src/os/posix/vm/os_posix.cpp ! src/os/solaris/vm/os_solaris.cpp ! src/os/windows/vm/os_windows.cpp ! src/share/vm/ci/ciEnv.cpp ! src/share/vm/ci/ciEnv.hpp ! src/share/vm/ci/ciReplay.cpp ! src/share/vm/runtime/globals.hpp ! src/share/vm/runtime/os.hpp ! src/share/vm/utilities/ostream.hpp ! src/share/vm/utilities/vmError.cpp Changeset: dc7db03f5aa2 Author: iignatyev Date: 2013-04-25 11:04 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/dc7db03f5aa2 8012337: Change Whitebox implementation to make absence of method in Whitebox.class not fatal Reviewed-by: kvn, vlivanov ! src/share/vm/prims/whitebox.cpp + test/sanity/WhiteBox.java Changeset: 7b23cb975cf2 Author: iignatyev Date: 2013-04-25 11:09 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/7b23cb975cf2 8011675: adding compilation level to replay data Reviewed-by: kvn, vlivanov - agent/doc/c2replay.html + agent/doc/cireplay.html ! agent/doc/clhsdb.html ! agent/src/share/classes/sun/jvm/hotspot/ci/ciEnv.java ! agent/src/share/classes/sun/jvm/hotspot/code/NMethod.java ! agent/src/share/classes/sun/jvm/hotspot/compiler/CompileTask.java ! src/share/vm/ci/ciEnv.cpp ! src/share/vm/ci/ciReplay.cpp ! src/share/vm/compiler/compileBroker.cpp ! src/share/vm/runtime/globals.hpp ! src/share/vm/runtime/vmStructs.cpp + test/compiler/ciReplay/TestSA.sh + test/compiler/ciReplay/TestVM.sh + test/compiler/ciReplay/TestVM_no_comp_level.sh + test/compiler/ciReplay/common.sh Changeset: 247342108a11 Author: neliasso Date: 2013-04-23 13:48 +0200 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/247342108a11 8010332: removed unused method: ciMethod::uses_monitors Reviewed-by: twisti, roland Contributed-by: albert.noll at oracle.com ! src/share/vm/ci/ciMethod.hpp Changeset: a5c95fcf7cb7 Author: neliasso Date: 2013-04-23 18:06 +0200 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/a5c95fcf7cb7 8012157: removed unused code in SharedRuntime::handle_wrong_method Reviewed-by: kvn, roland, rbackman Contributed-by: albert.noll at oracle.com ! src/share/vm/runtime/sharedRuntime.cpp Changeset: d1c9384eecb4 Author: iignatyev Date: 2013-04-26 07:21 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/d1c9384eecb4 8012322: Tiered: CompilationPolicy::can_be_compiled(CompLevel_all) mistakenly return false Reviewed-by: kvn, vlivanov ! src/share/vm/classfile/classLoader.cpp ! src/share/vm/runtime/compilationPolicy.cpp ! test/compiler/whitebox/CompilerWhiteBoxTest.java ! test/compiler/whitebox/MakeMethodNotCompilableTest.java Changeset: 93b8272814cf Author: vlivanov Date: 2013-04-26 08:33 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/93b8272814cf Merge Changeset: 0b55a78c6be5 Author: bharadwaj Date: 2013-04-26 10:52 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/0b55a78c6be5 Merge - agent/doc/c2replay.html ! src/os/windows/vm/os_windows.cpp ! src/share/vm/runtime/vmStructs.cpp Changeset: fd49109d0d88 Author: bharadwaj Date: 2013-04-26 14:50 -0400 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/fd49109d0d88 Merge Changeset: 487d442ef257 Author: jiangli Date: 2013-04-26 16:21 -0400 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/487d442ef257 8013036: vm/runtime/simpleThresholdPolicy.cpp: assert(mcs != NULL). Summary: Change the assert to if check as MethodCounters could be NULL under TieredCompilation. Reviewed-by: kvn, twisti ! src/share/vm/runtime/simpleThresholdPolicy.cpp Changeset: 62b683108582 Author: jiangli Date: 2013-04-26 14:41 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/62b683108582 Merge Changeset: 0cfa93c2fcc4 Author: neliasso Date: 2013-04-29 13:20 +0200 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/0cfa93c2fcc4 8012547: Code cache flushing can get stuck reclaming of memory Summary: Keep sweeping regardless of if we are flushing Reviewed-by: kvn, twisti ! src/share/vm/code/codeCache.cpp ! src/share/vm/code/codeCache.hpp ! src/share/vm/compiler/compileBroker.cpp ! src/share/vm/oops/method.cpp ! src/share/vm/runtime/globals.hpp ! src/share/vm/runtime/sweeper.cpp ! src/share/vm/runtime/sweeper.hpp Changeset: e4e131b15d5c Author: roland Date: 2013-05-02 10:27 +0200 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/e4e131b15d5c 8013532: Remove unused parameter "compiler" from DTRACE_METHOD_COMPILE* macros Summary: remove unused parameter in dtrace macros Reviewed-by: kvn, roland Contributed-by: albert.noll at oracle.com ! src/share/vm/compiler/compileBroker.cpp Changeset: 9ce110b1d14a Author: kvn Date: 2013-05-02 18:50 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/9ce110b1d14a Merge - agent/doc/c2replay.html ! src/os/bsd/vm/os_bsd.cpp ! src/os/linux/vm/os_linux.cpp ! src/os/solaris/vm/os_solaris.cpp ! src/share/vm/ci/ciEnv.cpp ! src/share/vm/prims/whitebox.cpp ! src/share/vm/runtime/globals.hpp ! src/share/vm/utilities/vmError.cpp Changeset: 4ec913499722 Author: amurillo Date: 2013-05-03 08:10 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/4ec913499722 Merge - agent/doc/c2replay.html Changeset: 9c1fe0b419b4 Author: amurillo Date: 2013-05-03 08:10 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/9c1fe0b419b4 Added tag hs25-b31 for changeset 4ec913499722 ! .hgtags Changeset: 7d56b68a9672 Author: katleman Date: 2013-05-09 10:03 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/7d56b68a9672 Added tag jdk8-b89 for changeset 9c1fe0b419b4 ! .hgtags From lana.steuck at oracle.com Fri May 10 05:11:46 2013 From: lana.steuck at oracle.com (lana.steuck at oracle.com) Date: Fri, 10 May 2013 05:11:46 +0000 Subject: [OpenJDK 2D-Dev] hg: jdk8/2d/jdk: 81 new changesets Message-ID: <20130510052946.D645A4899F@hg.openjdk.java.net> Changeset: 12af7c32c648 Author: omajid Date: 2013-04-29 12:34 -0400 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/12af7c32c648 8013480: fix zero build on arm Reviewed-by: erikj ! makefiles/GensrcX11Wrappers.gmk Changeset: 7a96ead5ea89 Author: katleman Date: 2013-04-30 14:40 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/7a96ead5ea89 Merge Changeset: 55c7b90fe57e Author: katleman Date: 2013-05-01 14:59 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/55c7b90fe57e Merge Changeset: 8dbb4b159e04 Author: erikj Date: 2013-05-02 15:59 +0200 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/8dbb4b159e04 8013552: Add build support for different man pages for OpenJDK and OracleJDK Reviewed-by: tbell, omajid ! makefiles/Images.gmk Changeset: 1daef88acff2 Author: katleman Date: 2013-05-02 13:35 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/1daef88acff2 Added tag jdk8-b88 for changeset 8dbb4b159e04 ! .hgtags Changeset: c70346f4c0a9 Author: pchelko Date: 2013-04-18 15:09 +0100 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/c70346f4c0a9 8011686: AWT accidentally disables the NSApplicationDelegate of SWT, causing loss of OS X integration functionality Reviewed-by: anthony, serb Contributed-by: Markus Persson ! src/macosx/native/sun/awt/awt.m Changeset: ac92ac05dde4 Author: kshefov Date: 2013-04-22 18:39 +0400 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/ac92ac05dde4 8011230: [TEST_BUG] java/awt/Toolkit/BadDisplayTest/BadDisplayTest.java failed on solaris Reviewed-by: serb, anthony ! test/java/awt/Toolkit/BadDisplayTest/BadDisplayTest.sh Changeset: 578fb8766200 Author: leonidr Date: 2013-04-22 19:24 +0400 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/578fb8766200 8008366: [macosx] ActionListener called twice for JMenuItem using ScreenMenuBar Reviewed-by: anthony, serb ! src/macosx/native/sun/awt/AWTEvent.h ! src/macosx/native/sun/awt/AWTEvent.m ! src/macosx/native/sun/awt/CMenuItem.m ! test/javax/swing/JMenuItem/ActionListenerCalledTwice/ActionListenerCalledTwiceTest.java Changeset: 0894b8476a49 Author: lana Date: 2013-04-23 15:17 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/0894b8476a49 Merge - src/share/classes/java/time/chrono/HijrahDeviationReader.java - src/share/classes/java/time/format/DateTimeBuilder.java - src/share/classes/java/time/format/DateTimeFormatStyleProvider.java - src/share/classes/java/time/temporal/Adjusters.java - src/share/classes/java/time/temporal/Queries.java - src/share/classes/sun/java2d/cmm/lcms/META-INF/services/sun.java2d.cmm.PCMM - src/share/native/java/lang/ResourceBundle.c - test/java/time/tck/java/time/TestChronology.java - test/java/time/tck/java/time/chrono/TestChronoLocalDate.java - test/java/time/tck/java/time/chrono/TestChronoLocalDateTime.java - test/java/time/tck/java/time/chrono/TestHijrahChronology.java - test/java/time/tck/java/time/chrono/TestJapaneseChronology.java - test/java/time/tck/java/time/chrono/TestMinguoChronology.java - test/java/time/tck/java/time/chrono/TestThaiBuddhistChronology.java - test/java/time/tck/java/time/temporal/TCKDateTimeAdjusters.java - test/java/time/tck/java/time/temporal/TestChronoLocalDate.java - test/java/time/tck/java/time/temporal/TestChronoLocalDateTime.java - test/java/time/tck/java/time/temporal/TestChronoZonedDateTime.java - test/java/time/test/java/time/temporal/TestDateTimeAdjusters.java - test/java/time/test/java/time/temporal/TestJapaneseChronoImpl.java - test/java/time/test/java/time/temporal/TestThaiBuddhistChronoImpl.java - test/java/util/ComparatorsTest.java Changeset: 7103434eefe2 Author: kshefov Date: 2013-04-24 11:48 +0400 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/7103434eefe2 8011186: [TEST_BUG] java/awt/Focus/OverrideRedirectWindowActivationTest/OverrideRedirectWindowActivationTest.java failed on windows 8 Reviewed-by: anthony, serb, ant - test/java/awt/Focus/OverrideRedirectWindowActivationTest/OverrideRedirectWindowActivationTest.java + test/java/awt/Focus/SimpleWindowActivationTest/SimpleWindowActivationTest.java Changeset: 854f60ec4bfb Author: anthony Date: 2013-04-26 18:48 +0400 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/854f60ec4bfb 8012586: [x11] Modal dialogs for fullscreen window may show behind its owner Summary: Use the _NET_WM_WINDOW_TYPE_DIALOG type for owned windows Reviewed-by: anthony, art, serb Contributed-by: Vladimir Kravets ! src/solaris/classes/sun/awt/X11/XWindowPeer.java + test/java/awt/WMSpecificTests/Metacity/FullscreenDialogModality.java Changeset: e76f3e8e653f Author: malenkov Date: 2013-04-29 16:42 +0400 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/e76f3e8e653f 8007458: [findbugs] One more beans issue, with ReflectionUtils Reviewed-by: art, alexsch ! src/share/classes/java/beans/MetaData.java - src/share/classes/java/beans/ReflectionUtils.java ! src/share/classes/java/beans/XMLEncoder.java ! test/java/beans/XMLEncoder/AbstractTest.java ! test/java/beans/XMLEncoder/BeanValidator.java ! test/java/beans/XMLEncoder/Test4631471.java ! test/java/beans/XMLEncoder/Test4679556.java ! test/java/beans/XMLEncoder/java_awt_BorderLayout.java + test/java/beans/XMLEncoder/java_awt_CardLayout.java + test/java/beans/XMLEncoder/java_awt_GridBagLayout.java ! test/java/beans/XMLEncoder/javax_swing_DefaultCellEditor.java Changeset: 358acb00cb2d Author: mcherkas Date: 2013-04-30 13:24 +0400 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/358acb00cb2d 8012004: JInternalFrame not being finalized after closing Reviewed-by: alexsch, alexp ! src/share/classes/javax/swing/JDesktopPane.java + test/javax/swing/JInternalFrame/InternalFrameIsNotCollectedTest.java Changeset: 31e111f82993 Author: serb Date: 2013-04-30 17:27 +0400 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/31e111f82993 7166296: closed/java/awt/Frame/DisabledParentOfToplevel/DisabledParentOfToplevel.html failed since 1.8.0b36 Reviewed-by: anthony, art ! src/macosx/classes/sun/lwawt/LWComponentPeer.java ! src/macosx/classes/sun/lwawt/LWWindowPeer.java ! src/share/classes/java/awt/Component.java ! src/share/classes/java/awt/Window.java ! src/windows/classes/sun/awt/windows/WComponentPeer.java ! src/windows/classes/sun/awt/windows/WWindowPeer.java Changeset: caeedce39396 Author: serb Date: 2013-05-01 12:19 +0400 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/caeedce39396 8009012: [macosx] DisplayChangedListener is not implemented in LWWindowPeer/CGraphicsEnvironment Reviewed-by: anthony, bae ! src/macosx/classes/sun/awt/CGraphicsDevice.java ! src/macosx/classes/sun/awt/CGraphicsEnvironment.java ! src/macosx/classes/sun/lwawt/LWWindowPeer.java ! src/macosx/classes/sun/lwawt/macosx/CPlatformWindow.java ! src/macosx/native/sun/awt/CGraphicsEnv.m ! src/macosx/native/sun/java2d/opengl/CGLLayer.m Changeset: c357c11f076f Author: lana Date: 2013-05-01 09:20 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/c357c11f076f Merge Changeset: 920ad6c95d93 Author: lana Date: 2013-05-01 11:27 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/920ad6c95d93 Merge - src/share/classes/java/beans/ReflectionUtils.java - test/java/awt/Focus/OverrideRedirectWindowActivationTest/OverrideRedirectWindowActivationTest.java Changeset: 296c9ec816c6 Author: alanb Date: 2013-04-18 11:13 +0100 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/296c9ec816c6 8011536: (fs) BasicFileAttributes.creationTime() should return birth time (mac) Reviewed-by: chegar ! src/share/classes/java/nio/file/attribute/BasicFileAttributeView.java ! src/solaris/classes/sun/nio/fs/UnixChannelFactory.java ! src/solaris/classes/sun/nio/fs/UnixCopyFile.java ! src/solaris/classes/sun/nio/fs/UnixFileAttributeViews.java ! src/solaris/classes/sun/nio/fs/UnixFileAttributes.java ! src/solaris/classes/sun/nio/fs/UnixFileSystemProvider.java ! src/solaris/classes/sun/nio/fs/UnixNativeDispatcher.java ! src/solaris/classes/sun/nio/fs/UnixPath.java ! src/solaris/native/sun/nio/fs/UnixNativeDispatcher.c ! test/java/nio/file/attribute/BasicFileAttributeView/Basic.java + test/java/nio/file/attribute/BasicFileAttributeView/CreationTime.java Changeset: 3c8724085cf7 Author: alanb Date: 2013-04-18 12:24 +0100 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/3c8724085cf7 8009648: Tests fail in -agentvm -concurrency mode Reviewed-by: alanb Contributed-by: roger.riggs at oracle.com ! test/Makefile ! test/java/time/TEST.properties Changeset: 3cc833b1fd0c Author: dxu Date: 2013-04-18 10:22 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/3cc833b1fd0c 8011946: java.util.Currency javadoc has broken link to iso.org Reviewed-by: mduigou ! src/share/classes/java/util/Currency.java Changeset: 32c3a580812b Author: mchung Date: 2013-04-18 11:14 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/32c3a580812b 8012624: Add sun/management/HotspotRuntimeMBean/GetSafepointSyncTime.java in ProblemList.txt Reviewed-by: lancea, alanb ! test/ProblemList.txt Changeset: 3b81fac25d26 Author: mchung Date: 2013-04-18 13:02 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/3b81fac25d26 8011934: sun.misc.PerfCounter calls Perf.createLong with incorrect parameters Reviewed-by: mchung Contributed-by: Yasumasa Suenaga ! src/share/classes/sun/misc/PerfCounter.java Changeset: 3e4a0fddeb00 Author: jgish Date: 2013-04-18 16:33 -0400 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/3e4a0fddeb00 8012005: LogManager needs test to ensure stack trace is not being done to find bundle Reviewed-by: mchung + test/java/util/logging/bundlesearch/ClassPathTestBundle_en.properties + test/java/util/logging/bundlesearch/IndirectlyLoadABundle.java + test/java/util/logging/bundlesearch/LoadItUp.java + test/java/util/logging/bundlesearch/ResourceBundleSearchTest.java + test/java/util/logging/bundlesearch/resources/ContextClassLoaderTestBundle_en.properties + test/java/util/logging/bundlesearch/resources/StackSearchableResource_en.properties Changeset: 7bdb3e186497 Author: xuelei Date: 2013-04-18 22:23 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/7bdb3e186497 8006935: Need to take care of long secret keys in HMAC/PRF compuation Reviewed-by: valeriep ! src/share/classes/com/sun/crypto/provider/TlsPrfGenerator.java Changeset: 778b16225d85 Author: weijun Date: 2013-04-19 15:41 +0800 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/778b16225d85 8009636: JARSigner including TimeStamp PolicyID (TSAPolicyID) as defined in RFC3161 Reviewed-by: mullan ! src/share/classes/com/sun/jarsigner/ContentSignerParameters.java ! src/share/classes/sun/security/pkcs/PKCS7.java ! src/share/classes/sun/security/timestamp/TSRequest.java ! src/share/classes/sun/security/timestamp/TimestampToken.java ! src/share/classes/sun/security/tools/jarsigner/Main.java ! src/share/classes/sun/security/tools/jarsigner/Resources.java ! src/share/classes/sun/security/tools/jarsigner/TimestampedSigner.java ! test/sun/security/tools/jarsigner/TimestampCheck.java ! test/sun/security/tools/jarsigner/ts.sh Changeset: 90b03f9a2e77 Author: jzavgren Date: 2013-04-17 11:47 -0400 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/90b03f9a2e77 8010505: HTTP DIGEST implementation incorrectly quotes header values, fails auth Summary: The extraneous quotes were removed. Reviewed-by: chegar ! src/share/classes/sun/net/www/protocol/http/DigestAuthentication.java Changeset: 6139f8fb0137 Author: mduigou Date: 2013-04-16 22:50 -0400 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/6139f8fb0137 8008670: Initial java.util.stream putback -- internal API classes Reviewed-by: mduigou, dholmes Contributed-by: Brian Goetz , Doug Lea
, Paul Sandoz + src/share/classes/java/util/stream/AbstractShortCircuitTask.java + src/share/classes/java/util/stream/AbstractTask.java + src/share/classes/java/util/stream/FindOps.java + src/share/classes/java/util/stream/ForEachOps.java + src/share/classes/java/util/stream/MatchOps.java + src/share/classes/java/util/stream/Node.java + src/share/classes/java/util/stream/PipelineHelper.java + src/share/classes/java/util/stream/Sink.java + src/share/classes/java/util/stream/StreamOpFlag.java + src/share/classes/java/util/stream/StreamShape.java + src/share/classes/java/util/stream/TerminalOp.java + src/share/classes/java/util/stream/TerminalSink.java + src/share/classes/java/util/stream/Tripwire.java Changeset: e8f1dc6d0c0c Author: jgish Date: 2013-04-19 16:50 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/e8f1dc6d0c0c 8010939: Deadlock in LogManager Summary: re-order locks to avoid deadlock Reviewed-by: mchung ! src/share/classes/java/util/logging/LogManager.java + test/java/util/logging/DrainFindDeadlockTest.java Changeset: 22a27dfd0510 Author: weijun Date: 2013-04-22 11:39 +0800 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/22a27dfd0510 8005527: [TEST_BUG] console.sh failed Automatically with exit code 1. Reviewed-by: xuelei ! test/sun/security/tools/keytool/console.sh Changeset: 3ca33647db95 Author: akhil Date: 2013-04-22 09:19 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/3ca33647db95 8001647: default methods for Collections - forEach, removeIf, replaceAll, sort Reviewed-by: alanb, dholmes, mduigou, psandoz, smarks Contributed-by: Akhil Arora , Arne Siegel , Brian Goetz ! src/share/classes/java/util/ArrayList.java ! src/share/classes/java/util/Collection.java ! src/share/classes/java/util/Collections.java ! src/share/classes/java/util/List.java ! src/share/classes/java/util/Vector.java ! src/share/classes/java/util/concurrent/CopyOnWriteArrayList.java + test/java/util/Collection/CollectionDefaults.java + test/java/util/Collection/ListDefaults.java + test/java/util/Collection/testlibrary/CollectionAsserts.java + test/java/util/Collection/testlibrary/CollectionSupplier.java Changeset: 2a78d8f1fec1 Author: briangoetz Date: 2013-04-17 14:39 -0400 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/2a78d8f1fec1 8008682: Inital Streams public API Reviewed-by: mduigou, dholmes, darcy Contributed-by: Brian Goetz , Mike Duigou , Paul Sandoz , JSR-335 EG + src/share/classes/java/util/stream/BaseStream.java + src/share/classes/java/util/stream/CloseableStream.java + src/share/classes/java/util/stream/Collector.java + src/share/classes/java/util/stream/DelegatingStream.java + src/share/classes/java/util/stream/DoubleStream.java + src/share/classes/java/util/stream/IntStream.java + src/share/classes/java/util/stream/LongStream.java + src/share/classes/java/util/stream/Stream.java + src/share/classes/java/util/stream/package-info.java Changeset: 98a7bb7baa76 Author: psandoz Date: 2013-04-17 11:34 +0200 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/98a7bb7baa76 8011426: java.util collection Spliterator implementations Summary: Spliterator implementations for collection classes in java.util. Reviewed-by: mduigou, briangoetz Contributed-by: Doug Lea
, Paul Sandoz ! src/share/classes/java/util/ArrayDeque.java ! src/share/classes/java/util/ArrayList.java ! src/share/classes/java/util/Collections.java ! src/share/classes/java/util/HashMap.java ! src/share/classes/java/util/HashSet.java ! src/share/classes/java/util/IdentityHashMap.java ! src/share/classes/java/util/LinkedHashSet.java ! src/share/classes/java/util/LinkedList.java ! src/share/classes/java/util/PriorityQueue.java ! src/share/classes/java/util/TreeMap.java ! src/share/classes/java/util/TreeSet.java ! src/share/classes/java/util/Vector.java ! src/share/classes/java/util/WeakHashMap.java ! test/java/util/Spliterator/SpliteratorTraversingAndSplittingTest.java Changeset: 62fb9e2b5da1 Author: naoto Date: 2013-04-22 13:37 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/62fb9e2b5da1 8010666: Implement Currency/LocaleNameProvider in Windows Host LocaleProviderAdapter Reviewed-by: okutsu ! src/macosx/classes/sun/util/locale/provider/HostLocaleProviderAdapterImpl.java ! src/windows/classes/sun/util/locale/provider/HostLocaleProviderAdapterImpl.java ! src/windows/native/sun/util/locale/provider/HostLocaleProviderAdapter_md.c ! test/java/util/Locale/LocaleProviders.java ! test/java/util/Locale/LocaleProviders.sh Changeset: 8b07b318f713 Author: alanb Date: 2013-04-23 15:01 +0100 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/8b07b318f713 8012930: (fs) Eliminate recursion from FileTreeWalker Reviewed-by: chegar ! src/share/classes/java/nio/file/FileTreeWalker.java ! src/share/classes/java/nio/file/Files.java ! test/java/nio/file/Files/walkFileTree/CreateFileTree.java ! test/java/nio/file/Files/walkFileTree/MaxDepth.java ! test/java/nio/file/Files/walkFileTree/SkipSiblings.java + test/java/nio/file/Files/walkFileTree/SkipSubtree.java ! test/java/nio/file/Files/walkFileTree/TerminateWalk.java + test/java/nio/file/Files/walkFileTree/find.sh - test/java/nio/file/Files/walkFileTree/walk_file_tree.sh Changeset: b456f25c2075 Author: lancea Date: 2013-04-23 11:17 -0400 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/b456f25c2075 8011620: adding free form netbeans project for jdbc to jdk/make/netbeans Reviewed-by: chegar ! make/netbeans/common/shared.xml + make/netbeans/jdbc/README + make/netbeans/jdbc/build.properties + make/netbeans/jdbc/build.xml + make/netbeans/jdbc/nbproject/project.xml Changeset: 57b02a7558f3 Author: lana Date: 2013-04-23 15:07 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/57b02a7558f3 Merge - src/share/classes/sun/java2d/cmm/lcms/META-INF/services/sun.java2d.cmm.PCMM Changeset: 754c9bb4f085 Author: sla Date: 2013-04-24 14:49 +0200 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/754c9bb4f085 8009985: [parfait] Uninitialised variable at jdk/src/solaris/native/com/sun/management/UnixOperatingSystem_md.c Reviewed-by: sla, rbackman, alanb, dholmes, rdurbin Contributed-by: peter.allwin at oracle.com ! src/solaris/native/com/sun/management/UnixOperatingSystem_md.c Changeset: bbcebf893b83 Author: alanb Date: 2013-04-24 19:03 +0100 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/bbcebf893b83 8005555: TEST_BUG: java/io/Serializable/accessConstants/AccessConstants.java should be removed Reviewed-by: chegar - test/java/io/Serializable/accessConstants/AccessConstants.java Changeset: 8c06a38aa2c5 Author: sherman Date: 2013-04-24 21:27 +0000 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/8c06a38aa2c5 8012638: test/java/time/test/java/util/TestFormatter fails in UTC TZ Summary: updated the offending test case Reviewed-by: alanb ! test/java/time/test/java/util/TestFormatter.java Changeset: 4da1d43f5843 Author: darcy Date: 2013-04-25 09:37 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/4da1d43f5843 8012044: Give more information about self-suppression from Throwable.addSuppressed Reviewed-by: alanb, dholmes ! src/share/classes/java/lang/Throwable.java ! test/java/lang/Throwable/SuppressedExceptions.java Changeset: ca0957f0d408 Author: emc Date: 2013-04-25 14:23 -0400 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/ca0957f0d408 8012937: Correct errors in javadoc comments. Summary: Correct some errors in the javadoc comments for parameter reflection. Reviewed-by: darcy ! src/share/classes/java/lang/reflect/Executable.java ! src/share/classes/java/lang/reflect/Parameter.java Changeset: 5871d7b1673c Author: coffeys Date: 2013-04-25 21:12 +0100 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/5871d7b1673c 8000529: Regression: SimpleDateFormat incorrectly parses dates formatted with Z and z pattern letters Reviewed-by: okutsu ! src/share/classes/java/text/CalendarBuilder.java ! src/share/classes/java/text/SimpleDateFormat.java ! test/java/text/Format/DateFormat/Bug7130335.java Changeset: b600d637ef77 Author: wetmore Date: 2013-04-25 17:10 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/b600d637ef77 8012530: test/sun/security/provider/SecureRandom/StrongSeedReader.java failing Reviewed-by: wetmore Contributed-by: alan.bateman at oracle.com ! test/sun/security/provider/SecureRandom/StrongSeedReader.java Changeset: a8da4e516bc3 Author: akhil Date: 2013-04-23 11:54 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/a8da4e516bc3 8005051: optimized defaults for Iterator.forEachRemaining Reviewed-by: alanb, mduigou, psandoz, ulfzibis Contributed-by: Akhil Arora ! src/share/classes/java/util/ArrayList.java ! src/share/classes/java/util/LinkedList.java ! src/share/classes/java/util/Vector.java ! src/share/classes/java/util/concurrent/CopyOnWriteArrayList.java Changeset: ceeed0fcb371 Author: jgish Date: 2013-04-02 18:41 -0400 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/ceeed0fcb371 5015163: (str) String merge/join that is the inverse of String.split() 7172553: A utility class that forms the basis of a String.join() operation Summary: Integrate StringJoiner changes from lambda Reviewed-by: alanb, mduigou ! make/java/java/FILES_java.gmk ! src/share/classes/java/lang/String.java + src/share/classes/java/util/StringJoiner.java + test/java/lang/String/StringJoinTest.java + test/java/util/StringJoiner/StringJoinerTest.java Changeset: 2cb55846c9bb Author: mduigou Date: 2013-04-24 16:15 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/2cb55846c9bb 8011920: Main streams implementation 8012542: Stream methods on Collection Reviewed-by: dholmes, mduigou Contributed-by: Brian Goetz , Mike Duigou , Paul Sandoz ! make/docs/CORE_PKGS.gmk ! src/share/classes/java/util/Collection.java + src/share/classes/java/util/stream/AbstractPipeline.java + src/share/classes/java/util/stream/AbstractSpinedBuffer.java + src/share/classes/java/util/stream/DistinctOps.java + src/share/classes/java/util/stream/DoublePipeline.java + src/share/classes/java/util/stream/IntPipeline.java + src/share/classes/java/util/stream/LongPipeline.java + src/share/classes/java/util/stream/Nodes.java + src/share/classes/java/util/stream/ReduceOps.java + src/share/classes/java/util/stream/ReferencePipeline.java + src/share/classes/java/util/stream/SliceOps.java + src/share/classes/java/util/stream/SortedOps.java + src/share/classes/java/util/stream/SpinedBuffer.java + src/share/classes/java/util/stream/StreamSpliterators.java + src/share/classes/java/util/stream/StreamSupport.java Changeset: 5144db7f0f88 Author: sherman Date: 2013-04-26 13:59 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/5144db7f0f88 8007395: StringIndexOutofBoundsException in Match.find() when input String contains surrogate UTF-16 characters Summary: updated GroupCurly.match0() to backtrack correctly Reviewed-by: mchung ! src/share/classes/java/util/regex/Pattern.java ! test/java/util/regex/RegExTest.java Changeset: f5fbd8065920 Author: mfang Date: 2013-03-25 16:49 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/f5fbd8065920 8010521: jdk8 l10n resource file translation update 2 Reviewed-by: naoto, yhuang + src/macosx/classes/com/apple/laf/resources/aqua_de.properties + src/macosx/classes/com/apple/laf/resources/aqua_es.properties + src/macosx/classes/com/apple/laf/resources/aqua_fr.properties + src/macosx/classes/com/apple/laf/resources/aqua_it.properties + src/macosx/classes/com/apple/laf/resources/aqua_ja.properties + src/macosx/classes/com/apple/laf/resources/aqua_ko.properties + src/macosx/classes/com/apple/laf/resources/aqua_pt_BR.properties + src/macosx/classes/com/apple/laf/resources/aqua_sv.properties + src/macosx/classes/com/apple/laf/resources/aqua_zh_CN.properties + src/macosx/classes/com/apple/laf/resources/aqua_zh_TW.properties ! src/share/classes/com/sun/accessibility/internal/resources/accessibility_pt_BR.properties ! src/share/classes/com/sun/accessibility/internal/resources/accessibility_zh_CN.properties ! src/share/classes/com/sun/java/swing/plaf/gtk/resources/gtk_de.properties ! src/share/classes/com/sun/java/swing/plaf/gtk/resources/gtk_es.properties ! src/share/classes/com/sun/java/swing/plaf/gtk/resources/gtk_fr.properties ! src/share/classes/com/sun/java/swing/plaf/gtk/resources/gtk_it.properties ! src/share/classes/com/sun/java/swing/plaf/gtk/resources/gtk_ja.properties ! src/share/classes/com/sun/java/swing/plaf/gtk/resources/gtk_ko.properties ! src/share/classes/com/sun/java/swing/plaf/gtk/resources/gtk_pt_BR.properties ! src/share/classes/com/sun/java/swing/plaf/gtk/resources/gtk_sv.properties ! src/share/classes/com/sun/java/swing/plaf/gtk/resources/gtk_zh_CN.properties ! src/share/classes/com/sun/java/swing/plaf/gtk/resources/gtk_zh_TW.properties ! src/share/classes/com/sun/java/swing/plaf/motif/resources/motif_de.properties ! src/share/classes/com/sun/java/swing/plaf/motif/resources/motif_es.properties ! src/share/classes/com/sun/java/swing/plaf/motif/resources/motif_fr.properties ! src/share/classes/com/sun/java/swing/plaf/motif/resources/motif_it.properties ! src/share/classes/com/sun/java/swing/plaf/motif/resources/motif_pt_BR.properties ! src/share/classes/com/sun/java/swing/plaf/motif/resources/motif_sv.properties ! src/share/classes/com/sun/java/swing/plaf/motif/resources/motif_zh_CN.properties ! src/share/classes/com/sun/java/swing/plaf/windows/resources/windows_de.properties ! src/share/classes/com/sun/java/swing/plaf/windows/resources/windows_es.properties ! src/share/classes/com/sun/java/swing/plaf/windows/resources/windows_fr.properties ! src/share/classes/com/sun/java/swing/plaf/windows/resources/windows_it.properties ! src/share/classes/com/sun/java/swing/plaf/windows/resources/windows_ja.properties ! src/share/classes/com/sun/java/swing/plaf/windows/resources/windows_ko.properties ! src/share/classes/com/sun/java/swing/plaf/windows/resources/windows_pt_BR.properties ! src/share/classes/com/sun/java/swing/plaf/windows/resources/windows_sv.properties ! src/share/classes/com/sun/java/swing/plaf/windows/resources/windows_zh_CN.properties ! src/share/classes/com/sun/rowset/RowSetResourceBundle_de.properties ! src/share/classes/com/sun/rowset/RowSetResourceBundle_es.properties ! src/share/classes/com/sun/rowset/RowSetResourceBundle_fr.properties ! src/share/classes/com/sun/rowset/RowSetResourceBundle_it.properties ! src/share/classes/com/sun/rowset/RowSetResourceBundle_ja.properties ! src/share/classes/com/sun/rowset/RowSetResourceBundle_ko.properties ! src/share/classes/com/sun/rowset/RowSetResourceBundle_pt_BR.properties ! src/share/classes/com/sun/rowset/RowSetResourceBundle_sv.properties ! src/share/classes/com/sun/rowset/RowSetResourceBundle_zh_CN.properties ! src/share/classes/com/sun/rowset/RowSetResourceBundle_zh_TW.properties ! src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_de.properties ! src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_es.properties ! src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_fr.properties ! src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_it.properties ! src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_ja.properties ! src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_ko.properties ! src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_pt_BR.properties ! src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_sv.properties ! src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_zh_CN.properties ! src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_zh_TW.properties ! src/share/classes/com/sun/swing/internal/plaf/metal/resources/metal_de.properties ! src/share/classes/com/sun/swing/internal/plaf/metal/resources/metal_es.properties ! src/share/classes/com/sun/swing/internal/plaf/metal/resources/metal_fr.properties ! src/share/classes/com/sun/swing/internal/plaf/metal/resources/metal_it.properties ! src/share/classes/com/sun/swing/internal/plaf/metal/resources/metal_ja.properties ! src/share/classes/com/sun/swing/internal/plaf/metal/resources/metal_ko.properties ! src/share/classes/com/sun/swing/internal/plaf/metal/resources/metal_pt_BR.properties ! src/share/classes/com/sun/swing/internal/plaf/metal/resources/metal_sv.properties ! src/share/classes/com/sun/swing/internal/plaf/metal/resources/metal_zh_CN.properties ! src/share/classes/com/sun/swing/internal/plaf/metal/resources/metal_zh_TW.properties ! src/share/classes/com/sun/swing/internal/plaf/synth/resources/synth_de.properties ! src/share/classes/com/sun/swing/internal/plaf/synth/resources/synth_es.properties ! src/share/classes/com/sun/swing/internal/plaf/synth/resources/synth_fr.properties ! src/share/classes/com/sun/swing/internal/plaf/synth/resources/synth_it.properties ! src/share/classes/com/sun/swing/internal/plaf/synth/resources/synth_ja.properties ! src/share/classes/com/sun/swing/internal/plaf/synth/resources/synth_ko.properties ! src/share/classes/com/sun/swing/internal/plaf/synth/resources/synth_pt_BR.properties ! src/share/classes/com/sun/swing/internal/plaf/synth/resources/synth_sv.properties ! src/share/classes/com/sun/swing/internal/plaf/synth/resources/synth_zh_CN.properties ! src/share/classes/com/sun/swing/internal/plaf/synth/resources/synth_zh_TW.properties ! src/share/classes/com/sun/tools/example/debug/tty/TTYResources_ja.java ! src/share/classes/com/sun/tools/example/debug/tty/TTYResources_zh_CN.java ! src/share/classes/sun/applet/resources/MsgAppletViewer_de.java ! src/share/classes/sun/applet/resources/MsgAppletViewer_ja.java ! src/share/classes/sun/applet/resources/MsgAppletViewer_pt_BR.java ! src/share/classes/sun/applet/resources/MsgAppletViewer_sv.java ! src/share/classes/sun/applet/resources/MsgAppletViewer_zh_CN.java ! src/share/classes/sun/awt/resources/awt_de.properties ! src/share/classes/sun/awt/resources/awt_es.properties ! src/share/classes/sun/awt/resources/awt_pt_BR.properties ! src/share/classes/sun/awt/resources/awt_zh_CN.properties ! src/share/classes/sun/launcher/resources/launcher_de.properties ! src/share/classes/sun/launcher/resources/launcher_es.properties ! src/share/classes/sun/launcher/resources/launcher_fr.properties ! src/share/classes/sun/launcher/resources/launcher_it.properties ! src/share/classes/sun/launcher/resources/launcher_ja.properties ! src/share/classes/sun/launcher/resources/launcher_ko.properties ! src/share/classes/sun/launcher/resources/launcher_pt_BR.properties ! src/share/classes/sun/launcher/resources/launcher_sv.properties ! src/share/classes/sun/launcher/resources/launcher_zh_CN.properties ! src/share/classes/sun/launcher/resources/launcher_zh_TW.properties ! src/share/classes/sun/management/resources/agent_de.properties ! src/share/classes/sun/management/resources/agent_es.properties ! src/share/classes/sun/management/resources/agent_fr.properties ! src/share/classes/sun/management/resources/agent_it.properties ! src/share/classes/sun/management/resources/agent_ja.properties ! src/share/classes/sun/management/resources/agent_ko.properties ! src/share/classes/sun/management/resources/agent_pt_BR.properties ! src/share/classes/sun/management/resources/agent_sv.properties ! src/share/classes/sun/management/resources/agent_zh_CN.properties ! src/share/classes/sun/management/resources/agent_zh_TW.properties ! src/share/classes/sun/misc/resources/Messages_de.java ! src/share/classes/sun/misc/resources/Messages_es.java ! src/share/classes/sun/misc/resources/Messages_fr.java ! src/share/classes/sun/misc/resources/Messages_it.java ! src/share/classes/sun/misc/resources/Messages_ja.java ! src/share/classes/sun/misc/resources/Messages_ko.java ! src/share/classes/sun/misc/resources/Messages_pt_BR.java ! src/share/classes/sun/misc/resources/Messages_sv.java ! src/share/classes/sun/misc/resources/Messages_zh_CN.java ! src/share/classes/sun/misc/resources/Messages_zh_TW.java ! src/share/classes/sun/print/resources/serviceui_de.properties ! src/share/classes/sun/print/resources/serviceui_es.properties ! src/share/classes/sun/print/resources/serviceui_fr.properties ! src/share/classes/sun/print/resources/serviceui_it.properties ! src/share/classes/sun/print/resources/serviceui_ja.properties ! src/share/classes/sun/print/resources/serviceui_ko.properties ! src/share/classes/sun/print/resources/serviceui_pt_BR.properties ! src/share/classes/sun/print/resources/serviceui_sv.properties ! src/share/classes/sun/print/resources/serviceui_zh_CN.properties ! src/share/classes/sun/print/resources/serviceui_zh_TW.properties ! src/share/classes/sun/rmi/registry/resources/rmiregistry_de.properties ! src/share/classes/sun/rmi/registry/resources/rmiregistry_es.properties ! src/share/classes/sun/rmi/registry/resources/rmiregistry_fr.properties ! src/share/classes/sun/rmi/registry/resources/rmiregistry_it.properties ! src/share/classes/sun/rmi/registry/resources/rmiregistry_ja.properties ! src/share/classes/sun/rmi/registry/resources/rmiregistry_ko.properties ! src/share/classes/sun/rmi/registry/resources/rmiregistry_pt_BR.properties ! src/share/classes/sun/rmi/registry/resources/rmiregistry_sv.properties ! src/share/classes/sun/rmi/registry/resources/rmiregistry_zh_CN.properties ! src/share/classes/sun/rmi/registry/resources/rmiregistry_zh_TW.properties ! src/share/classes/sun/rmi/rmic/resources/rmic_ja.properties ! src/share/classes/sun/rmi/rmic/resources/rmic_zh_CN.properties ! src/share/classes/sun/rmi/server/resources/rmid_de.properties ! src/share/classes/sun/rmi/server/resources/rmid_es.properties ! src/share/classes/sun/rmi/server/resources/rmid_fr.properties ! src/share/classes/sun/rmi/server/resources/rmid_it.properties ! src/share/classes/sun/rmi/server/resources/rmid_ja.properties ! src/share/classes/sun/rmi/server/resources/rmid_ko.properties ! src/share/classes/sun/rmi/server/resources/rmid_pt_BR.properties ! src/share/classes/sun/rmi/server/resources/rmid_sv.properties ! src/share/classes/sun/rmi/server/resources/rmid_zh_CN.properties ! src/share/classes/sun/rmi/server/resources/rmid_zh_TW.properties ! src/share/classes/sun/security/tools/jarsigner/Resources_ja.java ! src/share/classes/sun/security/tools/jarsigner/Resources_zh_CN.java ! src/share/classes/sun/security/util/AuthResources_pt_BR.java ! src/share/classes/sun/security/util/AuthResources_zh_TW.java ! src/share/classes/sun/security/util/Resources_es.java ! src/share/classes/sun/security/util/Resources_pt_BR.java ! src/share/classes/sun/tools/jar/resources/jar_de.properties ! src/share/classes/sun/tools/jar/resources/jar_es.properties ! src/share/classes/sun/tools/jar/resources/jar_fr.properties ! src/share/classes/sun/tools/jar/resources/jar_it.properties ! src/share/classes/sun/tools/jar/resources/jar_ja.properties ! src/share/classes/sun/tools/jar/resources/jar_ko.properties ! src/share/classes/sun/tools/jar/resources/jar_pt_BR.properties ! src/share/classes/sun/tools/jar/resources/jar_sv.properties ! src/share/classes/sun/tools/jar/resources/jar_zh_CN.properties ! src/share/classes/sun/tools/jar/resources/jar_zh_TW.properties ! src/share/classes/sun/tools/jconsole/resources/messages_ja.properties ! src/share/classes/sun/tools/jconsole/resources/messages_zh_CN.properties ! src/share/classes/sun/tools/native2ascii/resources/MsgNative2ascii_ja.java ! src/share/classes/sun/tools/native2ascii/resources/MsgNative2ascii_zh_CN.java ! src/share/demo/jfc/Notepad/resources/Notepad_ja.properties ! src/share/demo/jfc/Notepad/resources/Notepad_zh_CN.properties Changeset: 6d8cd4f28a2f Author: mfang Date: 2013-04-22 23:17 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/6d8cd4f28a2f Merge - make/com/sun/servicetag/Makefile - src/share/classes/com/sun/servicetag/BrowserSupport.java - src/share/classes/com/sun/servicetag/Installer.java - src/share/classes/com/sun/servicetag/LinuxSystemEnvironment.java - src/share/classes/com/sun/servicetag/RegistrationData.java - src/share/classes/com/sun/servicetag/RegistrationDocument.java - src/share/classes/com/sun/servicetag/Registry.java - src/share/classes/com/sun/servicetag/ServiceTag.java - src/share/classes/com/sun/servicetag/SolarisServiceTag.java - src/share/classes/com/sun/servicetag/SolarisSystemEnvironment.java - src/share/classes/com/sun/servicetag/SunConnection.java - src/share/classes/com/sun/servicetag/SystemEnvironment.java - src/share/classes/com/sun/servicetag/UnauthorizedAccessException.java - src/share/classes/com/sun/servicetag/Util.java - src/share/classes/com/sun/servicetag/WindowsSystemEnvironment.java - src/share/classes/com/sun/servicetag/package.html - src/share/classes/com/sun/servicetag/resources/Putback-Notes.txt - src/share/classes/com/sun/servicetag/resources/javase_5_swordfish.properties - src/share/classes/com/sun/servicetag/resources/javase_6_swordfish.properties - src/share/classes/com/sun/servicetag/resources/javase_7_swordfish.properties - src/share/classes/com/sun/servicetag/resources/javase_servicetag.properties - src/share/classes/com/sun/servicetag/resources/jdk_header.png - src/share/classes/com/sun/servicetag/resources/product_registration.xsd - src/share/classes/com/sun/servicetag/resources/register.html - src/share/classes/com/sun/servicetag/resources/register_ja.html - src/share/classes/com/sun/servicetag/resources/register_zh_CN.html - src/share/classes/java/time/chrono/HijrahDeviationReader.java - src/share/classes/java/time/format/DateTimeBuilder.java - src/share/classes/java/time/format/DateTimeFormatStyleProvider.java - src/share/classes/java/time/temporal/Adjusters.java - src/share/classes/java/time/temporal/Queries.java ! src/share/classes/sun/security/ssl/Authenticator.java - src/share/classes/sun/security/util/KeyLength.java - src/share/native/java/lang/ResourceBundle.c - test/com/sun/servicetag/DeleteServiceTag.java - test/com/sun/servicetag/DuplicateNotFound.java - test/com/sun/servicetag/FindServiceTags.java - test/com/sun/servicetag/InstanceUrnCheck.java - test/com/sun/servicetag/InvalidRegistrationData.java - test/com/sun/servicetag/InvalidServiceTag.java - test/com/sun/servicetag/JavaServiceTagTest.java - test/com/sun/servicetag/JavaServiceTagTest1.java - test/com/sun/servicetag/NewRegistrationData.java - test/com/sun/servicetag/SvcTagClient.java - test/com/sun/servicetag/SystemRegistryTest.java - test/com/sun/servicetag/TestLoadFromXML.java - test/com/sun/servicetag/UpdateServiceTagTest.java - test/com/sun/servicetag/Util.java - test/com/sun/servicetag/ValidRegistrationData.java - test/com/sun/servicetag/environ.properties - test/com/sun/servicetag/missing-environ-field.xml - test/com/sun/servicetag/newer-registry-version.xml - test/com/sun/servicetag/registration.xml - test/com/sun/servicetag/servicetag1.properties - test/com/sun/servicetag/servicetag2.properties - test/com/sun/servicetag/servicetag3.properties - test/com/sun/servicetag/servicetag4.properties - test/com/sun/servicetag/servicetag5.properties - test/java/time/tck/java/time/TestChronology.java - test/java/time/tck/java/time/chrono/TestChronoLocalDate.java - test/java/time/tck/java/time/chrono/TestChronoLocalDateTime.java - test/java/time/tck/java/time/chrono/TestHijrahChronology.java - test/java/time/tck/java/time/chrono/TestJapaneseChronology.java - test/java/time/tck/java/time/chrono/TestMinguoChronology.java - test/java/time/tck/java/time/chrono/TestThaiBuddhistChronology.java - test/java/time/tck/java/time/temporal/TCKDateTimeAdjusters.java - test/java/time/tck/java/time/temporal/TestChronoLocalDate.java - test/java/time/tck/java/time/temporal/TestChronoLocalDateTime.java - test/java/time/tck/java/time/temporal/TestChronoZonedDateTime.java - test/java/time/test/java/time/temporal/TestDateTimeAdjusters.java - test/java/time/test/java/time/temporal/TestJapaneseChronoImpl.java - test/java/time/test/java/time/temporal/TestThaiBuddhistChronoImpl.java - test/java/util/ComparatorsTest.java ! test/sun/security/ssl/javax/net/ssl/TLSv12/ShortRSAKeyGCM.java - test/sun/tools/jstat/gcPermCapacityOutput1.awk - test/sun/tools/jstat/jstatGcPermCapacityOutput1.sh Changeset: a6781797ae53 Author: mfang Date: 2013-04-26 09:19 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/a6781797ae53 Merge Changeset: 890485cafb8b Author: mfang Date: 2013-04-26 14:16 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/890485cafb8b Merge Changeset: 5e7ae178b24d Author: plevart Date: 2013-04-26 16:09 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/5e7ae178b24d 7123493: (proxy) Proxy.getProxyClass doesn't scale under high load Reviewed-by: mchung ! src/share/classes/java/lang/reflect/Proxy.java + src/share/classes/java/lang/reflect/WeakCache.java Changeset: 964b95a59656 Author: weijun Date: 2013-04-27 18:25 +0800 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/964b95a59656 8005523: Unbound krb5 for TLS Reviewed-by: xuelei ! src/share/classes/sun/security/ssl/KerberosClientKeyExchange.java ! src/share/classes/sun/security/ssl/Krb5Helper.java ! src/share/classes/sun/security/ssl/Krb5Proxy.java ! src/share/classes/sun/security/ssl/ServerHandshaker.java ! src/share/classes/sun/security/ssl/krb5/KerberosClientKeyExchangeImpl.java ! src/share/classes/sun/security/ssl/krb5/Krb5ProxyImpl.java ! test/sun/security/krb5/auto/SSL.java Changeset: c5d7bdee8c64 Author: alanb Date: 2013-04-28 21:06 +0100 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/c5d7bdee8c64 8013413: javadoc warnings Reviewed-by: lancea, chegar ! src/share/classes/java/nio/file/attribute/FileTime.java ! src/share/classes/java/util/Spliterator.java Changeset: 94b05be10eec Author: alanb Date: 2013-04-29 10:28 +0100 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/94b05be10eec 8013415: Changes for JDK-8005523 requires updates to refs.allowed Reviewed-by: chegar ! make/tools/src/build/tools/deps/refs.allowed Changeset: 138f767b8eff Author: dholmes Date: 2013-04-29 07:40 -0400 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/138f767b8eff 8010280: jvm.cfg needs updating for non-server builds Summary: Generate jvm.cfg based on chosen VMs for non-"standard" builds and remove legacy entries from committed jvm.cfg files Reviewed-by: mduigou, tbell ! makefiles/CopyFiles.gmk ! src/macosx/bin/x86_64/jvm.cfg ! src/solaris/bin/amd64/jvm.cfg ! src/solaris/bin/arm/jvm.cfg ! src/solaris/bin/i586/jvm.cfg ! src/solaris/bin/ia64/jvm.cfg ! src/solaris/bin/ppc/jvm.cfg ! src/solaris/bin/sparc/jvm.cfg ! src/solaris/bin/sparcv9/jvm.cfg ! src/solaris/bin/zero/jvm.cfg ! src/windows/bin/amd64/jvm.cfg ! src/windows/bin/i586/jvm.cfg ! src/windows/bin/ia64/jvm.cfg Changeset: 9d324d667bb3 Author: jzavgren Date: 2013-04-29 08:17 -0400 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/9d324d667bb3 8012108: Memory leak in jdk/src/windows/native/java/net/NetworkInterface_winXP.c Summary: Modified code to fix this leak and then proactively fixed improper calls to realloc() in the windows native code that can also cause leaks. Reviewed-by: chegar, khazra, dsamersoff ! src/windows/native/java/net/NetworkInterface.c ! src/windows/native/java/net/NetworkInterface_winXP.c ! src/windows/native/sun/net/dns/ResolverConfigurationImpl.c Changeset: b013d7433184 Author: chegar Date: 2013-04-29 18:12 +0100 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/b013d7433184 Merge Changeset: 7857129859bd Author: briangoetz Date: 2013-04-20 18:53 -0400 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/7857129859bd 8012650: Arrays streams methods 8011918: java.util.stream.Streams Reviewed-by: alanb, mduigou, darcy, henryjen Contributed-by: brian.goetz at oracle.com, paul.sandoz at oracle.com ! src/share/classes/java/util/Arrays.java ! src/share/classes/java/util/stream/DoubleStream.java ! src/share/classes/java/util/stream/IntStream.java ! src/share/classes/java/util/stream/LongStream.java ! src/share/classes/java/util/stream/Stream.java + src/share/classes/java/util/stream/StreamBuilder.java + src/share/classes/java/util/stream/Streams.java + test/java/util/Arrays/SetAllTest.java Changeset: 46ddd9d272b5 Author: mduigou Date: 2013-04-29 22:03 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/46ddd9d272b5 8011917: Add java.util.stream.Collectors utilities Reviewed-by: darcy, mduigou Contributed-by: Brian Goetz + src/share/classes/java/util/stream/Collectors.java Changeset: fff665e54df0 Author: sla Date: 2013-04-30 10:48 +0200 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/fff665e54df0 8003671: [findbugs] sun.management.AgentConfigurationError.getParams() may expose internal representation by returning AgentConfigurationError.params Reviewed-by: mchung, rbackman, jbachorik ! src/share/classes/sun/management/AgentConfigurationError.java Changeset: 49d6596100db Author: msheppar Date: 2013-04-29 23:07 +0100 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/49d6596100db 8007373: Inet6Address serialization incompatibility Reviewed-by: alanb, chegar ! src/share/classes/java/net/Inet6Address.java + test/java/net/Inet6Address/serialize/Inet6AddressSerializationTest.java Changeset: ac3e189c9099 Author: lancea Date: 2013-04-30 14:44 -0400 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/ac3e189c9099 8010416: Add a way for java.sql.Driver to be notified when it is deregistered Reviewed-by: alanb, ulfzibis ! src/share/classes/java/sql/Driver.java + src/share/classes/java/sql/DriverAction.java ! src/share/classes/java/sql/DriverManager.java ! src/share/classes/java/sql/SQLPermission.java Changeset: 0e6f412f5536 Author: mduigou Date: 2013-04-30 12:31 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/0e6f412f5536 8011814: Add testng.jar to Netbeans projects test compile classpath 8013271: Add MacOS sources to J2SE Netbeans project 8013272: JDK Netbeans projects should use ASCII encoding for sources Reviewed-by: lancea ! make/netbeans/common/closed-share-sources.ent ! make/netbeans/common/demo-view.ent ! make/netbeans/common/java-data-native.ent ! make/netbeans/common/java-data-no-native.ent ! make/netbeans/common/jtreg-view.ent + make/netbeans/common/macosx-sources.ent + make/netbeans/common/macosx-view.ent ! make/netbeans/common/properties.ent ! make/netbeans/common/sample-view.ent ! make/netbeans/common/share-sources.ent ! make/netbeans/common/unix-sources.ent ! make/netbeans/common/windows-sources.ent ! make/netbeans/j2se/nbproject/project.xml ! make/netbeans/world/nbproject/project.xml Changeset: 2fba6ae13ed8 Author: mduigou Date: 2013-04-30 12:32 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/2fba6ae13ed8 Merge Changeset: 1432a6247ac9 Author: ksrini Date: 2013-04-30 13:12 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/1432a6247ac9 8009389: Unpack200 native library should be removed from profiles Reviewed-by: alanb, bobv, jrose ! makefiles/profile-includes.txt ! src/share/classes/com/sun/java/util/jar/pack/UnpackerImpl.java Changeset: eda99449ab26 Author: alanb Date: 2013-04-30 21:19 +0100 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/eda99449ab26 8013647: JPRT unable to clean-up after tests that leave file trees with loops Reviewed-by: chegar, tbell ! test/java/nio/file/Files/walkFileTree/MaxDepth.java ! test/java/nio/file/Files/walkFileTree/SkipSiblings.java ! test/java/nio/file/Files/walkFileTree/SkipSubtree.java ! test/java/nio/file/Files/walkFileTree/TerminateWalk.java Changeset: 4a82d2b86c75 Author: mchung Date: 2013-04-30 15:42 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/4a82d2b86c75 8013531: Provide a utility class in com.sun.tools.classfile to find field/method references Reviewed-by: alanb ! test/sun/reflect/CallerSensitive/CallerSensitiveFinder.java - test/sun/reflect/CallerSensitive/MethodFinder.java ! test/sun/reflect/CallerSensitive/MissingCallerSensitive.java Changeset: 4550ba263cbf Author: lana Date: 2013-04-30 17:51 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/4550ba263cbf Merge Changeset: dddd17cf61ff Author: chegar Date: 2013-05-01 10:03 +0100 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/dddd17cf61ff 6594296: NetworkInterface.getHardwareAddress returns zero length byte array Reviewed-by: alanb ! src/windows/native/java/net/NetworkInterface_winXP.c ! test/java/net/NetworkInterface/Test.java Changeset: 73793f2af80a Author: msheppar Date: 2013-04-30 16:24 +0100 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/73793f2af80a 8007799: Base64.getEncoder(0, byte[]) returns an encoder that unexpectedly inserts line separators Reviewed-by: sherman, iris ! src/share/classes/java/util/Base64.java + test/java/util/Base64/Base64GetEncoderTest.java Changeset: 5941f7c9c76a Author: chegar Date: 2013-05-01 11:15 +0100 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/5941f7c9c76a 8013723: ProblemList.txt updates (5/2013) Reviewed-by: alanb ! test/ProblemList.txt Changeset: ae4a82e69da2 Author: weijun Date: 2013-05-01 21:05 +0800 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/ae4a82e69da2 8012082: SASL: auth-conf negotiated, but unencrypted data is accepted, reset to unencrypt Reviewed-by: vinnie ! src/share/classes/com/sun/security/sasl/gsskerb/GssKrb5Base.java ! src/share/classes/com/sun/security/sasl/gsskerb/GssKrb5Client.java ! src/share/classes/com/sun/security/sasl/gsskerb/GssKrb5Server.java + test/sun/security/krb5/auto/SaslGSS.java Changeset: c6aef650e615 Author: mduigou Date: 2013-05-01 08:35 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/c6aef650e615 8012665: add CharSequence.chars, CharSequence.codePoints Reviewed-by: martin, alanb, ulfzibis, mduigou Contributed-by: Stuart Marks , Henry Jen ! src/share/classes/java/lang/CharSequence.java + test/java/lang/CharSequence/DefaultTest.java ! test/java/lang/StringBuffer/TestSynchronization.java Changeset: f6f2802f980c Author: lana Date: 2013-05-01 11:34 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/f6f2802f980c Merge - test/java/io/Serializable/accessConstants/AccessConstants.java - test/java/nio/file/Files/walkFileTree/walk_file_tree.sh - test/sun/reflect/CallerSensitive/MethodFinder.java Changeset: 336a110f1196 Author: lana Date: 2013-05-06 11:50 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/336a110f1196 Merge - src/share/classes/java/beans/ReflectionUtils.java - test/java/awt/Focus/OverrideRedirectWindowActivationTest/OverrideRedirectWindowActivationTest.java - test/java/io/Serializable/accessConstants/AccessConstants.java - test/java/nio/file/Files/walkFileTree/walk_file_tree.sh - test/sun/reflect/CallerSensitive/MethodFinder.java Changeset: 88125d32eb06 Author: andrew Date: 2013-05-04 17:04 +0100 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/88125d32eb06 8011366: Enable debug info on all libraries for OpenJDK builds Summary: The build should not be turning off debugging if it has been requested. Reviewed-by: erikj, dholmes ! makefiles/CompileNativeLibraries.gmk Changeset: 7ba77fff0ef6 Author: katleman Date: 2013-05-07 10:51 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/7ba77fff0ef6 Merge Changeset: 845025546e35 Author: katleman Date: 2013-05-07 13:13 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/845025546e35 Merge Changeset: b8e7d145abc2 Author: katleman Date: 2013-05-09 10:04 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/b8e7d145abc2 Added tag jdk8-b89 for changeset 845025546e35 ! .hgtags Changeset: 8a995d335d59 Author: lana Date: 2013-05-09 19:17 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/8a995d335d59 Merge - src/share/classes/java/beans/ReflectionUtils.java - test/java/awt/Focus/OverrideRedirectWindowActivationTest/OverrideRedirectWindowActivationTest.java - test/java/io/Serializable/accessConstants/AccessConstants.java - test/java/nio/file/Files/walkFileTree/walk_file_tree.sh - test/sun/reflect/CallerSensitive/MethodFinder.java From bourges.laurent at gmail.com Fri May 10 06:50:17 2013 From: bourges.laurent at gmail.com (=?ISO-8859-1?Q?Laurent_Bourg=E8s?=) Date: Fri, 10 May 2013 08:50:17 +0200 Subject: [OpenJDK 2D-Dev] sun.java2D.Pisces renderer Performance and Memory enhancements In-Reply-To: <5189B7E4.5010209@oracle.com> References: <516DBFBF.20504@oracle.com> <5175A611.9080004@oracle.com> <5177345D.4060408@oracle.com> <517822F0.4040800@oracle.com> <51806526.8070808@oracle.com> <518440E2.4080505@oracle.com> <5189B7E4.5010209@oracle.com> Message-ID: Jim, FYI, I am working on optimizing the 2 hotspot methods annotated by oprofile (see specific emails) : - ScanLineIterator.next() ~ 35% - Renderer.endRendering(...) ~ 20% I think that the ScanLineIterator class is no more useful and could be merged into Renderer directly: I try to optimize these 2 code paths (crossing / crossing -> alpha) but it seems quite difficult as I must understand hotspot optimizations (assembler code)... For now I want to keep pisces in Java code as hotspot is efficient enough and probably the algorithm can be reworked a bit; few questions: - should edges be sorted by Ymax ONCE to avoid complete edges traversal to count crossings for each Y value: 156 if ((bucketcount & 0x1) != 0) { 157 int newCount = 0; 158 for (int i = 0, ecur; i < count; i++) { 159 ecur = ptrs[i];* 160 if (_edgesInt[ecur + YMAX] > cury) {* 161 ptrs[newCount++] = ecur; 162 } 163 } 164 count = newCount; 165 } - why multiply x2 and divide /2 the crossings (+ rounding issues) ? 202 for (int i = 0, ecur, j; i < count; i++) { 203 ecur = ptrs[i]; 204 curx = _edges[ecur /* + CURX */]; 205 _edges[ecur /* + CURX */] = curx + _edges[ecur + SLOPE]; 206 * 207 cross = ((int) curx) << 1;* 208 if (_edgesInt[ecur + OR] != 0 /* > 0 */) { 209 cross |= 1; 210 } * 674 int lowx = crossings[0] >> 1; 675 int highx = crossings[numCrossings - 1] >> 1;* 689 for (int i = 0; i < numCrossings; i++) { 690 int curxo = crossings[i];* 691 int curx = curxo >> 1;* - last x pixel processing: could you explain me ? 712 int pix_xmax = x1 >> SUBPIXEL_LG_POSITIONS_X; 713 int tmp = (x0 & SUBPIXEL_MASK_X); 714 alpha[pix_x] += SUBPIXEL_POSITIONS_X - tmp; 715 alpha[pix_x + 1] += tmp; 716 tmp = (x1 & SUBPIXEL_MASK_X); 717 alpha[pix_xmax] -= SUBPIXEL_POSITIONS_X - tmp; 718 alpha[pix_xmax + 1] -= tmp; Finally, it seems that hotspot settings (CompileThreshold=1000 and -XX:aggressiveopts) are able to compile theses hotspots better ... 2013/5/8 Jim Graham > This is amazing work, Laurent! I'll look over the code changes soon. Note > that the "2 edge arrays" issue goes away if we can use native methods and C > structs. It may be faster still in that case... Thanks; probably the edgeBucket / edgeBucketCount arrays could be merged into a single one to improve cache affinity. Let stay in java ... as hotspot is so efficient (until the contrary is proven). FYI, I can write C/C++ code but I never practised JNI code. Does somebody could help us to port only these 2 hotspot methods ? PS: I attend a conference next week (germany) so I will be less available to work on code but I will read my emails. Laurent -------------- next part -------------- An HTML attachment was scrubbed... URL: From patrick at reini.net Fri May 10 13:15:52 2013 From: patrick at reini.net (Patrick Reinhart) Date: Fri, 10 May 2013 15:15:52 +0200 Subject: [OpenJDK 2D-Dev] JDK-8013810: UnixPrintServiceLookup not returning consistent values In-Reply-To: <518C1E5D.30609@oracle.com> References: <921DCFDE-B4B9-4E51-A95E-6439111A7AC4@reini.net> <1366229461.2858.4.camel@wsccuw01.ccuw.ch> <5175A7F5.6070208@oracle.com> <7ED39034-6E81-4274-89F1-CBC9B15321AE@reini.net> <5176B668.7040405@oracle.com> <5176BD48.6060704@oracle.com> <2A33148C-51AF-4E70-8138-E9383F634C0F@reini.net> <517EC145.5080504@oracle.com> <20130507112305.11145qtcsz4fz2t5@webmail.nine.ch> <5189906C.7000104@oracle.com> <518A033E.60503@reini.net> <518C1E5D.30609@oracle.com> Message-ID: <518CF308.7040009@reini.net> Hi Phil, Am 10.05.13 00:08, schrieb Phil Race: > Patrick, > Maybe you need to be clear in the problem statement. I can't actually > find it anywhere in this email thread. I'm reverse engineering to it > as follows: > > You got an IPPPrintService for lookup via > > PrintServiceLookup.lookupPrintServices(null, null) > > > but a UnixPrintService via > > attributes.add(new PrinterName(name, null)); > PrintServiceLookup.lookupPrintServices(null, attributes) > > That is absolutely correct. My problem is exactly as you described it above. > If you read my email you should see that if you make the change > I proposed you will never enter the getNamedPrinterXXX() methods > if you are using CUPS, which seems like it should fix your problem > of different classes. When I look into your diff, then your intention becomes clear to me and yes, that will fix my problem. And from this point of view it's no need to call those getNamedPrinterXXX() methods. > You don't really need to test the class and probably shouldn't. > service.equals(serviceByName) seems better. That's correct too and wouldn't change the tests purpose. > And although getServiceByName() shouldn't enumerate all printers, > because that can be very costly in some configurations, > it likely should first check to see if we already enumerated all > printers, > and then see if its in the list. As its written its really intended > for the > case where no enumeration has been performed but if it already > happened there's no harm in leveraging that. That point I understood. What I do not understand though is the reason left for those methods anyway. What's the use case for them? Only to check the state in case of a non IPPPrintService, that is not being done if let's say a enumerated UnixPrintService is already available? Does a UnixPrintService this not by them-self already? > Put another, way does this patch (on its own, no other changes) fix > your problem > It modifies the getPrinterByName() method. If not, why, not, and > please print > out the actual class/service names seen by your test so we can see > more clearly > > diff --git a/src/solaris/classes/sun/print/UnixPrintServiceLookup.java > b/src/solaris/classes/sun/print/UnixPrintServiceLookup.java > --- a/src/solaris/classes/sun/print/UnixPrintServiceLookup.java > +++ b/src/solaris/classes/sun/print/UnixPrintServiceLookup.java > @@ -366,6 +366,29 @@ > if (name == null || name.equals("") || > !checkPrinterName(name)) { > return null; > } > + > + if (printServices != null) { > + for (int i=0; i + if (name.equals(printServices[i].getName())) { > + return printServices[i]; > + } > + } > + } > + > + if (CUPSPrinter.isCupsRunning()) { > + try { > + URL url = new URL("http://"+ > + CUPSPrinter.getServer()+":"+ > + CUPSPrinter.getPort()+"/"+ > + name); > + printer = new IPPPrintService(name, url); > + } catch (Exception e) { > + } > + if (printer != null) { > + return printer; > + } > + } > + > if (isMac() || isSysV()) { > printer = getNamedPrinterNameSysV(name); > } else { Is it on purpose to iterate over the enumerated printers not using the for-each loop? > BTW keep all revisions of your code around so that people can compare. > I have no reference to what the earlier version of your fix did. I will keep that in mind for my next changes... Besides all that, It seems to me a much of code duplication even though it works. I would prefer to have that tighten up a bit too. Patrick > -phil. > > On 5/8/2013 12:48 AM, Patrick Reinhart wrote: >> Hi Phil, >> >> Sorry, I can not share your point of the methods >> getNamedPrinterNameXX() always returning a UnixPrintService though. >> That is exactly the point of inconsistency shown by the test case. As >> far as I checked it the only referred places of those >> getNamedPrinterNameXX() is exactly the getServiceByName() method >> mentioned to place the fix. >> >> In my opinion those method names are misleading anyway. They both >> called getNamedPrinterNameXX() even though they return a >> PrintService. As I assume that they originally did return the active >> printer name and the PrintService was created outside, as the usage >> of the getAllPrinterNamesXX() methods - that are called when creating >> all PrintService instances. You explained me before that in case of >> hundreds of printers it's faster to just lookup the printer state of >> one printer only - which is done within the getNamedPrinterNameXX() >> methods. >> >> Patrick >> >> >> Am 08.05.13 01:38, schrieb Phil Race: >>> I am assuming this current webrev replaced the previous >>> one:- http://reinharts.dyndns.org/webrev/ >>> >>> getNamedPrinterNameSysV() and >>> >>> getNamedPrinterNameBSD() >>> >>> should not be changed as they should always >>> create a UnixPrintService and so can do this >>> directly. You are subverting the code in >>> there to first check for CUPS which shouldn't >>> be needed. >>> >>> >>> I haven' t tested this out but from inspection, >>> I think the problem is in getServiceByName() where >>> it is ignorant of the CUPS possibility. >>> It needs to have the isCUPSRunning() check and >>> if so create an IPPPrintService(). >>> >>> So that's where you should place your call. >>> >>> That is likely the only change here that is really necessary. >>> The refactoring is OK but but not essential to the fix. >>> >>> -phil. From jvanek at redhat.com Fri May 10 14:08:24 2013 From: jvanek at redhat.com (Jiri Vanek) Date: Fri, 10 May 2013 16:08:24 +0200 Subject: [OpenJDK 2D-Dev] [PATCH FOR REVIEW] fix for bug 8011693: Remove redundant fontconfig files In-Reply-To: <5162E2BE.7000202@redhat.com> References: <5162A1B3.1050001@redhat.com> <5162A642.4020003@oracle.com> <5162AB8F.1020503@redhat.com> <5162BA69.8070308@oracle.com> <5162C654.3070001@redhat.com> <5162D09C.8000307@oracle.com> <5162E2BE.7000202@redhat.com> Message-ID: <518CFF58.1080400@redhat.com> On 04/08/2013 05:31 PM, Jiri Vanek wrote: > On 04/08/2013 04:13 PM, Vladislav Karnaukhov wrote: >> Hello Jiri, >> >> please see inline. >> >> On 4/8/2013 05:29 PM, Jiri Vanek wrote: >>> On 04/08/2013 02:39 PM, Vladislav Karnaukhov wrote: >>> >>> Thank you very much for win-check! It will force me to install new >>> windows machine somewhere. >>> Do you mind do check if pure removal of fontconfig files (both src and >>> bfc) from you installed jdk7/8 on windows will work? (should) >> >> Yes, I've checked and it does *not* work. That's the reason why I replied to your very first >> message. A removal of fontconfig.* files simply crashes Java, - on both Windows and Mac, - because >> some font management-related classes rely on these files. Hence my question regarding deeper >> re-design on font management system... >> >> I've tested Mac build as well, and there's the same error: > > Ok. I will try anyway:) > For linux I'm quite sure the new fontmanagers are working pretty fine. > Do you think it will be acceptable to prepare smaller clean up - to remove all linux fontconfig files? > > And later, as separate changeset to fontmanagers for windows/mac, but I'm afraid I will not be > capable of such an development on non linux system. > > Thanx for your help, > > J. >> Hi! I had finally found some free time, so here it is - smaller version which is removing just stuff for linux when OpenJDK is defined. http://jvanek.fedorapeople.org/oracle/jdk8/webrevs/removedFontConfigFiles-linuxOnly/ Although I had windows build, I lost this machine so - again (and sorry for that) - tested only on Fedora. Also when I read the individual fontmanagers, I believe that they really *should* work without fontocfigs. So although this is fixing the 8011693, new bugs should be filled for windows and mac, because theirs implementations are broken. Thank you very much for any comments. Best Regards j. From james.graham at oracle.com Fri May 10 23:13:11 2013 From: james.graham at oracle.com (Jim Graham) Date: Fri, 10 May 2013 16:13:11 -0700 (PDT) Subject: [OpenJDK 2D-Dev] sun.java2D.Pisces renderer Performance and Memory enhancements In-Reply-To: References: <516DBFBF.20504@oracle.com> <5175A611.9080004@oracle.com> <5177345D.4060408@oracle.com> <517822F0.4040800@oracle.com> <51806526.8070808@oracle.com> <518440E2.4080505@oracle.com> <5189B7E4.5010209@oracle.com> Message-ID: <518D7F07.4010602@oracle.com> Hi Laurent, On 5/9/13 11:50 PM, Laurent Bourg?s wrote: > Jim, > > I think that the ScanLineIterator class is no more useful and could be > merged into Renderer directly: I try to optimize these 2 code paths > (crossing / crossing -> alpha) but it seems quite difficult as I must > understand hotspot optimizations (assembler code)... I was originally skeptical about breaking that part of the process into an iterator class as well. > For now I want to keep pisces in Java code as hotspot is efficient > enough and probably the algorithm can be reworked a bit; > few questions: > - should edges be sorted by Ymax ONCE to avoid complete edges traversal > to count crossings for each Y value: > > 156 if ((bucketcount & 0x1) != 0) { > 157 int newCount = 0; > 158 for (int i = 0, ecur; i < count; i++) { > 159 ecur = ptrs[i]; > * 160 if (_edgesInt[ecur + YMAX] > cury) { > * 161 ptrs[newCount++] = ecur; > 162 } > 163 } > 164 count = newCount; > 165 } This does not traverse all edges, just the edges currently "in play" and it only does it for scanlines that had a recorded ymax on them (count is multiplied by 2 and then optionally the last bit is set if some edge ends on that scanline so we know whether or not to do the "remove expired edges" processing). > - why multiply x2 and divide /2 the crossings (+ rounding issues) ? > > 202 for (int i = 0, ecur, j; i < count; i++) { > 203 ecur = ptrs[i]; > 204 curx = _edges[ecur /* + CURX */]; > 205 _edges[ecur /* + CURX */] = curx + _edges[ecur + SLOPE]; > 206 > * 207 cross = ((int) curx) << 1; > * 208 if (_edgesInt[ecur + OR] != 0 /* > 0 */) { > 209 cross |= 1; The line above sets the bottom bit if the crossing is one orientation vs. the other so we know whether to add one or subtract one to the winding count. The crossings can then be sorted and the orientation flag is carried along with the values as they are sorted. The cost of this trick is having to shift the actual crossing coordinates by 1 to vacate the LSBit. > - last x pixel processing: could you explain me ? > 712 int pix_xmax = x1 >> SUBPIXEL_LG_POSITIONS_X; > 713 int tmp = (x0 & SUBPIXEL_MASK_X); > 714 alpha[pix_x] += SUBPIXEL_POSITIONS_X - tmp; > 715 alpha[pix_x + 1] += tmp; > 716 tmp = (x1 & SUBPIXEL_MASK_X); > 717 alpha[pix_xmax] -= SUBPIXEL_POSITIONS_X - tmp; > 718 alpha[pix_xmax + 1] -= tmp; Are you referring to the 2 += and the 2 -= for each end of the span? If an edge crosses in a given pixel at 5 subpixel positions after the start of that pixel, then it contributes a coverage of "SUBPIXEL_POS_X minus 5" in that pixel. But, starting with the following pixel, the total coverage it adds for those pixels until it reaches the right edge of the span is "SUBPIXEL_POSITIONS_X". However, we are recording deltas and the previous pixels only bumped our total coverage by "S_P_X - 5". So, we now need to bump the accumulated coverage by 5 in the following pixel so that the total added coverage is "S_P_X". Basically the pair of += lines adds a total S_P_X to the coverage, but it splits that sum over two pixels - the one where the left edge first appeared and its following pixel. Similarly, the two -= statements subtract a total of S_P_X from the coverage total, and do so spread across 2 pixels. If the crossing happened right at the left edge of the pixel then tmp would be 0 and the second += or -= would be wasted, but that only happens 1 out of S_P_X times and the cost of testing is probably less than just adding tmp to the second pixel even if it is 0. Also note that we need to have an array entry for alpha[max_x + 1] so that the second += and -= don't store off the end of the array. We don't need to use that value since we will stop our alpha accumulations at the entry for max_x, but testing to see if the "second pixel delta value" is needed is more expensive than just accumulating it into an unused array entry. > Finally, it seems that hotspot settings (CompileThreshold=1000 and > -XX:aggressiveopts) are able to compile theses hotspots better ... What about if we use the default settings as would most non-server apps? > Thanks; probably the edgeBucket / edgeBucketCount arrays could be merged > into a single one to improve cache affinity. Interesting. > FYI, I can write C/C++ code but I never practised JNI code. > Does somebody could help us to port only these 2 hotspot methods ? Port 2 Hotspot methods? I'm not sure what you are referring to here? > PS: I attend a conference next week (germany) so I will be less > available to work on code but I will read my emails. Thanks for the heads up - as long as you don't time out and switch off of this project permanently - that would be a shame... :( ...jim From Sergey.Bylokhov at oracle.com Mon May 13 15:24:09 2013 From: Sergey.Bylokhov at oracle.com (Sergey Bylokhov) Date: Mon, 13 May 2013 19:24:09 +0400 Subject: [OpenJDK 2D-Dev] [7u] Request for review: 8000629 [macosx] Blurry rendering with Java 7 on Retina display Message-ID: <51910599.4000902@oracle.com> Hello, Please review the fix for jdk 7u. I send additional review request for jdk7, because there is a difference in the fix from the version of jdk8. Only one sensitive change is one line 1052 in the LWWindowPeer, because this part of code was removed in jdk8. Bug: http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=8000629 Webrev can be found at: http://cr.openjdk.java.net/~serb/8000629/webrev.08_jdk7 jdk8 changeset: http://hg.openjdk.java.net/jdk8/jdk8/jdk/rev/39ce1056694d Technical review for jdk 8: http://mail.openjdk.java.net/pipermail/awt-dev/2013-April/004577.html -- Best regards, Sergey. From philip.race at oracle.com Mon May 13 21:23:59 2013 From: philip.race at oracle.com (Phil Race) Date: Mon, 13 May 2013 14:23:59 -0700 Subject: [OpenJDK 2D-Dev] [8] Review request for 8005607: Recursion in J2DXErrHandler() Causes a Stack Overflow on Linux In-Reply-To: <51780E13.1060902@oracle.com> References: <50DEF3AC.2070600@oracle.com> <50ED9609.1070002@oracle.com> <50EE1CEB.5080500@oracle.com> <50EFED12.6070700@oracle.com> <50EFFB4F.4090405@oracle.com> <510946F7.3090709@oracle.com> <510A6A54.1080705@oracle.com> <510A90DF.2060501@oracle.com> <511BC5E4.9090302@oracle.com> <51220DA4.7040608@oracle.com> <512218E7.9090808@oracle.com> <51221D2D.9070907@oracle.com> <512251F0.7020204@oracle.com> <5124D315.8080809@oracle.com> <51519754.7010906@oracle.com> <5152011C.9070202@oracle.com> <51536DE1.1090508@oracle.com> <515373E9.1070609@oracle.com> <517534F0.3070905@oracle.com> <51780E13.1060902@oracle.com> Message-ID: <519159EF.4080001@oracle.com> Looks OK. -phil. On 4/24/2013 9:53 AM, Anton Litvinov wrote: > Hello Phil, > > I provide answers to the questions from your last e-mail. Yes, the fix > for the bug 6678385 did not take into account error handlers which are > set in 2D native code area. Thank you for accepting the idea of the > fix, despite theoretically possible problems, which you defined for > the cases, when Java is embedded into another applications. No, after > discussion with AWT team member Anthony Petrov, I would not like to > remove "saved_error_handler" variable from the class > "XErrorHandlerUtil", because, as Anthony stated in his last e-mail in > the mail thread dedicated to this fix, this variable may be used for > debugging purpose at any time and its removal is not directly related > to the main purpose of this fix. > > Could you please review a new version of the fix containing > corrections which should satisfy your remarks. > > Webrev: http://cr.openjdk.java.net/~alitvinov/8005607/webrev.05 > > The following changes were added to the fix: > > 1. Declarations of the local variables introduced by the fix in all C > source files were moved to the beginning of the functions in order not > to lead to warnings or errors of some C source code compilers. The fix > in these files was modified: awt_GraphicsEnv.c, awt_util.h, > GLXSurfaceData.c, X11SurfaceData.c. > > 2. The code AWT_LOCK/AWT_UNLOCK was eliminated from both files > "GLXSurfaceData.c" and "X11SurfaceData.c", where it was added by the > earlier version of the fix. Because: > > - "sun.java2d.opengl.GLXSurfaceData.initPbuffer" method, whose > native implementation contains the fix, is always called under AWT > lock, acquired in the method > "sun.java2d.opengl.OGLSurfaceData.initSurface". > - "X11SurfaceData.c::X11SD_CreateSharedPixmap" calling > "X11SurfaceData.c::X11SD_CreateSharedImage" function, containing the > fix, is always guarded by AWT lock, acquired in > "X11SurfaceData.c::XShared_initSurface" function. > - Despite of the fact that I was not able to find evidences of > acquirement of AWT lock in all other algorithm's paths, which lead to > a call of the function "X11SurfaceData.c::X11SD_CreateSharedImage", I > tested the fix with manual test and did not observe any case, when > "sun.awt.X11.XShmAttachHandler" was exploited without AWT lock by > means of the method "SunToolkit.isAWTLockHeldByCurrentThread". I also > suppose that small possibility of race condition is less important > than a deadlock caused by AWT_LOCK/AWT_UNLOCK code. > > Thank you, > Anton > > On 4/22/2013 5:02 PM, Anthony Petrov wrote: >>>> I also do not know the point of saved_error_handler variable, it >>>> became unusable with the fix for the bug "6678385", but this seems >>>> to be a stable code which I just had to move from XToolkit class to >>>> XErrorHandlerUtil without any modification. >>> >>> So maybe remove it ? Ask the AWT folks what they think. >> >> The variable occupies 8 bytes only. It also allows one to uncomment >> the line: >> >>> 120 // return >>> XlibWrapper.CallErrorHandler(saved_error_handler, display, >>> error.pData); >> >> for debugging purposes w/o having to wire up all the >> saved_error_handler machinery anew. This is needed rarely but may be >> useful in some cases. >> >> I'd prefer to leave it as is. >> >> -- >> best regards, >> Anthony >> >> On 03/28/13 02:34, Phil Race wrote: >>> Hello, >>> >>> On 3/27/2013 3:08 PM, Anton Litvinov wrote: >>>> Hello Phil, >>>> >>>> Thank you very much for the review. No, the original problem consists >>>> in the fact that Xlib function "XSetErrorHandler" is not thread-safe, >>>> so calling it from different threads by setting one error handler and >>>> restoring the previous error handler leads to >>> >>> I get that. The MT case is just the mechanism for what I described, >>> because the install/restore >>> was wrapping the code that needed the special handler. >>> >>> >>>> such not easily reproducible bugs like this and the already fixed >>>> 6678385, for example when the second thread restores error handler set >>>> by the first thread after the first thread left the code block >>>> potentially generating XError and already unset its error handler. The >>>> only solution to this problem is introduction of one critical section >>>> for all pairs of calls to "XSetErrorHandler" function through >>>> WITH_XERROR_HANDLER, RESTORE_XERROR_HANDLER macros in the code of JDK. >>>> Even this solution is not complete, because JDK's code cannot >>>> influence invoked by it code from the third-party libraries, which >>>> also sets or potentially sets own error handlers. The purpose of the >>>> fix for "6678385" bug was to guarantee that AWT code sets its global >>>> error handler once and for the whole life time of Java application and >>>> allows Java code to set "synthetic" or not real error handlers without >>>> invocation of "XSetErrorHandler" function. While the idea of this fix >>>> is to guarantee that there is no place in JDK other than >>>> "src/solaris/native/sun/xawt/XlibWrapper.c", where "XSetErrorHandler" >>>> function is called. So this fix substitutes real calls to that native >>>> function for setting of "synthetic" error handlers through >>>> "sun.awt.X11.XErrorHandlerUtil" class. >>> >>> Except that 6678385 apparently didn't include the two 2D handlers ? >>> Just >>> the XAWT ones. >>> >>>> >>>> Yes, this pattern follows a policy relying on the assumption that no >>>> other code has a "more important" need to have its X error handler >>>> installed, but with one correction which is "no other code in JDK". So >>>> this constraint is not applicable to a code of any third-party >>>> library, since it is impossible without collaboration between JDK and >>>> third parties on definition of common critical section. Unfortunately, >>>> I did not know about the opportunity of embedding Java application >>>> into another application. >>> >>> Isn't that exactly what the SWT /AWT bridge is, which is what started >>> off 6678385 ? >>> Fortunately that doesn't seem to rely on this behaviour and in fact >>> needed 667838. >>> But I also wonder about embedding AWT into FX too .. >>> >>> So I don't know of actual problems for specific apps, but it seems >>> theoretically possible. >>> If this was already policy for XAWT we likely have this issue anyway so >>> I suppose we >>> just go with this approach until its proven to be a problem. >>> >>>> >>>> I also do not know the point of saved_error_handler variable, it >>>> became unusable with the fix for the bug "6678385", but this seems to >>>> be a stable code which I just had to move from XToolkit class to >>>> XErrorHandlerUtil without any modification. >>> >>> So maybe remove it ? Ask the AWT folks what they think. >>> >>>> >>>> AWT_LOCK/AWT_UNLOCK code was added to guarantee that no other thread >>>> from JDK code both Java and native can set and unset synthetic error >>>> handlers simultaneously. This is the critical section, which I >>>> described in my first passage of this e-mail. >>> >>> That didn't completely answer the point. It wasn't needed before, so >>> did >>> you see a real problem ? >>> It looked to me like we only get here if we have the AWT_LOCK anyway, >>> but I didn't exhaustively trace. >>> >>> -phil. >>> >>>> >>>> Thank you, >>>> Anton >>>> >>>> On 3/27/2013 12:12 AM, Phil Race wrote: >>>>> If I correctly understand the original problem it was that >>>>> the restoration of an X Error Handler was expected to be >>>>> to the original one installed by the XToolkit but there is >>>>> no guarantee of that, so the essence of this fix is >>>>> that we install our error handlers as we need them but >>>>> then RESTORE_XERROR_HANDLER() is a bit of a misnomer since >>>>> it really leaves the handler installed (as far as X11 is concerned) >>>>> and in the Java code simply discardscurrent_error_handler. >>>>> Then if an error occurs the Java code will fall through to >>>>> SAVED_XERROR_HANDLER() which just ignores it. >>>>> >>>>> I suppose this policy relies on the assumption that no other >>>>> code has a "more important" need to have its X error handler >>>>> installed, so we have no obligation to restore it after we are done. >>>>> I wonder if this is the right thing to do if we are embedded in >>>>> another application. >>>>> >>>>> And I am not sure what the point is of saved_error_handler >>>>> in XErrorHandlerUtil.java since you never use it. >>>>> >>>>> >>>>> 561 JNIEnv* env = (JNIEnv*)JNU_GetEnv(jvm, JNI_VERSION_1_2); >>>>> 562 AWT_LOCK(); >>>>> 563 jboolean xShmAttachResult = TryXShmAttach(env, awt_display, >>>>> shminfo); >>>>> 564 AWT_UNLOCK(); >>>>> >>>>> embedding these declarations in the middle of the function >>>>> may trigger a C compiler warning or error depending on the compiler. >>>>> Best to move the declarations. Same in the other file. >>>>> >>>>> I'm curious, why did you add the AWT_LOCK/AWT_UNLOCK which was not >>>>> there before? >>>>> It may have been considered 'harmless' even if we already have the >>>>> lock on this thread and its >>>>> a Reentrant lock but it does increase the risk of deadlock, plus its >>>>> got JNI up-call overhead .. >>>>> but we seem to have a ton of that anyway. >>>>> >>>>> -phil. >>>>> >>>>> On 3/26/2013 5:40 AM, Anton Litvinov wrote: >>>>>> Hello, >>>>>> >>>>>> Please review the following fix for a bug. The fix passed 3 cycles >>>>>> of review by AWT development team. Artem Ananiev and Anthony Petrov >>>>>> approved it. But because the fix modifies also Java 2D Graphics >>>>>> code, review by 2D Graphics development team is necessary. New >>>>>> "webrev.04" was generated to resolve problem in not smooth patching >>>>>> of the latest version of the file >>>>>> "src/solaris/native/sun/java2d/opengl/GLXSurfaceData.c". >>>>>> >>>>>> Bug: http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=8005607 >>>>>> Webrev: http://cr.openjdk.java.net/~alitvinov/8005607/webrev.04 >>>>>> >>>>>> Thank you, >>>>>> Anton >>>>>> >>>>>> On 2/20/2013 5:43 PM, Artem Ananiev wrote: >>>>>>> >>>>>>> Looks fine. >>>>>>> >>>>>>> Thanks, >>>>>>> >>>>>>> Artem >>>>>>> >>>>>>> On 2/18/2013 8:08 PM, Anton Litvinov wrote: >>>>>>>> Hello Artem, >>>>>>>> >>>>>>>> Could you please review a new version of the fix. The method >>>>>>>> "XErrorHandlerUtil.getDisplay()" was removed and >>>>>>>> "XErrorHandlerUtil.XSync()" method refers to the field "display" >>>>>>>> directly now. >>>>>>>> >>>>>>>> Webrev: http://cr.openjdk.java.net/~alitvinov/8005607/webrev.03 >>>>>>>> >>>>>>>> Thank you, >>>>>>>> Anton >>>>>>>> >>>>>>>> On 2/18/2013 4:23 PM, Artem Ananiev wrote: >>>>>>>>> >>>>>>>>> On 2/18/2013 4:04 PM, Anton Litvinov wrote: >>>>>>>>>> Hello Artem, >>>>>>>>>> >>>>>>>>>> Thank you very much for the review of this fix. My responses to >>>>>>>>>> your >>>>>>>>>> questions are provided below in the same order, which you >>>>>>>>>> defined. >>>>>>>>>> >>>>>>>>>> 1. I think that "XErrorHandlerUtil.saved_error" field can >>>>>>>>>> surely be >>>>>>>>>> marked as private, but in this case the corresponding >>>>>>>>>> "XErrorHandlerUtil.getSavedError" method will be necessary, >>>>>>>>>> because >>>>>>>>>> this field is actively accessed from other classes which set a >>>>>>>>>> certain instance of XErrorHandler. For example >>>>>>>>>> "MotifDnDDropTargetProtocol.java", "XDragSourceProtocol.java" >>>>>>>>>> and a >>>>>>>>>> few other classes edited in this fix. >>>>>>>>> >>>>>>>>> OK, I missed that usages when looking at the webrev. Let it stay >>>>>>>>> unchanged now. >>>>>>>>> >>>>>>>>>> 2. Yes, I completely agree that >>>>>>>>>> "XErrorHandlerUtil.getDisplay()" is >>>>>>>>>> reduntant. This method will be eliminated. >>>>>>>>> >>>>>>>>> Thanks, >>>>>>>>> >>>>>>>>> Artem >>>>>>>>> >>>>>>>>>> Thank you, >>>>>>>>>> Anton >>>>>>>>>> >>>>>>>>>> On 2/18/2013 3:16 PM, Artem Ananiev wrote: >>>>>>>>>>> Hi, Anton, >>>>>>>>>>> >>>>>>>>>>> a few minor comments: >>>>>>>>>>> >>>>>>>>>>> 1. XErrorHandlerUtil: can saved_error be private instead of >>>>>>>>>>> package >>>>>>>>>>> protected? >>>>>>>>>>> >>>>>>>>>>> 2. XErrorHandlerUtil.getDisplay() seems to be redundant. >>>>>>>>>>> >>>>>>>>>>> In general, the fix looks perfectly fine to me. Please, wait >>>>>>>>>>> for >>>>>>>>>>> comments from Java2D team, though. >>>>>>>>>>> >>>>>>>>>>> Thanks, >>>>>>>>>>> >>>>>>>>>>> Artem >>>>>>>>>>> >>>>>>>>>>> On 2/13/2013 8:57 PM, Anton Litvinov wrote: >>>>>>>>>>>> Hello Anthony, >>>>>>>>>>>> >>>>>>>>>>>> Could you please review the third version of the fix >>>>>>>>>>>> containing >>>>>>>>>>>> modifications discussed with you in the previous letter. >>>>>>>>>>>> >>>>>>>>>>>> Webrev: >>>>>>>>>>>> http://cr.openjdk.java.net/~alitvinov/8005607/webrev.02 >>>>>>>>>>>> >>>>>>>>>>>> This version of the fix differs from the previous in the >>>>>>>>>>>> following >>>>>>>>>>>> places: >>>>>>>>>>>> >>>>>>>>>>>> 1. A comment about the place of invocation of the method >>>>>>>>>>>> "XErrorHandlerUtil.init" was added to a documentation block of >>>>>>>>>>>> the >>>>>>>>>>>> method. >>>>>>>>>>>> 2. A code related to XShmAttach function common to the files >>>>>>>>>>>> "src/solaris/native/sun/awt/awt_GraphicsEnv.c" and >>>>>>>>>>>> "src/solaris/native/sun/java2d/x11/X11SurfaceData.c" was >>>>>>>>>>>> extracted >>>>>>>>>>>> into a separate function "TryXShmAttach" declared in >>>>>>>>>>>> "src/solaris/native/sun/awt/awt_GraphicsEnv.h" file. >>>>>>>>>>>> 3. All JNI code related to X error handling was implemented as >>>>>>>>>>>> corresponding macros defined in >>>>>>>>>>>> "src/solaris/native/sun/awt/awt_util.h" file. >>>>>>>>>>>> >>>>>>>>>>>> Thank you, >>>>>>>>>>>> Anton >>>>>>>>>>>> >>>>>>>>>>>> On 1/31/2013 7:42 PM, Anton Litvinov wrote: >>>>>>>>>>>>> Hello Anthony, >>>>>>>>>>>>> >>>>>>>>>>>>> Thank you for the review and these remarks. Surely, the >>>>>>>>>>>>> comment will >>>>>>>>>>>>> be added. I think that all JNI code related to XShmAttach >>>>>>>>>>>>> can be >>>>>>>>>>>>> definitely transferred into a separate dedicated function, >>>>>>>>>>>>> which will >>>>>>>>>>>>> be declared in "src/solaris/native/sun/awt/awt_GraphicsEnv.h" >>>>>>>>>>>>> file. I >>>>>>>>>>>>> will try to wrap all JNU calls connected with XErrorHandler >>>>>>>>>>>>> into the >>>>>>>>>>>>> particular "WITH_XERROR_HANDLER", "RESTORE_XERROR_HANDLER" >>>>>>>>>>>>> functions >>>>>>>>>>>>> or macros. >>>>>>>>>>>>> >>>>>>>>>>>>> Thank you, >>>>>>>>>>>>> Anton >>>>>>>>>>>>> >>>>>>>>>>>>> On 1/31/2013 4:57 PM, Anthony Petrov wrote: >>>>>>>>>>>>>> Hi Anton, >>>>>>>>>>>>>> >>>>>>>>>>>>>> A couple comments: >>>>>>>>>>>>>> >>>>>>>>>>>>>> 1. src/solaris/classes/sun/awt/X11/XErrorHandlerUtil.java >>>>>>>>>>>>>>> 80 private static void init(long display) { >>>>>>>>>>>>>> >>>>>>>>>>>>>> This method is private and isn't called from anywhere in >>>>>>>>>>>>>> this class >>>>>>>>>>>>>> itself. This looks confusing. Please add a comment stating >>>>>>>>>>>>>> that this >>>>>>>>>>>>>> method is invoked from native code, and from where exactly. >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> 2. Interesting that we use this machinery to call the >>>>>>>>>>>>>> XShmAttach() >>>>>>>>>>>>>> from native code twice, and the code looks quite similar in >>>>>>>>>>>>>> each >>>>>>>>>>>>>> case. Would it be possible to extract the common code in a >>>>>>>>>>>>>> separate >>>>>>>>>>>>>> function (a-la BOOL TryXShmAttach(...)) to avoid code >>>>>>>>>>>>>> replication? >>>>>>>>>>>>>> There are other usages as well, so we could also introduce a >>>>>>>>>>>>>> macro >>>>>>>>>>>>>> (such as the old EXEC_WITH_XERROR_HANDLER but now with other >>>>>>>>>>>>>> arguments) that would minimize all the JNU_ calls required >>>>>>>>>>>>>> to use >>>>>>>>>>>>>> this machinery. >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> Otherwise the fix looks great. >>>>>>>>>>>>>> >>>>>>>>>>>>>> -- >>>>>>>>>>>>>> best regards, >>>>>>>>>>>>>> Anthony >>>>>>>>>>>>>> >>>>>>>>>>>>>> On 1/30/2013 20:14, Anton Litvinov wrote: >>>>>>>>>>>>>>> Hello Anthony, >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> Could you, please, review a second version of the fix, >>>>>>>>>>>>>>> which is >>>>>>>>>>>>>>> based on an idea of reusing the existing AWT native global >>>>>>>>>>>>>>> error >>>>>>>>>>>>>>> handler from Java 2D native code. >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> Webrev: >>>>>>>>>>>>>>> http://cr.openjdk.java.net/~alitvinov/8005607/webrev.01 >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> The fix consists of the following parts: >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> 1. Migration of all X error handling code from XToolkit to >>>>>>>>>>>>>>> a new >>>>>>>>>>>>>>> XErrorHandlerUtil class for resolution of interdependency >>>>>>>>>>>>>>> between >>>>>>>>>>>>>>> a static initialization block of XToolkit and a block >>>>>>>>>>>>>>> initializing >>>>>>>>>>>>>>> java.awt.GraphicsEnvironment singleton. Such dependency is >>>>>>>>>>>>>>> created >>>>>>>>>>>>>>> by new calls to XToolkit static methods from >>>>>>>>>>>>>>> "src/solaris/native/sun/awt/awt_GraphicsEnv.c", >>>>>>>>>>>>>>> "src/solaris/native/sun/java2d/x11/X11SurfaceData.c" files. >>>>>>>>>>>>>>> 2. Substitution of XToolkit.WITH_XERROR_HANDLER, >>>>>>>>>>>>>>> XToolkit.RESTORE_XERROR_HANDLER ... for corresponding >>>>>>>>>>>>>>> methods, >>>>>>>>>>>>>>> fields of XErrorHandlerUtil class in all places of JDK >>>>>>>>>>>>>>> source >>>>>>>>>>>>>>> code, where they were used. >>>>>>>>>>>>>>> 3. Substitution of all found native X error handlers >>>>>>>>>>>>>>> which are >>>>>>>>>>>>>>> set in >>>>>>>>>>>>>>> native code (awt_GraphicsEnv.c, X11SurfaceData.c, >>>>>>>>>>>>>>> GLXSurfaceData.c) for new synthetic Java error handlers. >>>>>>>>>>>>>>> 4. Removal of X error handling code used by the native >>>>>>>>>>>>>>> error >>>>>>>>>>>>>>> handlers >>>>>>>>>>>>>>> from "solaris/native/sun/awt/awt_util.c" >>>>>>>>>>>>>>> "solaris/native/sun/awt/awt_util.h" files. >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> Thank you, >>>>>>>>>>>>>>> Anton >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> On 1/11/2013 3:45 PM, Anthony Petrov wrote: >>>>>>>>>>>>>>>> I'm not Jim, but as I indicated earlier my opinion is that >>>>>>>>>>>>>>>> the >>>>>>>>>>>>>>>> easiest way to fix this is to install the existing >>>>>>>>>>>>>>>> J2DXErrHandler() >>>>>>>>>>>>>>>> only once. That is, it is the second option listed by >>>>>>>>>>>>>>>> you. Of >>>>>>>>>>>>>>>> course, the J2DXErrHandler needs to be updated as well to >>>>>>>>>>>>>>>> detect >>>>>>>>>>>>>>>> whether 2D code wants to use it at the moment or it must >>>>>>>>>>>>>>>> simply >>>>>>>>>>>>>>>> delegate to the previous handler (i.e. where the code >>>>>>>>>>>>>>>> currently >>>>>>>>>>>>>>>> installs/uninstalls the handler, it must instead set a >>>>>>>>>>>>>>>> global >>>>>>>>>>>>>>>> boolean flag or something.) >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> While the first option (reusing the existing AWT >>>>>>>>>>>>>>>> machinery) is an >>>>>>>>>>>>>>>> interesting idea in general, I think it is complex and >>>>>>>>>>>>>>>> would >>>>>>>>>>>>>>>> require too much additional testing and bring an >>>>>>>>>>>>>>>> unjustified risk >>>>>>>>>>>>>>>> to the solution for such a basic problem. >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> -- >>>>>>>>>>>>>>>> best regards, >>>>>>>>>>>>>>>> Anthony >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> On 1/11/2013 14:44, Anton Litvinov wrote: >>>>>>>>>>>>>>>>> Hello Jim, >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> Thank you very much for the review and provision of a new >>>>>>>>>>>>>>>>> idea of >>>>>>>>>>>>>>>>> a solution. Elimination of the logic, which sets/unsets >>>>>>>>>>>>>>>>> J2DXErrHandler() for each call "XShmAttach(awt_display, >>>>>>>>>>>>>>>>> &shminfo))" should effectively resolve the issue, but >>>>>>>>>>>>>>>>> only in >>>>>>>>>>>>>>>>> case >>>>>>>>>>>>>>>>> if all other native error handlers, which were set by the >>>>>>>>>>>>>>>>> system >>>>>>>>>>>>>>>>> function "XSetErrorHandler()" in JDK or in any external >>>>>>>>>>>>>>>>> library, >>>>>>>>>>>>>>>>> observe the rule of relaying of all events, which are not >>>>>>>>>>>>>>>>> relative >>>>>>>>>>>>>>>>> to them, to the previously saved error handlers. >>>>>>>>>>>>>>>>> Otherwise an >>>>>>>>>>>>>>>>> error generated during "XShmAttach" function call will >>>>>>>>>>>>>>>>> not be >>>>>>>>>>>>>>>>> handled by J2DXErrHandler(). >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> Could you answer the following question. By setting >>>>>>>>>>>>>>>>> J2DXErrHandler() only once and forever do you mean usage >>>>>>>>>>>>>>>>> of AWT >>>>>>>>>>>>>>>>> global event handler "static int >>>>>>>>>>>>>>>>> ToolkitErrorHandler(Display * >>>>>>>>>>>>>>>>> dpy, XErrorEvent * event)" from >>>>>>>>>>>>>>>>> "src/solaris/native/sun/xawt/XlibWrapper.c" with Java >>>>>>>>>>>>>>>>> synthetic >>>>>>>>>>>>>>>>> handlers or creation of another global native error >>>>>>>>>>>>>>>>> handler with >>>>>>>>>>>>>>>>> J2DXErrHandler as native synthetic handler? >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> Thank you, >>>>>>>>>>>>>>>>> Anton >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> On 1/10/2013 5:44 AM, Jim Graham wrote: >>>>>>>>>>>>>>>>>> I think I'd rather see some way to prevent double-adding >>>>>>>>>>>>>>>>>> the >>>>>>>>>>>>>>>>>> handler in the first place as well. Since it is only >>>>>>>>>>>>>>>>>> ever used >>>>>>>>>>>>>>>>>> on errors I also think it is OK to set it once and >>>>>>>>>>>>>>>>>> leave it >>>>>>>>>>>>>>>>>> there >>>>>>>>>>>>>>>>>> forever... >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> ...jim >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> On 1/9/13 8:08 AM, Anthony Petrov wrote: >>>>>>>>>>>>>>>>>>> Hi Anton et al., >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> If I read the description of the bug correctly, >>>>>>>>>>>>>>>>>>> specifically >>>>>>>>>>>>>>>>>>> this part: >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> The problem occurs, if another thread (for example, >>>>>>>>>>>>>>>>>>>> GTK >>>>>>>>>>>>>>>>>>>> thread) is >>>>>>>>>>>>>>>>>>>> doing the same sort of thing concurrently. This can >>>>>>>>>>>>>>>>>>>> lead to >>>>>>>>>>>>>>>>>>>> the >>>>>>>>>>>>>>>>>>>> following situation. >>>>>>>>>>>>>>>>>>>> JVM thread: Sets J2DXErrHandler(), saves >>>>>>>>>>>>>>>>>>>> ANY_PREVIOUS_HANDLER as >>>>>>>>>>>>>>>>>>>> previous GTK thread: Sets some GTK_HANDLER, saves >>>>>>>>>>>>>>>>>>>> J2DXErrHandler() as previous JVM thread: Restores >>>>>>>>>>>>>>>>>>>> ANY_PREVIOUS_HANDLER GTK thread: Restores >>>>>>>>>>>>>>>>>>>> J2DXErrHandler() JVM >>>>>>>>>>>>>>>>>>>> thread: Sets J2DXErrHandler(), saves >>>>>>>>>>>>>>>>>>>> J2DXErrHandler() as >>>>>>>>>>>>>>>>>>>> previous >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> It is obvious that at this final step 2D is in an >>>>>>>>>>>>>>>>>>> inconsistent >>>>>>>>>>>>>>>>>>> state. We >>>>>>>>>>>>>>>>>>> don't expect to replace our own error handler (and it >>>>>>>>>>>>>>>>>>> shouldn't >>>>>>>>>>>>>>>>>>> have >>>>>>>>>>>>>>>>>>> been there in the first place). >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> I realize that the fix you propose works around this >>>>>>>>>>>>>>>>>>> problem. >>>>>>>>>>>>>>>>>>> But this >>>>>>>>>>>>>>>>>>> doesn't look like an ideal solution to me. >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> BTW, IIRC, in JDK7 (and 6?) we decided to set the >>>>>>>>>>>>>>>>>>> actual X11 >>>>>>>>>>>>>>>>>>> error >>>>>>>>>>>>>>>>>>> handler only once and never replace it. All the rest of >>>>>>>>>>>>>>>>>>> the >>>>>>>>>>>>>>>>>>> push_handler/pop_handler logic is now located in Java >>>>>>>>>>>>>>>>>>> code (see >>>>>>>>>>>>>>>>>>> XToolkit.SAVED_ERROR_HANDLER() and the surrounding >>>>>>>>>>>>>>>>>>> logic). I >>>>>>>>>>>>>>>>>>> believe >>>>>>>>>>>>>>>>>>> that we should somehow share this machinery with the 2D >>>>>>>>>>>>>>>>>>> code to >>>>>>>>>>>>>>>>>>> avoid >>>>>>>>>>>>>>>>>>> this sort of problems. Though I'm not sure if this will >>>>>>>>>>>>>>>>>>> eliminate this >>>>>>>>>>>>>>>>>>> exact issue. >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> 2D/AWT folks: any other thoughts? >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> -- >>>>>>>>>>>>>>>>>>> best regards, >>>>>>>>>>>>>>>>>>> Anthony >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> On 12/29/2012 17:44, Anton Litvinov wrote: >>>>>>>>>>>>>>>>>>>> Hello, >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> Please review the following fix for a bug. >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> Bug: >>>>>>>>>>>>>>>>>>>> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=8005607 >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> https://jbs.oracle.com/bugs/browse/JDK-8005607 >>>>>>>>>>>>>>>>>>>> Webrev: >>>>>>>>>>>>>>>>>>>> http://cr.openjdk.java.net/~alitvinov/8005607/webrev.00 >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> The bug consists in a crash which is caused by a stack >>>>>>>>>>>>>>>>>>>> overflow >>>>>>>>>>>>>>>>>>>> for >>>>>>>>>>>>>>>>>>>> the reason of an infinite recursion in AWT native >>>>>>>>>>>>>>>>>>>> function >>>>>>>>>>>>>>>>>>>> J2DXErrHandler() under certain circumstances on 32-bit >>>>>>>>>>>>>>>>>>>> Linux >>>>>>>>>>>>>>>>>>>> OS. The >>>>>>>>>>>>>>>>>>>> fix is based on introduction of the logic, which >>>>>>>>>>>>>>>>>>>> detects >>>>>>>>>>>>>>>>>>>> indirect >>>>>>>>>>>>>>>>>>>> recursive calls to J2DXErrHandler() by means of a >>>>>>>>>>>>>>>>>>>> simple >>>>>>>>>>>>>>>>>>>> counter, to >>>>>>>>>>>>>>>>>>>> J2DXErrHandler() native function. Such a solution >>>>>>>>>>>>>>>>>>>> requires >>>>>>>>>>>>>>>>>>>> minimum >>>>>>>>>>>>>>>>>>>> code changes, does not alter the handler's code >>>>>>>>>>>>>>>>>>>> significantly >>>>>>>>>>>>>>>>>>>> and >>>>>>>>>>>>>>>>>>>> eliminates this bug. >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> Adding 2d-dev at openjdk.java.net e-mail alias to the >>>>>>>>>>>>>>>>>>>> list of >>>>>>>>>>>>>>>>>>>> recipients >>>>>>>>>>>>>>>>>>>> of this letter, because the edited function's name is >>>>>>>>>>>>>>>>>>>> related >>>>>>>>>>>>>>>>>>>> to Java >>>>>>>>>>>>>>>>>>>> 2D area of JDK, despite of the fact that the edited >>>>>>>>>>>>>>>>>>>> file is >>>>>>>>>>>>>>>>>>>> located in >>>>>>>>>>>>>>>>>>>> AWT directory. >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> Thank you, >>>>>>>>>>>>>>>>>>>> Anton >>>>>>>>>>>> >>>>>>>>>> >>>>>>>> >>>>>> >>>>> >>>> >>> > From philip.race at oracle.com Wed May 15 22:27:37 2013 From: philip.race at oracle.com (Phil Race) Date: Wed, 15 May 2013 15:27:37 -0700 Subject: [OpenJDK 2D-Dev] RFR(XS): 7196866: CTW fails on Solaris In-Reply-To: <51940A70.1000409@oracle.com> References: <5193EE43.8030105@oracle.com> <51940A70.1000409@oracle.com> Message-ID: <51940BD9.8000404@oracle.com> CC (instead of BCC) 2d-dev .. -phil. On 5/15/13 3:21 PM, Phil Race wrote: > Morris, > > I traced this review back to hotspot-compiler-dev > Thanks to Vladimir and Christian for the ponter to redirect but > this should really go to 2d-dev not awt-dev. > Xrender is the 2D pipeline for accelerated rendering on recent Xservers. > Also it I think it should be pushed via the 2D forest after review, > whereas it appears your webrev is against the hotspot forest. > If the display is NULL we should not enter Xrender but operate in > headless mode. So I'd like to take a closer look at this. > Where did you test this ? Solaris 10 doesn't trigger xrender ? > Did you actually use Solaris 11 on SPARC as the client *and* Xserver ? > Is there a regression test ? > > -phil. > > On 5/15/13 2:57 PM, Christian Thalinger wrote: >> Looks good. Nit: why is there an empty line? >> >> + jlong fmt8; >> + >> + jlong fmt32; >> >> -- Chris >> >> On May 15, 2013, at 1:21 PM, Morris Meyer >> wrote: >> >>> Folks, >>> >>> Could I get a review for these two small changes in >>> src/solaris/native. This is to fix the nightly CTW testing crashes >>> on Solaris caused by a library SEGV internal to X11 that occurs >>> during class initialization when the display is NULL. >>> >>> I've tested this patch on SfBay with JPRT and with the CTW tests on >>> Solaris x86 and Sparc. >>> >>> Thanks much, >>> >>> --morris >>> >>> JBS - https://jbs.oracle.com/bugs/browse/JDK-7196866 >>> WEBREV - http://cr.openjdk.java.net/~morris/7196866 > From philip.race at oracle.com Wed May 15 23:00:38 2013 From: philip.race at oracle.com (Phil Race) Date: Wed, 15 May 2013 16:00:38 -0700 Subject: [OpenJDK 2D-Dev] RFR(XS): 7196866: CTW fails on Solaris In-Reply-To: <51941139.6020908@oracle.com> References: <5193EE43.8030105@oracle.com> <51940A70.1000409@oracle.com> <51940BD9.8000404@oracle.com> <51941139.6020908@oracle.com> Message-ID: <51941396.8070705@oracle.com> It *initialises* all those classes ? Meaning their static initialisers might run, call native methods in a library which expect things to have been done in a different order ? Maybe the library isn't even loaded yet? I presume this must be happening else we wouldn't be in this code. That's a somewhat fragile test. I guess it doesn't have to be involve either. Its good to know that "all classes compile" but I'm not sure I can be easily convinced that its worth trying the wac-a-mole game needed to ensure that this doesn't collide with the semantics of the runtime, particularly in the client area which has lots of native code and state. Plus anyone looking at changes to accomodate this out of the context of the changes might be puzzled as to why this is needed. In this case its 'defensive' coding so maybe they won't think too long about it but still .. I see there are several linked bugs. I haven't looked but since they appear in different areas I suppose this isn't the only case although they appear relatively few in the scheme of things. Can't compilation be done in some special fashion that bypasses class initialisation ? -phil. On 5/15/13 3:50 PM, Vladimir Kozlov wrote: > Morris, > > Please, add to the bug report the command line and machines you used > to reproduce the problem. > > Phil, the problem is triggered during special mode testing in JVM > -XX:+CompileTheWorld. In this more JVM loads all classes in specified > .jar file and compiles (JIT compilation) all methods in class. It is > stress test for Hotspot JIT compilers. For such tests we don't set > DISPLAY. > > Thanks, > Vladimir > > On 5/15/13 3:27 PM, Phil Race wrote: >> CC (instead of BCC) 2d-dev .. >> >> -phil. >> >> On 5/15/13 3:21 PM, Phil Race wrote: >>> Morris, >>> >>> I traced this review back to hotspot-compiler-dev >>> Thanks to Vladimir and Christian for the ponter to redirect but >>> this should really go to 2d-dev not awt-dev. >>> Xrender is the 2D pipeline for accelerated rendering on recent >>> Xservers. >>> Also it I think it should be pushed via the 2D forest after review, >>> whereas it appears your webrev is against the hotspot forest. >>> If the display is NULL we should not enter Xrender but operate in >>> headless mode. So I'd like to take a closer look at this. >>> Where did you test this ? Solaris 10 doesn't trigger xrender ? >>> Did you actually use Solaris 11 on SPARC as the client *and* Xserver ? >>> Is there a regression test ? >>> >>> -phil. >>> >>> On 5/15/13 2:57 PM, Christian Thalinger wrote: >>>> Looks good. Nit: why is there an empty line? >>>> >>>> + jlong fmt8; >>>> + >>>> + jlong fmt32; >>>> >>>> -- Chris >>>> >>>> On May 15, 2013, at 1:21 PM, Morris Meyer >>>> wrote: >>>> >>>>> Folks, >>>>> >>>>> Could I get a review for these two small changes in >>>>> src/solaris/native. This is to fix the nightly CTW testing crashes >>>>> on Solaris caused by a library SEGV internal to X11 that occurs >>>>> during class initialization when the display is NULL. >>>>> >>>>> I've tested this patch on SfBay with JPRT and with the CTW tests on >>>>> Solaris x86 and Sparc. >>>>> >>>>> Thanks much, >>>>> >>>>> --morris >>>>> >>>>> JBS - https://jbs.oracle.com/bugs/browse/JDK-7196866 >>>>> WEBREV - http://cr.openjdk.java.net/~morris/7196866 >>> >> From philip.race at oracle.com Wed May 15 22:21:36 2013 From: philip.race at oracle.com (Phil Race) Date: Wed, 15 May 2013 15:21:36 -0700 Subject: [OpenJDK 2D-Dev] RFR(XS): 7196866: CTW fails on Solaris In-Reply-To: References: <5193EE43.8030105@oracle.com> Message-ID: <51940A70.1000409@oracle.com> Morris, I traced this review back to hotspot-compiler-dev Thanks to Vladimir and Christian for the ponter to redirect but this should really go to 2d-dev not awt-dev. Xrender is the 2D pipeline for accelerated rendering on recent Xservers. Also it I think it should be pushed via the 2D forest after review, whereas it appears your webrev is against the hotspot forest. If the display is NULL we should not enter Xrender but operate in headless mode. So I'd like to take a closer look at this. Where did you test this ? Solaris 10 doesn't trigger xrender ? Did you actually use Solaris 11 on SPARC as the client *and* Xserver ? Is there a regression test ? -phil. On 5/15/13 2:57 PM, Christian Thalinger wrote: > Looks good. Nit: why is there an empty line? > > + jlong fmt8; > + > + jlong fmt32; > > -- Chris > > On May 15, 2013, at 1:21 PM, Morris Meyer wrote: > >> Folks, >> >> Could I get a review for these two small changes in src/solaris/native. This is to fix the nightly CTW testing crashes on Solaris caused by a library SEGV internal to X11 that occurs during class initialization when the display is NULL. >> >> I've tested this patch on SfBay with JPRT and with the CTW tests on Solaris x86 and Sparc. >> >> Thanks much, >> >> --morris >> >> JBS - https://jbs.oracle.com/bugs/browse/JDK-7196866 >> WEBREV - http://cr.openjdk.java.net/~morris/7196866 From vladimir.kozlov at oracle.com Wed May 15 22:50:33 2013 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Wed, 15 May 2013 15:50:33 -0700 Subject: [OpenJDK 2D-Dev] RFR(XS): 7196866: CTW fails on Solaris In-Reply-To: <51940BD9.8000404@oracle.com> References: <5193EE43.8030105@oracle.com> <51940A70.1000409@oracle.com> <51940BD9.8000404@oracle.com> Message-ID: <51941139.6020908@oracle.com> Morris, Please, add to the bug report the command line and machines you used to reproduce the problem. Phil, the problem is triggered during special mode testing in JVM -XX:+CompileTheWorld. In this more JVM loads all classes in specified .jar file and compiles (JIT compilation) all methods in class. It is stress test for Hotspot JIT compilers. For such tests we don't set DISPLAY. Thanks, Vladimir On 5/15/13 3:27 PM, Phil Race wrote: > CC (instead of BCC) 2d-dev .. > > -phil. > > On 5/15/13 3:21 PM, Phil Race wrote: >> Morris, >> >> I traced this review back to hotspot-compiler-dev >> Thanks to Vladimir and Christian for the ponter to redirect but >> this should really go to 2d-dev not awt-dev. >> Xrender is the 2D pipeline for accelerated rendering on recent Xservers. >> Also it I think it should be pushed via the 2D forest after review, >> whereas it appears your webrev is against the hotspot forest. >> If the display is NULL we should not enter Xrender but operate in >> headless mode. So I'd like to take a closer look at this. >> Where did you test this ? Solaris 10 doesn't trigger xrender ? >> Did you actually use Solaris 11 on SPARC as the client *and* Xserver ? >> Is there a regression test ? >> >> -phil. >> >> On 5/15/13 2:57 PM, Christian Thalinger wrote: >>> Looks good. Nit: why is there an empty line? >>> >>> + jlong fmt8; >>> + >>> + jlong fmt32; >>> >>> -- Chris >>> >>> On May 15, 2013, at 1:21 PM, Morris Meyer >>> wrote: >>> >>>> Folks, >>>> >>>> Could I get a review for these two small changes in >>>> src/solaris/native. This is to fix the nightly CTW testing crashes >>>> on Solaris caused by a library SEGV internal to X11 that occurs >>>> during class initialization when the display is NULL. >>>> >>>> I've tested this patch on SfBay with JPRT and with the CTW tests on >>>> Solaris x86 and Sparc. >>>> >>>> Thanks much, >>>> >>>> --morris >>>> >>>> JBS - https://jbs.oracle.com/bugs/browse/JDK-7196866 >>>> WEBREV - http://cr.openjdk.java.net/~morris/7196866 >> > From vladimir.kozlov at oracle.com Wed May 15 23:40:22 2013 From: vladimir.kozlov at oracle.com (Vladimir Kozlov) Date: Wed, 15 May 2013 16:40:22 -0700 Subject: [OpenJDK 2D-Dev] RFR(XS): 7196866: CTW fails on Solaris In-Reply-To: <51941396.8070705@oracle.com> References: <5193EE43.8030105@oracle.com> <51940A70.1000409@oracle.com> <51940BD9.8000404@oracle.com> <51941139.6020908@oracle.com> <51941396.8070705@oracle.com> Message-ID: <51941CE6.7040401@oracle.com> On 5/15/13 4:00 PM, Phil Race wrote: > It *initialises* all those classes ? Meaning their static initialisers > might run, call native methods in a library which expect things to have > been done in a different order ? Maybe the library isn't even loaded yet? > I presume this must be happening else we wouldn't be in this code. Yes, it is the case. > That's a somewhat fragile test. I guess it doesn't have to be involve > either. > Its good to know that "all classes compile" but I'm not sure I > can be easily convinced that its worth trying the wac-a-mole game > needed to ensure that this doesn't collide with the semantics > of the runtime, particularly in the client area which has lots of > native code and state. Plus anyone looking at changes to I agree, but fortunately it is only the second problem with such conflict. First one was 7017493 ConcurrentLinkedDeque: Unexpected initialization order. Which was fixed in java code. > accomodate this out of the context of the changes might be > puzzled as to why this is needed. In this case its 'defensive' > coding so maybe they won't think too long about it but still .. It is very simple changes which will help JVM important testing. The only other solution for VM is to exclude these .jar files from testing which we would like to avoid. > I see there are several linked bugs. I haven't looked but since > they appear in different areas I suppose this isn't the only case > although they appear relatively few in the scheme of things. > Can't compilation be done in some special fashion that bypasses > class initialisation ? No, we can't bypass class initialization since JIT compilation depends on state of classes. thanks, Vladimir > > -phil. > > On 5/15/13 3:50 PM, Vladimir Kozlov wrote: >> Morris, >> >> Please, add to the bug report the command line and machines you used >> to reproduce the problem. >> >> Phil, the problem is triggered during special mode testing in JVM >> -XX:+CompileTheWorld. In this more JVM loads all classes in specified >> .jar file and compiles (JIT compilation) all methods in class. It is >> stress test for Hotspot JIT compilers. For such tests we don't set >> DISPLAY. >> >> Thanks, >> Vladimir >> >> On 5/15/13 3:27 PM, Phil Race wrote: >>> CC (instead of BCC) 2d-dev .. >>> >>> -phil. >>> >>> On 5/15/13 3:21 PM, Phil Race wrote: >>>> Morris, >>>> >>>> I traced this review back to hotspot-compiler-dev >>>> Thanks to Vladimir and Christian for the ponter to redirect but >>>> this should really go to 2d-dev not awt-dev. >>>> Xrender is the 2D pipeline for accelerated rendering on recent >>>> Xservers. >>>> Also it I think it should be pushed via the 2D forest after review, >>>> whereas it appears your webrev is against the hotspot forest. >>>> If the display is NULL we should not enter Xrender but operate in >>>> headless mode. So I'd like to take a closer look at this. >>>> Where did you test this ? Solaris 10 doesn't trigger xrender ? >>>> Did you actually use Solaris 11 on SPARC as the client *and* Xserver ? >>>> Is there a regression test ? >>>> >>>> -phil. >>>> >>>> On 5/15/13 2:57 PM, Christian Thalinger wrote: >>>>> Looks good. Nit: why is there an empty line? >>>>> >>>>> + jlong fmt8; >>>>> + >>>>> + jlong fmt32; >>>>> >>>>> -- Chris >>>>> >>>>> On May 15, 2013, at 1:21 PM, Morris Meyer >>>>> wrote: >>>>> >>>>>> Folks, >>>>>> >>>>>> Could I get a review for these two small changes in >>>>>> src/solaris/native. This is to fix the nightly CTW testing crashes >>>>>> on Solaris caused by a library SEGV internal to X11 that occurs >>>>>> during class initialization when the display is NULL. >>>>>> >>>>>> I've tested this patch on SfBay with JPRT and with the CTW tests on >>>>>> Solaris x86 and Sparc. >>>>>> >>>>>> Thanks much, >>>>>> >>>>>> --morris >>>>>> >>>>>> JBS - https://jbs.oracle.com/bugs/browse/JDK-7196866 >>>>>> WEBREV - http://cr.openjdk.java.net/~morris/7196866 >>>> >>> > From philip.race at oracle.com Thu May 16 00:30:30 2013 From: philip.race at oracle.com (Phil Race) Date: Wed, 15 May 2013 17:30:30 -0700 Subject: [OpenJDK 2D-Dev] RFR(XS): 7196866: CTW fails on Solaris In-Reply-To: <51941CE6.7040401@oracle.com> References: <5193EE43.8030105@oracle.com> <51940A70.1000409@oracle.com> <51940BD9.8000404@oracle.com> <51941139.6020908@oracle.com> <51941396.8070705@oracle.com> <51941CE6.7040401@oracle.com> Message-ID: <519428A6.7080909@oracle.com> To know whether the fix is appropriate or maybe the best fix, I'd have to see what classes are loaded in what order. I can see the JBS bug (external folks can't) but its not really worth seeing anyway as there's not much info in there :- http://bugs.sun.com/view_bug.do?bug_id=7196866 seems to contain all the data there is .. I am still curious about the test envt. that triggered Xrender. -phil. On 5/15/13 4:40 PM, Vladimir Kozlov wrote: > On 5/15/13 4:00 PM, Phil Race wrote: >> It *initialises* all those classes ? Meaning their static initialisers >> might run, call native methods in a library which expect things to have >> been done in a different order ? Maybe the library isn't even loaded >> yet? >> I presume this must be happening else we wouldn't be in this code. > > Yes, it is the case. > >> That's a somewhat fragile test. I guess it doesn't have to be involve >> either. >> Its good to know that "all classes compile" but I'm not sure I >> can be easily convinced that its worth trying the wac-a-mole game >> needed to ensure that this doesn't collide with the semantics >> of the runtime, particularly in the client area which has lots of >> native code and state. Plus anyone looking at changes to > > I agree, but fortunately it is only the second problem with such > conflict. First one was 7017493 ConcurrentLinkedDeque: Unexpected > initialization order. Which was fixed in java code. > >> accomodate this out of the context of the changes might be >> puzzled as to why this is needed. In this case its 'defensive' >> coding so maybe they won't think too long about it but still .. > > It is very simple changes which will help JVM important testing. The > only other solution for VM is to exclude these .jar files from testing > which we would like to avoid. > >> I see there are several linked bugs. I haven't looked but since >> they appear in different areas I suppose this isn't the only case >> although they appear relatively few in the scheme of things. >> Can't compilation be done in some special fashion that bypasses >> class initialisation ? > > No, we can't bypass class initialization since JIT compilation depends > on state of classes. > > thanks, > Vladimir > >> >> -phil. >> >> On 5/15/13 3:50 PM, Vladimir Kozlov wrote: >>> Morris, >>> >>> Please, add to the bug report the command line and machines you used >>> to reproduce the problem. >>> >>> Phil, the problem is triggered during special mode testing in JVM >>> -XX:+CompileTheWorld. In this more JVM loads all classes in specified >>> .jar file and compiles (JIT compilation) all methods in class. It is >>> stress test for Hotspot JIT compilers. For such tests we don't set >>> DISPLAY. >>> >>> Thanks, >>> Vladimir >>> >>> On 5/15/13 3:27 PM, Phil Race wrote: >>>> CC (instead of BCC) 2d-dev .. >>>> >>>> -phil. >>>> >>>> On 5/15/13 3:21 PM, Phil Race wrote: >>>>> Morris, >>>>> >>>>> I traced this review back to hotspot-compiler-dev >>>>> Thanks to Vladimir and Christian for the ponter to redirect but >>>>> this should really go to 2d-dev not awt-dev. >>>>> Xrender is the 2D pipeline for accelerated rendering on recent >>>>> Xservers. >>>>> Also it I think it should be pushed via the 2D forest after review, >>>>> whereas it appears your webrev is against the hotspot forest. >>>>> If the display is NULL we should not enter Xrender but operate in >>>>> headless mode. So I'd like to take a closer look at this. >>>>> Where did you test this ? Solaris 10 doesn't trigger xrender ? >>>>> Did you actually use Solaris 11 on SPARC as the client *and* >>>>> Xserver ? >>>>> Is there a regression test ? >>>>> >>>>> -phil. >>>>> >>>>> On 5/15/13 2:57 PM, Christian Thalinger wrote: >>>>>> Looks good. Nit: why is there an empty line? >>>>>> >>>>>> + jlong fmt8; >>>>>> + >>>>>> + jlong fmt32; >>>>>> >>>>>> -- Chris >>>>>> >>>>>> On May 15, 2013, at 1:21 PM, Morris Meyer >>>>>> wrote: >>>>>> >>>>>>> Folks, >>>>>>> >>>>>>> Could I get a review for these two small changes in >>>>>>> src/solaris/native. This is to fix the nightly CTW testing crashes >>>>>>> on Solaris caused by a library SEGV internal to X11 that occurs >>>>>>> during class initialization when the display is NULL. >>>>>>> >>>>>>> I've tested this patch on SfBay with JPRT and with the CTW tests on >>>>>>> Solaris x86 and Sparc. >>>>>>> >>>>>>> Thanks much, >>>>>>> >>>>>>> --morris >>>>>>> >>>>>>> JBS - https://jbs.oracle.com/bugs/browse/JDK-7196866 >>>>>>> WEBREV - http://cr.openjdk.java.net/~morris/7196866 >>>>> >>>> >> From anthony.petrov at oracle.com Thu May 16 14:01:13 2013 From: anthony.petrov at oracle.com (Anthony Petrov) Date: Thu, 16 May 2013 18:01:13 +0400 Subject: [OpenJDK 2D-Dev] [7u] Request for review: 8000629 [macosx] Blurry rendering with Java 7 on Retina display In-Reply-To: <51910599.4000902@oracle.com> References: <51910599.4000902@oracle.com> Message-ID: <5194E6A9.8010801@oracle.com> Hi Sergey, The fix looks fine to me. -- best regards, Anthony On 05/13/13 19:24, Sergey Bylokhov wrote: > Hello, > Please review the fix for jdk 7u. > I send additional review request for jdk7, because there is a difference > in the fix from the version of jdk8. > Only one sensitive change is one line 1052 in the LWWindowPeer, because > this part of code was removed in jdk8. > > Bug: http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=8000629 > Webrev can be found at: > http://cr.openjdk.java.net/~serb/8000629/webrev.08_jdk7 > jdk8 changeset: http://hg.openjdk.java.net/jdk8/jdk8/jdk/rev/39ce1056694d > Technical review for jdk 8: > http://mail.openjdk.java.net/pipermail/awt-dev/2013-April/004577.html > From morris.meyer at oracle.com Thu May 16 13:02:00 2013 From: morris.meyer at oracle.com (Morris Meyer) Date: Thu, 16 May 2013 09:02:00 -0400 Subject: [OpenJDK 2D-Dev] RFR(XS): 7196866: CTW fails on Solaris In-Reply-To: <519428A6.7080909@oracle.com> References: <5193EE43.8030105@oracle.com> <51940A70.1000409@oracle.com> <51940BD9.8000404@oracle.com> <51941139.6020908@oracle.com> <51941396.8070705@oracle.com> <51941CE6.7040401@oracle.com> <519428A6.7080909@oracle.com> Message-ID: <5194D8C8.6040808@oracle.com> Phil, This is the command line that generates the crash: -XX:DefaultMaxRAMFraction=8 -XX:+CreateMinidumpOnCrash -ea -esa -XX:+TieredCompilation -XX:CompileThreshold=100 -XX:+UnlockExperimentalVMOptions -XX:-ShowMessageBoxOnError -Xverify:all -XX:+CompileTheWorld -XX:CompileTheWorldStartAt=15001 -XX:CompileTheWorldStopAt=16000 -XX:LogFile=hotspot_15001_16000.log -XX:MaxPermSize=384M -Xmx512M -Xbootclasspath/p:jre/lib/rt.jar To run the whole CTW suit - you just remove the StartAt and StopAt args. I tested the Solaris x86 side of the world internally on sc14ia01, SPARC on sc11d1901. --mm On 5/15/13 8:30 PM, Phil Race wrote: > To know whether the fix is appropriate or maybe the best fix, > I'd have to see what classes are loaded in what order. > I can see the JBS bug (external folks can't) but its not really > worth seeing anyway as there's not much info in there :- > http://bugs.sun.com/view_bug.do?bug_id=7196866 > seems to contain all the data there is .. > > I am still curious about the test envt. that triggered Xrender. > > -phil. > > On 5/15/13 4:40 PM, Vladimir Kozlov wrote: >> On 5/15/13 4:00 PM, Phil Race wrote: >>> It *initialises* all those classes ? Meaning their static initialisers >>> might run, call native methods in a library which expect things to have >>> been done in a different order ? Maybe the library isn't even loaded >>> yet? >>> I presume this must be happening else we wouldn't be in this code. >> >> Yes, it is the case. >> >>> That's a somewhat fragile test. I guess it doesn't have to be involve >>> either. >>> Its good to know that "all classes compile" but I'm not sure I >>> can be easily convinced that its worth trying the wac-a-mole game >>> needed to ensure that this doesn't collide with the semantics >>> of the runtime, particularly in the client area which has lots of >>> native code and state. Plus anyone looking at changes to >> >> I agree, but fortunately it is only the second problem with such >> conflict. First one was 7017493 ConcurrentLinkedDeque: Unexpected >> initialization order. Which was fixed in java code. >> >>> accomodate this out of the context of the changes might be >>> puzzled as to why this is needed. In this case its 'defensive' >>> coding so maybe they won't think too long about it but still .. >> >> It is very simple changes which will help JVM important testing. The >> only other solution for VM is to exclude these .jar files from >> testing which we would like to avoid. >> >>> I see there are several linked bugs. I haven't looked but since >>> they appear in different areas I suppose this isn't the only case >>> although they appear relatively few in the scheme of things. >>> Can't compilation be done in some special fashion that bypasses >>> class initialisation ? >> >> No, we can't bypass class initialization since JIT compilation >> depends on state of classes. >> >> thanks, >> Vladimir >> >>> >>> -phil. >>> >>> On 5/15/13 3:50 PM, Vladimir Kozlov wrote: >>>> Morris, >>>> >>>> Please, add to the bug report the command line and machines you used >>>> to reproduce the problem. >>>> >>>> Phil, the problem is triggered during special mode testing in JVM >>>> -XX:+CompileTheWorld. In this more JVM loads all classes in specified >>>> .jar file and compiles (JIT compilation) all methods in class. It is >>>> stress test for Hotspot JIT compilers. For such tests we don't set >>>> DISPLAY. >>>> >>>> Thanks, >>>> Vladimir >>>> >>>> On 5/15/13 3:27 PM, Phil Race wrote: >>>>> CC (instead of BCC) 2d-dev .. >>>>> >>>>> -phil. >>>>> >>>>> On 5/15/13 3:21 PM, Phil Race wrote: >>>>>> Morris, >>>>>> >>>>>> I traced this review back to hotspot-compiler-dev >>>>>> Thanks to Vladimir and Christian for the ponter to redirect but >>>>>> this should really go to 2d-dev not awt-dev. >>>>>> Xrender is the 2D pipeline for accelerated rendering on recent >>>>>> Xservers. >>>>>> Also it I think it should be pushed via the 2D forest after review, >>>>>> whereas it appears your webrev is against the hotspot forest. >>>>>> If the display is NULL we should not enter Xrender but operate in >>>>>> headless mode. So I'd like to take a closer look at this. >>>>>> Where did you test this ? Solaris 10 doesn't trigger xrender ? >>>>>> Did you actually use Solaris 11 on SPARC as the client *and* >>>>>> Xserver ? >>>>>> Is there a regression test ? >>>>>> >>>>>> -phil. >>>>>> >>>>>> On 5/15/13 2:57 PM, Christian Thalinger wrote: >>>>>>> Looks good. Nit: why is there an empty line? >>>>>>> >>>>>>> + jlong fmt8; >>>>>>> + >>>>>>> + jlong fmt32; >>>>>>> >>>>>>> -- Chris >>>>>>> >>>>>>> On May 15, 2013, at 1:21 PM, Morris Meyer >>>>>>> wrote: >>>>>>> >>>>>>>> Folks, >>>>>>>> >>>>>>>> Could I get a review for these two small changes in >>>>>>>> src/solaris/native. This is to fix the nightly CTW testing >>>>>>>> crashes >>>>>>>> on Solaris caused by a library SEGV internal to X11 that occurs >>>>>>>> during class initialization when the display is NULL. >>>>>>>> >>>>>>>> I've tested this patch on SfBay with JPRT and with the CTW >>>>>>>> tests on >>>>>>>> Solaris x86 and Sparc. >>>>>>>> >>>>>>>> Thanks much, >>>>>>>> >>>>>>>> --morris >>>>>>>> >>>>>>>> JBS - https://jbs.oracle.com/bugs/browse/JDK-7196866 >>>>>>>> WEBREV - http://cr.openjdk.java.net/~morris/7196866 >>>>>> >>>>> >>> > From vadim.pakhnushev at oracle.com Thu May 16 19:23:36 2013 From: vadim.pakhnushev at oracle.com (Vadim Pakhnushev) Date: Thu, 16 May 2013 23:23:36 +0400 Subject: [OpenJDK 2D-Dev] [8] request for review: 8000936 Enable Java2D D3D pipeline on newer Intel chipsets : Intel HD and later In-Reply-To: <50AA853B.5040105@oracle.com> References: <50AA853B.5040105@oracle.com> Message-ID: <51953238.4000603@oracle.com> Hi, Please review the fix for 8000936: http://bugs.sun.com/view_bug.do?bug_id=8000936 http://cr.openjdk.java.net/~vadim/8000936/webrev.00/ The fix enables D3D pipeline on Intel graphic chipsets starting from GMA 4500 with recent drivers. This was done in JavaFX a while ago. In addition to copy from JavaFX all earlier Intel devices remains blacklisted and Windows XP 64-bit and Windows 7 were added to the list of checked versions. Thanks, Vadim From vadim.pakhnushev at oracle.com Thu May 16 19:25:35 2013 From: vadim.pakhnushev at oracle.com (Vadim Pakhnushev) Date: Thu, 16 May 2013 23:25:35 +0400 Subject: [OpenJDK 2D-Dev] [8] request for review: 4892259 GIF ImageReader does not call passComplete in IIOReadUpdateListener In-Reply-To: <50ABC890.6050502@oracle.com> References: <50AA853B.5040105@oracle.com> <50AAC4FE.5070002@oracle.com> <50ABC890.6050502@oracle.com> Message-ID: <519532AF.70208@oracle.com> Phil, Andrew, Would you please take a look at this updated fix posted half a year ago? Thanks, Vadim On 20.11.2012 22:14, Vadim Pakhnushev wrote: > Phil, > > That's right, interlaced images works as expected without the fix. > Non-interlaced images could be considered single pass but the > documentation states that the passStarted is called when progressive > pass started. > For examples, BMP reader doesn't call passStarted, but non-progressive > JPEGs or PNGs do, so there is some inconsistency here. > In the internal discussion back in 2007 Chris stated that > "IIOReadUpdateListener.processPassStarted() is only intended to be > called for progressive (aka interlaced) images." > > I've created automated regression test which checks that if the image > was created with interlaced flag then corresponding methods are called > and are not if the image is not interlaced. > > Please review the test: > http://cr.openjdk.java.net/~bae/4892259/webrev.01/ > > Thanks, > Vadim > > On 20.11.2012 3:47, Phil Race wrote: >> Vadim, >> >> So I take it that you confirmed interlaced images do *not* exhibit >> this problem ? >> Its not obvious from the bug report that its only non-interlaced >> images that are the issue. >> >> I suppose a non-interlaced image could be considered a single pass but >> I can't find anywhere that we mandated such a behaviour and it would >> seem >> odd for many formats to require it. >> >> Can we include a regression test for this fix ? >> >> --phil. >> >> On 11/19/2012 11:15 AM, Vadim Pakhnushev wrote: >>> Hi, >>> >>> Please review a fix for bug 4892259: >>> http://bugs.sun.com/view_bug.do?bug_id=4892259 >>> http://cr.openjdk.java.net/~bae/4892259/webrev.00/ >>> >>> Actually GIFImageReader should not call neither passComplete, nor >>> passStarted for non-interlaced images in the first place. >>> So the fix is to check whether the image is interlaced or not and >>> skip startPass method entirely in case of interlaced image. >>> passComplete is called only for interlaced images. >>> >>> Thanks, >>> Vadim >>> >> > > From philip.race at oracle.com Thu May 16 19:28:07 2013 From: philip.race at oracle.com (Phil Race) Date: Thu, 16 May 2013 12:28:07 -0700 Subject: [OpenJDK 2D-Dev] [8] request for review: 8000936 Enable Java2D D3D pipeline on newer Intel chipsets : Intel HD and later In-Reply-To: <51953238.4000603@oracle.com> References: <50AA853B.5040105@oracle.com> <51953238.4000603@oracle.com> Message-ID: <51953347.4010303@oracle.com> Looks good. Good to get this in now so there's plenty of time to find any artifacts that haven't affected FX. -phil. On 5/16/2013 12:23 PM, Vadim Pakhnushev wrote: > Hi, > > Please review the fix for 8000936: > http://bugs.sun.com/view_bug.do?bug_id=8000936 > http://cr.openjdk.java.net/~vadim/8000936/webrev.00/ > > The fix enables D3D pipeline on Intel graphic chipsets starting from > GMA 4500 with recent drivers. > This was done in JavaFX a while ago. > In addition to copy from JavaFX all earlier Intel devices remains > blacklisted and Windows XP 64-bit and Windows 7 were added to the list > of checked versions. > > Thanks, > Vadim From andrew.brygin at oracle.com Thu May 16 19:28:26 2013 From: andrew.brygin at oracle.com (Andrew Brygin) Date: Thu, 16 May 2013 23:28:26 +0400 Subject: [OpenJDK 2D-Dev] [8] request for review: 4892259 GIF ImageReader does not call passComplete in IIOReadUpdateListener In-Reply-To: <519532AF.70208@oracle.com> References: <50AA853B.5040105@oracle.com> <50AAC4FE.5070002@oracle.com> <50ABC890.6050502@oracle.com> <519532AF.70208@oracle.com> Message-ID: <5195335A.9060202@oracle.com> Hi Vadim, the fix looks fine to me. Thanks, Andrew On 5/16/2013 11:25 PM, Vadim Pakhnushev wrote: > Phil, Andrew, > > Would you please take a look at this updated fix posted half a year ago? > > Thanks, > Vadim > > On 20.11.2012 22:14, Vadim Pakhnushev wrote: >> Phil, >> >> That's right, interlaced images works as expected without the fix. >> Non-interlaced images could be considered single pass but the >> documentation states that the passStarted is called when progressive >> pass started. >> For examples, BMP reader doesn't call passStarted, but >> non-progressive JPEGs or PNGs do, so there is some inconsistency here. >> In the internal discussion back in 2007 Chris stated that >> "IIOReadUpdateListener.processPassStarted() is only intended to be >> called for progressive (aka interlaced) images." >> >> I've created automated regression test which checks that if the image >> was created with interlaced flag then corresponding methods are >> called and are not if the image is not interlaced. >> >> Please review the test: >> http://cr.openjdk.java.net/~bae/4892259/webrev.01/ >> >> Thanks, >> Vadim >> >> On 20.11.2012 3:47, Phil Race wrote: >>> Vadim, >>> >>> So I take it that you confirmed interlaced images do *not* exhibit >>> this problem ? >>> Its not obvious from the bug report that its only non-interlaced >>> images that are the issue. >>> >>> I suppose a non-interlaced image could be considered a single pass but >>> I can't find anywhere that we mandated such a behaviour and it would >>> seem >>> odd for many formats to require it. >>> >>> Can we include a regression test for this fix ? >>> >>> --phil. >>> >>> On 11/19/2012 11:15 AM, Vadim Pakhnushev wrote: >>>> Hi, >>>> >>>> Please review a fix for bug 4892259: >>>> http://bugs.sun.com/view_bug.do?bug_id=4892259 >>>> http://cr.openjdk.java.net/~bae/4892259/webrev.00/ >>>> >>>> Actually GIFImageReader should not call neither passComplete, nor >>>> passStarted for non-interlaced images in the first place. >>>> So the fix is to check whether the image is interlaced or not and >>>> skip startPass method entirely in case of interlaced image. >>>> passComplete is called only for interlaced images. >>>> >>>> Thanks, >>>> Vadim >>>> >>> >> >> > From philip.race at oracle.com Thu May 16 19:33:37 2013 From: philip.race at oracle.com (Phil Race) Date: Thu, 16 May 2013 12:33:37 -0700 Subject: [OpenJDK 2D-Dev] [8] request for review: 4892259 GIF ImageReader does not call passComplete in IIOReadUpdateListener In-Reply-To: <519532AF.70208@oracle.com> References: <50AA853B.5040105@oracle.com> <50AAC4FE.5070002@oracle.com> <50ABC890.6050502@oracle.com> <519532AF.70208@oracle.com> Message-ID: <51953491.3000508@oracle.com> An excellent example of why email doesn't make for a great code reviewing tool .. Approved. -phil. On 5/16/2013 12:25 PM, Vadim Pakhnushev wrote: > Phil, Andrew, > > Would you please take a look at this updated fix posted half a year ago? > > Thanks, > Vadim > > On 20.11.2012 22:14, Vadim Pakhnushev wrote: >> Phil, >> >> That's right, interlaced images works as expected without the fix. >> Non-interlaced images could be considered single pass but the >> documentation states that the passStarted is called when progressive >> pass started. >> For examples, BMP reader doesn't call passStarted, but >> non-progressive JPEGs or PNGs do, so there is some inconsistency here. >> In the internal discussion back in 2007 Chris stated that >> "IIOReadUpdateListener.processPassStarted() is only intended to be >> called for progressive (aka interlaced) images." >> >> I've created automated regression test which checks that if the image >> was created with interlaced flag then corresponding methods are >> called and are not if the image is not interlaced. >> >> Please review the test: >> http://cr.openjdk.java.net/~bae/4892259/webrev.01/ >> >> Thanks, >> Vadim >> >> On 20.11.2012 3:47, Phil Race wrote: >>> Vadim, >>> >>> So I take it that you confirmed interlaced images do *not* exhibit >>> this problem ? >>> Its not obvious from the bug report that its only non-interlaced >>> images that are the issue. >>> >>> I suppose a non-interlaced image could be considered a single pass but >>> I can't find anywhere that we mandated such a behaviour and it would >>> seem >>> odd for many formats to require it. >>> >>> Can we include a regression test for this fix ? >>> >>> --phil. >>> >>> On 11/19/2012 11:15 AM, Vadim Pakhnushev wrote: >>>> Hi, >>>> >>>> Please review a fix for bug 4892259: >>>> http://bugs.sun.com/view_bug.do?bug_id=4892259 >>>> http://cr.openjdk.java.net/~bae/4892259/webrev.00/ >>>> >>>> Actually GIFImageReader should not call neither passComplete, nor >>>> passStarted for non-interlaced images in the first place. >>>> So the fix is to check whether the image is interlaced or not and >>>> skip startPass method entirely in case of interlaced image. >>>> passComplete is called only for interlaced images. >>>> >>>> Thanks, >>>> Vadim >>>> >>> >> >> > From andrew.brygin at oracle.com Thu May 16 19:43:46 2013 From: andrew.brygin at oracle.com (Andrew Brygin) Date: Thu, 16 May 2013 23:43:46 +0400 Subject: [OpenJDK 2D-Dev] [8] request for review: 8000936 Enable Java2D D3D pipeline on newer Intel chipsets : Intel HD and later In-Reply-To: <51953238.4000603@oracle.com> References: <50AA853B.5040105@oracle.com> <51953238.4000603@oracle.com> Message-ID: <519536F2.5060908@oracle.com> Looks great. Thanks, Andrew On 5/16/2013 11:23 PM, Vadim Pakhnushev wrote: > Hi, > > Please review the fix for 8000936: > http://bugs.sun.com/view_bug.do?bug_id=8000936 > http://cr.openjdk.java.net/~vadim/8000936/webrev.00/ > > The fix enables D3D pipeline on Intel graphic chipsets starting from > GMA 4500 with recent drivers. > This was done in JavaFX a while ago. > In addition to copy from JavaFX all earlier Intel devices remains > blacklisted and Windows XP 64-bit and Windows 7 were added to the list > of checked versions. > > Thanks, > Vadim From john.r.rose at oracle.com Thu May 16 22:02:33 2013 From: john.r.rose at oracle.com (John Rose) Date: Thu, 16 May 2013 15:02:33 -0700 Subject: [OpenJDK 2D-Dev] RFR(XS): 7196866: CTW fails on Solaris In-Reply-To: <51941396.8070705@oracle.com> References: <5193EE43.8030105@oracle.com> <51940A70.1000409@oracle.com> <51940BD9.8000404@oracle.com> <51941139.6020908@oracle.com> <51941396.8070705@oracle.com> Message-ID: On May 15, 2013, at 4:00 PM, Phil Race wrote: > It *initialises* all those classes ? Meaning their static initialisers > might run, call native methods in a library which expect things to have > been done in a different order ? Maybe the library isn't even loaded yet? > I presume this must be happening else we wouldn't be in this code. > That's a somewhat fragile test. Yes, it is. And it requires a certain amount of ad hoc maintenance over the years. > I guess it doesn't have to be involve either. > Its good to know that "all classes compile" but I'm not sure I > can be easily convinced that its worth trying the wac-a-mole game > needed to ensure that this doesn't collide with the semantics > of the runtime, particularly in the client area which has lots of > native code and state. Since the design of our stack has become more entangled (between JVM and JDK), it may be that this test is becoming harder to maintain. But to date it has been very profitable, even with the maintenance costs like the present bug. > ...Can't compilation be done in some special fashion that bypasses > class initialisation ? It's a fair question. The short answer is "no", but the history is interesting, so I did some software archeology... The CTW (CompileTheWorld) test mode dates back to August 1998, in the first days of the HotSpot implementation. Since then it has continuously been a fruitful source of compiler bugs. We use it every day for stress-testing compiler changes. In the first few months of its implementation (through March 1999) we discovered that if you did not attempt to run class initializers on the classes, the resulting loaded code was so cold that compiling it was useless as a stress test. For example, if a basic block has never been run, the compiler is sometimes lazy about compiling it, preferring to emit a deopt. path instead. This means that anything that would have been inlined inside that basic block never gets looked at. It's good for hot-spot-oriented compilation but bad for stress tests. We found that preloading classes (CompileTheWorldPreloadClasses) and running class initializers (no special flag) caused the code to warm up enough that the compiler had something to work on that was more representative of typical inputs. This greatly increased the value of the CTW stress test. Native methods have always been a problem, of course. I suppose we could do something to CTW mode to make it fail out of native method linkage in some packages. That might also fix this problem, in a way that would not require hardening native code against the edge cases. > anyone looking at changes to > accomodate this out of the context of the changes might be > puzzled as to why this is needed In the end, native code hardening is surely a Good Thing, but I understand that puzzling changes like this can contribute to software rot. Perhaps a simple comment like this would help: // CompileTheWorld gets here ? John From morris.meyer at oracle.com Thu May 16 22:28:50 2013 From: morris.meyer at oracle.com (Morris Meyer) Date: Thu, 16 May 2013 18:28:50 -0400 Subject: [OpenJDK 2D-Dev] RFR(XS): 7196866: CTW fails on Solaris In-Reply-To: References: <5193EE43.8030105@oracle.com> <51940A70.1000409@oracle.com> <51940BD9.8000404@oracle.com> <51941139.6020908@oracle.com> <51941396.8070705@oracle.com> Message-ID: <93615E78-83A8-4C70-8D7D-C35BDAC4A90E@oracle.com> Perhaps I should throw an ExceptionInInitializerError w a CompileTheWorld message? --mm On May 16, 2013, at 6:02 PM, John Rose wrote: > On May 15, 2013, at 4:00 PM, Phil Race wrote: > >> It *initialises* all those classes ? Meaning their static initialisers >> might run, call native methods in a library which expect things to have >> been done in a different order ? Maybe the library isn't even loaded yet? >> I presume this must be happening else we wouldn't be in this code. >> That's a somewhat fragile test. > > Yes, it is. And it requires a certain amount of ad hoc maintenance over the years. > >> I guess it doesn't have to be involve either. >> Its good to know that "all classes compile" but I'm not sure I >> can be easily convinced that its worth trying the wac-a-mole game >> needed to ensure that this doesn't collide with the semantics >> of the runtime, particularly in the client area which has lots of >> native code and state. > > Since the design of our stack has become more entangled (between JVM and JDK), it may be that this test is becoming harder to maintain. But to date it has been very profitable, even with the maintenance costs like the present bug. > >> ...Can't compilation be done in some special fashion that bypasses >> class initialisation ? > > It's a fair question. The short answer is "no", but the history is interesting, so I did some software archeology... > > The CTW (CompileTheWorld) test mode dates back to August 1998, in the first days of the HotSpot implementation. Since then it has continuously been a fruitful source of compiler bugs. We use it every day for stress-testing compiler changes. > > In the first few months of its implementation (through March 1999) we discovered that if you did not attempt to run class initializers on the classes, the resulting loaded code was so cold that compiling it was useless as a stress test. For example, if a basic block has never been run, the compiler is sometimes lazy about compiling it, preferring to emit a deopt. path instead. This means that anything that would have been inlined inside that basic block never gets looked at. It's good for hot-spot-oriented compilation but bad for stress tests. > > We found that preloading classes (CompileTheWorldPreloadClasses) and running class initializers (no special flag) caused the code to warm up enough that the compiler had something to work on that was more representative of typical inputs. This greatly increased the value of the CTW stress test. > > Native methods have always been a problem, of course. I suppose we could do something to CTW mode to make it fail out of native method linkage in some packages. That might also fix this problem, in a way that would not require hardening native code against the edge cases. > >> anyone looking at changes to >> accomodate this out of the context of the changes might be >> puzzled as to why this is needed > > In the end, native code hardening is surely a Good Thing, but I understand that puzzling changes like this can contribute to software rot. Perhaps a simple comment like this would help: > > // CompileTheWorld gets here > > ? John From john.r.rose at oracle.com Thu May 16 22:48:16 2013 From: john.r.rose at oracle.com (John Rose) Date: Thu, 16 May 2013 15:48:16 -0700 Subject: [OpenJDK 2D-Dev] RFR(XS): 7196866: CTW fails on Solaris In-Reply-To: <93615E78-83A8-4C70-8D7D-C35BDAC4A90E@oracle.com> References: <5193EE43.8030105@oracle.com> <51940A70.1000409@oracle.com> <51940BD9.8000404@oracle.com> <51941139.6020908@oracle.com> <51941396.8070705@oracle.com> <93615E78-83A8-4C70-8D7D-C35BDAC4A90E@oracle.com> Message-ID: <84D34FC2-32D9-4E42-B180-5201372B0874@oracle.com> On May 16, 2013, at 3:28 PM, Morris Meyer wrote: > Perhaps I should throw an ExceptionInInitializerError w a CompileTheWorld message? That goes farther beyond native code hardening than I was thinking. If I were Phil I'd be uncomfortable with that, because it appears to create more of a contract than simply "don't crash". ? John -------------- next part -------------- An HTML attachment was scrubbed... URL: From philip.race at oracle.com Thu May 16 23:24:58 2013 From: philip.race at oracle.com (Phil Race) Date: Thu, 16 May 2013 16:24:58 -0700 Subject: [OpenJDK 2D-Dev] RFR(XS): 7196866: CTW fails on Solaris In-Reply-To: <84D34FC2-32D9-4E42-B180-5201372B0874@oracle.com> References: <5193EE43.8030105@oracle.com> <51940A70.1000409@oracle.com> <51940BD9.8000404@oracle.com> <51941139.6020908@oracle.com> <51941396.8070705@oracle.com> <93615E78-83A8-4C70-8D7D-C35BDAC4A90E@oracle.com> <84D34FC2-32D9-4E42-B180-5201372B0874@oracle.com> Message-ID: <51956ACA.8010509@oracle.com> I agree, that I don't think we need to go so far as that. I've concluded that the original proposed fix appears harmless and is very probably OK and the low incidence of such CTW issues over the years is surprising but reassuring. I've been waiting (all afternoon!) for my fastdebug (*) build to complete so I can see for sure how we enter the code that crashes in case there is anything that we are missing that goes beyond what is needed by CTW. But you can go ahead with your fix. Anything else I find we can deal with separately. (*) fastdebug clearly refers solely to its runtime performance characterisrics, not its build speed. -phil. On 5/16/2013 3:48 PM, John Rose wrote: > On May 16, 2013, at 3:28 PM, Morris Meyer > wrote: > >> Perhaps I should throw an ExceptionInInitializerError w a >> CompileTheWorld message? > > That goes farther beyond native code hardening than I was thinking. > If I were Phil I'd be uncomfortable with that, because it appears to > create more of a contract than simply "don't crash". > > ? John From andrew.brygin at oracle.com Fri May 17 13:21:23 2013 From: andrew.brygin at oracle.com (andrew.brygin at oracle.com) Date: Fri, 17 May 2013 13:21:23 +0000 Subject: [OpenJDK 2D-Dev] hg: jdk8/2d/jdk: 4892259: GIF ImageReader does not call passComplete in IIOReadUpdateListener Message-ID: <20130517132236.A017848B68@hg.openjdk.java.net> Changeset: 103f492d8ce7 Author: vadim Date: 2013-05-17 17:19 +0400 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/103f492d8ce7 4892259: GIF ImageReader does not call passComplete in IIOReadUpdateListener Reviewed-by: prr, bae ! src/share/classes/com/sun/imageio/plugins/gif/GIFImageReader.java + test/javax/imageio/plugins/gif/GIFPassListenerTest.java From andrew.brygin at oracle.com Fri May 17 13:29:08 2013 From: andrew.brygin at oracle.com (andrew.brygin at oracle.com) Date: Fri, 17 May 2013 13:29:08 +0000 Subject: [OpenJDK 2D-Dev] hg: jdk8/2d/jdk: 8000936: Enable Java2D D3D pipeline on newer Intel chipsets : Intel HD and later Message-ID: <20130517132921.0B28548B6A@hg.openjdk.java.net> Changeset: 4ee85e865a83 Author: vadim Date: 2013-05-17 14:18 +0400 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/4ee85e865a83 8000936: Enable Java2D D3D pipeline on newer Intel chipsets : Intel HD and later Reviewed-by: prr, bae ! src/windows/native/sun/java2d/d3d/D3DBadHardware.h From jennifer.godinez at oracle.com Fri May 17 17:05:17 2013 From: jennifer.godinez at oracle.com (jennifer.godinez at oracle.com) Date: Fri, 17 May 2013 17:05:17 +0000 Subject: [OpenJDK 2D-Dev] hg: jdk8/2d/jdk: 8003444: Fix potential NULL pointer dereference Message-ID: <20130517170530.D594B48B76@hg.openjdk.java.net> Changeset: 93de1ab38793 Author: jchen Date: 2013-05-17 10:04 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/93de1ab38793 8003444: Fix potential NULL pointer dereference Reviewed-by: jgodinez, prr ! src/share/native/sun/java2d/cmm/lcms/cmscgats.c ! src/share/native/sun/java2d/cmm/lcms/cmslut.c From pflaherty at rampageinc.com Fri May 17 17:48:10 2013 From: pflaherty at rampageinc.com (Patrick Flaherty) Date: Fri, 17 May 2013 13:48:10 -0400 Subject: [OpenJDK 2D-Dev] Bug ID 7190349 Message-ID: <2FBA71B1-C8E7-4DD1-9E2E-53093A07A523@rampageinc.com> Hi, Our application (an applet) has suffered from a bug in Oracle Java implementation on the MaxOSX platform. The bug has been submitted for a while with no fix yet. The bug is Bug ID 7190349 and seemingly a straightforward bug. Is there anyone with time to at least scope the problem to see what kind of effort it will take to fix? This is affecting a shipping application and we are having customers revert back to Apple's Java 6 which is when it last worked. I would really appreciate if someone could look into the bug (scope it) to see if it's an easy fix or a difficult fix. If it's a difficult fix I can understand that it may need to be given low priority. It's a shame because everything else in Java 7 works from what is a fairly complex app. Thanks to anyone willing to help. Patrick Flaherty Rampage Systems Inc. 411 Waverley Oaks Rd. Suite 138 Waltham, MA. 02452-8405 781-891-9400 x239 -------------- next part -------------- An HTML attachment was scrubbed... URL: From pflahrty at rampageinc.com Fri May 17 17:45:15 2013 From: pflahrty at rampageinc.com (Patrick Flaherty) Date: Fri, 17 May 2013 13:45:15 -0400 Subject: [OpenJDK 2D-Dev] Bug ID 7190349 Message-ID: <3EACE7A0-6F94-42A9-ABF5-4D624B88FAC9@rampageinc.com> Hi, Our application (an applet) has suffered from a bug in Oracle Java implementation on the MaxOSX platform. The bug has been submitted for a while with no fix yet. The bug is Bug ID 7190349 and seemingly a straightforward bug. Is there anyone with time to at least scope the problem to see what kind of effort it will take to fix? This is affecting a shipping application and we are having customers revert back to Apple's Java 6 which is when it last worked. I would really appreciate if someone could look into the bug (scope it) to see if it's an easy fix or a difficult fix. If it's a difficult fix I can understand that it may need to be given low priority. It's a shame because everything else in Java 7 works from what is a fairly complex app. Thanks to anyone willing to help. Patrick Flaherty Rampage Systems Inc. 411 Waverley Oaks Rd. Suite 138 Waltham, MA. 02452-8405 781-891-9400 x239 -------------- next part -------------- An HTML attachment was scrubbed... URL: From Sergey.Bylokhov at oracle.com Fri May 17 18:03:10 2013 From: Sergey.Bylokhov at oracle.com (Sergey Bylokhov) Date: Fri, 17 May 2013 22:03:10 +0400 Subject: [OpenJDK 2D-Dev] Bug ID 7190349 In-Reply-To: <3EACE7A0-6F94-42A9-ABF5-4D624B88FAC9@rampageinc.com> References: <3EACE7A0-6F94-42A9-ABF5-4D624B88FAC9@rampageinc.com> Message-ID: <519670DE.1040904@oracle.com> Hi, Patrick. I'll take a look to this issue. On 17.05.2013 21:45, Patrick Flaherty wrote: > Hi, > > Our application (an applet) has suffered from a bug in Oracle Java > implementation on the MaxOSX platform. > The bug has been submitted for a while with no fix yet. The bug is Bug > ID 7190349 and seemingly a > straightforward bug. Is there anyone with time to at least scope the > problem to see what kind of effort > it will take to fix? > > This is affecting a shipping application and we are having customers > revert back to Apple's Java 6 which > is when it last worked. > > I would really appreciate if someone could look into the bug (scope > it) to see if it's an easy fix or a difficult fix. > If it's a difficult fix I can understand that it may need to be given > low priority. It's a shame because everything > else in Java 7 works from what is a fairly complex app. > > Thanks to anyone willing to help. > > > Patrick Flaherty > Rampage Systems Inc. > 411 Waverley Oaks Rd. > Suite 138 > Waltham, MA. 02452-8405 > 781-891-9400 x239 > > > > > > -- Best regards, Sergey. -------------- next part -------------- An HTML attachment was scrubbed... URL: From linuxhippy at gmail.com Sun May 19 08:44:17 2013 From: linuxhippy at gmail.com (Clemens Eisserer) Date: Sun, 19 May 2013 10:44:17 +0200 Subject: [OpenJDK 2D-Dev] Defect 7032904(XRender: Java2Demo) remains In-Reply-To: <518B41E6.7010308@linux.vnet.ibm.com> References: <518B41E6.7010308@linux.vnet.ibm.com> Message-ID: Hi Frank, > Recently our team discovered defect 7032904(XRender: Java2Demo : Infinite > loop in Java_sun_java2d_loops_MaskBlit_MaskBlit on OEL 5.6 x64) still exists > in latest JDK (7u21) on SLES10SP4. It can be easily reproduced by running > SwingSet2 with Nimbus LAF. The issue is also seen in Java 8. Can anybody > look into it? Thanks for reporting the issue, I'll have a look at it. Most likely the code which is detecting the libXrender package-info version doesn't find the package-info files at the expected place and conservatively keeps the xrender pipeline enabled. The root problem still remains, we can not reliably detect the version of libXrender library used without targeting and testing every possibly affected distribution separately. As the versions of kernel and libXrender usually stay quite coherent for problematic distributions (old kernel == affected libXrender) and it is very easy to query the version of the linux-kernel currently running, I would propose to further restrict use of the xrender pipeline to systems running >= Linux-2.6.32, which is currently the oldest LTS kernel still supported. 2.6.32 was released in Dec. 2009. Hopefully this will not only avoid running into the libXrender-bug, but also avoid many driver-bugs caused by old and outdated drivers for the local use-case. In case of false positives it reverts back to the X11 backend instead, which in my opinion is the right thing to do in the event of uncertainty. Regards, Clemens PS: RHEL 5.5/5.6 runs linux-2.6.18 SLES-10 runs linux-2.6.16. Ubuntu 10.04 LTS (and higher) and Debian squeeze (6.0) both use Linux-2.6.32 and therefore would be supported. From jvanek at redhat.com Mon May 20 14:37:23 2013 From: jvanek at redhat.com (Jiri Vanek) Date: Mon, 20 May 2013 16:37:23 +0200 Subject: [OpenJDK 2D-Dev] [PATCH FOR REVIEW] fix for bug 8011693: Remove redundant fontconfig files In-Reply-To: <518CFF58.1080400@redhat.com> References: <5162A1B3.1050001@redhat.com> <5162A642.4020003@oracle.com> <5162AB8F.1020503@redhat.com> <5162BA69.8070308@oracle.com> <5162C654.3070001@redhat.com> <5162D09C.8000307@oracle.com> <5162E2BE.7000202@redhat.com> <518CFF58.1080400@redhat.com> Message-ID: <519A3523.70002@redhat.com> On 05/10/2013 04:08 PM, Jiri Vanek wrote: > On 04/08/2013 05:31 PM, Jiri Vanek wrote: >> On 04/08/2013 04:13 PM, Vladislav Karnaukhov wrote: >>> Hello Jiri, >>> >>> please see inline. >>> >>> On 4/8/2013 05:29 PM, Jiri Vanek wrote: >>>> On 04/08/2013 02:39 PM, Vladislav Karnaukhov wrote: >>>> >>>> Thank you very much for win-check! It will force me to install new >>>> windows machine somewhere. >>>> Do you mind do check if pure removal of fontconfig files (both src and >>>> bfc) from you installed jdk7/8 on windows will work? (should) >>> >>> Yes, I've checked and it does *not* work. That's the reason why I replied to your very first >>> message. A removal of fontconfig.* files simply crashes Java, - on both Windows and Mac, - because >>> some font management-related classes rely on these files. Hence my question regarding deeper >>> re-design on font management system... >>> >>> I've tested Mac build as well, and there's the same error: >> >> Ok. I will try anyway:) >> For linux I'm quite sure the new fontmanagers are working pretty fine. >> Do you think it will be acceptable to prepare smaller clean up - to remove all linux fontconfig >> files? >> >> And later, as separate changeset to fontmanagers for windows/mac, but I'm afraid I will not be >> capable of such an development on non linux system. >> >> Thanx for your help, >> >> J. >>> > > Hi! > > I had finally found some free time, so here it is - smaller version which is removing just stuff for > linux when OpenJDK is defined. > > http://jvanek.fedorapeople.org/oracle/jdk8/webrevs/removedFontConfigFiles-linuxOnly/ > > Although I had windows build, I lost this machine so - again (and sorry for that) - tested only on > Fedora. > > Also when I read the individual fontmanagers, I believe that they really *should* work without > fontocfigs. So although this is fixing the 8011693, new bugs should be filled for windows and mac, > because theirs implementations are broken. > > Thank you very much for any comments. > > Best Regards > j. Ping? I know that this is minor fix compared to others I can read on this channel, but as the font managers exists, and fontconfig files *should* be redundant, then this change should be done. If fontmanagers are buggy (and eg windows one appeared to be) then as soon as this will be tempted then sooner it will get fixed. For linux I'm pretty sure this is working, and we have even removed the fontconfig files from packages in public facing version three months ago [1] So this can be first step to get rid of old and redundant font mapping completely. J. [1] http://pkgs.fedoraproject.org/cgit/java-1.7.0-openjdk.git/commit/?h=f17&id=9d6dd62ae2123635b4d15e40e527a0b617756484 (search for +rm %{buildoutputdir}/j2re-image/lib/fontconfig) From gnu.andrew at redhat.com Tue May 21 16:33:41 2013 From: gnu.andrew at redhat.com (Andrew Hughes) Date: Tue, 21 May 2013 12:33:41 -0400 (EDT) Subject: [OpenJDK 2D-Dev] Defect 7032904(XRender: Java2Demo) remains In-Reply-To: References: <518B41E6.7010308@linux.vnet.ibm.com> Message-ID: <1642778821.5421600.1369154021591.JavaMail.root@redhat.com> ----- Original Message ----- > Hi Frank, > > > Recently our team discovered defect 7032904(XRender: Java2Demo : Infinite > > loop in Java_sun_java2d_loops_MaskBlit_MaskBlit on OEL 5.6 x64) still > > exists > > in latest JDK (7u21) on SLES10SP4. It can be easily reproduced by running > > SwingSet2 with Nimbus LAF. The issue is also seen in Java 8. Can anybody > > look into it? > > Thanks for reporting the issue, I'll have a look at it. Most likely > the code which is detecting the libXrender package-info version > doesn't find the package-info files at the expected place and > conservatively keeps the xrender pipeline enabled. > > The root problem still remains, we can not reliably detect the version > of libXrender library used without targeting and testing every > possibly affected distribution separately. > As the versions of kernel and libXrender usually stay quite coherent > for problematic distributions (old kernel == affected libXrender) and > it is very easy to query the version of the linux-kernel currently > running, I would propose to further restrict use of the xrender > pipeline to systems running >= Linux-2.6.32, which is currently the > oldest LTS kernel still supported. 2.6.32 was released in Dec. 2009. > Hopefully this will not only avoid running into the libXrender-bug, > but also avoid many driver-bugs caused by old and outdated drivers for > the local use-case. In case of false positives it reverts back to the > X11 backend instead, which in my opinion is the right thing to do in > the event of uncertainty. > Do you know which versions of libXrender are supported?? We can check the version at configure time: $ pkg-config --modversion renderproto 0.11.1 and disable the extension at compile-time. This is especially true with 6 where, IIRC, it's a patched-in option which is enabled by default, not part of upstream OpenJDK. Basing it on kernel version seems very dodgy to me. I change my kernel version all the time and it's completely unrelated to the version of Xrender I'm running. > Regards, Clemens > > PS: RHEL 5.5/5.6 runs linux-2.6.18 > SLES-10 runs linux-2.6.16. > > Ubuntu 10.04 LTS (and higher) and Debian squeeze (6.0) both use > Linux-2.6.32 and therefore would be supported. > -- Andrew :) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) PGP Key: 248BDC07 (https://keys.indymedia.org/) Fingerprint = EC5A 1F5E C0AD 1D15 8F1F 8F91 3B96 A578 248B DC07 From Sergey.Bylokhov at oracle.com Tue May 21 19:40:25 2013 From: Sergey.Bylokhov at oracle.com (Sergey Bylokhov) Date: Tue, 21 May 2013 23:40:25 +0400 Subject: [OpenJDK 2D-Dev] [8] Request for review: 7190349 [macosx] Text (Label) in a JTabbedPane is incorrectly drawn Message-ID: <519BCDA9.8080601@oracle.com> Hello, Please review the fix for jdk 8. On OSX advanceY in the glyphInfo is inverted. It is used to increment position when the glyph is drawn as part of a string of text: @see DrawGlyphList.c.setupBlitVector(): .... for (g=0; gglyphs[g].y, y + ginfo->topLeftY); ..... y += ginfo->advanceY; } advances are initialized in the CGGlyphImages.m via JRSFontGetAdvancesForGlyphsAndStyle(). Note that JRSFontGetAdvancesForGlyphsAndStyle use "strike->fTx" and the origin of this transform is relative to the bottom-left corner baseline. So we should pass "strike->fAltTx" to the JRSFontGetAdvancesForGlyphsAndStyle(Not sure is it ok or not) OR to invert the received advance.height. Bug: http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7190349 Webrev can be found at: http://cr.openjdk.java.net/~serb/7190349/webrev.00 -- Best regards, Sergey. -------------- next part -------------- An HTML attachment was scrubbed... URL: From linuxhippy at gmail.com Tue May 21 19:46:44 2013 From: linuxhippy at gmail.com (Clemens Eisserer) Date: Tue, 21 May 2013 21:46:44 +0200 Subject: [OpenJDK 2D-Dev] Defect 7032904(XRender: Java2Demo) remains In-Reply-To: <1642778821.5421600.1369154021591.JavaMail.root@redhat.com> References: <518B41E6.7010308@linux.vnet.ibm.com> <1642778821.5421600.1369154021591.JavaMail.root@redhat.com> Message-ID: Hi Andrew, Thanks for your feedback. > Do you know which versions of libXrender are supported? We can check the version > at configure time: > > $ pkg-config --modversion renderproto > 0.11.1 > > and disable the extension at compile-time. This is especially true with 6 where, > IIRC, it's a patched-in option which is enabled by default, not part of upstream > OpenJDK. Version 0.9.3, which was released in early 2007 contains the fix (it's "xrender" not renderproto). Disabling it at configure time would be great for distribution builds, unfortunately it does not solve the situation for the oracle binaries. > Basing it on kernel version seems very dodgy to me. I change my kernel version all > the time and it's completely unrelated to the version of Xrender I'm running. I am not 100% satisfied with the proposal either, however the arguments which made me think this isn't such a bad idea are: 1. The main problem are old, supported LTS releases (like RHEL 5 or SLES 10). The chance of someone running a kernel newer than 2.6.32 with libXrender<0.9.3 (false negative) are almost zero, while false positives (older kernel, newer libXrender) are handled by the old X11 pipeline without any serious drawbacks. Personally, I don't expect many users running one of those really old distributions updating to a kernel version which is almost 3 years newer than their libXrender. 2. The current code already inspects pkg-config files at run-time (works on RHEL 5), the kernel-version check would only take place when this check fails. Do you still think its a bad idea? Regards, Clemens From philip.race at oracle.com Tue May 21 21:27:02 2013 From: philip.race at oracle.com (Phil Race) Date: Tue, 21 May 2013 14:27:02 -0700 Subject: [OpenJDK 2D-Dev] [8] Request for review: 7190349 [macosx] Text (Label) in a JTabbedPane is incorrectly drawn In-Reply-To: <519BCDA9.8080601@oracle.com> References: <519BCDA9.8080601@oracle.com> Message-ID: <519BE6A6.1010102@oracle.com> I think this fix is fine. In the other rasteriser cases we use (T2K, freetype) we also flip the sign of the y advance as it is stored as the image y advance. It looks like this was just missing here. This change should then only affect the final glyph rendering. -phil. On 5/21/2013 12:40 PM, Sergey Bylokhov wrote: > Hello, > Please review the fix for jdk 8. > On OSX advanceY in the glyphInfo is inverted. > It is used to increment position when the glyph is drawn as part of a > string of text: > @see DrawGlyphList.c.setupBlitVector(): > .... > for (g=0; g ginfo = (GlyphInfo*)imagePtrs[g]; > ..... > FLOOR_ASSIGN(gbv->glyphs[g].y, y + ginfo->topLeftY); > ..... > y += ginfo->advanceY; > } > > advances are initialized in the CGGlyphImages.m via > JRSFontGetAdvancesForGlyphsAndStyle(). > Note that JRSFontGetAdvancesForGlyphsAndStyle use "strike->fTx" and > the origin of this transform is relative to the bottom-left corner > baseline. So we should pass "strike->fAltTx" to the > JRSFontGetAdvancesForGlyphsAndStyle(Not sure is it ok or not) OR to > invert the received advance.height. > > Bug: http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7190349 > Webrev can be found at: http://cr.openjdk.java.net/~serb/7190349/webrev.00 > > -- > Best regards, Sergey. > From philip.race at oracle.com Tue May 21 23:47:41 2013 From: philip.race at oracle.com (Phil Race) Date: Tue, 21 May 2013 16:47:41 -0700 Subject: [OpenJDK 2D-Dev] [8] Request for review: 7190349 [macosx] Text (Label) in a JTabbedPane is incorrectly drawn In-Reply-To: <519BE6A6.1010102@oracle.com> References: <519BCDA9.8080601@oracle.com> <519BE6A6.1010102@oracle.com> Message-ID: <519C079D.9070906@oracle.com> Sergey, This needs another look. Although it fixed some clearly broken cases, there is a rotated tab pane label option in SwingSet2, and it turns out that at least for me that was working *before* the fix and now its broken. So I suppose that there are 2 pieces of code interpreting the sign of the advance with different expectations. Since only Aqua does that rotation for the tab pane label, I think the special case is there .. where it likely expected the original CT coordinate system. The bug report in the test case uses custom rendering so won't fall into that case as had seemed likely from the synopsis. -phil. On 5/21/2013 2:27 PM, Phil Race wrote: > I think this fix is fine. In the other rasteriser cases we use > (T2K, freetype) we also flip the sign of the y advance as it is stored > as the image y advance. It looks like this was just missing here. > This change should then only affect the final glyph rendering. > > -phil. > > On 5/21/2013 12:40 PM, Sergey Bylokhov wrote: >> Hello, >> Please review the fix for jdk 8. >> On OSX advanceY in the glyphInfo is inverted. >> It is used to increment position when the glyph is drawn as part of a >> string of text: >> @see DrawGlyphList.c.setupBlitVector(): >> .... >> for (g=0; g> ginfo = (GlyphInfo*)imagePtrs[g]; >> ..... >> FLOOR_ASSIGN(gbv->glyphs[g].y, y + ginfo->topLeftY); >> ..... >> y += ginfo->advanceY; >> } >> >> advances are initialized in the CGGlyphImages.m via >> JRSFontGetAdvancesForGlyphsAndStyle(). >> Note that JRSFontGetAdvancesForGlyphsAndStyle use "strike->fTx" and >> the origin of this transform is relative to the bottom-left corner >> baseline. So we should pass "strike->fAltTx" to the >> JRSFontGetAdvancesForGlyphsAndStyle(Not sure is it ok or not) OR to >> invert the received advance.height. >> >> Bug: http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7190349 >> Webrev can be found at: >> http://cr.openjdk.java.net/~serb/7190349/webrev.00 >> >> -- >> Best regards, Sergey. >> > From Sergey.Bylokhov at oracle.com Wed May 22 01:28:46 2013 From: Sergey.Bylokhov at oracle.com (Sergey Bylokhov) Date: Wed, 22 May 2013 05:28:46 +0400 Subject: [OpenJDK 2D-Dev] [8] Request for review: 7190349 [macosx] Text (Label) in a JTabbedPane is incorrectly drawn In-Reply-To: <519C079D.9070906@oracle.com> References: <519BCDA9.8080601@oracle.com> <519BE6A6.1010102@oracle.com> <519C079D.9070906@oracle.com> Message-ID: <519C1F4E.8040302@oracle.com> Hi, Phil. Looks like there is workaround for this and now it should be removed. I'll take a look at it. On 22.05.2013 3:47, Phil Race wrote: > Sergey, > > This needs another look. Although it fixed some clearly broken cases, > there is a rotated tab pane label option in SwingSet2, and it turns > out that at least for me that was working *before* the fix and now > its broken. So I suppose that there are 2 pieces of code interpreting > the sign of the advance with different expectations. > > Since only Aqua does that rotation for the tab pane label, I think the > special case is there .. where it likely expected the original CT > coordinate system. > > The bug report in the test case uses custom rendering so > won't fall into that case as had seemed likely from the synopsis. > > -phil. > > On 5/21/2013 2:27 PM, Phil Race wrote: >> I think this fix is fine. In the other rasteriser cases we use >> (T2K, freetype) we also flip the sign of the y advance as it is stored >> as the image y advance. It looks like this was just missing here. >> This change should then only affect the final glyph rendering. >> >> -phil. >> >> On 5/21/2013 12:40 PM, Sergey Bylokhov wrote: >>> Hello, >>> Please review the fix for jdk 8. >>> On OSX advanceY in the glyphInfo is inverted. >>> It is used to increment position when the glyph is drawn as part of >>> a string of text: >>> @see DrawGlyphList.c.setupBlitVector(): >>> .... >>> for (g=0; g>> ginfo = (GlyphInfo*)imagePtrs[g]; >>> ..... >>> FLOOR_ASSIGN(gbv->glyphs[g].y, y + ginfo->topLeftY); >>> ..... >>> y += ginfo->advanceY; >>> } >>> >>> advances are initialized in the CGGlyphImages.m via >>> JRSFontGetAdvancesForGlyphsAndStyle(). >>> Note that JRSFontGetAdvancesForGlyphsAndStyle use "strike->fTx" and >>> the origin of this transform is relative to the bottom-left corner >>> baseline. So we should pass "strike->fAltTx" to the >>> JRSFontGetAdvancesForGlyphsAndStyle(Not sure is it ok or not) OR to >>> invert the received advance.height. >>> >>> Bug: http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7190349 >>> Webrev can be found at: >>> http://cr.openjdk.java.net/~serb/7190349/webrev.00 >>> >>> -- >>> Best regards, Sergey. >>> >> > -- Best regards, Sergey. From gnu.andrew at redhat.com Wed May 22 13:03:32 2013 From: gnu.andrew at redhat.com (Andrew Hughes) Date: Wed, 22 May 2013 09:03:32 -0400 (EDT) Subject: [OpenJDK 2D-Dev] Request for review [XS]: The XRender backend fails to render any glyphs on 64-bit Big-endian architectures In-Reply-To: <51880CDA.9090901@oracle.com> References: <51816D67.9050401@oracle.com> <51880CDA.9090901@oracle.com> Message-ID: <598716654.5933993.1369227812501.JavaMail.root@redhat.com> ----- Original Message ----- > On 5/6/2013 5:25 AM, Volker Simonis wrote: > > On Wed, May 1, 2013 at 9:30 PM, Phil Race wrote: > >> Volker .. thanks for the patch looks good although I ask > >> that you break the source code lines at no more than 80 chars .. > >> that's the norm/standard we have always used > >> > > I read the guidlines but after I realized that some of the files I > > changed already contain lines with more than 130 characters I thought > > that the guildines may be antiquated in that respect :) Nevertheless, > > I'm not against coding standards at all, so please find the '80 > > chars'-version of my patch below: > > > > http://cr.openjdk.java.net/~simonis/webrevs/7191872 > > I have commited this as 'simonis' and pushed to the 2d forest. > Is this being proposed for 7 too? -- Andrew :) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) PGP Key: 248BDC07 (https://keys.indymedia.org/) Fingerprint = EC5A 1F5E C0AD 1D15 8F1F 8F91 3B96 A578 248B DC07 From Sergey.Bylokhov at oracle.com Wed May 22 17:42:54 2013 From: Sergey.Bylokhov at oracle.com (Sergey Bylokhov) Date: Wed, 22 May 2013 21:42:54 +0400 Subject: [OpenJDK 2D-Dev] [8] Request for review: 7190349 [macosx] Text (Label) in a JTabbedPane is incorrectly drawn In-Reply-To: <519C079D.9070906@oracle.com> References: <519BCDA9.8080601@oracle.com> <519BE6A6.1010102@oracle.com> <519C079D.9070906@oracle.com> Message-ID: <519D039E.4030902@oracle.com> Hi, Phil, Mike. Looks like I found the root cause of this bug. It is caused by the different behavior of JRSFontGetAdvancesForGlyphsAndStyle when anti-aliasing is on/off. Initial bug exists from the beginning of macosx-port: https://java.net/jira/browse/MACOSX_PORT-47. The root cause of this bug was not fixed(as a fix, all aqua rendering was changed to use antialiasing-on by default). So all our components looks good, and custom components looks bad because in jdk6 anti-aliasing is on by default and in jdk 7 is off by default. Here is a test which fail on jdk6 and jdk7: http://cr.openjdk.java.net/~serb/7190349/webrev.00/raw_files/new/test/java/awt/Graphics2D/DrawString/DrawRotatedString.java If you add "bg.setRenderingHint(KEY_TEXT_ANTIALIASING, VALUE_TEXT_ANTIALIAS_ON);" to the createBufferedImage() it is passed. Some technical details: - In both cases we call CGGlyphImages.m.CGGI_CreateGlyphInfos, which calls JRSFontGetAdvancesForGlyphsAndStyle - JRSFontGetAdvancesForGlyphsAndStyle is called with the same transform, len, glyphs, CTFontRef. Only JRSFontRenderingStyle is different. - JRSFontGetAdvancesForGlyphsAndStyle return inverted values when anti-aliasing is off. Of course I can invert received AdvancesY, when anti-aliasing is off, but probably it is better to fix JRSFontGetAdvancesForGlyphsAndStyle and cover jdk6 and jdk7 in the same time? Thanks. On 22.05.2013 3:47, Phil Race wrote: > Sergey, > > This needs another look. Although it fixed some clearly broken cases, > there is a rotated tab pane label option in SwingSet2, and it turns > out that at least for me that was working *before* the fix and now > its broken. So I suppose that there are 2 pieces of code interpreting > the sign of the advance with different expectations. > > Since only Aqua does that rotation for the tab pane label, I think the > special case is there .. where it likely expected the original CT > coordinate system. > > The bug report in the test case uses custom rendering so > won't fall into that case as had seemed likely from the synopsis. > > -phil. > > On 5/21/2013 2:27 PM, Phil Race wrote: >> I think this fix is fine. In the other rasteriser cases we use >> (T2K, freetype) we also flip the sign of the y advance as it is stored >> as the image y advance. It looks like this was just missing here. >> This change should then only affect the final glyph rendering. >> >> -phil. >> >> On 5/21/2013 12:40 PM, Sergey Bylokhov wrote: >>> Hello, >>> Please review the fix for jdk 8. >>> On OSX advanceY in the glyphInfo is inverted. >>> It is used to increment position when the glyph is drawn as part of >>> a string of text: >>> @see DrawGlyphList.c.setupBlitVector(): >>> .... >>> for (g=0; g>> ginfo = (GlyphInfo*)imagePtrs[g]; >>> ..... >>> FLOOR_ASSIGN(gbv->glyphs[g].y, y + ginfo->topLeftY); >>> ..... >>> y += ginfo->advanceY; >>> } >>> >>> advances are initialized in the CGGlyphImages.m via >>> JRSFontGetAdvancesForGlyphsAndStyle(). >>> Note that JRSFontGetAdvancesForGlyphsAndStyle use "strike->fTx" and >>> the origin of this transform is relative to the bottom-left corner >>> baseline. So we should pass "strike->fAltTx" to the >>> JRSFontGetAdvancesForGlyphsAndStyle(Not sure is it ok or not) OR to >>> invert the received advance.height. >>> >>> Bug: http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7190349 >>> Webrev can be found at: >>> http://cr.openjdk.java.net/~serb/7190349/webrev.00 >>> >>> -- >>> Best regards, Sergey. >>> >> > -- Best regards, Sergey. From volker.simonis at gmail.com Wed May 22 20:36:21 2013 From: volker.simonis at gmail.com (Volker Simonis) Date: Wed, 22 May 2013 22:36:21 +0200 Subject: [OpenJDK 2D-Dev] Request for review [XS]: The XRender backend fails to render any glyphs on 64-bit Big-endian architectures In-Reply-To: <598716654.5933993.1369227812501.JavaMail.root@redhat.com> References: <51816D67.9050401@oracle.com> <51880CDA.9090901@oracle.com> <598716654.5933993.1369227812501.JavaMail.root@redhat.com> Message-ID: I haven't done it but I think it would be useful to backport the change. However I'm not very familiar with the process of backporting changes and only an jdk7u author anyway so if you could do that it woud be great! Thank you and best regards, Volker On Wed, May 22, 2013 at 3:03 PM, Andrew Hughes wrote: > ----- Original Message ----- > > On 5/6/2013 5:25 AM, Volker Simonis wrote: > > > On Wed, May 1, 2013 at 9:30 PM, Phil Race > wrote: > > >> Volker .. thanks for the patch looks good although I ask > > >> that you break the source code lines at no more than 80 chars .. > > >> that's the norm/standard we have always used > > >> > > > I read the guidlines but after I realized that some of the files I > > > changed already contain lines with more than 130 characters I thought > > > that the guildines may be antiquated in that respect :) Nevertheless, > > > I'm not against coding standards at all, so please find the '80 > > > chars'-version of my patch below: > > > > > > http://cr.openjdk.java.net/~simonis/webrevs/7191872 > > > > I have commited this as 'simonis' and pushed to the 2d forest. > > > > Is this being proposed for 7 too? > -- > Andrew :) > > Free Java Software Engineer > Red Hat, Inc. (http://www.redhat.com) > > PGP Key: 248BDC07 (https://keys.indymedia.org/) > Fingerprint = EC5A 1F5E C0AD 1D15 8F1F 8F91 3B96 A578 248B DC07 > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From philip.race at oracle.com Wed May 22 21:51:52 2013 From: philip.race at oracle.com (Phil Race) Date: Wed, 22 May 2013 14:51:52 -0700 Subject: [OpenJDK 2D-Dev] [8] Request for review: 7190349 [macosx] Text (Label) in a JTabbedPane is incorrectly drawn In-Reply-To: <519D039E.4030902@oracle.com> References: <519BCDA9.8080601@oracle.com> <519BE6A6.1010102@oracle.com> <519C079D.9070906@oracle.com> <519D039E.4030902@oracle.com> Message-ID: <519D3DF8.307@oracle.com> Sergey, Mike is the one with picture about what's going on inside that API so what we do will depend on what he thinks can be done there. My take is that a fix in JRSFontGetAdvancesForGlyphsAndStyle() might be harder to deliver, and I'm not sure how we would would know (at runtime) when its fixed. In the interim we'd not be able to fix this bug. So lets workaround it and note the inconsistencies in the code. I don't know what underlying SPI is being used but that is where the changes would be needed for JDK 6 which won't benefit from a fix in JRSFontGetAdvancesForGlyphsAndStyle since that was invented for JDK 7. And I doubt Apple want to fix JDK 6 now. -phil. On 5/22/2013 10:42 AM, Sergey Bylokhov wrote: > Hi, Phil, Mike. > Looks like I found the root cause of this bug. It is caused by the > different behavior of JRSFontGetAdvancesForGlyphsAndStyle when > anti-aliasing is on/off. > Initial bug exists from the beginning of macosx-port: > https://java.net/jira/browse/MACOSX_PORT-47. The root cause of this > bug was not fixed(as a fix, all aqua rendering was changed to use > antialiasing-on by default). > So all our components looks good, and custom components looks bad > because in jdk6 anti-aliasing is on by default and in jdk 7 is off by > default. > > Here is a test which fail on jdk6 and jdk7: > http://cr.openjdk.java.net/~serb/7190349/webrev.00/raw_files/new/test/java/awt/Graphics2D/DrawString/DrawRotatedString.java > > If you add "bg.setRenderingHint(KEY_TEXT_ANTIALIASING, > VALUE_TEXT_ANTIALIAS_ON);" to the createBufferedImage() it is passed. > > Some technical details: > - In both cases we call CGGlyphImages.m.CGGI_CreateGlyphInfos, which > calls JRSFontGetAdvancesForGlyphsAndStyle > - JRSFontGetAdvancesForGlyphsAndStyle is called with the same > transform, len, glyphs, CTFontRef. Only JRSFontRenderingStyle is > different. > - JRSFontGetAdvancesForGlyphsAndStyle return inverted values when > anti-aliasing is off. > > Of course I can invert received AdvancesY, when anti-aliasing is off, > but probably it is better to fix JRSFontGetAdvancesForGlyphsAndStyle > and cover jdk6 and jdk7 in the same time? > > Thanks. > > On 22.05.2013 3:47, Phil Race wrote: >> Sergey, >> >> This needs another look. Although it fixed some clearly broken cases, >> there is a rotated tab pane label option in SwingSet2, and it turns >> out that at least for me that was working *before* the fix and now >> its broken. So I suppose that there are 2 pieces of code interpreting >> the sign of the advance with different expectations. >> >> Since only Aqua does that rotation for the tab pane label, I think the >> special case is there .. where it likely expected the original CT >> coordinate system. >> >> The bug report in the test case uses custom rendering so >> won't fall into that case as had seemed likely from the synopsis. >> >> -phil. >> >> On 5/21/2013 2:27 PM, Phil Race wrote: >>> I think this fix is fine. In the other rasteriser cases we use >>> (T2K, freetype) we also flip the sign of the y advance as it is stored >>> as the image y advance. It looks like this was just missing here. >>> This change should then only affect the final glyph rendering. >>> >>> -phil. >>> >>> On 5/21/2013 12:40 PM, Sergey Bylokhov wrote: >>>> Hello, >>>> Please review the fix for jdk 8. >>>> On OSX advanceY in the glyphInfo is inverted. >>>> It is used to increment position when the glyph is drawn as part of >>>> a string of text: >>>> @see DrawGlyphList.c.setupBlitVector(): >>>> .... >>>> for (g=0; g>>> ginfo = (GlyphInfo*)imagePtrs[g]; >>>> ..... >>>> FLOOR_ASSIGN(gbv->glyphs[g].y, y + ginfo->topLeftY); >>>> ..... >>>> y += ginfo->advanceY; >>>> } >>>> >>>> advances are initialized in the CGGlyphImages.m via >>>> JRSFontGetAdvancesForGlyphsAndStyle(). >>>> Note that JRSFontGetAdvancesForGlyphsAndStyle use "strike->fTx" and >>>> the origin of this transform is relative to the bottom-left corner >>>> baseline. So we should pass "strike->fAltTx" to the >>>> JRSFontGetAdvancesForGlyphsAndStyle(Not sure is it ok or not) OR to >>>> invert the received advance.height. >>>> >>>> Bug: http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7190349 >>>> Webrev can be found at: >>>> http://cr.openjdk.java.net/~serb/7190349/webrev.00 >>>> >>>> -- >>>> Best regards, Sergey. >>>> >>> >> > > From Sergey.Bylokhov at oracle.com Wed May 22 22:09:07 2013 From: Sergey.Bylokhov at oracle.com (Sergey Bylokhov) Date: Thu, 23 May 2013 02:09:07 +0400 Subject: [OpenJDK 2D-Dev] [8] Request for review: 7190349 [macosx] Text (Label) in a JTabbedPane is incorrectly drawn In-Reply-To: <519D3DF8.307@oracle.com> References: <519BCDA9.8080601@oracle.com> <519BE6A6.1010102@oracle.com> <519C079D.9070906@oracle.com> <519D039E.4030902@oracle.com> <519D3DF8.307@oracle.com> Message-ID: <519D4203.4090205@oracle.com> Hi, Phil. I was under impression that jdk6 use the same java runtime support, because it has the same issue and because of this e-mail. http://mail.openjdk.java.net/pipermail/macosx-port-dev/2012-November/005156.html We can use workaround and catch possible future fix by the new test. I have just wanted to point to the problem. On 23.05.2013 1:51, Phil Race wrote: > Sergey, > > Mike is the one with picture about what's going on inside that API so > what we do will depend on what he thinks can be done there. My take > is that a fix in JRSFontGetAdvancesForGlyphsAndStyle() might be harder > to deliver, > and I'm not sure how we would would know (at runtime) when its fixed. > In the interim we'd not be able to fix this bug. So lets workaround it > and > note the inconsistencies in the code. > > I don't know what underlying SPI is being used but that is where the > changes > would be needed for JDK 6 which won't benefit from a fix in > JRSFontGetAdvancesForGlyphsAndStyle since that was invented for JDK 7. > And I doubt Apple want to fix JDK 6 now. > > -phil. > > On 5/22/2013 10:42 AM, Sergey Bylokhov wrote: >> Hi, Phil, Mike. >> Looks like I found the root cause of this bug. It is caused by the >> different behavior of JRSFontGetAdvancesForGlyphsAndStyle when >> anti-aliasing is on/off. >> Initial bug exists from the beginning of macosx-port: >> https://java.net/jira/browse/MACOSX_PORT-47. The root cause of this >> bug was not fixed(as a fix, all aqua rendering was changed to use >> antialiasing-on by default). >> So all our components looks good, and custom components looks bad >> because in jdk6 anti-aliasing is on by default and in jdk 7 is off by >> default. >> >> Here is a test which fail on jdk6 and jdk7: >> http://cr.openjdk.java.net/~serb/7190349/webrev.00/raw_files/new/test/java/awt/Graphics2D/DrawString/DrawRotatedString.java >> >> If you add "bg.setRenderingHint(KEY_TEXT_ANTIALIASING, >> VALUE_TEXT_ANTIALIAS_ON);" to the createBufferedImage() it is passed. >> >> Some technical details: >> - In both cases we call CGGlyphImages.m.CGGI_CreateGlyphInfos, >> which calls JRSFontGetAdvancesForGlyphsAndStyle >> - JRSFontGetAdvancesForGlyphsAndStyle is called with the same >> transform, len, glyphs, CTFontRef. Only JRSFontRenderingStyle is >> different. >> - JRSFontGetAdvancesForGlyphsAndStyle return inverted values when >> anti-aliasing is off. >> >> Of course I can invert received AdvancesY, when anti-aliasing is off, >> but probably it is better to fix JRSFontGetAdvancesForGlyphsAndStyle >> and cover jdk6 and jdk7 in the same time? >> >> Thanks. >> >> On 22.05.2013 3:47, Phil Race wrote: >>> Sergey, >>> >>> This needs another look. Although it fixed some clearly broken cases, >>> there is a rotated tab pane label option in SwingSet2, and it turns >>> out that at least for me that was working *before* the fix and now >>> its broken. So I suppose that there are 2 pieces of code interpreting >>> the sign of the advance with different expectations. >>> >>> Since only Aqua does that rotation for the tab pane label, I think the >>> special case is there .. where it likely expected the original CT >>> coordinate system. >>> >>> The bug report in the test case uses custom rendering so >>> won't fall into that case as had seemed likely from the synopsis. >>> >>> -phil. >>> >>> On 5/21/2013 2:27 PM, Phil Race wrote: >>>> I think this fix is fine. In the other rasteriser cases we use >>>> (T2K, freetype) we also flip the sign of the y advance as it is >>>> stored >>>> as the image y advance. It looks like this was just missing here. >>>> This change should then only affect the final glyph rendering. >>>> >>>> -phil. >>>> >>>> On 5/21/2013 12:40 PM, Sergey Bylokhov wrote: >>>>> Hello, >>>>> Please review the fix for jdk 8. >>>>> On OSX advanceY in the glyphInfo is inverted. >>>>> It is used to increment position when the glyph is drawn as part >>>>> of a string of text: >>>>> @see DrawGlyphList.c.setupBlitVector(): >>>>> .... >>>>> for (g=0; g>>>> ginfo = (GlyphInfo*)imagePtrs[g]; >>>>> ..... >>>>> FLOOR_ASSIGN(gbv->glyphs[g].y, y + ginfo->topLeftY); >>>>> ..... >>>>> y += ginfo->advanceY; >>>>> } >>>>> >>>>> advances are initialized in the CGGlyphImages.m via >>>>> JRSFontGetAdvancesForGlyphsAndStyle(). >>>>> Note that JRSFontGetAdvancesForGlyphsAndStyle use "strike->fTx" >>>>> and the origin of this transform is relative to the bottom-left >>>>> corner baseline. So we should pass "strike->fAltTx" to the >>>>> JRSFontGetAdvancesForGlyphsAndStyle(Not sure is it ok or not) OR >>>>> to invert the received advance.height. >>>>> >>>>> Bug: http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7190349 >>>>> Webrev can be found at: >>>>> http://cr.openjdk.java.net/~serb/7190349/webrev.00 >>>>> >>>>> -- >>>>> Best regards, Sergey. >>>>> >>>> >>> >> >> > -- Best regards, Sergey. From philip.race at oracle.com Wed May 22 23:20:38 2013 From: philip.race at oracle.com (Phil Race) Date: Wed, 22 May 2013 16:20:38 -0700 Subject: [OpenJDK 2D-Dev] [8] Request for review: 7190349 [macosx] Text (Label) in a JTabbedPane is incorrectly drawn In-Reply-To: <519D4203.4090205@oracle.com> References: <519BCDA9.8080601@oracle.com> <519BE6A6.1010102@oracle.com> <519C079D.9070906@oracle.com> <519D039E.4030902@oracle.com> <519D3DF8.307@oracle.com> <519D4203.4090205@oracle.com> Message-ID: <519D52C6.1050006@oracle.com> On 5/22/13 3:09 PM, Sergey Bylokhov wrote: > Hi, Phil. > I was under impression that jdk6 use the same java runtime support, > because it has the same issue and because of this e-mail. > http://mail.openjdk.java.net/pipermail/macosx-port-dev/2012-November/005156.html I can't tell (from that email) if shipping JDK 6 for OS X really uses those APIs, or if the mentioned re-implementation was just an experiement. In any case the purpose of inventing them was to expose some non-public functionality. So its unclear if the problem is in tha JRS layer itself or something else underneath. -phil. From lana.steuck at oracle.com Thu May 23 06:29:39 2013 From: lana.steuck at oracle.com (lana.steuck at oracle.com) Date: Thu, 23 May 2013 06:29:39 +0000 Subject: [OpenJDK 2D-Dev] hg: jdk8/2d: 7 new changesets Message-ID: <20130523062941.0A40248C82@hg.openjdk.java.net> Changeset: 83b519cafa68 Author: katleman Date: 2013-05-16 12:13 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/rev/83b519cafa68 Added tag jdk8-b90 for changeset 69b773a221b9 ! .hgtags Changeset: e2eb6bc06621 Author: mduigou Date: 2013-05-08 21:42 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/rev/e2eb6bc06621 8014269: Add missing .PHONY targets to Main.gmk Reviewed-by: mchung, tbell ! common/makefiles/Main.gmk Changeset: 49ea9293fa49 Author: lana Date: 2013-05-09 14:23 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/rev/49ea9293fa49 Merge Changeset: 40bba0507f76 Author: lana Date: 2013-05-17 10:06 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/rev/40bba0507f76 Merge Changeset: eea249c1ecee Author: erikj Date: 2013-05-21 13:18 +0200 URL: http://hg.openjdk.java.net/jdk8/2d/rev/eea249c1ecee 8014508: Fix log levels in make Reviewed-by: tbell ! NewMakefile.gmk ! common/autoconf/spec.gmk.in Changeset: e83abb0a04ab Author: katleman Date: 2013-05-21 12:51 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/rev/e83abb0a04ab Merge Changeset: cb51fb4789ac Author: andrew Date: 2013-05-22 13:49 +0100 URL: http://hg.openjdk.java.net/jdk8/2d/rev/cb51fb4789ac 8015087: Provide debugging information for programs Summary: Enable debugging info on programs in OpenJDK builds Reviewed-by: erikj ! common/makefiles/NativeCompilation.gmk From lana.steuck at oracle.com Thu May 23 06:29:39 2013 From: lana.steuck at oracle.com (lana.steuck at oracle.com) Date: Thu, 23 May 2013 06:29:39 +0000 Subject: [OpenJDK 2D-Dev] hg: jdk8/2d/corba: Added tag jdk8-b90 for changeset c8286839d0df Message-ID: <20130523062942.5EA6C48C83@hg.openjdk.java.net> Changeset: 8f7ffb296385 Author: katleman Date: 2013-05-16 12:14 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/corba/rev/8f7ffb296385 Added tag jdk8-b90 for changeset c8286839d0df ! .hgtags From lana.steuck at oracle.com Thu May 23 06:29:39 2013 From: lana.steuck at oracle.com (lana.steuck at oracle.com) Date: Thu, 23 May 2013 06:29:39 +0000 Subject: [OpenJDK 2D-Dev] hg: jdk8/2d/jaxws: Added tag jdk8-b90 for changeset 3e5b9ea5ac35 Message-ID: <20130523062947.3034B48C84@hg.openjdk.java.net> Changeset: 0bb1a9fa56b0 Author: katleman Date: 2013-05-16 12:14 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/jaxws/rev/0bb1a9fa56b0 Added tag jdk8-b90 for changeset 3e5b9ea5ac35 ! .hgtags From lana.steuck at oracle.com Thu May 23 06:29:45 2013 From: lana.steuck at oracle.com (lana.steuck at oracle.com) Date: Thu, 23 May 2013 06:29:45 +0000 Subject: [OpenJDK 2D-Dev] hg: jdk8/2d/nashorn: 19 new changesets Message-ID: <20130523063004.355EB48C85@hg.openjdk.java.net> Changeset: 4ce88eec5078 Author: katleman Date: 2013-05-16 12:16 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/nashorn/rev/4ce88eec5078 Added tag jdk8-b90 for changeset 67ca019e3713 ! .hgtags Changeset: b754fb89367d Author: jlaskey Date: 2013-04-30 10:05 -0300 URL: http://hg.openjdk.java.net/jdk8/2d/nashorn/rev/b754fb89367d 8006220: Simplify PropertyMaps Reviewed-by: hannesw, lagergren Contributed-by: james.laskey at oracle.com ! src/jdk/nashorn/internal/codegen/MapCreator.java ! src/jdk/nashorn/internal/codegen/ObjectClassGenerator.java ! src/jdk/nashorn/internal/codegen/ObjectCreator.java ! src/jdk/nashorn/internal/objects/NativeDebug.java ! src/jdk/nashorn/internal/objects/NativeJSAdapter.java ! src/jdk/nashorn/internal/runtime/AccessorProperty.java ! src/jdk/nashorn/internal/runtime/Context.java ! src/jdk/nashorn/internal/runtime/Property.java ! src/jdk/nashorn/internal/runtime/PropertyHashMap.java ! src/jdk/nashorn/internal/runtime/PropertyMap.java ! src/jdk/nashorn/internal/runtime/ScriptObject.java ! src/jdk/nashorn/internal/runtime/SetMethodCreator.java - src/jdk/nashorn/internal/runtime/SpillProperty.java ! src/jdk/nashorn/internal/runtime/StructureLoader.java ! src/jdk/nashorn/internal/runtime/UserAccessorProperty.java ! src/jdk/nashorn/internal/scripts/JO.java ! src/jdk/nashorn/tools/Shell.java Changeset: 80cb02dedc83 Author: hannesw Date: 2013-05-02 09:19 +0200 URL: http://hg.openjdk.java.net/jdk8/2d/nashorn/rev/80cb02dedc83 8013729: SwitchPoint invalidation not working over prototype chain Reviewed-by: lagergren, sundar ! src/jdk/nashorn/internal/runtime/ScriptObject.java + test/script/basic/JDK-8013729.js + test/script/basic/JDK-8013729.js.EXPECTED Changeset: 7563c56ca565 Author: jlaskey Date: 2013-05-02 13:22 -0300 URL: http://hg.openjdk.java.net/jdk8/2d/nashorn/rev/7563c56ca565 8013794: JDK-8006220 caused an octane performance regression. Reviewed-by: lagergren, sundar Contributed-by: james.laskey at oracle.com ! src/jdk/nashorn/internal/codegen/ObjectCreator.java Changeset: 9c2376a250b6 Author: jlaskey Date: 2013-05-02 13:23 -0300 URL: http://hg.openjdk.java.net/jdk8/2d/nashorn/rev/9c2376a250b6 Merge Changeset: c8023561505b Author: jlaskey Date: 2013-05-02 15:01 -0300 URL: http://hg.openjdk.java.net/jdk8/2d/nashorn/rev/c8023561505b 8013796: load("fx:base.js") should not be in fx:bootstrap.js Reviewed-by: sundar, lagergren Contributed-by: james.laskey at oracle.com ! src/jdk/nashorn/internal/runtime/resources/fx/bootstrap.js Changeset: 5a3f7867e19c Author: lagergren Date: 2013-05-03 15:33 +0200 URL: http://hg.openjdk.java.net/jdk8/2d/nashorn/rev/5a3f7867e19c 8013477: Node.setSymbol needs to be copy on write - enable IR snapshots for recompilation based on callsite type specialization. [not enabled by default, hidden by a flag for now] Reviewed-by: jlaskey, hannesw ! bin/jjs ! src/jdk/nashorn/api/scripting/NashornScriptEngineFactory.java ! src/jdk/nashorn/internal/codegen/Attr.java ! src/jdk/nashorn/internal/codegen/CodeGenerator.java ! src/jdk/nashorn/internal/codegen/CompilationPhase.java ! src/jdk/nashorn/internal/codegen/Compiler.java ! src/jdk/nashorn/internal/codegen/FinalizeTypes.java ! src/jdk/nashorn/internal/codegen/ObjectCreator.java ! src/jdk/nashorn/internal/codegen/Splitter.java ! src/jdk/nashorn/internal/ir/Block.java ! src/jdk/nashorn/internal/ir/CatchNode.java ! src/jdk/nashorn/internal/ir/FunctionNode.java ! src/jdk/nashorn/internal/ir/LexicalContext.java ! src/jdk/nashorn/internal/ir/LexicalContextNode.java ! src/jdk/nashorn/internal/ir/LiteralNode.java ! src/jdk/nashorn/internal/ir/Node.java ! src/jdk/nashorn/internal/ir/Symbol.java ! src/jdk/nashorn/internal/objects/NativeRegExp.java ! src/jdk/nashorn/internal/parser/AbstractParser.java ! src/jdk/nashorn/internal/parser/Parser.java ! src/jdk/nashorn/internal/runtime/CompiledFunction.java ! src/jdk/nashorn/internal/runtime/CompiledFunctions.java ! src/jdk/nashorn/internal/runtime/Context.java ! src/jdk/nashorn/internal/runtime/JSONFunctions.java ! src/jdk/nashorn/internal/runtime/RecompilableScriptFunctionData.java ! src/jdk/nashorn/internal/runtime/ScriptEnvironment.java ! src/jdk/nashorn/internal/runtime/ScriptObject.java ! src/jdk/nashorn/internal/runtime/regexp/DefaultRegExp.java ! src/jdk/nashorn/internal/runtime/regexp/JoniRegExp.java ! src/jdk/nashorn/internal/runtime/regexp/RegExpScanner.java ! src/jdk/nashorn/internal/runtime/resources/Options.properties ! src/jdk/nashorn/tools/Shell.java + test/script/basic/paramspec.js + test/script/basic/paramspec.js.EXPECTED ! test/script/basic/runsunspider.js + test/script/currently-failing/logcoverage.js - test/script/trusted/logcoverage.js Changeset: 829b06307fb2 Author: lagergren Date: 2013-05-03 16:01 +0200 URL: http://hg.openjdk.java.net/jdk8/2d/nashorn/rev/829b06307fb2 8013871: mem usage histograms enabled with compiler logging level set to more specific than or equals to info when --print-mem-usage flag is used Reviewed-by: jlaskey, hannesw ! src/jdk/nashorn/internal/codegen/Compiler.java + src/jdk/nashorn/internal/ir/debug/ClassHistogramElement.java + src/jdk/nashorn/internal/ir/debug/ObjectSizeCalculator.java ! src/jdk/nashorn/internal/objects/Global.java ! src/jdk/nashorn/internal/runtime/Context.java ! src/jdk/nashorn/internal/runtime/ScriptEnvironment.java ! src/jdk/nashorn/internal/runtime/options/Options.java ! src/jdk/nashorn/internal/runtime/resources/Options.properties ! src/jdk/nashorn/tools/Shell.java Changeset: c0f0033d7b08 Author: hannesw Date: 2013-05-03 22:47 +0200 URL: http://hg.openjdk.java.net/jdk8/2d/nashorn/rev/c0f0033d7b08 8013878: ClassCastException in Regex Reviewed-by: jlaskey ! src/jdk/nashorn/internal/objects/NativeArray.java + test/script/basic/JDK-8013878.js + test/script/basic/JDK-8013878.js.EXPECTED Changeset: f98d22fa3cbc Author: hannesw Date: 2013-05-03 22:48 +0200 URL: http://hg.openjdk.java.net/jdk8/2d/nashorn/rev/f98d22fa3cbc 8013873: Regexp regression for escaped dash in character class Reviewed-by: jlaskey ! src/jdk/nashorn/internal/runtime/regexp/RegExpScanner.java + test/script/basic/JDK-8013873.js + test/script/basic/JDK-8013873.js.EXPECTED Changeset: f3dcb12c8439 Author: hannesw Date: 2013-05-03 22:50 +0200 URL: http://hg.openjdk.java.net/jdk8/2d/nashorn/rev/f3dcb12c8439 8013874: Function argument's prototype seem cached and wrongly reused Reviewed-by: jlaskey ! src/jdk/nashorn/internal/runtime/PropertyMap.java + test/script/basic/JDK-8013874.js + test/script/basic/JDK-8013874.js.EXPECTED Changeset: 544e17632e96 Author: lagergren Date: 2013-05-07 14:36 +0200 URL: http://hg.openjdk.java.net/jdk8/2d/nashorn/rev/544e17632e96 8013913: Removed Source field from all nodes except FunctionNode in order to save footprint Reviewed-by: jlaskey, attila ! src/jdk/nashorn/api/scripting/NashornScriptEngine.java ! src/jdk/nashorn/internal/codegen/Attr.java ! src/jdk/nashorn/internal/codegen/CodeGenerator.java ! src/jdk/nashorn/internal/codegen/FinalizeTypes.java ! src/jdk/nashorn/internal/codegen/FoldConstants.java ! src/jdk/nashorn/internal/codegen/Lower.java ! src/jdk/nashorn/internal/codegen/Splitter.java ! src/jdk/nashorn/internal/ir/AccessNode.java ! src/jdk/nashorn/internal/ir/BaseNode.java ! src/jdk/nashorn/internal/ir/BinaryNode.java ! src/jdk/nashorn/internal/ir/Block.java ! src/jdk/nashorn/internal/ir/BreakNode.java ! src/jdk/nashorn/internal/ir/BreakableNode.java ! src/jdk/nashorn/internal/ir/CallNode.java ! src/jdk/nashorn/internal/ir/CaseNode.java ! src/jdk/nashorn/internal/ir/CatchNode.java ! src/jdk/nashorn/internal/ir/ContinueNode.java ! src/jdk/nashorn/internal/ir/EmptyNode.java ! src/jdk/nashorn/internal/ir/ExecuteNode.java ! src/jdk/nashorn/internal/ir/ForNode.java ! src/jdk/nashorn/internal/ir/FunctionNode.java ! src/jdk/nashorn/internal/ir/IdentNode.java ! src/jdk/nashorn/internal/ir/IfNode.java ! src/jdk/nashorn/internal/ir/IndexNode.java ! src/jdk/nashorn/internal/ir/LabelNode.java ! src/jdk/nashorn/internal/ir/LexicalContext.java ! src/jdk/nashorn/internal/ir/LexicalContextNode.java ! src/jdk/nashorn/internal/ir/LineNumberNode.java ! src/jdk/nashorn/internal/ir/LiteralNode.java - src/jdk/nashorn/internal/ir/Location.java ! src/jdk/nashorn/internal/ir/LoopNode.java ! src/jdk/nashorn/internal/ir/Node.java ! src/jdk/nashorn/internal/ir/ObjectNode.java ! src/jdk/nashorn/internal/ir/PropertyNode.java ! src/jdk/nashorn/internal/ir/ReturnNode.java ! src/jdk/nashorn/internal/ir/RuntimeNode.java ! src/jdk/nashorn/internal/ir/SplitNode.java ! src/jdk/nashorn/internal/ir/SwitchNode.java ! src/jdk/nashorn/internal/ir/TernaryNode.java ! src/jdk/nashorn/internal/ir/ThrowNode.java ! src/jdk/nashorn/internal/ir/TryNode.java ! src/jdk/nashorn/internal/ir/UnaryNode.java ! src/jdk/nashorn/internal/ir/VarNode.java ! src/jdk/nashorn/internal/ir/WhileNode.java ! src/jdk/nashorn/internal/ir/WithNode.java ! src/jdk/nashorn/internal/ir/debug/JSONWriter.java ! src/jdk/nashorn/internal/objects/NativeDebug.java ! src/jdk/nashorn/internal/parser/AbstractParser.java ! src/jdk/nashorn/internal/parser/JSONParser.java ! src/jdk/nashorn/internal/parser/Parser.java ! src/jdk/nashorn/internal/runtime/RecompilableScriptFunctionData.java ! src/jdk/nashorn/internal/runtime/ScriptObject.java ! src/jdk/nashorn/internal/runtime/arrays/ArrayLikeIterator.java ! src/jdk/nashorn/internal/runtime/linker/LinkerCallSite.java ! src/jdk/nashorn/tools/Shell.java Changeset: fb1d7ea3e1b6 Author: lagergren Date: 2013-05-07 14:43 +0200 URL: http://hg.openjdk.java.net/jdk8/2d/nashorn/rev/fb1d7ea3e1b6 8013914: Removed explicit LineNumberNodes that were too brittle when code moves around, and also introduced unnecessary footprint. Introduced the Statement node and fixed dead code elimination issues that were discovered by the absense of labels for LineNumberNodes. Reviewed-by: jlaskey, attila ! make/project.properties ! src/jdk/nashorn/internal/codegen/Attr.java ! src/jdk/nashorn/internal/codegen/CodeGenerator.java ! src/jdk/nashorn/internal/codegen/FinalizeTypes.java ! src/jdk/nashorn/internal/codegen/FoldConstants.java ! src/jdk/nashorn/internal/codegen/Label.java ! src/jdk/nashorn/internal/codegen/Lower.java ! src/jdk/nashorn/internal/codegen/MethodEmitter.java ! src/jdk/nashorn/internal/codegen/Splitter.java ! src/jdk/nashorn/internal/ir/Block.java ! src/jdk/nashorn/internal/ir/BlockLexicalContext.java ! src/jdk/nashorn/internal/ir/BreakNode.java ! src/jdk/nashorn/internal/ir/BreakableNode.java ! src/jdk/nashorn/internal/ir/CallNode.java ! src/jdk/nashorn/internal/ir/CatchNode.java ! src/jdk/nashorn/internal/ir/ContinueNode.java ! src/jdk/nashorn/internal/ir/EmptyNode.java ! src/jdk/nashorn/internal/ir/ExecuteNode.java ! src/jdk/nashorn/internal/ir/ForNode.java ! src/jdk/nashorn/internal/ir/FunctionNode.java ! src/jdk/nashorn/internal/ir/IfNode.java ! src/jdk/nashorn/internal/ir/LabelNode.java ! src/jdk/nashorn/internal/ir/LexicalContextNode.java - src/jdk/nashorn/internal/ir/LineNumberNode.java ! src/jdk/nashorn/internal/ir/LoopNode.java ! src/jdk/nashorn/internal/ir/Node.java ! src/jdk/nashorn/internal/ir/ReturnNode.java ! src/jdk/nashorn/internal/ir/SplitNode.java + src/jdk/nashorn/internal/ir/Statement.java ! src/jdk/nashorn/internal/ir/SwitchNode.java ! src/jdk/nashorn/internal/ir/Symbol.java ! src/jdk/nashorn/internal/ir/ThrowNode.java ! src/jdk/nashorn/internal/ir/TryNode.java ! src/jdk/nashorn/internal/ir/VarNode.java ! src/jdk/nashorn/internal/ir/WhileNode.java ! src/jdk/nashorn/internal/ir/WithNode.java ! src/jdk/nashorn/internal/ir/debug/JSONWriter.java ! src/jdk/nashorn/internal/ir/debug/PrintVisitor.java ! src/jdk/nashorn/internal/ir/visitor/NodeOperatorVisitor.java ! src/jdk/nashorn/internal/ir/visitor/NodeVisitor.java ! src/jdk/nashorn/internal/objects/Global.java ! src/jdk/nashorn/internal/objects/NativeDebug.java ! src/jdk/nashorn/internal/parser/Parser.java ! src/jdk/nashorn/internal/runtime/Context.java ! src/jdk/nashorn/internal/runtime/linker/LinkerCallSite.java ! src/jdk/nashorn/tools/Shell.java + test/script/basic/no_line_numbers.js + test/script/basic/no_line_numbers.js.EXPECTED Changeset: d28180d97c61 Author: attila Date: 2013-05-08 15:51 +0200 URL: http://hg.openjdk.java.net/jdk8/2d/nashorn/rev/d28180d97c61 8013912: Nashorn needs to reuse temporary symbols Reviewed-by: jlaskey, lagergren ! src/jdk/nashorn/internal/codegen/Attr.java ! src/jdk/nashorn/internal/codegen/CompilationPhase.java ! src/jdk/nashorn/internal/codegen/Compiler.java ! src/jdk/nashorn/internal/codegen/CompilerConstants.java ! src/jdk/nashorn/internal/codegen/FinalizeTypes.java ! src/jdk/nashorn/internal/ir/AccessNode.java ! src/jdk/nashorn/internal/ir/BlockLexicalContext.java ! src/jdk/nashorn/internal/ir/CallNode.java ! src/jdk/nashorn/internal/ir/IdentNode.java ! src/jdk/nashorn/internal/ir/IndexNode.java ! src/jdk/nashorn/internal/ir/Node.java ! src/jdk/nashorn/internal/ir/RuntimeNode.java ! src/jdk/nashorn/internal/ir/Symbol.java + src/jdk/nashorn/internal/ir/TemporarySymbols.java ! src/jdk/nashorn/internal/ir/TypeOverride.java Changeset: 18ce1cd3026c Author: attila Date: 2013-05-08 16:48 +0200 URL: http://hg.openjdk.java.net/jdk8/2d/nashorn/rev/18ce1cd3026c 8014225: Rerun only failed 262 tests Reviewed-by: jlaskey, lagergren ! make/project.properties ! test/src/jdk/nashorn/internal/test/framework/AbstractScriptRunnable.java ! test/src/jdk/nashorn/internal/test/framework/ParallelTestRunner.java ! test/src/jdk/nashorn/internal/test/framework/TestConfig.java ! test/src/jdk/nashorn/internal/test/framework/TestFinder.java Changeset: 9073bcc4307b Author: lagergren Date: 2013-05-10 13:16 +0200 URL: http://hg.openjdk.java.net/jdk8/2d/nashorn/rev/9073bcc4307b 8014329: Slim down the label stack structure in CodeGenerator Reviewed-by: attila, jlaskey ! .hgignore ! src/jdk/nashorn/internal/codegen/Attr.java ! src/jdk/nashorn/internal/codegen/Compiler.java ! src/jdk/nashorn/internal/codegen/Label.java ! src/jdk/nashorn/internal/codegen/MethodEmitter.java ! src/jdk/nashorn/internal/ir/BlockLexicalContext.java Changeset: 098a4cedcaf2 Author: attila Date: 2013-05-14 12:39 +0200 URL: http://hg.openjdk.java.net/jdk8/2d/nashorn/rev/098a4cedcaf2 8014492: Make NashornLinker public Reviewed-by: hannesw, jlaskey ! src/jdk/nashorn/internal/runtime/linker/NashornLinker.java Changeset: 264bb0af9e4e Author: jlaskey Date: 2013-05-14 09:05 -0300 URL: http://hg.openjdk.java.net/jdk8/2d/nashorn/rev/264bb0af9e4e Merge - src/jdk/nashorn/internal/ir/LineNumberNode.java - src/jdk/nashorn/internal/ir/Location.java - src/jdk/nashorn/internal/runtime/SpillProperty.java - test/script/trusted/logcoverage.js Changeset: 6b9f41203800 Author: lana Date: 2013-05-17 10:14 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/nashorn/rev/6b9f41203800 Merge - src/jdk/nashorn/internal/ir/LineNumberNode.java - src/jdk/nashorn/internal/ir/Location.java - src/jdk/nashorn/internal/runtime/SpillProperty.java - test/script/trusted/logcoverage.js From lana.steuck at oracle.com Thu May 23 06:29:43 2013 From: lana.steuck at oracle.com (lana.steuck at oracle.com) Date: Thu, 23 May 2013 06:29:43 +0000 Subject: [OpenJDK 2D-Dev] hg: jdk8/2d/jaxp: 8 new changesets Message-ID: <20130523063011.0622248C86@hg.openjdk.java.net> Changeset: f39d61028d2f Author: katleman Date: 2013-05-16 12:14 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/jaxp/rev/f39d61028d2f Added tag jdk8-b90 for changeset 668acc0e1034 ! .hgtags Changeset: 452e1a182907 Author: dfuchs Date: 2013-05-06 18:50 +0200 URL: http://hg.openjdk.java.net/jdk8/2d/jaxp/rev/452e1a182907 8008738: Issue in com.sun.org.apache.xml.internal.serializer.Encodings causes some JCK tests to fail intermittently Summary: Encodings.java sometimes creates EncodingInfo objects whose java names are not recognized by the Charset API. This patch fixes that issue. Reviewed-by: joehw, alanb ! src/com/sun/org/apache/xml/internal/serializer/Encodings.java Changeset: 1e8d98012ab8 Author: joehw Date: 2013-05-08 23:38 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/jaxp/rev/1e8d98012ab8 8011653: Upgrade JDK8 to JAXP 1.5 Reviewed-by: alanb, dfuchs ! src/com/sun/org/apache/xalan/internal/XalanConstants.java ! src/com/sun/org/apache/xalan/internal/utils/SecuritySupport.java ! src/com/sun/org/apache/xalan/internal/xsltc/compiler/Import.java ! src/com/sun/org/apache/xalan/internal/xsltc/compiler/Include.java ! src/com/sun/org/apache/xalan/internal/xsltc/compiler/Parser.java ! src/com/sun/org/apache/xalan/internal/xsltc/compiler/XSLTC.java ! src/com/sun/org/apache/xalan/internal/xsltc/compiler/util/ErrorMessages.java ! src/com/sun/org/apache/xalan/internal/xsltc/compiler/util/ErrorMessages_ca.java ! src/com/sun/org/apache/xalan/internal/xsltc/compiler/util/ErrorMessages_cs.java ! src/com/sun/org/apache/xalan/internal/xsltc/compiler/util/ErrorMessages_de.java ! src/com/sun/org/apache/xalan/internal/xsltc/compiler/util/ErrorMessages_es.java ! src/com/sun/org/apache/xalan/internal/xsltc/compiler/util/ErrorMessages_fr.java ! src/com/sun/org/apache/xalan/internal/xsltc/compiler/util/ErrorMessages_it.java ! src/com/sun/org/apache/xalan/internal/xsltc/compiler/util/ErrorMessages_ja.java ! src/com/sun/org/apache/xalan/internal/xsltc/compiler/util/ErrorMessages_ko.java ! src/com/sun/org/apache/xalan/internal/xsltc/compiler/util/ErrorMessages_pt_BR.java ! src/com/sun/org/apache/xalan/internal/xsltc/compiler/util/ErrorMessages_sk.java ! src/com/sun/org/apache/xalan/internal/xsltc/compiler/util/ErrorMessages_sv.java ! src/com/sun/org/apache/xalan/internal/xsltc/compiler/util/ErrorMessages_zh_CN.java ! src/com/sun/org/apache/xalan/internal/xsltc/compiler/util/ErrorMessages_zh_TW.java ! src/com/sun/org/apache/xalan/internal/xsltc/compiler/util/ErrorMsg.java ! src/com/sun/org/apache/xalan/internal/xsltc/dom/LoadDocument.java ! src/com/sun/org/apache/xalan/internal/xsltc/runtime/AbstractTranslet.java ! src/com/sun/org/apache/xalan/internal/xsltc/trax/TemplatesHandlerImpl.java ! src/com/sun/org/apache/xalan/internal/xsltc/trax/TemplatesImpl.java ! src/com/sun/org/apache/xalan/internal/xsltc/trax/TransformerFactoryImpl.java ! src/com/sun/org/apache/xalan/internal/xsltc/trax/TransformerImpl.java ! src/com/sun/org/apache/xalan/internal/xsltc/trax/Util.java ! src/com/sun/org/apache/xerces/internal/dom/DOMConfigurationImpl.java ! src/com/sun/org/apache/xerces/internal/impl/Constants.java ! src/com/sun/org/apache/xerces/internal/impl/PropertyManager.java ! src/com/sun/org/apache/xerces/internal/impl/XMLDocumentFragmentScannerImpl.java ! src/com/sun/org/apache/xerces/internal/impl/XMLDocumentScannerImpl.java ! src/com/sun/org/apache/xerces/internal/impl/XMLEntityManager.java ! src/com/sun/org/apache/xerces/internal/impl/msg/XIncludeMessages.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XIncludeMessages_de.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XIncludeMessages_es.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XIncludeMessages_fr.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XIncludeMessages_it.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XIncludeMessages_ja.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XIncludeMessages_ko.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XIncludeMessages_pt_BR.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XIncludeMessages_sv.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XIncludeMessages_zh_CN.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XIncludeMessages_zh_TW.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XMLMessages.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XMLMessages_de.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XMLMessages_es.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XMLMessages_fr.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XMLMessages_it.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XMLMessages_ja.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XMLMessages_ko.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XMLMessages_pt_BR.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XMLMessages_sv.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XMLMessages_zh_CN.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XMLMessages_zh_TW.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XMLSchemaMessages.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XMLSchemaMessages_de.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XMLSchemaMessages_es.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XMLSchemaMessages_fr.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XMLSchemaMessages_it.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XMLSchemaMessages_ja.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XMLSchemaMessages_ko.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XMLSchemaMessages_pt_BR.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XMLSchemaMessages_sv.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XMLSchemaMessages_zh_CN.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XMLSchemaMessages_zh_TW.properties ! src/com/sun/org/apache/xerces/internal/impl/xs/XMLSchemaLoader.java ! src/com/sun/org/apache/xerces/internal/impl/xs/XMLSchemaValidator.java ! src/com/sun/org/apache/xerces/internal/impl/xs/XSDDescription.java ! src/com/sun/org/apache/xerces/internal/impl/xs/traversers/XSDHandler.java ! src/com/sun/org/apache/xerces/internal/jaxp/DocumentBuilderFactoryImpl.java ! src/com/sun/org/apache/xerces/internal/jaxp/DocumentBuilderImpl.java ! src/com/sun/org/apache/xerces/internal/jaxp/SAXParserFactoryImpl.java ! src/com/sun/org/apache/xerces/internal/jaxp/SAXParserImpl.java ! src/com/sun/org/apache/xerces/internal/jaxp/validation/AbstractXMLSchema.java ! src/com/sun/org/apache/xerces/internal/jaxp/validation/StreamValidatorHelper.java ! src/com/sun/org/apache/xerces/internal/jaxp/validation/ValidatorHandlerImpl.java ! src/com/sun/org/apache/xerces/internal/jaxp/validation/XMLSchemaFactory.java ! src/com/sun/org/apache/xerces/internal/jaxp/validation/XMLSchemaValidatorComponentManager.java ! src/com/sun/org/apache/xerces/internal/jaxp/validation/XSGrammarPoolContainer.java ! src/com/sun/org/apache/xerces/internal/parsers/XML11Configuration.java ! src/com/sun/org/apache/xerces/internal/utils/SecuritySupport.java ! src/com/sun/org/apache/xerces/internal/xinclude/XIncludeHandler.java ! src/com/sun/org/apache/xml/internal/utils/XMLReaderManager.java ! src/com/sun/xml/internal/stream/StaxXMLInputSource.java ! src/javax/xml/XMLConstants.java ! src/javax/xml/parsers/DocumentBuilderFactory.java ! src/javax/xml/parsers/SAXParser.java ! src/javax/xml/stream/XMLInputFactory.java ! src/javax/xml/transform/TransformerFactory.java ! src/javax/xml/validation/SchemaFactory.java ! src/javax/xml/validation/Validator.java Changeset: 6976616f5753 Author: lana Date: 2013-05-08 22:12 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/jaxp/rev/6976616f5753 Merge Changeset: 9e4dfe933ba9 Author: lana Date: 2013-05-09 14:23 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/jaxp/rev/9e4dfe933ba9 Merge Changeset: a229726149b4 Author: joehw Date: 2013-05-10 09:23 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/jaxp/rev/a229726149b4 8014333: javadoc error in JAXP 1.5 patch Reviewed-by: lancea ! src/javax/xml/stream/XMLInputFactory.java Changeset: 6443f5627744 Author: dfuchs Date: 2013-05-17 10:40 +0200 URL: http://hg.openjdk.java.net/jdk8/2d/jaxp/rev/6443f5627744 8013900: More warnings compiling jaxp. Summary: Some internal implementation classes in Jaxp were redefining equals() without redefining hashCode(). This patch adds hashCode() methods that are consistent with equals(). Reviewed-by: chegar, joehw ! src/com/sun/org/apache/bcel/internal/generic/BasicType.java ! src/com/sun/org/apache/bcel/internal/generic/BranchInstruction.java ! src/com/sun/org/apache/bcel/internal/generic/CodeExceptionGen.java ! src/com/sun/org/apache/bcel/internal/generic/LineNumberGen.java ! src/com/sun/org/apache/bcel/internal/generic/LocalVariableGen.java ! src/com/sun/org/apache/bcel/internal/generic/ReturnaddressType.java ! src/com/sun/org/apache/bcel/internal/generic/Select.java ! src/com/sun/org/apache/xalan/internal/xsltc/compiler/FunctionCall.java ! src/com/sun/org/apache/xalan/internal/xsltc/compiler/VariableRefBase.java ! src/com/sun/org/apache/xerces/internal/impl/dv/xs/AbstractDateTimeDV.java ! src/com/sun/org/apache/xerces/internal/impl/dv/xs/DecimalDV.java ! src/com/sun/org/apache/xerces/internal/impl/dv/xs/PrecisionDecimalDV.java ! src/com/sun/org/apache/xerces/internal/util/URI.java ! src/com/sun/org/apache/xerces/internal/xinclude/XIncludeHandler.java ! src/com/sun/org/apache/xml/internal/dtm/ref/DTMNodeProxy.java ! src/com/sun/org/apache/xml/internal/serializer/utils/URI.java ! src/com/sun/org/apache/xml/internal/utils/URI.java ! src/com/sun/org/apache/xpath/internal/Arg.java Changeset: e3065fb07877 Author: lana Date: 2013-05-17 10:07 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/jaxp/rev/e3065fb07877 Merge From lana.steuck at oracle.com Thu May 23 06:29:59 2013 From: lana.steuck at oracle.com (lana.steuck at oracle.com) Date: Thu, 23 May 2013 06:29:59 +0000 Subject: [OpenJDK 2D-Dev] hg: jdk8/2d/langtools: 45 new changesets Message-ID: <20130523063220.BBF1648C87@hg.openjdk.java.net> Changeset: 9717b9523d46 Author: katleman Date: 2013-05-16 12:16 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/langtools/rev/9717b9523d46 Added tag jdk8-b90 for changeset e19283cd30a4 ! .hgtags Changeset: abd153854f16 Author: jjg Date: 2013-05-03 09:56 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/langtools/rev/abd153854f16 8012728: Normalize @ignore comments on langtools tests Reviewed-by: vromero, mcimadamore ! test/com/sun/javadoc/_template/Template.java ! test/com/sun/javadoc/_template/TemplateComplete.java ! test/com/sun/javadoc/testTypeAnnotations/TestTypeAnnotations.java ! test/com/sun/javadoc/typeAnnotations/smoke/TestSmoke.java ! test/tools/javac/annotations/typeAnnotations/classfile/CombinationsTargetTest1.java ! test/tools/javac/annotations/typeAnnotations/classfile/CombinationsTargetTest2.java ! test/tools/javac/annotations/typeAnnotations/failures/CantAnnotateStaticClass.java ! test/tools/javac/annotations/typeAnnotations/newlocations/MultiCatch.java ! test/tools/javac/annotations/typeAnnotations/referenceinfos/MultiCatch.java ! test/tools/javac/defaultMethods/defaultMethodExecution/DefaultMethodRegressionTests.java ! test/tools/javac/generics/7034511/T7034511a.java ! test/tools/javac/generics/7034511/T7034511b.java ! test/tools/javac/generics/OverrideBridge.java ! test/tools/javac/lambda/TargetType36.java ! test/tools/javac/lambda/TargetType53.java ! test/tools/javac/lambda/TargetType54.java ! test/tools/javac/lambda/TargetType58.java ! test/tools/javac/lambda/TargetType59.java ! test/tools/javac/lambda/TargetType62.java ! test/tools/javac/processing/model/element/repeatingAnnotations/MixRepeatableAndOfficialContainerInheritedA1Test.java ! test/tools/javac/processing/model/element/repeatingAnnotations/MixRepeatableAndOfficialContainerInheritedB1Test.java ! test/tools/javac/processing/model/element/repeatingAnnotations/MixRepeatableAndOfficialContainerInheritedB2Test.java ! test/tools/javac/processing/model/element/repeatingAnnotations/RepeatableOverrideATest.java ! test/tools/javac/processing/model/element/repeatingAnnotations/RepeatableOverrideBTest.java ! test/tools/javap/output/RepeatingTypeAnnotations.java ! test/tools/javap/output/Tester.java Changeset: 38c4bade0ec1 Author: jjg Date: 2013-05-03 10:17 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/langtools/rev/38c4bade0ec1 8002387: Improve rendered HTML formatting for {@code} Reviewed-by: ksrini ! src/share/classes/com/sun/tools/javadoc/Comment.java + test/com/sun/javadoc/testLiteralCodeInPre/TestLiteralCodeInPre.java + test/com/sun/javadoc/testLiteralCodeInPre/pkg/Test.java Changeset: a2889739cf21 Author: jjg Date: 2013-05-03 15:08 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/langtools/rev/a2889739cf21 8000407: remove @GenerateNativeHeader Reviewed-by: vromero, darcy ! src/share/classes/com/sun/tools/javac/code/Symtab.java ! src/share/classes/com/sun/tools/javac/jvm/JNIWriter.java - src/share/classes/javax/tools/annotation/GenerateNativeHeader.java ! test/tools/javac/nativeHeaders/NativeHeaderTest.java ! test/tools/javac/nativeHeaders/javahComparison/CompareTest.java - test/tools/javac/nativeHeaders/javahComparison/TestClass2.java - test/tools/javac/nativeHeaders/javahComparison/TestClass3.java Changeset: d918b63a5509 Author: jjg Date: 2013-05-03 17:44 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/langtools/rev/d918b63a5509 8008768: Using {@inheritDoc} in simple tag defined via -tag fails Reviewed-by: jjg, mduigou Contributed-by: jonathan.gibbons at oracle.com, mike.duigou at oracle.com ! src/share/classes/com/sun/tools/doclets/formats/html/HtmlDocletWriter.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/InheritDocTaglet.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/ParamTaglet.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/ReturnTaglet.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/SeeTaglet.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/SimpleTaglet.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/ThrowsTaglet.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/util/DocFinder.java + test/com/sun/javadoc/InheritDocForUserTags/DocTest.java + test/com/sun/javadoc/testSimpleTagInherit/TestSimpleTagInherit.java + test/com/sun/javadoc/testSimpleTagInherit/p/BaseClass.java + test/com/sun/javadoc/testSimpleTagInherit/p/TestClass.java Changeset: e8987ce7fb4b Author: darcy Date: 2013-05-05 21:04 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/langtools/rev/e8987ce7fb4b 8013909: Fix doclint issues in javax.lang.model Reviewed-by: jjg ! src/share/classes/javax/annotation/processing/SupportedAnnotationTypes.java ! src/share/classes/javax/annotation/processing/SupportedOptions.java ! src/share/classes/javax/annotation/processing/SupportedSourceVersion.java ! src/share/classes/javax/lang/model/AnnotatedConstruct.java ! src/share/classes/javax/lang/model/element/NestingKind.java ! src/share/classes/javax/lang/model/util/ElementScanner6.java ! src/share/classes/javax/lang/model/util/Elements.java ! src/share/classes/javax/lang/model/util/Types.java Changeset: a7ff36d06fa2 Author: jlahoda Date: 2013-05-06 16:22 +0200 URL: http://hg.openjdk.java.net/jdk8/2d/langtools/rev/a7ff36d06fa2 8009724: Enhance the DocTree API with DocTreePath Summary: Adding DocTreePath and DocTreePathScanner similar to TreePath and TreePathScanner, respectively Reviewed-by: jjg Contributed-by: Ralph Benjamin Ruijs , Jan Lahoda + src/share/classes/com/sun/source/util/DocTreePath.java + src/share/classes/com/sun/source/util/DocTreePathScanner.java ! src/share/classes/com/sun/source/util/DocTrees.java ! src/share/classes/com/sun/tools/doclint/Checker.java ! src/share/classes/com/sun/tools/javac/api/JavacTrees.java + test/tools/javac/doctree/DocTreePathScannerTest.java ! test/tools/javac/doctree/ReferenceTest.java Changeset: 68142e69cafb Author: rfield Date: 2013-05-07 06:39 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/langtools/rev/68142e69cafb 8014023: When a method reference to a local class constructor is contained in a method whose number of parameters matches the number of constructor parameters compilation fails Reviewed-by: mcimadamore ! src/share/classes/com/sun/tools/javac/comp/LambdaToMethod.java + test/tools/javac/lambda/methodReference/TreeMakerParamsIsGoofy.java Changeset: 43c2f7cb9c76 Author: jjg Date: 2013-05-07 14:27 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/langtools/rev/43c2f7cb9c76 8004082: test/tools/javac/plugin/showtype/Test.java fails on windows: jtreg can't delete plugin.jar Reviewed-by: vromero, mcimadamore ! src/share/classes/com/sun/tools/javac/main/JavaCompiler.java ! src/share/classes/com/sun/tools/javac/main/Main.java ! src/share/classes/com/sun/tools/javac/processing/JavacProcessingEnvironment.java + src/share/classes/com/sun/tools/javac/util/ServiceLoader.java ! test/tools/javac/plugin/showtype/Test.java Changeset: 780014a234fa Author: jfranck Date: 2013-05-08 14:10 +0200 URL: http://hg.openjdk.java.net/jdk8/2d/langtools/rev/780014a234fa 8013485: javac can't handle annotations with a from a previous compilation unit Reviewed-by: mcimadamore ! src/share/classes/com/sun/tools/javac/comp/Check.java + test/tools/javac/annotations/clinit/AnnoWithClinit1.java + test/tools/javac/annotations/clinit/AnnoWithClinitFail.java + test/tools/javac/annotations/clinit/AnnoWithClinitFail.out Changeset: c68834236058 Author: lana Date: 2013-05-08 23:54 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/langtools/rev/c68834236058 Merge Changeset: ce7e1674eb73 Author: alanb Date: 2013-05-10 16:10 +0100 URL: http://hg.openjdk.java.net/jdk8/2d/langtools/rev/ce7e1674eb73 8014318: tools/javac/profiles/ProfileOptionTest.java needs modifying now that javax.script is in compact1 Reviewed-by: mchung ! test/tools/javac/profiles/ProfileOptionTest.java Changeset: 1c43236f6d69 Author: darcy Date: 2013-05-10 14:31 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/langtools/rev/1c43236f6d69 8014365: Restore Objects.requireNonNull(T, Supplier) Reviewed-by: jjg ! makefiles/BuildLangtools.gmk Changeset: e39669aea0bd Author: jjg Date: 2013-05-12 18:18 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/langtools/rev/e39669aea0bd 8014363: javac test class ToolTester handles classpath incorrectly Reviewed-by: ksrini ! test/tools/javac/api/6406133/T6406133.java ! test/tools/javac/api/6410643/T6410643.java ! test/tools/javac/api/6411310/T6411310.java ! test/tools/javac/api/6411333/T6411333.java ! test/tools/javac/api/6412656/T6412656.java ! test/tools/javac/api/6415780/T6415780.java ! test/tools/javac/api/6418694/T6418694.java ! test/tools/javac/api/6421111/T6421111.java ! test/tools/javac/api/6421756/T6421756.java ! test/tools/javac/api/6422215/T6422215.java ! test/tools/javac/api/6422327/T6422327.java ! test/tools/javac/api/6423003/T6423003.java ! test/tools/javac/api/6431257/T6431257.java ! test/tools/javac/api/6437349/T6437349.java ! test/tools/javac/api/6437999/T6437999.java ! test/tools/javac/api/6440333/T6440333.java ! test/tools/javac/api/6440528/T6440528.java ! test/tools/javac/api/6468404/T6468404.java ! test/tools/javac/api/6731573/T6731573.java ! test/tools/javac/api/6733837/T6733837.java ! test/tools/javac/api/TestJavacTaskScanner.java ! test/tools/javac/api/guide/Test.java ! test/tools/javac/api/lib/ToolTester.java Changeset: 8dd528992c15 Author: jlahoda Date: 2013-05-10 15:15 +0200 URL: http://hg.openjdk.java.net/jdk8/2d/langtools/rev/8dd528992c15 8012929: Trees.getElement should work not only for declaration trees, but also for use-trees Reviewed-by: jjg Contributed-by: Dusan Balek , Jan Lahoda ! src/share/classes/com/sun/tools/doclint/Env.java ! src/share/classes/com/sun/tools/javac/api/JavacTrees.java ! src/share/classes/com/sun/tools/javac/comp/Attr.java ! src/share/classes/com/sun/tools/javac/tree/TreeInfo.java + test/tools/javac/api/TestGetElementReference.java + test/tools/javac/api/TestGetElementReferenceData.java Changeset: 8ea30d59ac41 Author: jjg Date: 2013-05-14 10:14 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/langtools/rev/8ea30d59ac41 8010440: Replace int constants in LinkInfoImpl with enum Reviewed-by: bpatel, darcy ! src/share/classes/com/sun/tools/doclets/formats/html/AbstractExecutableMemberWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/AbstractIndexWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/AbstractMemberWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/AbstractTreeWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/AllClassesFrameWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/AnnotationTypeRequiredMemberWriterImpl.java ! src/share/classes/com/sun/tools/doclets/formats/html/AnnotationTypeWriterImpl.java ! src/share/classes/com/sun/tools/doclets/formats/html/ClassUseWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/ClassWriterImpl.java ! src/share/classes/com/sun/tools/doclets/formats/html/ConstantsSummaryWriterImpl.java ! src/share/classes/com/sun/tools/doclets/formats/html/EnumConstantWriterImpl.java ! src/share/classes/com/sun/tools/doclets/formats/html/FieldWriterImpl.java ! src/share/classes/com/sun/tools/doclets/formats/html/HtmlDocletWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/HtmlSerialFieldWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/LinkFactoryImpl.java ! src/share/classes/com/sun/tools/doclets/formats/html/LinkInfoImpl.java ! src/share/classes/com/sun/tools/doclets/formats/html/MethodWriterImpl.java ! src/share/classes/com/sun/tools/doclets/formats/html/NestedClassWriterImpl.java ! src/share/classes/com/sun/tools/doclets/formats/html/PackageFrameWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/PackageWriterImpl.java ! src/share/classes/com/sun/tools/doclets/formats/html/ProfilePackageFrameWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/PropertyWriterImpl.java ! src/share/classes/com/sun/tools/doclets/formats/html/SerializedFormWriterImpl.java ! src/share/classes/com/sun/tools/doclets/formats/html/TagletWriterImpl.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/util/links/LinkInfo.java Changeset: 74cd21f2c2fe Author: jjg Date: 2013-05-14 10:14 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/langtools/rev/74cd21f2c2fe 8011642: Remove LinkOutput in favor of direct use of Content Reviewed-by: bpatel, darcy ! src/share/classes/com/sun/tools/doclets/formats/html/AbstractExecutableMemberWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/AbstractIndexWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/AbstractMemberWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/AllClassesFrameWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/AnnotationTypeRequiredMemberWriterImpl.java ! src/share/classes/com/sun/tools/doclets/formats/html/AnnotationTypeWriterImpl.java ! src/share/classes/com/sun/tools/doclets/formats/html/ClassUseWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/ClassWriterImpl.java ! src/share/classes/com/sun/tools/doclets/formats/html/ConstantsSummaryWriterImpl.java ! src/share/classes/com/sun/tools/doclets/formats/html/EnumConstantWriterImpl.java ! src/share/classes/com/sun/tools/doclets/formats/html/FieldWriterImpl.java ! src/share/classes/com/sun/tools/doclets/formats/html/HtmlDocletWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/HtmlSerialFieldWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/LinkFactoryImpl.java ! src/share/classes/com/sun/tools/doclets/formats/html/MethodWriterImpl.java ! src/share/classes/com/sun/tools/doclets/formats/html/NestedClassWriterImpl.java ! src/share/classes/com/sun/tools/doclets/formats/html/PackageFrameWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/PackageTreeWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/PackageUseWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/PackageWriterImpl.java ! src/share/classes/com/sun/tools/doclets/formats/html/ProfilePackageFrameWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/PropertyWriterImpl.java ! src/share/classes/com/sun/tools/doclets/formats/html/SerializedFormWriterImpl.java ! src/share/classes/com/sun/tools/doclets/formats/html/TagletWriterImpl.java + src/share/classes/com/sun/tools/doclets/formats/html/markup/ContentBuilder.java ! src/share/classes/com/sun/tools/doclets/formats/html/markup/HtmlTree.java ! src/share/classes/com/sun/tools/doclets/formats/html/markup/HtmlWriter.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/Content.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/PackageSummaryBuilder.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/util/DocletConstants.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/util/links/LinkFactory.java ! test/com/sun/javadoc/testNewLanguageFeatures/TestNewLanguageFeatures.java ! test/com/sun/javadoc/testTypeAnnotations/TestTypeAnnotations.java Changeset: 7a9ef837e57f Author: jjg Date: 2013-05-14 10:14 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/langtools/rev/7a9ef837e57f 8011650: reduce use of RawHtml nodes in doclet Reviewed-by: darcy ! src/share/classes/com/sun/tools/doclets/formats/html/AbstractExecutableMemberWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/AbstractIndexWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/AbstractMemberWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/AllClassesFrameWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/FieldWriterImpl.java ! src/share/classes/com/sun/tools/doclets/formats/html/HtmlDocletWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/LinkFactoryImpl.java ! src/share/classes/com/sun/tools/doclets/formats/html/LinkInfoImpl.java ! src/share/classes/com/sun/tools/doclets/formats/html/MethodWriterImpl.java ! src/share/classes/com/sun/tools/doclets/formats/html/NestedClassWriterImpl.java ! src/share/classes/com/sun/tools/doclets/formats/html/PackageFrameWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/PackageIndexFrameWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/ProfilePackageFrameWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/ProfilePackageIndexFrameWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/PropertyWriterImpl.java ! src/share/classes/com/sun/tools/doclets/formats/html/SerializedFormWriterImpl.java ! src/share/classes/com/sun/tools/doclets/formats/html/SourceToHTMLConverter.java ! src/share/classes/com/sun/tools/doclets/formats/html/TagletWriterImpl.java ! src/share/classes/com/sun/tools/doclets/formats/html/markup/ContentBuilder.java ! src/share/classes/com/sun/tools/doclets/formats/html/markup/HtmlDocWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/markup/HtmlTree.java ! src/share/classes/com/sun/tools/doclets/formats/html/markup/HtmlWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/markup/RawHtml.java ! src/share/classes/com/sun/tools/doclets/formats/html/markup/StringContent.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/Content.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/util/links/LinkFactory.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/util/links/LinkInfo.java Changeset: 6ea964c78845 Author: jjg Date: 2013-05-14 10:14 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/langtools/rev/6ea964c78845 8011651: simplify LinkInfoImpl API Reviewed-by: darcy ! src/share/classes/com/sun/tools/doclets/formats/html/AbstractExecutableMemberWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/AbstractIndexWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/AllClassesFrameWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/AnnotationTypeWriterImpl.java ! src/share/classes/com/sun/tools/doclets/formats/html/ClassUseWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/ClassWriterImpl.java ! src/share/classes/com/sun/tools/doclets/formats/html/ConstantsSummaryWriterImpl.java ! src/share/classes/com/sun/tools/doclets/formats/html/HtmlDocletWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/LinkInfoImpl.java ! src/share/classes/com/sun/tools/doclets/formats/html/MethodWriterImpl.java ! src/share/classes/com/sun/tools/doclets/formats/html/NestedClassWriterImpl.java ! src/share/classes/com/sun/tools/doclets/formats/html/PackageFrameWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/PackageWriterImpl.java ! src/share/classes/com/sun/tools/doclets/formats/html/ProfilePackageFrameWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/SerializedFormWriterImpl.java Changeset: e6c5b5ee9fac Author: jjg Date: 2013-05-14 10:14 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/langtools/rev/e6c5b5ee9fac 8011662: Remove single instance of resource with HTML from doclet resource bundle Reviewed-by: bpatel, darcy ! src/share/classes/com/sun/tools/doclets/formats/html/ClassUseWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/PackageUseWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/markup/ContentBuilder.java ! src/share/classes/com/sun/tools/doclets/formats/html/resources/standard.properties Changeset: ce4f0769b4b2 Author: jjg Date: 2013-05-14 10:14 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/langtools/rev/ce4f0769b4b2 8011668: Allow HTMLWriter.getResource to take Content args Reviewed-by: darcy ! src/share/classes/com/sun/tools/doclets/formats/html/AbstractIndexWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/ClassUseWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/ConfigurationImpl.java ! src/share/classes/com/sun/tools/doclets/formats/html/FrameOutputWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/HelpWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/HtmlDocletWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/PackageTreeWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/markup/ContentBuilder.java ! src/share/classes/com/sun/tools/doclets/formats/html/markup/HtmlDocWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/markup/HtmlWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/resources/standard.properties ! src/share/classes/com/sun/tools/doclets/internal/toolkit/Configuration.java Changeset: 4c43e51433ba Author: jjg Date: 2013-05-14 10:14 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/langtools/rev/4c43e51433ba 8011288: Erratic/inconsistent indentation of signatures Reviewed-by: darcy ! src/share/classes/com/sun/tools/doclets/formats/html/AbstractExecutableMemberWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/AbstractMemberWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/ConstructorWriterImpl.java ! src/share/classes/com/sun/tools/doclets/formats/html/HtmlDocletWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/LinkFactoryImpl.java ! src/share/classes/com/sun/tools/doclets/formats/html/MethodWriterImpl.java ! src/share/classes/com/sun/tools/doclets/formats/html/markup/RawHtml.java ! src/share/classes/com/sun/tools/doclets/formats/html/markup/StringContent.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/Content.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/util/links/LinkFactory.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/util/links/LinkInfo.java + test/com/sun/javadoc/testIndentation/TestIndentation.java + test/com/sun/javadoc/testIndentation/p/Indent.java ! test/com/sun/javadoc/testNewLanguageFeatures/TestNewLanguageFeatures.java ! test/com/sun/javadoc/testTypeAnnotations/TestTypeAnnotations.java ! test/com/sun/javadoc/testTypeParams/TestTypeParameters.java Changeset: 7af0fa419a2b Author: jjg Date: 2013-05-14 10:14 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/langtools/rev/7af0fa419a2b 8012174: {@literal} and {@code} should use \"new\" Taglet, not old. Reviewed-by: darcy ! src/share/classes/com/sun/tools/doclets/formats/html/TagletWriterImpl.java ! src/share/classes/com/sun/tools/doclets/formats/html/markup/HtmlTag.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/CodeTaglet.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/ExpertTaglet.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/LiteralTaglet.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/TagletManager.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/TagletWriter.java Changeset: 6a5288a298fd Author: jjg Date: 2013-05-14 10:14 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/langtools/rev/6a5288a298fd 8012175: Convert TagletOutputImpl to use ContentBuilder instead of StringBuilder Reviewed-by: darcy ! src/share/classes/com/sun/tools/doclets/formats/html/HtmlDocletWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/HtmlSerialFieldWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/HtmlSerialMethodWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/TagletOutputImpl.java ! src/share/classes/com/sun/tools/doclets/formats/html/TagletWriterImpl.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/CodeTaglet.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/InheritDocTaglet.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/LiteralTaglet.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/Taglet.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/TagletOutput.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/TagletWriter.java ! test/com/sun/javadoc/AuthorDD/AuthorDD.java ! test/com/sun/javadoc/testConstructorIndent/TestConstructorIndent.java ! test/com/sun/javadoc/testHref/TestHref.java ! test/com/sun/javadoc/testHtmlDefinitionListTag/TestHtmlDefinitionListTag.java ! test/com/sun/javadoc/testJavaFX/TestJavaFX.java ! test/com/sun/javadoc/testNewLanguageFeatures/TestNewLanguageFeatures.java ! test/com/sun/javadoc/testParamTaglet/TestParamTaglet.java ! test/com/sun/javadoc/testSerializedFormDeprecationInfo/TestSerializedFormDeprecationInfo.java ! test/com/sun/javadoc/testSimpleTagInherit/TestSimpleTagInherit.java ! test/com/sun/javadoc/testSinceTag/TestSinceTag.java ! test/com/sun/javadoc/testValueTag/TestValueTag.java Changeset: 76a691e3e961 Author: jjg Date: 2013-05-14 10:14 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/langtools/rev/76a691e3e961 8012176: reduce use of TagletOutputImpl.toString Reviewed-by: darcy ! src/share/classes/com/sun/tools/doclets/formats/html/AbstractMemberWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/ClassWriterImpl.java ! src/share/classes/com/sun/tools/doclets/formats/html/HtmlDocletWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/HtmlSerialFieldWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/HtmlSerialMethodWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/TagletOutputImpl.java ! src/share/classes/com/sun/tools/doclets/formats/html/TagletWriterImpl.java ! test/com/sun/javadoc/testConstructorIndent/TestConstructorIndent.java ! test/com/sun/javadoc/testHtmlDefinitionListTag/TestHtmlDefinitionListTag.java ! test/com/sun/javadoc/testJavaFX/TestJavaFX.java ! test/com/sun/javadoc/testNewLanguageFeatures/TestNewLanguageFeatures.java ! test/com/sun/javadoc/testSerializedFormDeprecationInfo/TestSerializedFormDeprecationInfo.java ! test/com/sun/javadoc/testSinceTag/TestSinceTag.java Changeset: 937aa020c667 Author: jjg Date: 2013-05-14 10:14 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/langtools/rev/937aa020c667 8012177: HTMLDocletWriter methods should generate Content, not Strings Reviewed-by: darcy ! src/share/classes/com/sun/tools/doclets/formats/html/HtmlDocletWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/TagletWriterImpl.java Changeset: bd51ca92c013 Author: jjg Date: 2013-05-14 10:14 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/langtools/rev/bd51ca92c013 8012178: Cleanup use of Util.escapeHtmlChars Reviewed-by: darcy ! src/share/classes/com/sun/tools/doclets/formats/html/ClassUseWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/HtmlDocletWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/LinkFactoryImpl.java ! src/share/classes/com/sun/tools/doclets/formats/html/PackageUseWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/PackageWriterImpl.java ! src/share/classes/com/sun/tools/doclets/formats/html/SubWriterHolderWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/markup/HtmlDocWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/markup/HtmlTree.java ! src/share/classes/com/sun/tools/doclets/formats/html/markup/HtmlWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/markup/StringContent.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/PackageSummaryBuilder.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/ValueTaglet.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/util/Util.java Changeset: df4f44800923 Author: jjg Date: 2013-05-14 10:14 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/langtools/rev/df4f44800923 8012183: replace some uses of Configuration.getText with Configuration.getResource Reviewed-by: darcy ! src/share/classes/com/sun/tools/doclets/formats/html/AbstractMemberWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/AbstractPackageIndexWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/AnnotationTypeOptionalMemberWriterImpl.java ! src/share/classes/com/sun/tools/doclets/formats/html/AnnotationTypeRequiredMemberWriterImpl.java ! src/share/classes/com/sun/tools/doclets/formats/html/ClassUseWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/ConfigurationImpl.java ! src/share/classes/com/sun/tools/doclets/formats/html/ConstantsSummaryWriterImpl.java ! src/share/classes/com/sun/tools/doclets/formats/html/ConstructorWriterImpl.java ! src/share/classes/com/sun/tools/doclets/formats/html/EnumConstantWriterImpl.java ! src/share/classes/com/sun/tools/doclets/formats/html/FieldWriterImpl.java ! src/share/classes/com/sun/tools/doclets/formats/html/HtmlDocletWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/LinkFactoryImpl.java ! src/share/classes/com/sun/tools/doclets/formats/html/MethodWriterImpl.java ! src/share/classes/com/sun/tools/doclets/formats/html/NestedClassWriterImpl.java ! src/share/classes/com/sun/tools/doclets/formats/html/PackageFrameWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/PackageIndexFrameWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/PackageIndexWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/PackageUseWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/PackageWriterImpl.java ! src/share/classes/com/sun/tools/doclets/formats/html/ProfileIndexFrameWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/ProfilePackageFrameWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/ProfilePackageIndexFrameWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/PropertyWriterImpl.java ! src/share/classes/com/sun/tools/doclets/formats/html/SerializedFormWriterImpl.java ! src/share/classes/com/sun/tools/doclets/formats/html/markup/HtmlDocWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/markup/HtmlTree.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/Configuration.java Changeset: 051b728cfe90 Author: jjg Date: 2013-05-14 10:14 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/langtools/rev/051b728cfe90 8012180: Speed up removeNonInlineHtmlTags Reviewed-by: darcy ! src/share/classes/com/sun/tools/doclets/formats/html/HtmlDocletWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/SourceToHTMLConverter.java ! src/share/classes/com/sun/tools/doclets/formats/html/markup/HtmlTag.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/util/Util.java Changeset: 25c89a492f14 Author: jjg Date: 2013-05-14 10:14 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/langtools/rev/25c89a492f14 8012295: Cleanup JavaFX features in standard doclet Reviewed-by: darcy ! src/share/classes/com/sun/tools/doclets/formats/html/TagletWriterImpl.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/BasePropertyTaglet.java - src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/ExpertTaglet.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/TagletManager.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/TagletWriter.java ! test/com/sun/javadoc/testJavaFX/TestJavaFX.java Changeset: 081d7c72ee92 Author: jjg Date: 2013-05-14 10:14 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/langtools/rev/081d7c72ee92 8012311: Cleanup names and duplicatre code in TagletManager Reviewed-by: darcy ! src/share/classes/com/sun/tools/doclets/formats/html/HtmlDocletWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/HtmlSerialFieldWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/HtmlSerialMethodWriter.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/TagletManager.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/TagletWriter.java ! test/com/sun/javadoc/testJavaFX/TestJavaFX.java Changeset: ca8808c88f94 Author: jjg Date: 2013-05-14 10:14 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/langtools/rev/ca8808c88f94 8012308: Remove TagletOutput in favor of direct use of Content Reviewed-by: darcy ! src/share/classes/com/sun/tools/doclets/formats/html/AbstractMemberWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/ClassWriterImpl.java ! src/share/classes/com/sun/tools/doclets/formats/html/HtmlDocletWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/HtmlSerialFieldWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/HtmlSerialMethodWriter.java - src/share/classes/com/sun/tools/doclets/formats/html/TagletOutputImpl.java ! src/share/classes/com/sun/tools/doclets/formats/html/TagletWriterImpl.java ! src/share/classes/com/sun/tools/doclets/formats/html/markup/ContentBuilder.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/BasePropertyTaglet.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/BaseTaglet.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/CodeTaglet.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/DeprecatedTaglet.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/DocRootTaglet.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/InheritDocTaglet.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/LegacyTaglet.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/LiteralTaglet.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/ParamTaglet.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/ReturnTaglet.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/SeeTaglet.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/SimpleTaglet.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/Taglet.java - src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/TagletOutput.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/TagletWriter.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/ThrowsTaglet.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/ValueTaglet.java ! test/com/sun/javadoc/testNestedInlineTag/testtaglets/BoldTaglet.java ! test/com/sun/javadoc/testNestedInlineTag/testtaglets/GreenTaglet.java ! test/com/sun/javadoc/testNestedInlineTag/testtaglets/UnderlineTaglet.java ! test/com/sun/javadoc/testTaglets/taglets/Foo.java Changeset: c09b7234cded Author: rfield Date: 2013-05-14 11:11 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/langtools/rev/c09b7234cded 8012556: Implement lambda methods on interfaces as static 8006140: Javac NPE compiling Lambda expression on initialization expression of static field in interface Summary: Lambdas occurring in static contexts or those not needing instance information should be generated into static methods. This has long been the case for classes. However, as a work-around to the lack of support for statics on interfaces, interface lambda methods have been generated into default methods. For lambdas in interface static contexts (fields and static methods) this causes an NPE in javac because there is no 'this'. MethodHandles now support static methods on interfaces. This changeset allows lambda methods to be generated as static interface methods. An existing bug in Hotspot (8013875) is exposed in a test when the "-esa" flag is used. This test and another test that already exposed this bug have been marked with @ignore. Reviewed-by: mcimadamore ! src/share/classes/com/sun/tools/javac/comp/LambdaToMethod.java + test/tools/javac/lambda/LambdaInterfaceStaticField.java ! test/tools/javac/lambda/MethodReference66.java ! test/tools/javac/lambda/bytecode/TestLambdaBytecode.java ! test/tools/javac/lambda/lambdaExecution/InInterface.java Changeset: 46b9c25f7024 Author: jjg Date: 2013-05-14 12:55 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/langtools/rev/46b9c25f7024 8014461: genstubs creates default native methods Reviewed-by: alanb ! make/tools/genstubs/GenStubs.java Changeset: 0384683c64be Author: jjg Date: 2013-05-14 13:55 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/langtools/rev/0384683c64be 8014557: Mutable static field in HtmlDocletWriter Reviewed-by: ksrini ! src/share/classes/com/sun/tools/doclets/formats/html/HtmlDocletWriter.java Changeset: ddb4a2bfcd82 Author: jjg Date: 2013-05-14 15:04 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/langtools/rev/ddb4a2bfcd82 8013852: update reference impl for type-annotations Reviewed-by: jjg Contributed-by: wdietl at gmail.com, steve.sides at oracle.com, joel.franck at oracle.com, alex.buckley at oracle.com ! src/share/classes/com/sun/tools/classfile/ClassWriter.java ! src/share/classes/com/sun/tools/classfile/TypeAnnotation.java ! src/share/classes/com/sun/tools/doclets/formats/html/HtmlDocletWriter.java ! src/share/classes/com/sun/tools/javac/code/Annotations.java ! src/share/classes/com/sun/tools/javac/code/Attribute.java ! src/share/classes/com/sun/tools/javac/code/Printer.java ! src/share/classes/com/sun/tools/javac/code/Type.java ! src/share/classes/com/sun/tools/javac/code/TypeAnnotationPosition.java ! src/share/classes/com/sun/tools/javac/code/TypeAnnotations.java ! src/share/classes/com/sun/tools/javac/code/Types.java ! src/share/classes/com/sun/tools/javac/comp/Annotate.java ! src/share/classes/com/sun/tools/javac/comp/Attr.java ! src/share/classes/com/sun/tools/javac/comp/Check.java ! src/share/classes/com/sun/tools/javac/comp/LambdaToMethod.java ! src/share/classes/com/sun/tools/javac/comp/Lower.java ! src/share/classes/com/sun/tools/javac/comp/MemberEnter.java ! src/share/classes/com/sun/tools/javac/jvm/ClassReader.java ! src/share/classes/com/sun/tools/javac/jvm/ClassWriter.java ! src/share/classes/com/sun/tools/javac/jvm/Code.java ! src/share/classes/com/sun/tools/javac/jvm/Gen.java ! src/share/classes/com/sun/tools/javac/main/JavaCompiler.java ! src/share/classes/com/sun/tools/javac/parser/JavacParser.java ! src/share/classes/com/sun/tools/javac/resources/compiler.properties ! src/share/classes/com/sun/tools/javac/tree/JCTree.java ! src/share/classes/com/sun/tools/javac/tree/Pretty.java ! src/share/classes/com/sun/tools/javac/tree/TreeCopier.java ! src/share/classes/com/sun/tools/javac/tree/TreeMaker.java ! src/share/classes/com/sun/tools/javac/tree/TreeScanner.java ! src/share/classes/com/sun/tools/javac/tree/TreeTranslator.java ! src/share/classes/com/sun/tools/javac/util/List.java ! src/share/classes/com/sun/tools/javadoc/AnnotationTypeDocImpl.java ! src/share/classes/com/sun/tools/javadoc/AnnotationTypeElementDocImpl.java ! src/share/classes/com/sun/tools/javadoc/AnnotationValueImpl.java ! src/share/classes/com/sun/tools/javadoc/ExecutableMemberDocImpl.java ! src/share/classes/com/sun/tools/javadoc/FieldDocImpl.java ! src/share/classes/com/sun/tools/javadoc/JavadocEnter.java ! src/share/classes/com/sun/tools/javadoc/Messager.java ! src/share/classes/com/sun/tools/javadoc/TypeMaker.java ! src/share/classes/com/sun/tools/javadoc/TypeVariableImpl.java ! test/com/sun/javadoc/testTypeAnnotations/TestTypeAnnotations.java ! test/com/sun/javadoc/typeAnnotations/smoke/TestSmoke.java ! test/com/sun/javadoc/typeAnnotations/smoke/pkg/TargetTypes.java ! test/tools/javac/annotations/typeAnnotations/attribution/Scopes.java ! test/tools/javac/annotations/typeAnnotations/classfile/ClassfileTestHelper.java ! test/tools/javac/annotations/typeAnnotations/classfile/CombinationsTargetTest1.java ! test/tools/javac/annotations/typeAnnotations/classfile/CombinationsTargetTest2.java + test/tools/javac/annotations/typeAnnotations/classfile/CombinationsTargetTest3.java ! test/tools/javac/annotations/typeAnnotations/classfile/DeadCode.java ! test/tools/javac/annotations/typeAnnotations/classfile/NewTypeArguments.java + test/tools/javac/annotations/typeAnnotations/classfile/T8008762.java + test/tools/javac/annotations/typeAnnotations/classfile/T8008769.java + test/tools/javac/annotations/typeAnnotations/classfile/T8010015.java + test/tools/javac/annotations/typeAnnotations/classfile/TestNewCastArray.java ! test/tools/javac/annotations/typeAnnotations/classfile/TypeCasts.java ! test/tools/javac/annotations/typeAnnotations/classfile/Wildcards.java ! test/tools/javac/annotations/typeAnnotations/failures/LazyConstantValue.java + test/tools/javac/annotations/typeAnnotations/failures/LazyConstantValue.out ! test/tools/javac/annotations/typeAnnotations/failures/LintCast.out ! test/tools/javac/annotations/typeAnnotations/failures/StaticMethods.java ! test/tools/javac/annotations/typeAnnotations/failures/StaticMethods.out + test/tools/javac/annotations/typeAnnotations/failures/T8008751.java + test/tools/javac/annotations/typeAnnotations/failures/T8009360.java + test/tools/javac/annotations/typeAnnotations/failures/T8011722.java + test/tools/javac/annotations/typeAnnotations/failures/common/arrays/DeclarationAnnotation.java + test/tools/javac/annotations/typeAnnotations/failures/common/arrays/DeclarationAnnotation.out + test/tools/javac/annotations/typeAnnotations/failures/common/receiver/DeclarationAnnotation.java + test/tools/javac/annotations/typeAnnotations/failures/common/receiver/DeclarationAnnotation.out ! test/tools/javac/annotations/typeAnnotations/failures/common/receiver/Nesting.java ! test/tools/javac/annotations/typeAnnotations/failures/common/receiver/StaticThings.out ! test/tools/javac/annotations/typeAnnotations/failures/common/receiver/WrongType.java ! test/tools/javac/annotations/typeAnnotations/failures/common/receiver/WrongType.out ! test/tools/javac/annotations/typeAnnotations/failures/common/rest/MissingAnnotationValue.java ! test/tools/javac/annotations/typeAnnotations/failures/common/rest/MissingAnnotationValue.out + test/tools/javac/annotations/typeAnnotations/failures/common/wildcards/DeclarationAnnotation.java + test/tools/javac/annotations/typeAnnotations/failures/common/wildcards/DeclarationAnnotation.out + test/tools/javac/annotations/typeAnnotations/newlocations/AnonymousClass.java ! test/tools/javac/annotations/typeAnnotations/newlocations/Lambda.java ! test/tools/javac/annotations/typeAnnotations/newlocations/MultiCatch.java ! test/tools/javac/annotations/typeAnnotations/referenceinfos/Constructors.java ! test/tools/javac/annotations/typeAnnotations/referenceinfos/Driver.java ! test/tools/javac/annotations/typeAnnotations/referenceinfos/ExceptionParameters.java + test/tools/javac/annotations/typeAnnotations/referenceinfos/Initializers.java ! test/tools/javac/annotations/typeAnnotations/referenceinfos/Lambda.java ! test/tools/javac/annotations/typeAnnotations/referenceinfos/MethodThrows.java ! test/tools/javac/annotations/typeAnnotations/referenceinfos/MultiCatch.java ! test/tools/javac/annotations/typeAnnotations/referenceinfos/NestedTypes.java ! test/tools/javac/annotations/typeAnnotations/referenceinfos/NewObjects.java ! test/tools/javac/annotations/typeAnnotations/referenceinfos/ReferenceInfoUtil.java + test/tools/javac/annotations/typeAnnotations/referenceinfos/Test.java ! test/tools/javac/api/TestJavacTaskScanner.java + test/tools/javac/diags/examples/ArrayAndReceiver.java + test/tools/javac/diags/examples/IncorrectConstructorReceiverName.java + test/tools/javac/diags/examples/IncorrectConstructorReceiverType.java + test/tools/javac/diags/examples/IncorrectReceiverName.java + test/tools/javac/diags/examples/ReceiverParameterNotApplicableConstructor.java + test/tools/javac/diags/examples/VarargsAndReceiver.java ! test/tools/javac/lib/DPrinter.java + test/tools/javac/processing/model/type/BasicAnnoTests.java ! test/tools/javac/tree/SourceTreeScannerTest.java ! test/tools/javap/output/RepeatingTypeAnnotations.java ! test/tools/javap/typeAnnotations/NewArray.java ! test/tools/javap/typeAnnotations/Presence.java ! test/tools/javap/typeAnnotations/TypeCasts.java Changeset: 53b389eb39c1 Author: sogoel Date: 2013-05-14 18:02 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/langtools/rev/53b389eb39c1 8013163: Convert 4 tools multicatch tests to jtreg format Reviewed-by: jjg + test/tools/javac/multicatch/Pos11.java + test/tools/javac/multicatch/Pos12.java Changeset: 529fb3ed5d2a Author: jjg Date: 2013-05-14 21:08 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/langtools/rev/529fb3ed5d2a 8014323: Add VariableTree.getNameExpression Reviewed-by: darcy ! src/share/classes/com/sun/source/tree/VariableTree.java ! src/share/classes/com/sun/source/util/TreeScanner.java ! test/tools/javac/tree/SourceTreeScannerTest.java Changeset: bcd927639039 Author: darcy Date: 2013-05-15 00:00 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/langtools/rev/bcd927639039 8004133: Provide javax.lang.model.* implementation backed by core reflection Summary: Joint work by darcy and jfranck to provide sample code for JEP 119. Reviewed-by: jjg Contributed-by: joe.darcy at oracle.com, joel.franck at oracle.com + src/share/sample/language/model/CoreReflectionFactory.java Changeset: 05ec778794d0 Author: mcimadamore Date: 2013-05-15 14:00 +0100 URL: http://hg.openjdk.java.net/jdk8/2d/langtools/rev/05ec778794d0 8012003: Method diagnostics resolution need to be simplified in some cases Summary: Unfold method resolution diagnostics when they mention errors in poly expressions Reviewed-by: jjg, vromero ! src/share/classes/com/sun/tools/javac/comp/Attr.java ! src/share/classes/com/sun/tools/javac/comp/Resolve.java ! src/share/classes/com/sun/tools/javac/main/JavaCompiler.java ! src/share/classes/com/sun/tools/javac/main/Option.java ! src/share/classes/com/sun/tools/javac/resources/compiler.properties ! src/share/classes/com/sun/tools/javac/resources/javac.properties ! src/share/classes/com/sun/tools/javac/util/JCDiagnostic.java ! src/share/classes/com/sun/tools/javac/util/List.java ! src/share/classes/com/sun/tools/javac/util/Log.java + test/tools/javac/Diagnostics/compressed/T8012003a.java + test/tools/javac/Diagnostics/compressed/T8012003a.out + test/tools/javac/Diagnostics/compressed/T8012003b.java + test/tools/javac/Diagnostics/compressed/T8012003b.out + test/tools/javac/Diagnostics/compressed/T8012003c.java + test/tools/javac/Diagnostics/compressed/T8012003c.out ! test/tools/javac/diags/examples/BadArgTypesInLambda.java + test/tools/javac/diags/examples/CompressedDiags.java ! test/tools/javac/diags/examples/KindnameConstructor.java + test/tools/javac/diags/examples/ProbFoundReqFragment.java ! test/tools/javac/lambda/TargetType66.out Changeset: 33d1937af1a3 Author: mcimadamore Date: 2013-05-15 14:02 +0100 URL: http://hg.openjdk.java.net/jdk8/2d/langtools/rev/33d1937af1a3 8012685: Spurious raw types warning when using unbound method references Summary: Spurious raw type warning when unbound method reference qualifier parameter types are inferred from target Reviewed-by: jjg, vromero ! src/share/classes/com/sun/tools/javac/comp/Attr.java ! src/share/classes/com/sun/tools/javac/comp/Check.java + test/tools/javac/lambda/MethodReference67.java + test/tools/javac/lambda/MethodReference67.out Changeset: 78717f2d00e8 Author: mcimadamore Date: 2013-05-15 14:03 +0100 URL: http://hg.openjdk.java.net/jdk8/2d/langtools/rev/78717f2d00e8 8013222: Javac issues spurious raw type warnings when lambda has implicit parameter types Summary: Bad warnings and position for lambda inferred parameter types Reviewed-by: jjg, vromero ! src/share/classes/com/sun/tools/javac/comp/Attr.java + test/tools/javac/lambda/NoWarnOnImplicitParams.java + test/tools/javac/lambda/NoWarnOnImplicitParams.out Changeset: 31ef33db5e0e Author: rfield Date: 2013-05-15 06:53 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/langtools/rev/31ef33db5e0e 8010006: NPE in javac with interface super in lambda Reviewed-by: mcimadamore ! src/share/classes/com/sun/tools/javac/comp/LambdaToMethod.java + test/tools/javac/lambda/LambdaWithInterfaceSuper.java Changeset: 445b8b5ae9f4 Author: jjg Date: 2013-05-15 10:39 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/langtools/rev/445b8b5ae9f4 8006879: Detection of windows in sjavac fails. Reviewed-by: jjg Contributed-by: erik.joelsson at oracle.com ! src/share/classes/com/sun/tools/sjavac/server/CompilerThread.java Changeset: 997c0fae2b12 Author: lana Date: 2013-05-17 10:13 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/langtools/rev/997c0fae2b12 Merge - src/share/classes/com/sun/tools/doclets/formats/html/TagletOutputImpl.java - src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/ExpertTaglet.java - src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/TagletOutput.java - src/share/classes/javax/tools/annotation/GenerateNativeHeader.java - test/tools/javac/nativeHeaders/javahComparison/TestClass2.java - test/tools/javac/nativeHeaders/javahComparison/TestClass3.java From lana.steuck at oracle.com Thu May 23 06:30:26 2013 From: lana.steuck at oracle.com (lana.steuck at oracle.com) Date: Thu, 23 May 2013 06:30:26 +0000 Subject: [OpenJDK 2D-Dev] hg: jdk8/2d/hotspot: 85 new changesets Message-ID: <20130523063332.AA88848C88@hg.openjdk.java.net> Changeset: 625ddb0052e1 Author: amurillo Date: 2013-05-03 08:19 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/625ddb0052e1 8013800: new hotspot build - hs25-b32 Reviewed-by: jcoomes ! make/hotspot_version Changeset: c456f4510385 Author: sla Date: 2013-05-03 12:24 +0200 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/c456f4510385 8008453: JvmtiClassFileReconstituter does not recognize default methods Reviewed-by: acorn, sspitsyn ! src/share/vm/prims/jvmtiClassFileReconstituter.cpp Changeset: 0380df7c3cd0 Author: sla Date: 2013-05-03 12:26 +0200 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/0380df7c3cd0 8013785: Respect EXTRA_CFLAGS on windows Reviewed-by: mgronlun, rbackman, kvn ! make/windows/makefiles/compile.make ! make/windows/makefiles/defs.make Changeset: 31a4e55f8c9d Author: fparain Date: 2013-05-03 05:05 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/31a4e55f8c9d 8004095: Add support for JMX interface to Diagnostic Framework and Commands Reviewed-by: acorn, sla ! src/share/vm/classfile/vmSymbols.hpp ! src/share/vm/runtime/serviceThread.cpp ! src/share/vm/services/attachListener.cpp ! src/share/vm/services/diagnosticCommand.cpp ! src/share/vm/services/diagnosticCommand.hpp ! src/share/vm/services/diagnosticFramework.cpp ! src/share/vm/services/diagnosticFramework.hpp ! src/share/vm/services/jmm.h ! src/share/vm/services/management.cpp ! src/share/vm/services/management.hpp ! src/share/vm/services/nmtDCmd.cpp ! src/share/vm/services/nmtDCmd.hpp Changeset: 39fba0d6d9ad Author: fparain Date: 2013-05-03 05:17 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/39fba0d6d9ad Merge Changeset: bf089b838c9e Author: ccheung Date: 2013-05-02 16:55 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/bf089b838c9e 8012641: Perf_CreateLong creates perf counter of incorrect type Reviewed-by: mchung, hseigel, coleenp ! src/share/vm/prims/perf.cpp Changeset: a55b7b8c34af Author: zgu Date: 2013-05-03 13:00 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/a55b7b8c34af Merge Changeset: 9c8e2f44228d Author: dcubed Date: 2013-05-03 15:51 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/9c8e2f44228d Merge Changeset: 800078be49d2 Author: hseigel Date: 2013-05-06 09:10 -0400 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/800078be49d2 8013648: Guarantee(VerifyBeforeGC || VerifyDuringGC || VerifyBeforeExit || VerifyAfterGC) failed: too expensive Summary: Fix code to call correct version of function find_class(). Reviewed-by: coleenp, rdurbin, dcubed ! src/share/vm/classfile/systemDictionary.cpp Changeset: c18152e0554e Author: zgu Date: 2013-05-06 11:15 -0400 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/c18152e0554e 8013120: NMT: Kitchensink crashes with assert(next_region == NULL || !next_region->is_committed_region()) failed: Sanity check Summary: Fixed NMT to deal with releasing virtual memory region when there are still committed regions within it Reviewed-by: acorn, coleenp ! src/share/vm/memory/allocation.inline.hpp ! src/share/vm/runtime/os.cpp ! src/share/vm/runtime/os.hpp ! src/share/vm/services/memSnapshot.cpp + test/runtime/NMT/ReleaseCommittedMemory.java Changeset: da4d87770781 Author: zgu Date: 2013-05-06 08:49 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/da4d87770781 Merge Changeset: d9b08d62b95e Author: acorn Date: 2013-05-02 10:58 -0400 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/d9b08d62b95e 8010783: assert(s->refcount() != 0) failed: for create_overpasses Reviewed-by: kvn, dcubed ! src/share/vm/classfile/bytecodeAssembler.cpp Changeset: b7f3bf2ba33b Author: acorn Date: 2013-05-06 10:20 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/b7f3bf2ba33b Merge - agent/doc/c2replay.html Changeset: f916d5986c86 Author: acorn Date: 2013-05-06 12:36 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/f916d5986c86 Merge Changeset: 187154b7a226 Author: sla Date: 2013-05-06 19:49 +0200 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/187154b7a226 8009615: JvmtiClassFileReconstituter does not create BootstrapMethod attributes Reviewed-by: coleenp, sspitsyn ! src/share/vm/prims/jvmtiClassFileReconstituter.cpp ! src/share/vm/prims/jvmtiClassFileReconstituter.hpp Changeset: 3ecc6b9940de Author: sla Date: 2013-05-07 01:25 +0200 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/3ecc6b9940de Merge Changeset: b5fef8013a95 Author: sla Date: 2013-05-07 14:04 +0200 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/b5fef8013a95 8014044: Spelling error in JDK-8009615: boostrapmethod Reviewed-by: sspitsyn, coleenp ! src/share/vm/prims/jvmtiClassFileReconstituter.cpp ! src/share/vm/prims/jvmtiClassFileReconstituter.hpp Changeset: f6a055fcf47d Author: sla Date: 2013-05-07 14:33 +0200 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/f6a055fcf47d 8005038: remove crufty '_g' support from SA Reviewed-by: coleenp, mgronlun, rbackman ! agent/src/os/bsd/ps_core.c ! agent/src/os/linux/ps_core.c ! agent/src/os/solaris/proc/saproc.cpp ! agent/src/share/classes/sun/jvm/hotspot/HotSpotAgent.java ! agent/src/share/classes/sun/jvm/hotspot/LinuxVtblAccess.java ! agent/src/share/classes/sun/jvm/hotspot/debugger/bsd/BsdDebuggerLocal.java ! agent/src/share/classes/sun/jvm/hotspot/debugger/linux/LinuxDebuggerLocal.java Changeset: 33bcd9ead1d5 Author: ctornqvi Date: 2013-05-07 21:36 +0200 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/33bcd9ead1d5 8009577: Test test/closed/runtime/classunload broken Summary: Fixed tests to use new way of utilizing the WB API, fixed issue with where custom classloader got the classes from Reviewed-by: collins, mgerdin, zgu + test/runtime/ClassUnload/KeepAliveClass.java + test/runtime/ClassUnload/KeepAliveClassLoader.java + test/runtime/ClassUnload/KeepAliveObject.java + test/runtime/ClassUnload/KeepAliveSoftReference.java + test/runtime/ClassUnload/UnloadTest.java + test/runtime/ClassUnload/classes/test/Empty.java + test/runtime/testlibrary/ClassUnloadCommon.java Changeset: 58bb870a0cbd Author: emc Date: 2013-05-07 13:45 -0400 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/58bb870a0cbd 8009729: Refix hotspot jni_.h JNIEXPORT and JNIIMPORT definitions to match jdk version Summary: Update JNIEXPORT and JNIIMPORT to work with other compilers that don't necessarily have the __attribute__ type qualifier Reviewed-by: dholmes, dcubed, coleenp ! src/cpu/sparc/vm/jni_sparc.h ! src/cpu/x86/vm/jni_x86.h ! src/cpu/zero/vm/jni_zero.h Changeset: 7243490a6847 Author: coleenp Date: 2013-05-07 14:30 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/7243490a6847 Merge Changeset: e60b3fce2b02 Author: jiangli Date: 2013-05-06 19:57 -0400 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/e60b3fce2b02 8013067: Zero builds are broken after 8010862. Summary: Fixed broken Zero build. Reviewed-by: twisti, coleenp, kvn ! src/cpu/zero/vm/cppInterpreter_zero.cpp ! src/share/vm/interpreter/bytecodeInterpreter.cpp ! src/share/vm/oops/method.hpp Changeset: 27d2d456cd96 Author: jiangli Date: 2013-05-06 20:11 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/27d2d456cd96 Merge Changeset: 6b388e7d4905 Author: bpittore Date: 2013-05-07 10:19 -0400 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/6b388e7d4905 8013633: Cleanup platform ifdefs in unsafe.cpp Summary: Replace ifdefs with SUPPORTS_NATIVE_CX8 set in platform include file Reviewed-by: dholmes, dlong ! src/cpu/sparc/vm/globalDefinitions_sparc.hpp ! src/cpu/x86/vm/globalDefinitions_x86.hpp ! src/share/vm/prims/unsafe.cpp Changeset: a258a8351528 Author: vladidan Date: 2013-05-07 10:36 -0400 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/a258a8351528 Merge - agent/doc/c2replay.html Changeset: d3c98423c146 Author: jiangli Date: 2013-05-09 16:27 -0400 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/d3c98423c146 Merge Changeset: 1d0fba8a2a6d Author: brutisso Date: 2013-05-02 22:35 +0200 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/1d0fba8a2a6d 8013574: PrintMalloc conflicts with the command line parsing Summary: Make sure that _num_jvm_args is not updated until the new entry to _jvm_args_array has been added Reviewed-by: johnc, tamao, tschatzl ! src/share/vm/runtime/arguments.cpp Changeset: f14063dcd52a Author: brutisso Date: 2013-05-06 09:16 +0200 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/f14063dcd52a 8013791: G1: G1CollectorPolicy::initialize_flags() may set min_alignment > max_alignment Summary: Make sure max alignemnt is at least as large as min alignment Reviewed-by: johnc, jmasa, tschatzl ! src/share/vm/gc_implementation/g1/g1CollectorPolicy.cpp ! src/share/vm/memory/collectorPolicy.cpp + test/gc/g1/TestRegionAlignment.java Changeset: 30860066ae8f Author: jwilhelm Date: 2013-05-06 13:03 +0200 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/30860066ae8f Merge ! src/share/vm/runtime/arguments.cpp Changeset: d17700c82d7d Author: tschatzl Date: 2013-05-06 17:19 +0200 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/d17700c82d7d 8006088: Incompatible heap size flags accepted by VM Summary: Make processing of minimum, initial and maximum heap size more intiutive by removing previous limitations on allowed values, and make error reporting consistent. Further, fix errors in ergonomic heap sizing. Reviewed-by: johnc, jwilhelm, tamao ! src/share/vm/memory/collectorPolicy.cpp ! src/share/vm/prims/whitebox.cpp ! src/share/vm/runtime/arguments.cpp ! src/share/vm/runtime/globals.hpp ! test/testlibrary/whitebox/sun/hotspot/WhiteBox.java Changeset: b0d20fa374b4 Author: brutisso Date: 2013-05-06 21:30 +0200 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/b0d20fa374b4 8013872: G1: HeapRegionSeq::shrink_by() has invalid assert Summary: Refactored shrink_by() to only use region counts and not byte sizes Reviewed-by: johnc, tschatzl ! src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp ! src/share/vm/gc_implementation/g1/heapRegionSeq.cpp ! src/share/vm/gc_implementation/g1/heapRegionSeq.hpp + test/gc/g1/TestShrinkToOneRegion.java Changeset: a9d568b7df60 Author: jmasa Date: 2013-05-08 16:28 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/a9d568b7df60 8013032: CMS: assert(used() == used_after_gc && used_after_gc <= capacity()) failed: used: 0 used_after_gc: 292080 capacity: 1431699456 Reviewed-by: tschatzl, mgerdin, johnc ! src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp + test/gc/concurrentMarkSweep/CheckAllocateAndSystemGC.java Changeset: 06ab37f08701 Author: jmasa Date: 2013-05-08 17:12 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/06ab37f08701 8013184: CMS: Call reset_after_compaction() only if a compaction has been done Reviewed-by: mgerdin, johnc, tschatzl ! src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp ! src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.hpp + test/gc/concurrentMarkSweep/SystemGCOnForegroundCollector.java Changeset: 923ac8d1df95 Author: jwilhelm Date: 2013-05-09 12:23 +0200 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/923ac8d1df95 Merge Changeset: 194f52aa2f23 Author: johnc Date: 2013-05-09 11:16 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/194f52aa2f23 7176479: G1: JVM crashes on T5-8 system with 1.5 TB heap Summary: Refactor G1's hot card cache and card counts table into their own files. Simplify the card counts table, including removing the encoding of the card index in each entry. The card counts table now has a 1:1 correspondence with the cards spanned by heap. Space for the card counts table is reserved from virtual memory (rather than C heap) during JVM startup and is committed/expanded when the heap is expanded. Changes were also reviewed-by Vitaly Davidovich. Reviewed-by: tschatzl, jmasa ! make/excludeSrc.make ! src/share/vm/gc_implementation/g1/concurrentG1Refine.cpp ! src/share/vm/gc_implementation/g1/concurrentG1Refine.hpp + src/share/vm/gc_implementation/g1/g1CardCounts.cpp + src/share/vm/gc_implementation/g1/g1CardCounts.hpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp ! src/share/vm/gc_implementation/g1/g1GCPhaseTimes.cpp ! src/share/vm/gc_implementation/g1/g1GCPhaseTimes.hpp + src/share/vm/gc_implementation/g1/g1HotCardCache.cpp + src/share/vm/gc_implementation/g1/g1HotCardCache.hpp ! src/share/vm/gc_implementation/g1/g1RemSet.cpp ! src/share/vm/gc_implementation/g1/g1RemSet.hpp ! src/share/vm/gc_implementation/g1/g1_globals.hpp ! src/share/vm/runtime/arguments.cpp Changeset: 73652d89e7c4 Author: stefank Date: 2013-05-10 09:24 +0200 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/73652d89e7c4 Merge Changeset: 69494caf5790 Author: amurillo Date: 2013-05-10 11:14 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/69494caf5790 Merge Changeset: 1ae0472ff3a0 Author: amurillo Date: 2013-05-10 11:14 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/1ae0472ff3a0 Added tag hs25-b32 for changeset 69494caf5790 ! .hgtags Changeset: 1cdbd42c3e49 Author: katleman Date: 2013-05-16 12:14 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/1cdbd42c3e49 Added tag jdk8-b90 for changeset 1ae0472ff3a0 ! .hgtags Changeset: 6114c49b31b5 Author: amurillo Date: 2013-05-10 11:27 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/6114c49b31b5 8014279: new hotspot build - hs25-b33 Reviewed-by: jcoomes ! make/hotspot_version Changeset: 712a1e9c91f3 Author: coleenp Date: 2013-05-07 09:46 -0400 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/712a1e9c91f3 8013063: nsk/jvmti/RetransformClasses/retransform001 failed debug version on os::free Summary: Clear out class_file_bytes so they aren't deallocated twice Reviewed-by: dcubed, sspitsyn ! src/share/vm/prims/jvmtiRedefineClasses.cpp Changeset: 4674e409a9e6 Author: coleenp Date: 2013-05-07 18:51 -0400 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/4674e409a9e6 8014024: NPG: keep compiled ic methods from being deallocated in redefine classes Summary: Walk the compiledIC relocation records to keep Method* from being deallocated. Reviewed-by: dlong, kvn ! src/share/vm/code/nmethod.cpp Changeset: a1cc1d1e7ce5 Author: coleenp Date: 2013-05-07 16:17 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/a1cc1d1e7ce5 Merge Changeset: 28ae1d38d296 Author: coleenp Date: 2013-05-07 18:46 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/28ae1d38d296 Merge Changeset: 64340da5b68c Author: hseigel Date: 2013-05-08 08:20 -0400 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/64340da5b68c 8007018: RFE: -XX:+UseLargePages does not work with CDS Summary: Remove command line restriction. It should just work. Reviewed-by: ctornqvi, coleenp, dholmes ! src/share/vm/runtime/arguments.cpp Changeset: cbfe859bd244 Author: sla Date: 2013-05-08 15:37 +0200 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/cbfe859bd244 8013591: compiler/ciReplay/TestSA.sh fails in nightly Reviewed-by: coleenp, rbackman, dholmes ! agent/src/share/classes/sun/jvm/hotspot/ci/ciMethod.java ! agent/src/share/classes/sun/jvm/hotspot/oops/Method.java ! agent/src/share/classes/sun/jvm/hotspot/oops/MethodData.java Changeset: 0dc028fd5101 Author: sla Date: 2013-05-08 10:14 -0400 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/0dc028fd5101 Merge Changeset: 39ead0411f07 Author: bharadwaj Date: 2013-05-08 14:18 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/39ead0411f07 8013875: Incorrect vtable index being set during methodHandle creation for static Summary: Set vtable index as appropriate for static interface methods and for interface methods invoked via invokespecial. To be improved in a later enhancement to CallInfo. Reviewed-by: jrose, twisti ! src/share/vm/prims/methodHandles.cpp Changeset: 711016f146fd Author: dholmes Date: 2013-05-08 19:28 -0400 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/711016f146fd 8006997: ContendedPaddingWidth should be range-checked Summary: Constrain between zero and 8K Reviewed-by: dholmes, rbackman Contributed-by: Aleksey Shipilev ! src/share/vm/runtime/arguments.cpp Changeset: 9b77ca4ce35e Author: dholmes Date: 2013-05-08 19:38 -0400 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/9b77ca4ce35e Merge ! src/share/vm/runtime/arguments.cpp Changeset: c272092594bd Author: dholmes Date: 2013-05-08 21:06 -0400 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/c272092594bd Merge Changeset: 0b7f78069732 Author: rbackman Date: 2013-05-08 11:21 +0200 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/0b7f78069732 8008255: jvmtiExport.cpp::post_to_env() does not check malloc() return Reviewed-by: coleenp, dholmes, sla ! src/share/vm/prims/jvmtiExport.cpp Changeset: 735c995bf1a1 Author: rbackman Date: 2013-05-13 07:53 +0200 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/735c995bf1a1 Merge ! src/share/vm/runtime/arguments.cpp Changeset: 92ef81e2f571 Author: minqi Date: 2013-05-10 08:27 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/92ef81e2f571 8003557: NPG: Klass* const k should be const Klass* k. Summary: With NPG, const KlassOop klass which is in fact a definition converted to Klass* const, which is not the original intention. The right usage is converting them to const Klass*. Reviewed-by: coleenp, kvn Contributed-by: yumin.qi at oracle.com ! src/share/vm/c1/c1_Runtime1.cpp ! src/share/vm/classfile/verifier.cpp ! src/share/vm/classfile/verifier.hpp ! src/share/vm/gc_implementation/parallelScavenge/pcTasks.cpp ! src/share/vm/gc_implementation/parallelScavenge/psCompactionManager.cpp ! src/share/vm/gc_implementation/shared/markSweep.cpp ! src/share/vm/memory/heapInspection.cpp ! src/share/vm/memory/heapInspection.hpp ! src/share/vm/memory/universe.cpp ! src/share/vm/memory/universe.hpp ! src/share/vm/oops/constantPool.hpp ! src/share/vm/oops/instanceKlass.cpp ! src/share/vm/oops/instanceKlass.hpp ! src/share/vm/oops/klass.cpp ! src/share/vm/oops/klass.hpp ! src/share/vm/oops/method.cpp ! src/share/vm/oops/method.hpp ! src/share/vm/oops/methodData.hpp ! src/share/vm/prims/jvm.cpp ! src/share/vm/prims/jvmtiTagMap.cpp Changeset: 1fcfc045b229 Author: minqi Date: 2013-05-10 19:30 +0000 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/1fcfc045b229 Merge Changeset: 8b40495b9381 Author: minqi Date: 2013-05-13 18:08 +0000 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/8b40495b9381 Merge ! src/share/vm/oops/method.hpp Changeset: 43083e670adf Author: coleenp Date: 2013-05-13 15:37 -0400 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/43083e670adf 8005056: NPG: Crash after redefining java.lang.Object Summary: Need to walk array class vtables replacing old methods too if j.l.o redefined Reviewed-by: sspitsyn, dcubed, ctornqvi ! src/share/vm/classfile/dictionary.cpp ! src/share/vm/classfile/dictionary.hpp ! src/share/vm/classfile/systemDictionary.cpp ! src/share/vm/classfile/systemDictionary.hpp ! src/share/vm/oops/klass.hpp ! src/share/vm/prims/jvmtiRedefineClasses.cpp ! src/share/vm/prims/jvmtiRedefineClasses.hpp + test/runtime/RedefineObject/Agent.java + test/runtime/RedefineObject/TestRedefineObject.java ! test/testlibrary/ClassFileInstaller.java Changeset: a9270d9ecb13 Author: shade Date: 2013-05-14 11:34 +0400 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/a9270d9ecb13 8014448: Purge PrintCompactFieldsSavings Summary: Remove obsolete debugging code. Reviewed-by: dholmes, kvn Contributed-by: Aleksey Shipilev ! src/share/vm/classfile/classFileParser.cpp ! src/share/vm/runtime/globals.hpp Changeset: f944ba972151 Author: hseigel Date: 2013-05-14 09:17 -0400 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/f944ba972151 8014138: Add VM option to facilitate the writing of CDS tests Summary: Added the -XX:SharedArchiveFile option. Reviewed-by: coleenp, ccheung, acorn, dcubed, zgu ! src/share/vm/runtime/arguments.cpp ! src/share/vm/runtime/globals.hpp + test/runtime/SharedArchiveFile/SharedArchiveFile.java Changeset: f9be75d21404 Author: minqi Date: 2013-05-14 09:41 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/f9be75d21404 8012902: remove use of global operator new - take 2 Summary: The fix of 8010992, disable use of global operator new and new[] which caused failure on some tests. This takes two of the bugs also add ALLOW_OPERATOR_NEW_USAGE to prevent crash for third party code calling operator new of jvm on certain platforms. Reviewed-by: coleenp, dholmes, zgu Contributed-by: yumin.qi at oracle.com ! make/bsd/makefiles/fastdebug.make ! make/bsd/makefiles/vm.make ! src/os/windows/vm/os_windows.cpp ! src/share/vm/ci/ciReplay.cpp ! src/share/vm/classfile/altHashing.cpp ! src/share/vm/gc_implementation/concurrentMarkSweep/cmsCollectorPolicy.cpp ! src/share/vm/gc_implementation/g1/heapRegionRemSet.cpp ! src/share/vm/memory/allocation.cpp ! src/share/vm/memory/allocation.hpp ! src/share/vm/memory/allocation.inline.hpp ! src/share/vm/memory/cardTableModRefBS.cpp ! src/share/vm/memory/cardTableModRefBS.hpp ! src/share/vm/memory/cardTableRS.cpp ! src/share/vm/memory/cardTableRS.hpp ! src/share/vm/memory/collectorPolicy.cpp ! src/share/vm/memory/memRegion.cpp ! src/share/vm/memory/memRegion.hpp ! src/share/vm/opto/idealGraphPrinter.hpp ! src/share/vm/runtime/handles.cpp ! src/share/vm/runtime/handles.hpp ! src/share/vm/runtime/objectMonitor.hpp ! src/share/vm/runtime/reflectionUtils.hpp ! src/share/vm/runtime/unhandledOops.hpp ! src/share/vm/runtime/vmStructs.cpp ! src/share/vm/utilities/events.hpp ! src/share/vm/utilities/quickSort.cpp ! src/share/vm/utilities/workgroup.cpp ! src/share/vm/utilities/workgroup.hpp Changeset: 513a5298c1dd Author: minqi Date: 2013-05-14 17:33 +0000 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/513a5298c1dd Merge Changeset: d15464bfd4d0 Author: roland Date: 2013-05-03 09:32 +0200 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/d15464bfd4d0 8012037: Test8009761.java "Failed: init recursive calls: 7224. After deopt 58824" Summary: test shouldn't be run with a modified CompileThreshold Reviewed-by: kvn ! test/compiler/8009761/Test8009761.java Changeset: e76dd894b984 Author: roland Date: 2013-04-24 14:26 +0200 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/e76dd894b984 8012292: optimized build with GCC broken Summary: Some #ifndef PRODUCT should be #ifdef ASSERT Reviewed-by: kvn, twisti Contributed-by: gdub ! make/jprt.properties ! src/share/vm/classfile/classFileParser.cpp ! src/share/vm/classfile/vmSymbols.cpp ! src/share/vm/opto/runtime.cpp ! src/share/vm/utilities/quickSort.cpp Changeset: d73c88e524ff Author: kvn Date: 2013-05-03 15:35 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/d73c88e524ff Merge ! src/share/vm/classfile/classFileParser.cpp Changeset: f0bc60565ba8 Author: twisti Date: 2013-05-06 13:53 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/f0bc60565ba8 7196277: JSR 292: Two jck/runtime tests crash on java.lang.invoke.MethodHandle.invokeExact Reviewed-by: jrose, kvn ! src/share/vm/oops/method.cpp ! src/share/vm/prims/methodHandles.cpp ! src/share/vm/prims/nativeLookup.cpp ! src/share/vm/runtime/sharedRuntime.cpp Changeset: aabf54ccedb1 Author: twisti Date: 2013-05-06 19:49 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/aabf54ccedb1 8008772: remove gamma launcher Reviewed-by: kvn, neliasso, ctornqvi ! make/Makefile ! make/bsd/makefiles/buildtree.make - make/bsd/makefiles/launcher.make ! make/bsd/makefiles/vm.make + make/hotspot.script ! make/linux/makefiles/buildtree.make - make/linux/makefiles/launcher.make ! make/linux/makefiles/vm.make ! make/solaris/makefiles/buildtree.make - make/solaris/makefiles/launcher.make ! make/solaris/makefiles/vm.make ! make/windows/makefiles/debug.make ! make/windows/makefiles/fastdebug.make - make/windows/makefiles/launcher.make ! make/windows/makefiles/product.make ! make/windows/makefiles/projectcreator.make ! make/windows/projectfiles/common/Makefile - src/os/posix/launcher/java_md.c - src/os/posix/launcher/java_md.h - src/os/posix/launcher/launcher.script - src/os/windows/launcher/java_md.c - src/os/windows/launcher/java_md.h ! src/share/tools/ProjectCreator/BuildConfig.java ! src/share/tools/ProjectCreator/WinGammaPlatformVC10.java - src/share/tools/launcher/java.c - src/share/tools/launcher/java.h - src/share/tools/launcher/jli_util.c - src/share/tools/launcher/jli_util.h - src/share/tools/launcher/wildcard.c - src/share/tools/launcher/wildcard.h Changeset: 6f3fd5150b67 Author: kvn Date: 2013-05-08 15:08 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/6f3fd5150b67 6934604: enable parts of EliminateAutoBox by default Summary: Resurrected autobox elimination code and enabled part of it by default. Reviewed-by: roland, twisti ! src/share/vm/ci/ciInstanceKlass.cpp ! src/share/vm/ci/ciInstanceKlass.hpp ! src/share/vm/ci/ciMethod.cpp ! src/share/vm/ci/ciMethod.hpp ! src/share/vm/classfile/vmSymbols.hpp ! src/share/vm/compiler/compileBroker.cpp ! src/share/vm/opto/bytecodeInfo.cpp ! src/share/vm/opto/c2_globals.hpp ! src/share/vm/opto/c2compiler.cpp ! src/share/vm/opto/callGenerator.cpp ! src/share/vm/opto/callGenerator.hpp ! src/share/vm/opto/callnode.cpp ! src/share/vm/opto/callnode.hpp ! src/share/vm/opto/cfgnode.cpp ! src/share/vm/opto/compile.cpp ! src/share/vm/opto/compile.hpp ! src/share/vm/opto/doCall.cpp ! src/share/vm/opto/escape.cpp ! src/share/vm/opto/graphKit.cpp ! src/share/vm/opto/ifnode.cpp ! src/share/vm/opto/library_call.cpp ! src/share/vm/opto/loopPredicate.cpp ! src/share/vm/opto/macro.cpp ! src/share/vm/opto/macro.hpp ! src/share/vm/opto/memnode.cpp ! src/share/vm/opto/memnode.hpp ! src/share/vm/opto/multnode.cpp ! src/share/vm/opto/multnode.hpp ! src/share/vm/opto/node.cpp ! src/share/vm/opto/node.hpp ! src/share/vm/opto/parse.hpp ! src/share/vm/opto/parse1.cpp ! src/share/vm/opto/parse2.cpp ! src/share/vm/opto/parse3.cpp ! src/share/vm/opto/parseHelper.cpp ! src/share/vm/opto/phase.cpp ! src/share/vm/opto/phase.hpp ! src/share/vm/opto/phaseX.cpp ! src/share/vm/opto/type.cpp ! src/share/vm/opto/type.hpp ! src/share/vm/runtime/arguments.cpp ! src/share/vm/runtime/vmStructs.cpp + test/compiler/6934604/TestByteBoxing.java + test/compiler/6934604/TestDoubleBoxing.java + test/compiler/6934604/TestFloatBoxing.java + test/compiler/6934604/TestIntBoxing.java + test/compiler/6934604/TestLongBoxing.java + test/compiler/6934604/TestShortBoxing.java Changeset: 70120f47d403 Author: kvn Date: 2013-05-09 17:28 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/70120f47d403 8014189: JVM crash with SEGV in ConnectionGraph::record_for_escape_analysis() Summary: Add NULL checks and asserts for Type::make_ptr() returned value. Reviewed-by: twisti ! src/share/vm/opto/escape.cpp ! src/share/vm/opto/lcm.cpp ! src/share/vm/opto/library_call.cpp ! src/share/vm/opto/machnode.cpp ! src/share/vm/opto/macro.cpp ! src/share/vm/opto/node.cpp ! src/share/vm/opto/node.hpp ! src/share/vm/opto/output.cpp ! src/share/vm/opto/subnode.cpp Changeset: 8bcfd9ce2c6b Author: twisti Date: 2013-05-13 12:43 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/8bcfd9ce2c6b Merge - make/bsd/makefiles/launcher.make - make/linux/makefiles/launcher.make - make/solaris/makefiles/launcher.make - make/windows/makefiles/launcher.make - src/os/posix/launcher/java_md.c - src/os/posix/launcher/java_md.h - src/os/posix/launcher/launcher.script - src/os/windows/launcher/java_md.c - src/os/windows/launcher/java_md.h - src/share/tools/launcher/java.c - src/share/tools/launcher/java.h - src/share/tools/launcher/jli_util.c - src/share/tools/launcher/jli_util.h - src/share/tools/launcher/wildcard.c - src/share/tools/launcher/wildcard.h ! src/share/vm/classfile/vmSymbols.hpp ! src/share/vm/runtime/arguments.cpp Changeset: 1da5d70655e9 Author: kvn Date: 2013-05-13 14:36 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/1da5d70655e9 8014286: failed java/lang/Math/DivModTests.java after 6934604 changes Summary: Corrected escape state for the result of boxing method. Added force inlining executed boxing methods. Reviewed-by: twisti ! src/share/vm/opto/bytecodeInfo.cpp ! src/share/vm/opto/escape.cpp Changeset: cd6f6fccd287 Author: iignatyev Date: 2013-05-15 22:44 +0400 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/cd6f6fccd287 8014068: TEST_BUG: compiler/ciReplay/TestSA.sh fails on Windows: core wasn't generated Reviewed-by: kvn ! test/compiler/ciReplay/TestSA.sh ! test/compiler/ciReplay/common.sh Changeset: e484fe2abebd Author: twisti Date: 2013-05-16 13:47 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/e484fe2abebd Merge - make/bsd/makefiles/launcher.make ! make/bsd/makefiles/vm.make - make/linux/makefiles/launcher.make - make/solaris/makefiles/launcher.make - make/windows/makefiles/launcher.make - src/os/posix/launcher/java_md.c - src/os/posix/launcher/java_md.h - src/os/posix/launcher/launcher.script - src/os/windows/launcher/java_md.c - src/os/windows/launcher/java_md.h - src/share/tools/launcher/java.c - src/share/tools/launcher/java.h - src/share/tools/launcher/jli_util.c - src/share/tools/launcher/jli_util.h - src/share/tools/launcher/wildcard.c - src/share/tools/launcher/wildcard.h ! src/share/vm/classfile/classFileParser.cpp ! src/share/vm/oops/method.cpp ! src/share/vm/prims/methodHandles.cpp ! src/share/vm/runtime/arguments.cpp ! src/share/vm/runtime/vmStructs.cpp ! src/share/vm/utilities/quickSort.cpp Changeset: 7a95933197d0 Author: tschatzl Date: 2013-05-13 09:45 +0200 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/7a95933197d0 8014058: Regression tests for 8006088 Summary: The patch for 8006088 misses regression tests after a merge error, this CR provides them. Reviewed-by: jwilhelm, tamao, jmasa ! src/share/vm/memory/collectorPolicy.cpp + test/gc/arguments/TestCMSHeapSizeFlags.java + test/gc/arguments/TestG1HeapSizeFlags.java + test/gc/arguments/TestMaxHeapSizeTools.java + test/gc/arguments/TestMinInitialErgonomics.java + test/gc/arguments/TestParallelHeapSizeFlags.java + test/gc/arguments/TestSerialHeapSizeFlags.java Changeset: 4868caa99ecf Author: brutisso Date: 2013-05-13 14:09 +0200 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/4868caa99ecf 8014339: Improve assert and remove some dead code from parMarkBitMap.hpp/cpp Reviewed-by: stefank, tschatzl ! src/share/vm/gc_implementation/parallelScavenge/parMarkBitMap.cpp ! src/share/vm/gc_implementation/parallelScavenge/parMarkBitMap.hpp - src/share/vm/gc_implementation/parallelScavenge/parMarkBitMap.inline.hpp ! src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp Changeset: 0a2986f36965 Author: tschatzl Date: 2013-05-14 17:08 +0200 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/0a2986f36965 8014489: tests/gc/arguments/Test(Serial|CMS|Parallel|G1)HeapSizeFlags jtreg tests invoke wrong class Summary: Some jtreg tests reference unknown classes in the @run and @build lines. This change fixes them. Reviewed-by: stefank, ehelin ! test/gc/arguments/TestCMSHeapSizeFlags.java ! test/gc/arguments/TestG1HeapSizeFlags.java ! test/gc/arguments/TestParallelHeapSizeFlags.java ! test/gc/arguments/TestSerialHeapSizeFlags.java Changeset: 12f651e29f6b Author: tschatzl Date: 2013-05-15 11:05 +0200 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/12f651e29f6b 6843347: Boundary values in some public GC options cause crashes Summary: Setting some public integer options to specific values causes crashes or undefined GC behavior. This patchset adds the necessary argument checking for these options. Reviewed-by: jmasa, brutisso ! src/cpu/sparc/vm/globals_sparc.hpp ! src/cpu/x86/vm/globals_x86.hpp ! src/cpu/zero/vm/globals_zero.hpp ! src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp ! src/share/vm/gc_implementation/parallelScavenge/psMarkSweep.cpp ! src/share/vm/gc_implementation/parallelScavenge/psMarkSweepDecorator.cpp ! src/share/vm/gc_implementation/shared/markSweep.cpp ! src/share/vm/gc_implementation/shared/markSweep.hpp ! src/share/vm/memory/collectorPolicy.cpp ! src/share/vm/memory/space.hpp ! src/share/vm/runtime/arguments.cpp ! src/share/vm/runtime/globals.hpp Changeset: eba99d16dc6f Author: tamao Date: 2013-05-15 10:41 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/eba99d16dc6f 8007763: Refactoring: split up compute_generation_free_space() into two functions for class PSAdaptiveSizePolicy Summary: split up compute_generation_free_space() into two functions: compute_eden_space_size() + compute_old_gen_free_space(), each of which (if needed) can be reused without executing an overhead of the other. Reviewed-by: jmasa, tschatzl Contributed-by: tamao ! src/share/vm/gc_implementation/parallelScavenge/psAdaptiveSizePolicy.cpp ! src/share/vm/gc_implementation/parallelScavenge/psAdaptiveSizePolicy.hpp ! src/share/vm/gc_implementation/parallelScavenge/psMarkSweep.cpp ! src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp ! src/share/vm/gc_implementation/parallelScavenge/psScavenge.cpp Changeset: bed55d125e37 Author: johnc Date: 2013-05-15 22:35 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/bed55d125e37 8014408: G1: crashes with assert assert(prev_committed_card_num == _committed_max_card_num) failed Summary: Mismatch in the card number calculation between next and previous committed sizes of the card counts table. Reviewed-by: jmasa, tschatzl ! src/share/vm/gc_implementation/g1/g1CardCounts.cpp ! src/share/vm/gc_implementation/g1/g1CardCounts.hpp Changeset: 05a17f270c7e Author: tschatzl Date: 2013-05-16 13:02 +0200 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/05a17f270c7e 8014240: G1: Add remembered set size information to output of G1PrintRegionLivenessInfo Summary: Improve the output of G1PrintRegionLivenessInfo by adding a per-region remembered set size information column Reviewed-by: jwilhelm, johnc ! src/share/vm/gc_implementation/g1/concurrentMark.cpp ! src/share/vm/gc_implementation/g1/concurrentMark.hpp ! src/share/vm/gc_implementation/g1/heapRegionRemSet.cpp + test/gc/g1/TestPrintRegionRememberedSetInfo.java Changeset: 48391ab0687e Author: johnc Date: 2013-05-16 09:24 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/48391ab0687e 8010738: G1: Output for full GCs with +PrintGCDetails should contain perm gen size/meta data change info Summary: Include metaspace information (used, allocated, reserved) in the PrintGCDetails output for full GCs. Reviewed-by: poonam, jmasa, brutisso ! src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp ! src/share/vm/gc_implementation/g1/g1CollectorPolicy.cpp ! src/share/vm/gc_implementation/g1/g1CollectorPolicy.hpp + test/gc/g1/TestPrintGCDetails.java Changeset: acac2b03a07f Author: tschatzl Date: 2013-05-16 23:51 +0200 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/acac2b03a07f 8014765: VM exits if MaxTenuringThreshold is set below the default InitialTenuringThreshold, and InitialTenuringThreshold is not set Summary: The VM exits when the condition in the subject line applies. The fix sets InitialTenuringThreshold to MaxTenuringThreshold if it is larger than MaxTenuringThreshold and InitialTenuringThreshold has not been set (is default). Reviewed-by: jwilhelm, jmasa, brutisso, johnc ! src/share/vm/runtime/arguments.cpp + test/gc/arguments/TestInitialTenuringThreshold.java Changeset: 2958af1d8c5a Author: jwilhelm Date: 2013-05-17 06:01 +0200 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/2958af1d8c5a Merge ! src/share/vm/gc_implementation/g1/heapRegionRemSet.cpp - src/share/vm/gc_implementation/parallelScavenge/parMarkBitMap.inline.hpp ! src/share/vm/gc_implementation/shared/markSweep.cpp ! src/share/vm/memory/collectorPolicy.cpp ! src/share/vm/runtime/arguments.cpp ! src/share/vm/runtime/globals.hpp Changeset: 2f9ac66165e6 Author: jwilhelm Date: 2013-05-17 08:00 +0200 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/2f9ac66165e6 Merge - src/share/vm/gc_implementation/parallelScavenge/parMarkBitMap.inline.hpp ! src/share/vm/runtime/arguments.cpp Changeset: b19517cecc2e Author: amurillo Date: 2013-05-17 08:59 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/b19517cecc2e Merge - make/bsd/makefiles/launcher.make - make/linux/makefiles/launcher.make - make/solaris/makefiles/launcher.make - make/windows/makefiles/launcher.make - src/os/posix/launcher/java_md.c - src/os/posix/launcher/java_md.h - src/os/posix/launcher/launcher.script - src/os/windows/launcher/java_md.c - src/os/windows/launcher/java_md.h - src/share/tools/launcher/java.c - src/share/tools/launcher/java.h - src/share/tools/launcher/jli_util.c - src/share/tools/launcher/jli_util.h - src/share/tools/launcher/wildcard.c - src/share/tools/launcher/wildcard.h - src/share/vm/gc_implementation/parallelScavenge/parMarkBitMap.inline.hpp Changeset: 7cbdf0e3725c Author: amurillo Date: 2013-05-17 08:59 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/7cbdf0e3725c Added tag hs25-b33 for changeset b19517cecc2e ! .hgtags From lana.steuck at oracle.com Thu May 23 06:33:42 2013 From: lana.steuck at oracle.com (lana.steuck at oracle.com) Date: Thu, 23 May 2013 06:33:42 +0000 Subject: [OpenJDK 2D-Dev] hg: jdk8/2d/jdk: 104 new changesets Message-ID: <20130523065431.02F1A48C8A@hg.openjdk.java.net> Changeset: 1f1699686504 Author: katleman Date: 2013-05-09 15:04 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/1f1699686504 8014289: JDK8 b89 source with GPL header errors Reviewed-by: mchung, mduigou, tbell, dsamersoff ! src/share/classes/java/util/Base64.java ! src/share/classes/java/util/StringJoiner.java ! test/java/lang/CharSequence/DefaultTest.java ! test/java/util/StringJoiner/StringJoinerTest.java Changeset: c63eda8f6300 Author: katleman Date: 2013-05-14 12:19 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/c63eda8f6300 Merge Changeset: 08c28cdacd7b Author: katleman Date: 2013-05-16 12:15 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/08c28cdacd7b Added tag jdk8-b90 for changeset c63eda8f6300 ! .hgtags Changeset: 51f5e544c88b Author: lana Date: 2013-05-17 10:04 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/51f5e544c88b Merge Changeset: 90b67c9a7eb2 Author: serb Date: 2013-05-06 16:23 +0400 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/90b67c9a7eb2 7161575: [macosx] On MacOSX port java.awt.Toolkit.is/setDynamicLayout() are not consistent Reviewed-by: anthony, art ! src/macosx/classes/sun/lwawt/LWToolkit.java Changeset: 7982299cd11c Author: serb Date: 2013-05-08 15:58 +0400 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/7982299cd11c 8013841: [macosx] Animations not disabled for CALayers used via JAWT Reviewed-by: anthony, alexsch ! src/macosx/native/sun/awt/AWTSurfaceLayers.m ! src/macosx/native/sun/java2d/opengl/CGLLayer.m Changeset: 5fe0a4da863d Author: lana Date: 2013-05-09 18:42 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/5fe0a4da863d Merge - test/java/io/Serializable/accessConstants/AccessConstants.java - test/java/nio/file/Files/walkFileTree/walk_file_tree.sh - test/sun/reflect/CallerSensitive/MethodFinder.java Changeset: a466a4192fea Author: pchelko Date: 2013-05-14 16:39 +0400 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/a466a4192fea 8002045: Auto failed and threw exception:java.lang.UnsatisfiedLinkError: Reviewed-by: serb, anthony ! make/sun/awt/mapfile-vers ! make/sun/awt/mapfile-vers-bsd ! make/sun/awt/mapfile-vers-linux ! makefiles/mapfiles/libawt/mapfile-vers ! makefiles/mapfiles/libawt/mapfile-vers-linux Changeset: b1a7cc79f13d Author: serb Date: 2013-05-14 17:25 +0400 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/b1a7cc79f13d 8014423: [macosx] The scrollbar's block increment performs incorrectly Reviewed-by: anthony, art ! src/macosx/classes/sun/lwawt/LWScrollBarPeer.java Changeset: 722ee3129ce0 Author: ant Date: 2013-05-15 16:49 +0400 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/722ee3129ce0 8014227: JLightweightFrame needs another synchronization policy Reviewed-by: art ! src/share/classes/sun/swing/JLightweightFrame.java Changeset: 7a8a8e31a126 Author: pchelko Date: 2013-05-17 11:02 +0400 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/7a8a8e31a126 7079254: Toolkit eventListener leaks memory Reviewed-by: serb, art ! src/share/classes/java/awt/Component.java ! src/share/classes/java/awt/Container.java + test/java/awt/LightweightDispatcher/LWDispatcherMemoryLeakTest.java Changeset: e944b78812a8 Author: kshefov Date: 2013-05-17 14:08 +0400 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/e944b78812a8 8014721: TEST_BUG: java/awt/TrayIcon/DragEventSource/DragEventSource.java fails with java.lang.UnsupportedOperationException Reviewed-by: anthony, serb ! test/java/awt/TrayIcon/DragEventSource/DragEventSource.java Changeset: 281add053efe Author: kshefov Date: 2013-05-17 14:11 +0400 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/281add053efe 8013426: TEST_BUG: java/awt/datatransfer/HTMLDataFlavors/HTMLDataFlavorTest.java fails with "RuntimeException: The data should be available" on Linux Reviewed-by: anthony, serb ! test/java/awt/datatransfer/HTMLDataFlavors/HTMLDataFlavorTest.java Changeset: 49871f1581b8 Author: lana Date: 2013-05-17 10:06 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/49871f1581b8 Merge Changeset: 167d2dcaeeee Author: ksrini Date: 2013-05-01 15:08 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/167d2dcaeeee 8013225: Refresh jdk's private ASM to the latest. Reviewed-by: mduigou, sundar ! src/share/classes/jdk/internal/org/objectweb/asm/AnnotationVisitor.java ! src/share/classes/jdk/internal/org/objectweb/asm/AnnotationWriter.java ! src/share/classes/jdk/internal/org/objectweb/asm/Attribute.java ! src/share/classes/jdk/internal/org/objectweb/asm/ByteVector.java ! src/share/classes/jdk/internal/org/objectweb/asm/ClassReader.java ! src/share/classes/jdk/internal/org/objectweb/asm/ClassVisitor.java ! src/share/classes/jdk/internal/org/objectweb/asm/ClassWriter.java + src/share/classes/jdk/internal/org/objectweb/asm/Context.java ! src/share/classes/jdk/internal/org/objectweb/asm/FieldVisitor.java ! src/share/classes/jdk/internal/org/objectweb/asm/FieldWriter.java ! src/share/classes/jdk/internal/org/objectweb/asm/Frame.java ! src/share/classes/jdk/internal/org/objectweb/asm/Handle.java ! src/share/classes/jdk/internal/org/objectweb/asm/Handler.java ! src/share/classes/jdk/internal/org/objectweb/asm/Item.java ! src/share/classes/jdk/internal/org/objectweb/asm/Label.java ! src/share/classes/jdk/internal/org/objectweb/asm/MethodVisitor.java ! src/share/classes/jdk/internal/org/objectweb/asm/MethodWriter.java ! src/share/classes/jdk/internal/org/objectweb/asm/Opcodes.java ! src/share/classes/jdk/internal/org/objectweb/asm/Type.java + src/share/classes/jdk/internal/org/objectweb/asm/TypePath.java + src/share/classes/jdk/internal/org/objectweb/asm/TypeReference.java ! src/share/classes/jdk/internal/org/objectweb/asm/commons/AdviceAdapter.java ! src/share/classes/jdk/internal/org/objectweb/asm/commons/AnalyzerAdapter.java ! src/share/classes/jdk/internal/org/objectweb/asm/commons/CodeSizeEvaluator.java ! src/share/classes/jdk/internal/org/objectweb/asm/commons/GeneratorAdapter.java ! src/share/classes/jdk/internal/org/objectweb/asm/commons/InstructionAdapter.java ! src/share/classes/jdk/internal/org/objectweb/asm/commons/JSRInlinerAdapter.java ! src/share/classes/jdk/internal/org/objectweb/asm/commons/LocalVariablesSorter.java ! src/share/classes/jdk/internal/org/objectweb/asm/commons/Method.java ! src/share/classes/jdk/internal/org/objectweb/asm/commons/Remapper.java ! src/share/classes/jdk/internal/org/objectweb/asm/commons/RemappingAnnotationAdapter.java ! src/share/classes/jdk/internal/org/objectweb/asm/commons/RemappingClassAdapter.java ! src/share/classes/jdk/internal/org/objectweb/asm/commons/RemappingFieldAdapter.java ! src/share/classes/jdk/internal/org/objectweb/asm/commons/RemappingMethodAdapter.java ! src/share/classes/jdk/internal/org/objectweb/asm/commons/RemappingSignatureAdapter.java ! src/share/classes/jdk/internal/org/objectweb/asm/commons/SerialVersionUIDAdder.java ! src/share/classes/jdk/internal/org/objectweb/asm/commons/StaticInitMerger.java ! src/share/classes/jdk/internal/org/objectweb/asm/commons/TableSwitchGenerator.java ! src/share/classes/jdk/internal/org/objectweb/asm/commons/TryCatchBlockSorter.java ! src/share/classes/jdk/internal/org/objectweb/asm/signature/SignatureReader.java ! src/share/classes/jdk/internal/org/objectweb/asm/signature/SignatureVisitor.java ! src/share/classes/jdk/internal/org/objectweb/asm/signature/SignatureWriter.java ! src/share/classes/jdk/internal/org/objectweb/asm/tree/AbstractInsnNode.java ! src/share/classes/jdk/internal/org/objectweb/asm/tree/AnnotationNode.java ! src/share/classes/jdk/internal/org/objectweb/asm/tree/ClassNode.java ! src/share/classes/jdk/internal/org/objectweb/asm/tree/FieldInsnNode.java ! src/share/classes/jdk/internal/org/objectweb/asm/tree/FieldNode.java ! src/share/classes/jdk/internal/org/objectweb/asm/tree/FrameNode.java ! src/share/classes/jdk/internal/org/objectweb/asm/tree/IincInsnNode.java ! src/share/classes/jdk/internal/org/objectweb/asm/tree/InnerClassNode.java ! src/share/classes/jdk/internal/org/objectweb/asm/tree/InsnList.java ! src/share/classes/jdk/internal/org/objectweb/asm/tree/InsnNode.java ! src/share/classes/jdk/internal/org/objectweb/asm/tree/IntInsnNode.java ! src/share/classes/jdk/internal/org/objectweb/asm/tree/InvokeDynamicInsnNode.java ! src/share/classes/jdk/internal/org/objectweb/asm/tree/JumpInsnNode.java ! src/share/classes/jdk/internal/org/objectweb/asm/tree/LdcInsnNode.java ! src/share/classes/jdk/internal/org/objectweb/asm/tree/LineNumberNode.java + src/share/classes/jdk/internal/org/objectweb/asm/tree/LocalVariableAnnotationNode.java ! src/share/classes/jdk/internal/org/objectweb/asm/tree/LocalVariableNode.java ! src/share/classes/jdk/internal/org/objectweb/asm/tree/LookupSwitchInsnNode.java ! src/share/classes/jdk/internal/org/objectweb/asm/tree/MethodInsnNode.java ! src/share/classes/jdk/internal/org/objectweb/asm/tree/MethodNode.java ! src/share/classes/jdk/internal/org/objectweb/asm/tree/MultiANewArrayInsnNode.java + src/share/classes/jdk/internal/org/objectweb/asm/tree/ParameterNode.java ! src/share/classes/jdk/internal/org/objectweb/asm/tree/TableSwitchInsnNode.java ! src/share/classes/jdk/internal/org/objectweb/asm/tree/TryCatchBlockNode.java + src/share/classes/jdk/internal/org/objectweb/asm/tree/TypeAnnotationNode.java ! src/share/classes/jdk/internal/org/objectweb/asm/tree/TypeInsnNode.java ! src/share/classes/jdk/internal/org/objectweb/asm/tree/VarInsnNode.java ! src/share/classes/jdk/internal/org/objectweb/asm/tree/analysis/Analyzer.java ! src/share/classes/jdk/internal/org/objectweb/asm/tree/analysis/AnalyzerException.java ! src/share/classes/jdk/internal/org/objectweb/asm/tree/analysis/BasicInterpreter.java ! src/share/classes/jdk/internal/org/objectweb/asm/tree/analysis/BasicValue.java ! src/share/classes/jdk/internal/org/objectweb/asm/tree/analysis/BasicVerifier.java ! src/share/classes/jdk/internal/org/objectweb/asm/tree/analysis/Frame.java ! src/share/classes/jdk/internal/org/objectweb/asm/tree/analysis/Interpreter.java ! src/share/classes/jdk/internal/org/objectweb/asm/tree/analysis/SimpleVerifier.java ! src/share/classes/jdk/internal/org/objectweb/asm/tree/analysis/SourceInterpreter.java ! src/share/classes/jdk/internal/org/objectweb/asm/tree/analysis/SourceValue.java ! src/share/classes/jdk/internal/org/objectweb/asm/tree/analysis/Subroutine.java ! src/share/classes/jdk/internal/org/objectweb/asm/util/ASMifiable.java ! src/share/classes/jdk/internal/org/objectweb/asm/util/ASMifier.java ! src/share/classes/jdk/internal/org/objectweb/asm/util/CheckAnnotationAdapter.java ! src/share/classes/jdk/internal/org/objectweb/asm/util/CheckClassAdapter.java ! src/share/classes/jdk/internal/org/objectweb/asm/util/CheckFieldAdapter.java ! src/share/classes/jdk/internal/org/objectweb/asm/util/CheckMethodAdapter.java ! src/share/classes/jdk/internal/org/objectweb/asm/util/CheckSignatureAdapter.java ! src/share/classes/jdk/internal/org/objectweb/asm/util/Printer.java ! src/share/classes/jdk/internal/org/objectweb/asm/util/Textifiable.java ! src/share/classes/jdk/internal/org/objectweb/asm/util/Textifier.java ! src/share/classes/jdk/internal/org/objectweb/asm/util/TraceAnnotationVisitor.java ! src/share/classes/jdk/internal/org/objectweb/asm/util/TraceClassVisitor.java ! src/share/classes/jdk/internal/org/objectweb/asm/util/TraceFieldVisitor.java ! src/share/classes/jdk/internal/org/objectweb/asm/util/TraceMethodVisitor.java ! src/share/classes/jdk/internal/org/objectweb/asm/util/TraceSignatureVisitor.java + src/share/classes/jdk/internal/org/objectweb/asm/version.txt Changeset: 5045eb04a579 Author: mduigou Date: 2013-05-02 09:18 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/5045eb04a579 8012645: Stream methods on BitSet, Random, ThreadLocalRandom, ZipFile Reviewed-by: mduigou, henryjen, alanb, martin, psandoz Contributed-by: akhil.arora at oracle.com, brian.goetz at oracle.com ! src/share/classes/java/util/BitSet.java ! src/share/classes/java/util/Random.java ! src/share/classes/java/util/concurrent/ThreadLocalRandom.java ! src/share/classes/java/util/jar/JarFile.java ! src/share/classes/java/util/zip/ZipFile.java + test/java/util/BitSet/BitSetStreamTest.java + test/java/util/Random/RandomStreamTest.java + test/java/util/zip/ZipFile/StreamZipEntriesTest.java Changeset: a6ff4a823164 Author: kizune Date: 2013-05-02 21:23 +0400 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/a6ff4a823164 8013155: [pack200] improve performance of pack200 Reviewed-by: ksrini, jrose ! src/share/classes/com/sun/java/util/jar/pack/Code.java ! src/share/classes/com/sun/java/util/jar/pack/ConstantPool.java Changeset: 3062bf908281 Author: khazra Date: 2013-05-02 14:26 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/3062bf908281 8013140: Heap corruption with NetworkInterface.getByInetAddress() and long i/f name Summary: Remove buffer overruns in native code Reviewed-by: alanb, chegar ! src/solaris/native/java/net/NetworkInterface.c Changeset: 81be41c7323f Author: weijun Date: 2013-05-03 10:43 +0800 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/81be41c7323f 8013855: DigestMD5Client has not checked RealmChoiceCallback value Reviewed-by: xuelei, mullan ! src/share/classes/com/sun/security/sasl/digest/DigestMD5Client.java + test/com/sun/security/sasl/digest/AuthRealmChoices.java Changeset: 470f19b6bfdd Author: jbachorik Date: 2013-05-02 13:21 +0200 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/470f19b6bfdd 7199324: Connection ID for IPv6 addresses is not generated accordingly to the specification Summary: RemoteServer.getClientHost is returning a String with an IPv6 literal address and we need to enclose it in [] when building the connection id Reviewed-by: alanb, sjiang ! src/share/classes/javax/management/remote/rmi/RMIServerImpl.java ! test/javax/management/remote/mandatory/connection/ConnectionTest.java Changeset: fc156b925259 Author: mduigou Date: 2013-05-03 10:57 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/fc156b925259 8013528: Provide SharedSecrets access to String(char[], boolean) constructor Reviewed-by: martin, alanb, chegar, plevart ! src/share/classes/java/lang/System.java ! src/share/classes/sun/misc/JavaLangAccess.java + test/sun/misc/JavaLangAccess/NewUnsafeString.java Changeset: d7f3d5659c46 Author: juh Date: 2013-05-03 15:04 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/d7f3d5659c46 8005922: TEST_BUG: There is no /tmp directory for windows system. Reviewed-by: weijun ! test/sun/security/tools/policytool/ChangeUI.html ! test/sun/security/tools/policytool/UpdatePermissions.html ! test/sun/security/tools/policytool/i18n.html Changeset: d8f01bfb1da4 Author: dwanvik Date: 2013-05-06 05:51 +0200 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/d8f01bfb1da4 8013403: Update JDK8 with Java DB 10.10.1.1. Summary: Drop Java DB 10.10.1.1 bits into JDK 8 and update image builds Reviewed-by: tbell ! make/common/Release.gmk ! makefiles/CompileDemos.gmk ! makefiles/Images.gmk Changeset: 398fe07f530f Author: dwanvik Date: 2013-05-06 06:05 +0200 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/398fe07f530f Merge - test/sun/reflect/CallerSensitive/MethodFinder.java Changeset: bd118033e44c Author: dxu Date: 2013-05-06 14:17 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/bd118033e44c 8003992: File and other classes in java.io do not handle embedded nulls properly Summary: Have every file operation done with File, FileInputStream, FileOutputStream, or RandomAccessFile that involves a file path containing NUL fail. Also reviewed by fweimer at redhat.com Reviewed-by: alanb, sherman, ahgross, mduigou, dholmes, aph, plevart, martin ! src/share/classes/java/io/File.java ! src/share/classes/java/io/FileInputStream.java ! src/share/classes/java/io/FileOutputStream.java ! src/share/classes/java/io/RandomAccessFile.java + test/java/io/File/NulFile.java Changeset: e13cf31e5a96 Author: mduigou Date: 2013-05-06 20:54 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/e13cf31e5a96 8013712: Add Objects.nonNull and Objects.isNull Reviewed-by: mchung, darcy ! src/share/classes/java/util/Objects.java ! test/java/util/Objects/BasicObjectsTest.java Changeset: 3cbb65d9af9e Author: mduigou Date: 2013-05-06 20:54 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/3cbb65d9af9e 8013150: Iterator.remove and forEachRemaining relationship not specified Reviewed-by: mduigou Contributed-by: Akhil Arora ! src/share/classes/java/util/ArrayList.java ! src/share/classes/java/util/LinkedList.java ! src/share/classes/java/util/Vector.java + test/java/util/Iterator/IteratorDefaults.java Changeset: 8221c421490f Author: mduigou Date: 2013-05-06 20:54 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/8221c421490f 8003258: BufferedReader.lines() Reviewed-by: alanb, mduigou, psandoz Contributed-by: Brian Goetz , Henry Jen ! src/share/classes/java/io/BufferedReader.java + src/share/classes/java/io/UncheckedIOException.java + test/java/io/BufferedReader/Lines.java Changeset: b4a013f4eff4 Author: sherman Date: 2013-05-06 21:24 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/b4a013f4eff4 8013252: Regex Matcher .start and .end should be accessible by group name 8013254: Constructor \w need update to add the support of \p{Join_Control} Summary: added the requested methods and updated the \w constructor Reviewed-by: mchung, alanb ! src/share/classes/java/util/regex/Matcher.java ! src/share/classes/java/util/regex/Pattern.java ! src/share/classes/java/util/regex/UnicodeProp.java ! test/java/util/regex/POSIX_Unicode.java ! test/java/util/regex/RegExTest.java Changeset: 814dcc08df52 Author: weijun Date: 2013-05-07 12:30 +0800 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/814dcc08df52 8010192: Enable native JGSS provider on Mac Reviewed-by: valeriep ! make/sun/security/Makefile ! makefiles/CompileNativeLibraries.gmk ! src/share/classes/sun/security/jgss/GSSManagerImpl.java ! src/share/classes/sun/security/jgss/wrapper/SunNativeProvider.java ! src/share/native/sun/security/jgss/wrapper/gssapi.h ! test/sun/security/krb5/runNameEquals.sh Changeset: 9c9b2385c1b0 Author: jfranck Date: 2013-05-07 09:52 +0200 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/9c9b2385c1b0 8013541: Revise javadoc for Executable.getAnnotatedReturnType() Reviewed-by: abuckley, darcy ! src/share/classes/java/lang/reflect/Executable.java Changeset: 2602eab5f086 Author: dfuchs Date: 2013-05-07 11:35 +0200 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/2602eab5f086 8008738: Issue in com.sun.org.apache.xml.internal.serializer.Encodings causes some JCK tests to fail intermittently Summary: Encodings.java sometimes creates EncodingInfo objects whose java names are not recognized by the Charset API. This patch fixes that issue. Reviewed-by: joehw, alanb + test/javax/xml/jaxp/Encodings/CheckEncodingPropertiesFile.java Changeset: 7b40394ad944 Author: sla Date: 2013-05-07 19:57 +0200 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/7b40394ad944 6980985: java/lang/management/MemoryMXBean/ResetPeakMemoryUsage is not robust when getMax() returns -1 7181907: TEST_BUG: j/l/management/MemoryMXBean/ResetPeakMemoryUsage fails with NegativeArraySizeException 7148492: java/lang/management/MemoryMXBean/ResetPeakMemoryUsage.java failing since update to hs23-b15 or b16 Reviewed-by: mchung, brutisso ! test/ProblemList.txt ! test/java/lang/management/MemoryMXBean/ResetPeakMemoryUsage.java Changeset: 100027950b05 Author: sla Date: 2013-05-07 20:00 +0200 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/100027950b05 8004007: test/sun/tools/jinfo/Basic.sh fails on when runSA is set to true Reviewed-by: alanb, dsamersoff ! test/sun/tools/jinfo/Basic.sh Changeset: e30396e22c6f Author: naoto Date: 2013-05-07 11:31 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/e30396e22c6f 8013086: NPE thrown by SimpleDateFormat with TimeZoneNameProvider supplied Reviewed-by: okutsu ! src/share/classes/sun/util/locale/provider/TimeZoneNameUtility.java ! test/java/util/Locale/LocaleProviders.java ! test/java/util/Locale/LocaleProviders.sh Changeset: fe4e9bc2186f Author: mduigou Date: 2013-05-07 12:05 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/fe4e9bc2186f 4802647: Throw required NPEs from removeAll()/retainAll() Reviewed-by: mduigou, chegar, dholmes Contributed-by: Brandon Passanisi ! src/share/classes/java/util/AbstractCollection.java ! src/share/classes/java/util/AbstractSet.java ! src/share/classes/java/util/ArrayList.java ! test/java/util/Collection/MOAT.java Changeset: 6feee75b0a8b Author: briangoetz Date: 2013-05-06 11:43 -0400 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/6feee75b0a8b 8012664: Add tests for java.util.stream and lambda translation Reviewed-by: mduigou, briangoetz Contributed-by: Brian Goetz , Paul Sandoz , Mike Duigou , Robert Field , Jim Gish ! test/Makefile + test/java/util/concurrent/atomic/AtomicReferenceTest.java + test/java/util/stream/bootlib/TEST.properties + test/java/util/stream/bootlib/java/util/stream/CollectorOps.java + test/java/util/stream/bootlib/java/util/stream/DoubleStreamTestDataProvider.java + test/java/util/stream/bootlib/java/util/stream/DoubleStreamTestScenario.java + test/java/util/stream/bootlib/java/util/stream/FlagDeclaringOp.java + test/java/util/stream/bootlib/java/util/stream/IntStreamTestDataProvider.java + test/java/util/stream/bootlib/java/util/stream/IntStreamTestScenario.java + test/java/util/stream/bootlib/java/util/stream/IntermediateTestOp.java + test/java/util/stream/bootlib/java/util/stream/LambdaTestHelpers.java + test/java/util/stream/bootlib/java/util/stream/LongStreamTestDataProvider.java + test/java/util/stream/bootlib/java/util/stream/LongStreamTestScenario.java + test/java/util/stream/bootlib/java/util/stream/OpTestCase.java + test/java/util/stream/bootlib/java/util/stream/SpliteratorTestHelper.java + test/java/util/stream/bootlib/java/util/stream/StatefulTestOp.java + test/java/util/stream/bootlib/java/util/stream/StatelessTestOp.java + test/java/util/stream/bootlib/java/util/stream/StreamOpFlagTestHelper.java + test/java/util/stream/bootlib/java/util/stream/StreamTestDataProvider.java + test/java/util/stream/bootlib/java/util/stream/StreamTestScenario.java + test/java/util/stream/bootlib/java/util/stream/TestData.java + test/java/util/stream/bootlib/java/util/stream/TestFlagExpectedOp.java + test/java/util/stream/boottest/TEST.properties + test/java/util/stream/boottest/java/util/stream/DoubleNodeTest.java + test/java/util/stream/boottest/java/util/stream/FlagOpTest.java + test/java/util/stream/boottest/java/util/stream/IntNodeTest.java + test/java/util/stream/boottest/java/util/stream/LongNodeTest.java + test/java/util/stream/boottest/java/util/stream/NodeBuilderTest.java + test/java/util/stream/boottest/java/util/stream/NodeTest.java + test/java/util/stream/boottest/java/util/stream/SpinedBufferTest.java + test/java/util/stream/boottest/java/util/stream/StreamFlagsTest.java + test/java/util/stream/boottest/java/util/stream/StreamOpFlagsTest.java + test/java/util/stream/boottest/java/util/stream/StreamReuseTest.java + test/java/util/stream/boottest/java/util/stream/UnorderedTest.java + test/java/util/stream/test/TEST.properties + test/java/util/stream/test/org/openjdk/tests/java/lang/invoke/DeserializeMethodTest.java + test/java/util/stream/test/org/openjdk/tests/java/lang/invoke/MHProxiesTest.java + test/java/util/stream/test/org/openjdk/tests/java/lang/invoke/SerializedLambdaTest.java + test/java/util/stream/test/org/openjdk/tests/java/util/FillableStringTest.java + test/java/util/stream/test/org/openjdk/tests/java/util/MapTest.java + test/java/util/stream/test/org/openjdk/tests/java/util/NullArgsTestCase.java + test/java/util/stream/test/org/openjdk/tests/java/util/stream/CollectionAndMapModifyStreamTest.java + test/java/util/stream/test/org/openjdk/tests/java/util/stream/DistinctOpTest.java + test/java/util/stream/test/org/openjdk/tests/java/util/stream/DoublePrimitiveOpsTests.java + test/java/util/stream/test/org/openjdk/tests/java/util/stream/ExplodeOpTest.java + test/java/util/stream/test/org/openjdk/tests/java/util/stream/FilterOpTest.java + test/java/util/stream/test/org/openjdk/tests/java/util/stream/FindAnyOpTest.java + test/java/util/stream/test/org/openjdk/tests/java/util/stream/FindFirstOpTest.java + test/java/util/stream/test/org/openjdk/tests/java/util/stream/ForEachOpTest.java + test/java/util/stream/test/org/openjdk/tests/java/util/stream/GroupByOpTest.java + test/java/util/stream/test/org/openjdk/tests/java/util/stream/InfiniteStreamWithLimitOpTest.java + test/java/util/stream/test/org/openjdk/tests/java/util/stream/IntPrimitiveOpsTests.java + test/java/util/stream/test/org/openjdk/tests/java/util/stream/IntReduceTest.java + test/java/util/stream/test/org/openjdk/tests/java/util/stream/IntSliceOpTest.java + test/java/util/stream/test/org/openjdk/tests/java/util/stream/IntUniqOpTest.java + test/java/util/stream/test/org/openjdk/tests/java/util/stream/LongPrimitiveOpsTests.java + test/java/util/stream/test/org/openjdk/tests/java/util/stream/MapOpTest.java + test/java/util/stream/test/org/openjdk/tests/java/util/stream/MatchOpTest.java + test/java/util/stream/test/org/openjdk/tests/java/util/stream/MinMaxTest.java + test/java/util/stream/test/org/openjdk/tests/java/util/stream/PrimitiveAverageOpTest.java + test/java/util/stream/test/org/openjdk/tests/java/util/stream/PrimitiveSumTest.java + test/java/util/stream/test/org/openjdk/tests/java/util/stream/RangeTest.java + test/java/util/stream/test/org/openjdk/tests/java/util/stream/ReduceByOpTest.java + test/java/util/stream/test/org/openjdk/tests/java/util/stream/ReduceTest.java + test/java/util/stream/test/org/openjdk/tests/java/util/stream/SequentialOpTest.java + test/java/util/stream/test/org/openjdk/tests/java/util/stream/SliceOpTest.java + test/java/util/stream/test/org/openjdk/tests/java/util/stream/SortedOpTest.java + test/java/util/stream/test/org/openjdk/tests/java/util/stream/SpliteratorLateBindingFailFastTest.java + test/java/util/stream/test/org/openjdk/tests/java/util/stream/SpliteratorTest.java + test/java/util/stream/test/org/openjdk/tests/java/util/stream/SpliteratorTraversingAndSplittingTest.java + test/java/util/stream/test/org/openjdk/tests/java/util/stream/StreamBuilderTest.java + test/java/util/stream/test/org/openjdk/tests/java/util/stream/StreamLinkTest.java + test/java/util/stream/test/org/openjdk/tests/java/util/stream/StreamParSeqTest.java + test/java/util/stream/test/org/openjdk/tests/java/util/stream/StreamSpliteratorTest.java + test/java/util/stream/test/org/openjdk/tests/java/util/stream/SummaryStatisticsTest.java + test/java/util/stream/test/org/openjdk/tests/java/util/stream/TabulatorsTest.java + test/java/util/stream/test/org/openjdk/tests/java/util/stream/TeeOpTest.java + test/java/util/stream/test/org/openjdk/tests/java/util/stream/ToArrayOpTest.java + test/jdk/lambda/ArrayCtorRefTest.java + test/jdk/lambda/FDTest.java + test/jdk/lambda/LambdaTranslationCompoundSamTest.java + test/jdk/lambda/LambdaTranslationInInterface.java + test/jdk/lambda/LambdaTranslationInnerConstructor.java + test/jdk/lambda/LambdaTranslationTest1.java + test/jdk/lambda/LambdaTranslationTest2.java + test/jdk/lambda/MethodReferenceTestFDCCE.java + test/jdk/lambda/MethodReferenceTestInnerDefault.java + test/jdk/lambda/MethodReferenceTestInnerInstance.java + test/jdk/lambda/MethodReferenceTestInnerVarArgsThis.java + test/jdk/lambda/MethodReferenceTestInstance.java + test/jdk/lambda/MethodReferenceTestInstanceMethod.java + test/jdk/lambda/MethodReferenceTestKinds.java + test/jdk/lambda/MethodReferenceTestNew.java + test/jdk/lambda/MethodReferenceTestNewInner.java + test/jdk/lambda/MethodReferenceTestSueCase1.java + test/jdk/lambda/MethodReferenceTestSueCase2.java + test/jdk/lambda/MethodReferenceTestSueCase4.java + test/jdk/lambda/MethodReferenceTestSuper.java + test/jdk/lambda/MethodReferenceTestSuperDefault.java + test/jdk/lambda/MethodReferenceTestTypeConversion.java + test/jdk/lambda/MethodReferenceTestVarArgs.java + test/jdk/lambda/MethodReferenceTestVarArgsExt.java + test/jdk/lambda/MethodReferenceTestVarArgsSuper.java + test/jdk/lambda/MethodReferenceTestVarArgsSuperDefault.java + test/jdk/lambda/MethodReferenceTestVarArgsThis.java + test/jdk/lambda/TEST.properties + test/jdk/lambda/TestInnerCtorRef.java + test/jdk/lambda/TestPrivateCtorRef.java + test/jdk/lambda/separate/AttributeInjector.java + test/jdk/lambda/separate/ClassFile.java + test/jdk/lambda/separate/ClassFilePreprocessor.java + test/jdk/lambda/separate/ClassToInterfaceConverter.java + test/jdk/lambda/separate/Compiler.java + test/jdk/lambda/separate/DirectedClassLoader.java + test/jdk/lambda/separate/SourceModel.java + test/jdk/lambda/separate/TestHarness.java + test/jdk/lambda/shapegen/ClassCase.java + test/jdk/lambda/shapegen/Hierarchy.java + test/jdk/lambda/shapegen/HierarchyGenerator.java + test/jdk/lambda/shapegen/Rule.java + test/jdk/lambda/shapegen/RuleGroup.java + test/jdk/lambda/shapegen/TTNode.java + test/jdk/lambda/shapegen/TTParser.java + test/jdk/lambda/shapegen/TTShape.java + test/jdk/lambda/vm/DefaultMethodRegressionTests.java + test/jdk/lambda/vm/DefaultMethodsTest.java + test/jdk/lambda/vm/InterfaceAccessFlagsTest.java + test/jdk/lambda/vm/StrictfpDefault.java Changeset: 7d89b0dd973c Author: weijun Date: 2013-05-08 08:25 +0800 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/7d89b0dd973c 8012679: Let allow_weak_crypto default to false Reviewed-by: valeriep ! src/share/classes/sun/security/krb5/internal/crypto/EType.java ! test/sun/security/krb5/auto/DupEtypes.java ! test/sun/security/krb5/etype/WeakCrypto.java Changeset: c8f47674d105 Author: alanb Date: 2013-05-08 18:00 +0100 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/c8f47674d105 8013652: (profiles) Add javax.script to compact1 Reviewed-by: mchung, dholmes ! makefiles/profile-rtjar-includes.txt Changeset: 3fd83f282c61 Author: ksrini Date: 2013-05-07 13:15 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/3fd83f282c61 8013736: [launcher] cleanup code for correctness 8005735: [parfait] False positive integer overflow in jdk/src/solaris/bin/jexec.c 8009873: [parfait] Memory leak at jdk/src/share/bin/wildcard.c 8005807: [parfait] Undefined return value at jdk/src/share/bin/java.c Reviewed-by: alanb, martin ! src/share/bin/java.c ! src/share/bin/java.h ! src/share/bin/wildcard.c ! src/solaris/bin/jexec.c Changeset: bb9cdfac1a7d Author: juh Date: 2013-05-09 12:00 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/bb9cdfac1a7d 8007699: Move some tests from test/sun/security/provider/certpath/X509CertPath to closed repo Reviewed-by: mullan - test/sun/security/provider/certpath/X509CertPath/ForwardBuildCompromised.java - test/sun/security/provider/certpath/X509CertPath/ReverseBuildCompromised.java - test/sun/security/provider/certpath/X509CertPath/ValidateCompromised.java Changeset: 498ea4c3a4c6 Author: psandoz Date: 2013-05-01 18:40 +0200 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/498ea4c3a4c6 8012646: Pattern.splitAsStream Reviewed-by: forax, plevart, alanb Contributed-by: Ben Evans , Paul Sandoz ! src/share/classes/java/util/regex/Pattern.java ! test/java/util/regex/RegExTest.java Changeset: 573a593379cb Author: lana Date: 2013-05-08 23:53 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/573a593379cb Merge ! makefiles/CompileNativeLibraries.gmk ! makefiles/Images.gmk - src/share/classes/java/beans/ReflectionUtils.java - test/java/awt/Focus/OverrideRedirectWindowActivationTest/OverrideRedirectWindowActivationTest.java Changeset: 2023e3d573eb Author: lana Date: 2013-05-09 14:23 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/2023e3d573eb Merge - test/sun/security/provider/certpath/X509CertPath/ForwardBuildCompromised.java - test/sun/security/provider/certpath/X509CertPath/ReverseBuildCompromised.java - test/sun/security/provider/certpath/X509CertPath/ValidateCompromised.java Changeset: ba74cd79e4f6 Author: jfranck Date: 2013-05-10 10:20 +0200 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/ba74cd79e4f6 8007073: Implement Core Reflection for Type Annotations on parameters Reviewed-by: darcy, abuckley ! src/share/classes/java/lang/reflect/Executable.java ! src/share/classes/java/lang/reflect/Field.java ! src/share/classes/java/lang/reflect/Parameter.java ! src/share/classes/sun/reflect/annotation/TypeAnnotation.java ! src/share/classes/sun/reflect/annotation/TypeAnnotationParser.java ! test/java/lang/annotation/TypeAnnotationReflection.java Changeset: 09a3b08c986f Author: alanb Date: 2013-05-10 14:53 +0100 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/09a3b08c986f 8011128: (fs) Files.createDirectory fails if the resolved path is exactly 248 characters long Reviewed-by: khazra, chegar ! src/windows/classes/sun/nio/fs/WindowsFileCopy.java ! src/windows/classes/sun/nio/fs/WindowsLinkSupport.java ! src/windows/classes/sun/nio/fs/WindowsPath.java + test/java/nio/file/Files/NameLimits.java Changeset: ece61e21782d Author: darcy Date: 2013-05-10 08:53 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/ece61e21782d 8014249: Add Modifer.parameterModifiers() Reviewed-by: mduigou, mchung ! src/share/classes/java/lang/reflect/Modifier.java Changeset: c26e0d29249a Author: rriggs Date: 2013-05-10 09:06 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/c26e0d29249a 8014296: DivModTests should not compare pointers Reviewed-by: darcy ! test/java/lang/Math/DivModTests.java Changeset: 2490769abdfa Author: mduigou Date: 2013-05-10 09:51 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/2490769abdfa 8014316: Use Method Refs in j.u.stream.MatchOps Reviewed-by: dholmes ! src/share/classes/java/util/stream/MatchOps.java Changeset: 9891e4d7d5b3 Author: mduigou Date: 2013-05-10 10:12 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/9891e4d7d5b3 Merge - src/share/classes/java/beans/ReflectionUtils.java - test/java/awt/Focus/OverrideRedirectWindowActivationTest/OverrideRedirectWindowActivationTest.java - test/sun/security/provider/certpath/X509CertPath/ForwardBuildCompromised.java - test/sun/security/provider/certpath/X509CertPath/ReverseBuildCompromised.java - test/sun/security/provider/certpath/X509CertPath/ValidateCompromised.java Changeset: f84b5498b2bb Author: darcy Date: 2013-05-10 12:25 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/f84b5498b2bb 8014357: Minor refactorings to sun.reflect.generics.reflectiveObjects.* Reviewed-by: mchung ! src/share/classes/sun/reflect/generics/reflectiveObjects/GenericArrayTypeImpl.java ! src/share/classes/sun/reflect/generics/reflectiveObjects/ParameterizedTypeImpl.java ! src/share/classes/sun/reflect/generics/reflectiveObjects/TypeVariableImpl.java ! src/share/classes/sun/reflect/generics/reflectiveObjects/WildcardTypeImpl.java Changeset: 90f715cceaae Author: dmeetry Date: 2013-05-10 23:56 +0400 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/90f715cceaae 7021870: GzipInputStream closes underlying stream during reading Reviewed-by: mduigou Contributed-by: ivan.gerasimov at oracle.com ! src/share/classes/java/util/zip/GZIPInputStream.java + test/java/util/zip/GZIP/GZIPInZip.java Changeset: 76998d11a643 Author: xuelei Date: 2013-05-13 05:41 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/76998d11a643 8005535: SSLSessionImpl should have protected finalize() Reviewed-by: weijun, wetmore ! src/share/classes/sun/security/ssl/SSLSessionImpl.java Changeset: 46db0e633240 Author: xuelei Date: 2013-05-13 06:05 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/46db0e633240 8005598: (reopened) Need to clone array of input/output parameters Reviewed-by: weijun ! src/share/classes/com/sun/jndi/dns/DnsContext.java ! src/share/classes/com/sun/jndi/ldap/BasicControl.java Changeset: 536678dffa97 Author: sundar Date: 2013-05-13 22:23 +0530 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/536678dffa97 8012975: Remove rhino from jdk8 Reviewed-by: alanb, tbell ! make/com/sun/Makefile - make/com/sun/script/Makefile ! make/sun/Makefile - make/sun/org/Makefile - make/sun/org/mozilla/Makefile - make/sun/org/mozilla/javascript/Makefile ! make/tools/src/build/tools/deps/refs.allowed ! makefiles/CopyFiles.gmk ! makefiles/CopyIntoClasses.gmk ! makefiles/profile-rtjar-includes.txt - src/share/classes/com/sun/script/javascript/ExternalScriptable.java - src/share/classes/com/sun/script/javascript/JSAdapter.java - src/share/classes/com/sun/script/javascript/JavaAdapter.java - src/share/classes/com/sun/script/javascript/META-INF/services/javax.script.ScriptEngineFactory - src/share/classes/com/sun/script/javascript/RhinoClassShutter.java - src/share/classes/com/sun/script/javascript/RhinoCompiledScript.java - src/share/classes/com/sun/script/javascript/RhinoScriptEngine.java - src/share/classes/com/sun/script/javascript/RhinoScriptEngineFactory.java - src/share/classes/com/sun/script/javascript/RhinoTopLevel.java - src/share/classes/com/sun/script/javascript/RhinoWrapFactory.java - src/share/classes/com/sun/script/util/BindingsBase.java - src/share/classes/com/sun/script/util/BindingsEntrySet.java - src/share/classes/com/sun/script/util/BindingsImpl.java - src/share/classes/com/sun/script/util/InterfaceImplementor.java - src/share/classes/com/sun/script/util/ScriptEngineFactoryBase.java Changeset: 6175fe5b07aa Author: bharadwaj Date: 2013-05-13 12:26 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/6175fe5b07aa 8008687: MethodHandle code: allow static and invokespecial calls to interface methods Summary: Changes to support invocation of lambda methods compiled either as static interface methods and or private instance methods. Reviewed-by: jrose, twisti ! src/share/classes/java/lang/invoke/MemberName.java Changeset: f7fcfb204a69 Author: mduigou Date: 2013-05-13 13:15 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/f7fcfb204a69 Merge - make/com/sun/script/Makefile - make/sun/org/Makefile - make/sun/org/mozilla/Makefile - make/sun/org/mozilla/javascript/Makefile - src/share/classes/com/sun/script/javascript/ExternalScriptable.java - src/share/classes/com/sun/script/javascript/JSAdapter.java - src/share/classes/com/sun/script/javascript/JavaAdapter.java - src/share/classes/com/sun/script/javascript/META-INF/services/javax.script.ScriptEngineFactory - src/share/classes/com/sun/script/javascript/RhinoClassShutter.java - src/share/classes/com/sun/script/javascript/RhinoCompiledScript.java - src/share/classes/com/sun/script/javascript/RhinoScriptEngine.java - src/share/classes/com/sun/script/javascript/RhinoScriptEngineFactory.java - src/share/classes/com/sun/script/javascript/RhinoTopLevel.java - src/share/classes/com/sun/script/javascript/RhinoWrapFactory.java - src/share/classes/com/sun/script/util/BindingsBase.java - src/share/classes/com/sun/script/util/BindingsEntrySet.java - src/share/classes/com/sun/script/util/BindingsImpl.java - src/share/classes/com/sun/script/util/InterfaceImplementor.java - src/share/classes/com/sun/script/util/ScriptEngineFactoryBase.java Changeset: 86c1e8c799f5 Author: khazra Date: 2013-05-13 13:48 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/86c1e8c799f5 8014254: Selector in HttpServer introduces a 1000 ms delay when using KeepAlive Summary: Rearrange event-handling code to remove bottle-neck. Also reviewed by mhall at mhcomputing.net. Reviewed-by: chegar, alanb ! src/share/classes/sun/net/httpserver/ServerImpl.java Changeset: ae35fdbab949 Author: sherman Date: 2013-05-13 20:35 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/ae35fdbab949 8013386: (tz) Support tzdata2013c Summary: updated tz data to version 2013c Reviewed-by: peytoia, okutsu ! make/sun/javazic/tzdata/VERSION ! make/sun/javazic/tzdata/africa ! make/sun/javazic/tzdata/antarctica ! make/sun/javazic/tzdata/asia ! make/sun/javazic/tzdata/australasia ! make/sun/javazic/tzdata/europe ! make/sun/javazic/tzdata/northamerica ! make/sun/javazic/tzdata/southamerica ! make/sun/javazic/tzdata/zone.tab ! src/share/classes/sun/util/calendar/ZoneInfoFile.java ! src/share/classes/sun/util/resources/TimeZoneNames.java ! src/share/classes/sun/util/resources/de/TimeZoneNames_de.java ! src/share/classes/sun/util/resources/es/TimeZoneNames_es.java ! src/share/classes/sun/util/resources/fr/TimeZoneNames_fr.java ! src/share/classes/sun/util/resources/it/TimeZoneNames_it.java ! src/share/classes/sun/util/resources/ja/TimeZoneNames_ja.java ! src/share/classes/sun/util/resources/ko/TimeZoneNames_ko.java ! src/share/classes/sun/util/resources/pt/TimeZoneNames_pt_BR.java ! src/share/classes/sun/util/resources/sv/TimeZoneNames_sv.java ! src/share/classes/sun/util/resources/zh/TimeZoneNames_zh_CN.java ! src/share/classes/sun/util/resources/zh/TimeZoneNames_zh_TW.java ! test/sun/util/calendar/zi/Rule.java ! test/sun/util/calendar/zi/tzdata/VERSION ! test/sun/util/calendar/zi/tzdata/africa ! test/sun/util/calendar/zi/tzdata/antarctica ! test/sun/util/calendar/zi/tzdata/asia ! test/sun/util/calendar/zi/tzdata/australasia ! test/sun/util/calendar/zi/tzdata/europe ! test/sun/util/calendar/zi/tzdata/northamerica ! test/sun/util/calendar/zi/tzdata/southamerica ! test/sun/util/calendar/zi/tzdata/zone.tab Changeset: a50bad038f31 Author: darcy Date: 2013-05-13 22:16 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/a50bad038f31 8014365: Restore Objects.requireNonNull(T, Supplier) Reviewed-by: mduigou ! src/share/classes/java/util/Objects.java ! test/java/util/Objects/BasicObjectsTest.java Changeset: b315cb9a7544 Author: alanb Date: 2013-05-14 14:32 +0100 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/b315cb9a7544 8014500: bootcycle-images fails after upgrade to JAXP 1.5 Reviewed-by: lancea ! make/tools/src/build/tools/cldrconverter/CLDRConverter.java Changeset: 5ea5f5dfb96a Author: uta Date: 2013-05-14 20:16 +0400 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/5ea5f5dfb96a 8012453: (process) Runtime.exec(String) fails if command contains spaces [win] Reviewed-by: alanb ! src/share/classes/java/lang/ProcessBuilder.java ! src/windows/classes/java/lang/ProcessImpl.java + test/java/lang/Runtime/exec/ExecCommand.java Changeset: e0135f1a8627 Author: sundar Date: 2013-05-14 22:36 +0530 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/e0135f1a8627 8014519: scriptpad sample does not work with nashorn Reviewed-by: attila, jlaskey Contributed-by: rieberandreas at gmail.com ! src/share/sample/scripting/scriptpad/src/com/sun/sample/scriptpad/Main.java ! src/share/sample/scripting/scriptpad/src/resources/Main.js ! src/share/sample/scripting/scriptpad/src/resources/conc.js ! src/share/sample/scripting/scriptpad/src/resources/gui.js ! src/share/sample/scripting/scriptpad/src/resources/mm.js ! src/share/sample/scripting/scriptpad/src/resources/scriptpad.js ! src/share/sample/scripting/scriptpad/src/scripts/browse.js ! src/share/sample/scripting/scriptpad/src/scripts/insertfile.js ! src/share/sample/scripting/scriptpad/src/scripts/linewrap.js ! src/share/sample/scripting/scriptpad/src/scripts/mail.js ! src/share/sample/scripting/scriptpad/src/scripts/memmonitor.js ! src/share/sample/scripting/scriptpad/src/scripts/memory.js ! src/share/sample/scripting/scriptpad/src/scripts/memory.sh ! src/share/sample/scripting/scriptpad/src/scripts/textcolor.js Changeset: 790d292ee761 Author: khazra Date: 2013-05-14 12:01 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/790d292ee761 6328537: Improve javadocs for Socket class by adding references to SocketOptions Summary: Insert references to SocketOptions.java where applicable Reviewed-by: alanb, chegar ! src/share/classes/java/net/ServerSocket.java ! src/share/classes/java/net/Socket.java Changeset: 08ef70f60e0d Author: sherman Date: 2013-05-14 14:09 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/08ef70f60e0d 8012326: Deadlock occurs when Charset.availableCharsets() is called by several threads at the same time Summary: removed the race condition risk from ExtendedCahrset access code Reviewed-by: mchung, alanb ! make/sun/nio/cs/Makefile ! makefiles/CreateJars.gmk ! src/share/classes/java/nio/charset/Charset.java ! src/share/classes/sun/nio/cs/ext/ISO2022_JP_2.java - src/share/classes/sun/nio/cs/ext/META-INF/services/java.nio.charset.spi.CharsetProvider ! src/share/classes/sun/nio/cs/ext/MSISO2022JP.java Changeset: c70fff3db913 Author: sherman Date: 2013-05-14 14:20 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/c70fff3db913 8014217: Base64.getXDecoder().wrap(...).read() doesn't throw exception for an incorrect number of padding chars in the final unit Summary: to throw IOE for malformed final unit in base64 stream Reviewed-by: chegar, alanb ! src/share/classes/java/util/Base64.java ! test/java/util/Base64/TestBase64.java Changeset: a3d79a4c2a24 Author: dholmes Date: 2013-05-15 00:36 -0400 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/a3d79a4c2a24 8013395: StringBuffer.toString performance regression impacting embedded benchmarks Summary: cache a copy of the char[] to use with toString() and clear it when ever the sb content is modified Reviewed-by: alanb, plevart, mduigou, forax ! src/share/classes/java/lang/StringBuffer.java + test/java/lang/StringBuffer/ToStringCache.java Changeset: 93a268759ec3 Author: michaelm Date: 2013-05-15 15:01 +0100 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/93a268759ec3 8010464: Evolve java networking same origin policy Reviewed-by: alanb, chegar, dsamersoff, weijun ! src/share/classes/java/net/HttpURLConnection.java + src/share/classes/java/net/HttpURLPermission.java ! src/share/classes/sun/net/www/MessageHeader.java ! src/share/classes/sun/net/www/protocol/http/HttpURLConnection.java + test/java/net/HttpURLPermission/HttpURLPermissionTest.java + test/java/net/HttpURLPermission/URLTest.java + test/java/net/HttpURLPermission/policy.1 + test/java/net/HttpURLPermission/policy.2 + test/java/net/HttpURLPermission/policy.3 Changeset: ef04044f77d2 Author: sherman Date: 2013-05-15 07:48 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/ef04044f77d2 8013730: JSR 310 DateTime API Updates III Summary: Integration of JSR310 Date/Time API update III Reviewed-by: naoto Contributed-by: scolebourne at joda.org, roger.riggs at oracle.com, masayoshi.okutsu at oracle.com, patrick.zhang at oracle.com ! src/share/classes/java/time/Clock.java ! src/share/classes/java/time/DateTimeException.java ! src/share/classes/java/time/DayOfWeek.java ! src/share/classes/java/time/Duration.java ! src/share/classes/java/time/Instant.java ! src/share/classes/java/time/LocalDate.java ! src/share/classes/java/time/LocalDateTime.java ! src/share/classes/java/time/LocalTime.java ! src/share/classes/java/time/Month.java ! src/share/classes/java/time/MonthDay.java ! src/share/classes/java/time/OffsetDateTime.java ! src/share/classes/java/time/OffsetTime.java ! src/share/classes/java/time/Period.java ! src/share/classes/java/time/Ser.java ! src/share/classes/java/time/Year.java ! src/share/classes/java/time/YearMonth.java ! src/share/classes/java/time/ZoneId.java ! src/share/classes/java/time/ZoneOffset.java ! src/share/classes/java/time/ZoneRegion.java ! src/share/classes/java/time/ZonedDateTime.java ! src/share/classes/java/time/chrono/ChronoDateImpl.java ! src/share/classes/java/time/chrono/ChronoLocalDate.java ! src/share/classes/java/time/chrono/ChronoLocalDateTime.java ! src/share/classes/java/time/chrono/ChronoLocalDateTimeImpl.java ! src/share/classes/java/time/chrono/ChronoZonedDateTime.java ! src/share/classes/java/time/chrono/ChronoZonedDateTimeImpl.java ! src/share/classes/java/time/chrono/Chronology.java ! src/share/classes/java/time/chrono/Era.java ! src/share/classes/java/time/chrono/HijrahChronology.java ! src/share/classes/java/time/chrono/HijrahDate.java ! src/share/classes/java/time/chrono/HijrahEra.java ! src/share/classes/java/time/chrono/IsoChronology.java ! src/share/classes/java/time/chrono/IsoEra.java ! src/share/classes/java/time/chrono/JapaneseChronology.java ! src/share/classes/java/time/chrono/JapaneseDate.java ! src/share/classes/java/time/chrono/JapaneseEra.java ! src/share/classes/java/time/chrono/MinguoChronology.java ! src/share/classes/java/time/chrono/MinguoDate.java ! src/share/classes/java/time/chrono/MinguoEra.java ! src/share/classes/java/time/chrono/Ser.java ! src/share/classes/java/time/chrono/ThaiBuddhistChronology.java ! src/share/classes/java/time/chrono/ThaiBuddhistDate.java ! src/share/classes/java/time/chrono/ThaiBuddhistEra.java - src/share/classes/java/time/format/DateTimeFormatSymbols.java ! src/share/classes/java/time/format/DateTimeFormatter.java ! src/share/classes/java/time/format/DateTimeFormatterBuilder.java ! src/share/classes/java/time/format/DateTimeParseContext.java ! src/share/classes/java/time/format/DateTimeParseException.java ! src/share/classes/java/time/format/DateTimePrintContext.java ! src/share/classes/java/time/format/DateTimeTextProvider.java + src/share/classes/java/time/format/DecimalStyle.java ! src/share/classes/java/time/format/FormatStyle.java ! src/share/classes/java/time/format/Parsed.java ! src/share/classes/java/time/format/ResolverStyle.java ! src/share/classes/java/time/format/SignStyle.java ! src/share/classes/java/time/format/TextStyle.java ! src/share/classes/java/time/format/package-info.java ! src/share/classes/java/time/temporal/ChronoField.java ! src/share/classes/java/time/temporal/ChronoUnit.java ! src/share/classes/java/time/temporal/IsoFields.java ! src/share/classes/java/time/temporal/JulianFields.java ! src/share/classes/java/time/temporal/Temporal.java ! src/share/classes/java/time/temporal/TemporalAccessor.java ! src/share/classes/java/time/temporal/TemporalAdjuster.java ! src/share/classes/java/time/temporal/TemporalAmount.java ! src/share/classes/java/time/temporal/TemporalField.java ! src/share/classes/java/time/temporal/TemporalQuery.java ! src/share/classes/java/time/temporal/TemporalUnit.java ! src/share/classes/java/time/temporal/UnsupportedTemporalTypeException.java ! src/share/classes/java/time/temporal/ValueRange.java ! src/share/classes/java/time/temporal/WeekFields.java ! src/share/classes/java/time/zone/Ser.java ! src/share/classes/java/time/zone/ZoneOffsetTransition.java ! src/share/classes/java/time/zone/ZoneOffsetTransitionRule.java ! src/share/classes/java/time/zone/ZoneRules.java ! src/share/classes/java/time/zone/ZoneRulesException.java ! src/share/classes/java/time/zone/ZoneRulesProvider.java ! src/share/classes/java/util/JapaneseImperialCalendar.java ! src/share/classes/sun/util/calendar/LocalGregorianCalendar.java ! test/java/time/tck/java/time/TCKInstant.java ! test/java/time/tck/java/time/TCKLocalTime.java ! test/java/time/tck/java/time/TCKOffsetTime.java ! test/java/time/tck/java/time/TCKYear.java ! test/java/time/tck/java/time/TCKYearMonth.java ! test/java/time/tck/java/time/TCKZoneOffset.java ! test/java/time/tck/java/time/chrono/TCKChronology.java ! test/java/time/tck/java/time/chrono/TCKChronologySerialization.java ! test/java/time/tck/java/time/chrono/TCKHijrahChronology.java ! test/java/time/tck/java/time/chrono/TCKJapaneseChronology.java ! test/java/time/tck/java/time/chrono/TCKThaiBuddhistChronology.java - test/java/time/tck/java/time/format/TCKDateTimeFormatSymbols.java ! test/java/time/tck/java/time/format/TCKDateTimeFormatter.java ! test/java/time/tck/java/time/format/TCKDateTimeFormatters.java ! test/java/time/tck/java/time/format/TCKDateTimeParseResolver.java + test/java/time/tck/java/time/format/TCKDecimalStyle.java + test/java/time/tck/java/time/format/TCKInstantPrinterParser.java ! test/java/time/tck/java/time/format/TCKTextStyle.java ! test/java/time/tck/java/time/temporal/TCKWeekFields.java ! test/java/time/test/java/time/chrono/TestChronologyPerf.java ! test/java/time/test/java/time/chrono/TestExampleCode.java + test/java/time/test/java/time/chrono/TestJapaneseChronology.java ! test/java/time/test/java/time/format/AbstractTestPrinterParser.java - test/java/time/test/java/time/format/TestDateTimeFormatSymbols.java ! test/java/time/test/java/time/format/TestDateTimeFormatter.java ! test/java/time/test/java/time/format/TestDateTimeFormatterBuilder.java + test/java/time/test/java/time/format/TestDecimalStyle.java ! test/java/time/test/java/time/format/TestFractionPrinterParser.java ! test/java/time/test/java/time/format/TestNonIsoFormatter.java ! test/java/time/test/java/time/format/TestNumberParser.java ! test/java/time/test/java/time/format/TestReducedParser.java ! test/java/time/test/java/time/format/TestReducedPrinter.java ! test/java/time/test/java/time/format/TestZoneTextPrinterParser.java Changeset: bad8f5237f10 Author: darcy Date: 2013-05-15 09:54 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/bad8f5237f10 8014677: Correct docs warning for Objects.requireNonNull(T, Supplier) Reviewed-by: alanb ! src/share/classes/java/util/Objects.java Changeset: 3d9f25dc630c Author: naoto Date: 2013-05-15 16:48 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/3d9f25dc630c 8013233: java/util/Locale/LocaleProviders.sh fails Reviewed-by: okutsu ! test/java/util/Locale/LocaleProviders.java ! test/java/util/Locale/LocaleProviders.sh Changeset: 2ec31660cc0e Author: valeriep Date: 2013-05-07 14:04 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/2ec31660cc0e 8010134: A finalizer in sun.security.pkcs11.wrapper.PKCS11 perhaps should be protected Summary: Change the finalize method of PKCS11 class to be protected. Reviewed-by: xuelei ! src/share/classes/sun/security/pkcs11/wrapper/PKCS11.java Changeset: 991420add35d Author: valeriep Date: 2013-05-07 14:06 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/991420add35d 7196009: SunPkcs11 provider fails to parse config path containing parenthesis Summary: Enhanced to allow quoted string as library path values. Reviewed-by: weijun ! src/share/classes/sun/security/pkcs11/Config.java ! test/sun/security/pkcs11/Provider/ConfigShortPath.java + test/sun/security/pkcs11/Provider/cspQuotedPath.cfg Changeset: 804da1e9bd04 Author: ascarpino Date: 2013-05-07 14:13 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/804da1e9bd04 8001284: Buffer problems with SunPKCS11-Solaris and CKM_AES_CTR Summary: Changed output length calculation to include incomplete blocks for CTR mode. Reviewed-by: valeriep ! src/share/classes/sun/security/pkcs11/P11Cipher.java ! test/sun/security/pkcs11/Cipher/TestSymmCiphersNoPad.java Changeset: fc70416beef3 Author: valeriep Date: 2013-05-13 16:52 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/fc70416beef3 Merge - make/com/sun/script/Makefile - make/sun/org/Makefile - make/sun/org/mozilla/Makefile - make/sun/org/mozilla/javascript/Makefile - src/share/classes/com/sun/script/javascript/ExternalScriptable.java - src/share/classes/com/sun/script/javascript/JSAdapter.java - src/share/classes/com/sun/script/javascript/JavaAdapter.java - src/share/classes/com/sun/script/javascript/META-INF/services/javax.script.ScriptEngineFactory - src/share/classes/com/sun/script/javascript/RhinoClassShutter.java - src/share/classes/com/sun/script/javascript/RhinoCompiledScript.java - src/share/classes/com/sun/script/javascript/RhinoScriptEngine.java - src/share/classes/com/sun/script/javascript/RhinoScriptEngineFactory.java - src/share/classes/com/sun/script/javascript/RhinoTopLevel.java - src/share/classes/com/sun/script/javascript/RhinoWrapFactory.java - src/share/classes/com/sun/script/util/BindingsBase.java - src/share/classes/com/sun/script/util/BindingsEntrySet.java - src/share/classes/com/sun/script/util/BindingsImpl.java - src/share/classes/com/sun/script/util/InterfaceImplementor.java - src/share/classes/com/sun/script/util/ScriptEngineFactoryBase.java - src/share/classes/java/beans/ReflectionUtils.java - test/java/awt/Focus/OverrideRedirectWindowActivationTest/OverrideRedirectWindowActivationTest.java - test/sun/security/provider/certpath/X509CertPath/ForwardBuildCompromised.java - test/sun/security/provider/certpath/X509CertPath/ReverseBuildCompromised.java - test/sun/security/provider/certpath/X509CertPath/ValidateCompromised.java Changeset: 59357ea7f131 Author: valeriep Date: 2013-05-15 18:38 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/59357ea7f131 Merge - src/share/classes/java/time/format/DateTimeFormatSymbols.java - src/share/classes/sun/nio/cs/ext/META-INF/services/java.nio.charset.spi.CharsetProvider - test/java/time/tck/java/time/format/TCKDateTimeFormatSymbols.java - test/java/time/test/java/time/format/TestDateTimeFormatSymbols.java Changeset: bb01cc14223c Author: ewang Date: 2013-05-16 10:59 +0100 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/bb01cc14223c 8004177: test/java/lang/Thread/GenerifyStackTraces.java doesn't clean-up Reviewed-by: alanb, dholmes, chegar ! test/java/lang/Thread/GenerifyStackTraces.java - test/java/lang/Thread/StackTraces.java Changeset: b198389f9da4 Author: xuelei Date: 2013-05-16 04:30 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/b198389f9da4 8010814: More buffers are stored or returned without cloning Reviewed-by: lancea ! src/share/classes/com/sun/jndi/ldap/BerDecoder.java ! src/share/classes/com/sun/jndi/ldap/BerEncoder.java ! src/share/classes/com/sun/jndi/ldap/ext/StartTlsResponseImpl.java Changeset: 81c449fd18fe Author: dmeetry Date: 2013-05-16 19:28 +0400 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/81c449fd18fe 8014676: Java debugger may fail to run Summary: The problem is observed when the binaries for windows are placed under a path which contains a space Reviewed-by: sla, alanb Contributed-by: ivan.gerasimov at oracle.com ! src/share/classes/com/sun/tools/jdi/AbstractLauncher.java ! src/share/classes/com/sun/tools/jdi/SunCommandLineLauncher.java Changeset: 74f91b7f4b66 Author: michaelm Date: 2013-05-16 17:28 +0100 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/74f91b7f4b66 8012625: Incorrect handling of HTTP/1.1 " Expect: 100-continue " in HttpURLConnection Reviewed-by: alanb, chegar ! src/share/classes/sun/net/www/protocol/http/HttpURLConnection.java + test/sun/net/www/protocol/http/B8012625.java Changeset: d02d1b18d828 Author: michaelm Date: 2013-05-16 17:31 +0100 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/d02d1b18d828 Merge Changeset: da203779cb33 Author: jgish Date: 2013-05-16 11:19 -0400 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/da203779cb33 8013380: Removal of stack walk to find resource bundle breaks Glassfish startup Summary: Use caller's classloader to load resource as an alternative to thread context classloader and system classloader Reviewed-by: mchung, alanb ! src/share/classes/java/util/logging/LogManager.java ! src/share/classes/java/util/logging/Logger.java ! test/java/util/logging/bundlesearch/IndirectlyLoadABundle.java - test/java/util/logging/bundlesearch/LoadItUp.java + test/java/util/logging/bundlesearch/LoadItUp1.java + test/java/util/logging/bundlesearch/LoadItUp2.java + test/java/util/logging/bundlesearch/LoadItUp2Invoker.java ! test/java/util/logging/bundlesearch/ResourceBundleSearchTest.java + test/java/util/logging/bundlesearch/TwiceIndirectlyLoadABundle.java + test/java/util/logging/bundlesearch/resources/CallerSearchableResource_en.properties Changeset: df133f9cc4c9 Author: dfuchs Date: 2013-05-16 18:40 +0200 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/df133f9cc4c9 Merge Changeset: a8be9405bb4b Author: khazra Date: 2013-05-16 10:58 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/a8be9405bb4b 7150552: network test hangs [macosx] Summary: Remove usage of test/sun/net/www/httptest Reviewed-by: chegar ! test/ProblemList.txt ! test/java/net/CookieHandler/CookieManagerTest.java ! test/sun/net/www/protocol/http/B6299712.java Changeset: a13de892cefd Author: ksrini Date: 2013-05-15 18:26 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/a13de892cefd 8001163: [pack200] should support attributes introduced by JSR-308 Reviewed-by: jrose ! src/share/classes/com/sun/java/util/jar/pack/Attribute.java ! src/share/classes/com/sun/java/util/jar/pack/BandStructure.java ! src/share/classes/com/sun/java/util/jar/pack/Constants.java ! src/share/classes/com/sun/java/util/jar/pack/Fixups.java ! src/share/classes/com/sun/java/util/jar/pack/Package.java ! src/share/classes/com/sun/java/util/jar/pack/PackageReader.java ! src/share/native/com/sun/java/util/jar/pack/constants.h ! src/share/native/com/sun/java/util/jar/pack/unpack.cpp ! test/tools/pack200/AttributeTests.java + test/tools/pack200/BandIntegrity.java ! test/tools/pack200/InstructionTests.java ! test/tools/pack200/Utils.java ! test/tools/pack200/pack200-verifier/src/xmlkit/ClassReader.java + test/tools/pack200/typeannos/Lambda.java + test/tools/pack200/typeannos/Readme.txt + test/tools/pack200/typeannos/TargetTypes.java + test/tools/pack200/typeannos/TestTypeAnnotations.java + test/tools/pack200/typeannos/TypeUseTarget.java Changeset: 9abf5dc83823 Author: vinnie Date: 2013-05-14 18:08 +0100 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/9abf5dc83823 7194075: Various classes of sunec.jar are duplicated in rt.jar Reviewed-by: mullan, vinnie Contributed-by: Stephen Flores ! make/sun/security/ec/Makefile ! make/sun/security/other/Makefile ! makefiles/CreateJars.gmk + src/share/classes/sun/security/ec/CurveDB.java ! src/share/classes/sun/security/ec/ECDHKeyAgreement.java ! src/share/classes/sun/security/ec/ECDSASignature.java ! src/share/classes/sun/security/ec/ECKeyPairGenerator.java ! src/share/classes/sun/security/ec/ECParameters.java ! src/share/classes/sun/security/ec/ECPrivateKeyImpl.java ! src/share/classes/sun/security/ec/ECPublicKeyImpl.java ! src/share/classes/sun/security/ec/NamedCurve.java ! src/share/classes/sun/security/ec/SunECEntries.java ! src/share/classes/sun/security/pkcs11/P11ECKeyFactory.java ! src/share/classes/sun/security/pkcs11/P11Key.java ! src/share/classes/sun/security/pkcs11/P11KeyStore.java ! src/share/classes/sun/security/ssl/JsseJce.java + src/share/classes/sun/security/util/ECKeySizeParameterSpec.java + src/share/classes/sun/security/util/ECUtil.java ! test/sun/security/pkcs11/ec/TestCurves.java ! test/sun/security/pkcs11/ec/TestECDH2.java ! test/sun/security/pkcs11/ec/TestECDSA2.java Changeset: fdf082cddb69 Author: vinnie Date: 2013-05-14 18:11 +0100 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/fdf082cddb69 Merge Changeset: a399b8be56ae Author: vinnie Date: 2013-05-15 14:49 +0100 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/a399b8be56ae Merge ! makefiles/CreateJars.gmk - src/share/classes/sun/nio/cs/ext/META-INF/services/java.nio.charset.spi.CharsetProvider Changeset: 5153f5154162 Author: vinnie Date: 2013-05-15 15:39 +0100 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/5153f5154162 Merge Changeset: 0465f27f19f5 Author: vinnie Date: 2013-05-16 02:43 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/0465f27f19f5 Merge - src/share/classes/java/time/format/DateTimeFormatSymbols.java - test/java/time/tck/java/time/format/TCKDateTimeFormatSymbols.java - test/java/time/test/java/time/format/TestDateTimeFormatSymbols.java Changeset: 9783f07d43e6 Author: vinnie Date: 2013-05-16 13:22 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/9783f07d43e6 Merge - test/java/lang/Thread/StackTraces.java - test/java/util/logging/bundlesearch/LoadItUp.java Changeset: 5e8959ab64af Author: mchung Date: 2013-05-16 15:08 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/5e8959ab64af 4487672: (proxy) Proxy constructor should check for null argument Reviewed-by: alanb, lancea ! src/share/classes/java/lang/reflect/Proxy.java ! test/java/lang/reflect/Proxy/Basic1.java Changeset: 68209420aac2 Author: dfuchs Date: 2013-05-17 10:40 +0200 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/68209420aac2 8013900: More warnings compiling jaxp. Summary: Some internal implementation classes in Jaxp were redefining equals() without redefining hashCode(). This patch adds hashCode() methods that are consistent with equals(). Reviewed-by: chegar, joehw + test/javax/xml/jaxp/PrecisionDecimalDV/XPrecisionDecimalToString.java Changeset: 3981ad7ec458 Author: chegar Date: 2013-05-17 15:00 +0100 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/3981ad7ec458 8014791: More ProblemList.txt updates (5/2013) Reviewed-by: alanb ! test/ProblemList.txt Changeset: fab0e4b682e8 Author: chegar Date: 2013-05-17 15:18 +0100 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/fab0e4b682e8 Merge ! test/ProblemList.txt - test/java/util/logging/bundlesearch/LoadItUp.java Changeset: 222da3d4692a Author: chegar Date: 2013-05-17 16:44 +0100 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/222da3d4692a 8014783: java/net/HttpURLPermission/HttpURLPermissionTest.java leaves files open Reviewed-by: michaelm ! test/java/net/HttpURLPermission/HttpURLPermissionTest.java Changeset: fed779a87670 Author: chegar Date: 2013-05-17 16:44 +0100 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/fed779a87670 Merge - test/java/util/logging/bundlesearch/LoadItUp.java Changeset: 30101f69e66f Author: lana Date: 2013-05-17 10:11 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/30101f69e66f Merge - make/com/sun/script/Makefile - make/sun/org/Makefile - make/sun/org/mozilla/Makefile - make/sun/org/mozilla/javascript/Makefile - src/share/classes/com/sun/script/javascript/ExternalScriptable.java - src/share/classes/com/sun/script/javascript/JSAdapter.java - src/share/classes/com/sun/script/javascript/JavaAdapter.java - src/share/classes/com/sun/script/javascript/META-INF/services/javax.script.ScriptEngineFactory - src/share/classes/com/sun/script/javascript/RhinoClassShutter.java - src/share/classes/com/sun/script/javascript/RhinoCompiledScript.java - src/share/classes/com/sun/script/javascript/RhinoScriptEngine.java - src/share/classes/com/sun/script/javascript/RhinoScriptEngineFactory.java - src/share/classes/com/sun/script/javascript/RhinoTopLevel.java - src/share/classes/com/sun/script/javascript/RhinoWrapFactory.java - src/share/classes/com/sun/script/util/BindingsBase.java - src/share/classes/com/sun/script/util/BindingsEntrySet.java - src/share/classes/com/sun/script/util/BindingsImpl.java - src/share/classes/com/sun/script/util/InterfaceImplementor.java - src/share/classes/com/sun/script/util/ScriptEngineFactoryBase.java - src/share/classes/java/time/format/DateTimeFormatSymbols.java ! src/share/classes/java/util/Base64.java - src/share/classes/sun/nio/cs/ext/META-INF/services/java.nio.charset.spi.CharsetProvider - test/java/lang/Thread/StackTraces.java - test/java/time/tck/java/time/format/TCKDateTimeFormatSymbols.java - test/java/time/test/java/time/format/TestDateTimeFormatSymbols.java - test/java/util/logging/bundlesearch/LoadItUp.java - test/sun/security/provider/certpath/X509CertPath/ForwardBuildCompromised.java - test/sun/security/provider/certpath/X509CertPath/ReverseBuildCompromised.java - test/sun/security/provider/certpath/X509CertPath/ValidateCompromised.java Changeset: 2868607646a0 Author: erikj Date: 2013-05-21 17:02 +0200 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/2868607646a0 8011346: build-infra: While Constructing Javadoc information, JSpinner.java error: package sun.util.locale.provider does not exist Reviewed-by: dholmes, tbell, naoto ! makefiles/GensrcSwing.gmk Changeset: b61632814be2 Author: katleman Date: 2013-05-21 12:54 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/b61632814be2 Merge Changeset: f559fadbf491 Author: andrew Date: 2013-05-22 13:48 +0100 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/f559fadbf491 8015087: Provide debugging information for programs Summary: Add missing debug info to unpack200 and jexec Reviewed-by: erikj ! makefiles/CompileLaunchers.gmk Changeset: 88d6a20672ac Author: erikj Date: 2013-05-22 10:31 +0200 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/88d6a20672ac 8014970: Use open man pages for non commercial builds Reviewed-by: omajid, tbell ! makefiles/Images.gmk Changeset: 169451cf0cc5 Author: erikj Date: 2013-05-22 15:00 +0200 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/169451cf0cc5 Merge Changeset: 0cec8dc2bcf8 Author: lana Date: 2013-05-22 19:35 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/0cec8dc2bcf8 Merge - make/com/sun/script/Makefile - make/sun/org/Makefile - make/sun/org/mozilla/Makefile - make/sun/org/mozilla/javascript/Makefile - src/share/classes/com/sun/script/javascript/ExternalScriptable.java - src/share/classes/com/sun/script/javascript/JSAdapter.java - src/share/classes/com/sun/script/javascript/JavaAdapter.java - src/share/classes/com/sun/script/javascript/META-INF/services/javax.script.ScriptEngineFactory - src/share/classes/com/sun/script/javascript/RhinoClassShutter.java - src/share/classes/com/sun/script/javascript/RhinoCompiledScript.java - src/share/classes/com/sun/script/javascript/RhinoScriptEngine.java - src/share/classes/com/sun/script/javascript/RhinoScriptEngineFactory.java - src/share/classes/com/sun/script/javascript/RhinoTopLevel.java - src/share/classes/com/sun/script/javascript/RhinoWrapFactory.java - src/share/classes/com/sun/script/util/BindingsBase.java - src/share/classes/com/sun/script/util/BindingsEntrySet.java - src/share/classes/com/sun/script/util/BindingsImpl.java - src/share/classes/com/sun/script/util/InterfaceImplementor.java - src/share/classes/com/sun/script/util/ScriptEngineFactoryBase.java - src/share/classes/java/time/format/DateTimeFormatSymbols.java - src/share/classes/sun/nio/cs/ext/META-INF/services/java.nio.charset.spi.CharsetProvider - test/java/lang/Thread/StackTraces.java - test/java/time/tck/java/time/format/TCKDateTimeFormatSymbols.java - test/java/time/test/java/time/format/TestDateTimeFormatSymbols.java - test/java/util/logging/bundlesearch/LoadItUp.java - test/sun/security/provider/certpath/X509CertPath/ForwardBuildCompromised.java - test/sun/security/provider/certpath/X509CertPath/ReverseBuildCompromised.java - test/sun/security/provider/certpath/X509CertPath/ValidateCompromised.java From jennifer.godinez at oracle.com Thu May 23 19:16:49 2013 From: jennifer.godinez at oracle.com (jennifer.godinez at oracle.com) Date: Thu, 23 May 2013 19:16:49 +0000 Subject: [OpenJDK 2D-Dev] hg: jdk8/2d/jdk: 8012629: java.lang.UnsatisfiedLinkError exception throw by getAllFonts() on MacOSX Message-ID: <20130523191743.52EC548CB7@hg.openjdk.java.net> Changeset: 0208f5f12dc3 Author: jchen Date: 2013-05-23 12:16 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/0208f5f12dc3 8012629: java.lang.UnsatisfiedLinkError exception throw by getAllFonts() on MacOSX Reviewed-by: bae, prr ! make/sun/awt/FILES_c_unix.gmk ! make/sun/awt/FILES_export_unix.gmk ! make/sun/awt/mawt.gmk ! makefiles/CompileNativeLibraries.gmk ! src/macosx/native/sun/font/AWTFont.m From philip.race at oracle.com Thu May 23 21:26:14 2013 From: philip.race at oracle.com (Phil Race) Date: Thu, 23 May 2013 14:26:14 -0700 Subject: [OpenJDK 2D-Dev] RFR: 8008535 : JDK7 Printing : CJK and Latin Text in a string overlap. Message-ID: <519E8976.4050105@oracle.com> Jennifer & Andrew, http://cr.openjdk.java.net/~prr/8008535/ Simple fix for a printing bug dating back to JDK 7 build 08 ! -phil. From jennifer.godinez at oracle.com Thu May 23 21:46:46 2013 From: jennifer.godinez at oracle.com (Jennifer Godinez) Date: Thu, 23 May 2013 14:46:46 -0700 Subject: [OpenJDK 2D-Dev] RFR: 8008535 : JDK7 Printing : CJK and Latin Text in a string overlap. In-Reply-To: <519E8976.4050105@oracle.com> References: <519E8976.4050105@oracle.com> Message-ID: <519E8E46.3090304@oracle.com> Looks good. -Jennifer On 5/23/2013 2:26 PM, Phil Race wrote: > Jennifer & Andrew, > > http://cr.openjdk.java.net/~prr/8008535/ > > Simple fix for a printing bug dating back to JDK 7 build 08 ! > > -phil. From andrew.brygin at oracle.com Fri May 24 07:29:49 2013 From: andrew.brygin at oracle.com (Andrew Brygin) Date: Fri, 24 May 2013 11:29:49 +0400 Subject: [OpenJDK 2D-Dev] RFR: 8008535 : JDK7 Printing : CJK and Latin Text in a string overlap. In-Reply-To: <519E8976.4050105@oracle.com> References: <519E8976.4050105@oracle.com> Message-ID: <519F16ED.8070304@oracle.com> Hi Phil, the fix looks fine to me. Thanks, Andrew On 5/24/2013 1:26 AM, Phil Race wrote: > Jennifer & Andrew, > > http://cr.openjdk.java.net/~prr/8008535/ > > Simple fix for a printing bug dating back to JDK 7 build 08 ! > > -phil. From anthony.petrov at oracle.com Fri May 24 09:41:29 2013 From: anthony.petrov at oracle.com (Anthony Petrov) Date: Fri, 24 May 2013 13:41:29 +0400 Subject: [OpenJDK 2D-Dev] Somewhat wonkier Windows problem In-Reply-To: <519F1574.5040105@oracle.com> References: <2A6D948F-B2A1-458C-A087-1548B7FAE896@oracle.com> <976E0C55-40FF-4533-A085-E883649E47AF@gmail.com> <519D6669.7090100@oracle.com> <519F1574.5040105@oracle.com> Message-ID: <519F35C9.1040001@oracle.com> [ adding 2d-dev@ ] On 05/24/2013 11:23 AM, Erik Joelsson wrote: > On 2013-05-23 20:10, David Chase wrote: >> One change to add (a by-hand "diff") to >> common/autoconf/toolchain_windows.m4 : >> >> AC_MSG_CHECKING([for DirectX SDK lib dir]) >> if test "x$with_dxsdk_lib" != x; then >> DXSDK_LIB_PATH="$with_dxsdk_lib" >> elif test "x$OPENJDK_TARGET_CPU" = "xx86_64"; then >> DXSDK_LIB_PATH="$dxsdk_path/Lib/x64" >> + elif test -d "$dxsdk_path/Lib/x86"; then >> + DXSDK_LIB_PATH="$dxsdk_path/Lib/x86" >> else >> DXSDK_LIB_PATH="$dxsdk_path/Lib" >> fi >> >> This allows 32-bit configure with DirectX SDK 2010. >> This assumes that DXSDK 2004 lacks any subdirectory Lib/x86; I haven't >> seen it yet. >> > Yes, newer directx sdks have that subdir while the only one we support > doesn't. That's why I didn't add that check. The 2d team is quite > adamant about that being the only working directx sdk and any talk about > changing it should be with them, not the build team. We build OracleJDK using DXSDK 2004. Building with a newer DXSDK may (in theory) cause some differences in rendering graphics. Note that in practice I don't recall if anyone has ever seen any actual differences. However, when fixing e.g. 2D bugs, it is important that developers use the proper version of DXSDK for their developer builds to make sure they reproduce the actual issue. In all other cases the version of DXSDK doesn't really matter. I don't see how this translates to DXSDK 2004 "being the only working directx sdk". I believe that the changes proposed by David are reasonable and should be implemented to allow the OpenJDK community build with any version of DXSDK. > If we want to change directx sdk, we should first consider removing the > dependency completely since technically, everything that's needed is > installed with visual studio and/or the normal windows sdk. I agree, this is a good idea. And this is exactly something that the 2D team should decide. However, I believe that the above patch could be applied to OpenJDK as an interim solution before the decision is made. -- best regards, Anthony > > /Erik >> It built, I ran an applet demo, so some minor success there, too. >> >> I'm keeping notes on what works. >> >> More later. >> >> David >> >> >> From vadim.pakhnushev at oracle.com Fri May 24 13:20:09 2013 From: vadim.pakhnushev at oracle.com (Vadim Pakhnushev) Date: Fri, 24 May 2013 17:20:09 +0400 Subject: [OpenJDK 2D-Dev] Somewhat wonkier Windows problem In-Reply-To: <519F35C9.1040001@oracle.com> References: <2A6D948F-B2A1-458C-A087-1548B7FAE896@oracle.com> <976E0C55-40FF-4533-A085-E883649E47AF@gmail.com> <519D6669.7090100@oracle.com> <519F1574.5040105@oracle.com> <519F35C9.1040001@oracle.com> Message-ID: <519F6909.4030706@oracle.com> Hi, There is a bug filed for exactly this reason: http://bugs.sun.com/view_bug.do?bug_id=8008022 I was building JDK 7 and 8 with DXSDK 2010 for almost a year without any problems, and I don't see why there should be any, the core DXSDK API hasn't changed. The change proposed by David is almost exactly what I was thinking to implement. In addition, I think we should make this change in the old build system as well? BTW, 2D code is not using DXSDK_LIB_PATH at all, it loads the d3d9.dll via LoadLibrary. The only usage of the lib path I've found is javax.sound jsoundds.dll which links dsound.dll. And I've checked that we can remove DXSDK dependency at all since all necessary headers are included in Windows SDK (although officially only in SDK 8). But for conservative approach I would use David's change with addition for old build system. I hope Phil can add something to this discussion. Thanks, Vadim On 24.05.2013 13:41, Anthony Petrov wrote: > [ adding 2d-dev@ ] > > On 05/24/2013 11:23 AM, Erik Joelsson wrote: >> On 2013-05-23 20:10, David Chase wrote: >>> One change to add (a by-hand "diff") to >>> common/autoconf/toolchain_windows.m4 : >>> >>> AC_MSG_CHECKING([for DirectX SDK lib dir]) >>> if test "x$with_dxsdk_lib" != x; then >>> DXSDK_LIB_PATH="$with_dxsdk_lib" >>> elif test "x$OPENJDK_TARGET_CPU" = "xx86_64"; then >>> DXSDK_LIB_PATH="$dxsdk_path/Lib/x64" >>> + elif test -d "$dxsdk_path/Lib/x86"; then >>> + DXSDK_LIB_PATH="$dxsdk_path/Lib/x86" >>> else >>> DXSDK_LIB_PATH="$dxsdk_path/Lib" >>> fi >>> >>> This allows 32-bit configure with DirectX SDK 2010. >>> This assumes that DXSDK 2004 lacks any subdirectory Lib/x86; I haven't >>> seen it yet. >>> >> Yes, newer directx sdks have that subdir while the only one we support >> doesn't. That's why I didn't add that check. The 2d team is quite >> adamant about that being the only working directx sdk and any talk about >> changing it should be with them, not the build team. > > We build OracleJDK using DXSDK 2004. Building with a newer DXSDK may > (in theory) cause some differences in rendering graphics. Note that > in practice I don't recall if anyone has ever seen any actual > differences. However, when fixing e.g. 2D bugs, it is important that > developers use the proper version of DXSDK for their developer builds > to make sure they reproduce the actual issue. In all other cases the > version of DXSDK doesn't really matter. > > I don't see how this translates to DXSDK 2004 "being the only working > directx sdk". I believe that the changes proposed by David are > reasonable and should be implemented to allow the OpenJDK community > build with any version of DXSDK. > > >> If we want to change directx sdk, we should first consider removing the >> dependency completely since technically, everything that's needed is >> installed with visual studio and/or the normal windows sdk. > > I agree, this is a good idea. And this is exactly something that the > 2D team should decide. However, I believe that the above patch could > be applied to OpenJDK as an interim solution before the decision is made. > > -- > best regards, > Anthony > >> >> /Erik >>> It built, I ran an applet demo, so some minor success there, too. >>> >>> I'm keeping notes on what works. >>> >>> More later. >>> >>> David >>> >>> >>> From philip.race at oracle.com Fri May 24 16:35:06 2013 From: philip.race at oracle.com (philip.race at oracle.com) Date: Fri, 24 May 2013 16:35:06 +0000 Subject: [OpenJDK 2D-Dev] hg: jdk8/2d/jdk: 8008535: JDK7 Printing : CJK and Latin Text in a string overlap Message-ID: <20130524163611.0B51A48D16@hg.openjdk.java.net> Changeset: f24f9038e050 Author: prr Date: 2013-05-24 09:31 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/f24f9038e050 8008535: JDK7 Printing : CJK and Latin Text in a string overlap Reviewed-by: bae, jgodinez ! src/windows/classes/sun/awt/windows/WPathGraphics.java + test/java/awt/print/PrinterJob/PrintLatinCJKTest.java From david.r.chase at oracle.com Fri May 24 12:07:43 2013 From: david.r.chase at oracle.com (David Chase) Date: Fri, 24 May 2013 08:07:43 -0400 Subject: [OpenJDK 2D-Dev] Somewhat wonkier Windows problem In-Reply-To: <519F3B8A.4070205@oracle.com> References: <2A6D948F-B2A1-458C-A087-1548B7FAE896@oracle.com> <976E0C55-40FF-4533-A085-E883649E47AF@gmail.com> <519D6669.7090100@oracle.com> <519F1574.5040105@oracle.com> <519F35C9.1040001@oracle.com> <519F3B8A.4070205@oracle.com> Message-ID: <4274E826-E9BB-4594-89CB-6263418E9B40@oracle.com> Note that my little patch is in addition to everything that Tim Bell has in his patch to allow building with VS2012 Express, and I haven't tested this yet with VS2010 Express, but I will shortly. And the point is exactly to allow someone outside Oracle to download OpenJDK and to build on Windows. David On 2013-05-24, at 6:06 AM, Erik Joelsson wrote: > On 2013-05-24 11:41, Anthony Petrov wrote: >> [ adding 2d-dev@ ] >> >> On 05/24/2013 11:23 AM, Erik Joelsson wrote: >>> On 2013-05-23 20:10, David Chase wrote: >>>> One change to add (a by-hand "diff") to >>>> common/autoconf/toolchain_windows.m4 : >>>> >>>> AC_MSG_CHECKING([for DirectX SDK lib dir]) >>>> if test "x$with_dxsdk_lib" != x; then >>>> DXSDK_LIB_PATH="$with_dxsdk_lib" >>>> elif test "x$OPENJDK_TARGET_CPU" = "xx86_64"; then >>>> DXSDK_LIB_PATH="$dxsdk_path/Lib/x64" >>>> + elif test -d "$dxsdk_path/Lib/x86"; then >>>> + DXSDK_LIB_PATH="$dxsdk_path/Lib/x86" >>>> else >>>> DXSDK_LIB_PATH="$dxsdk_path/Lib" >>>> fi >>>> >>>> This allows 32-bit configure with DirectX SDK 2010. >>>> This assumes that DXSDK 2004 lacks any subdirectory Lib/x86; I haven't >>>> seen it yet. >>>> >>> Yes, newer directx sdks have that subdir while the only one we support >>> doesn't. That's why I didn't add that check. The 2d team is quite >>> adamant about that being the only working directx sdk and any talk about >>> changing it should be with them, not the build team. >> >> We build OracleJDK using DXSDK 2004. Building with a newer DXSDK may (in theory) cause some differences in rendering graphics. Note that in practice I don't recall if anyone has ever seen any actual differences. However, when fixing e.g. 2D bugs, it is important that developers use the proper version of DXSDK for their developer builds to make sure they reproduce the actual issue. In all other cases the version of DXSDK doesn't really matter. >> >> I don't see how this translates to DXSDK 2004 "being the only working directx sdk". I believe that the changes proposed by David are reasonable and should be implemented to allow the OpenJDK community build with any version of DXSDK. >> >> >>> If we want to change directx sdk, we should first consider removing the >>> dependency completely since technically, everything that's needed is >>> installed with visual studio and/or the normal windows sdk. >> >> I agree, this is a good idea. And this is exactly something that the 2D team should decide. However, I believe that the above patch could be applied to OpenJDK as an interim solution before the decision is made. >>> > I agree with the patch too. Just gave the history to why it wasn't added already. > > /Erik From erik.joelsson at oracle.com Fri May 24 10:06:02 2013 From: erik.joelsson at oracle.com (Erik Joelsson) Date: Fri, 24 May 2013 12:06:02 +0200 Subject: [OpenJDK 2D-Dev] Somewhat wonkier Windows problem In-Reply-To: <519F35C9.1040001@oracle.com> References: <2A6D948F-B2A1-458C-A087-1548B7FAE896@oracle.com> <976E0C55-40FF-4533-A085-E883649E47AF@gmail.com> <519D6669.7090100@oracle.com> <519F1574.5040105@oracle.com> <519F35C9.1040001@oracle.com> Message-ID: <519F3B8A.4070205@oracle.com> On 2013-05-24 11:41, Anthony Petrov wrote: > [ adding 2d-dev@ ] > > On 05/24/2013 11:23 AM, Erik Joelsson wrote: >> On 2013-05-23 20:10, David Chase wrote: >>> One change to add (a by-hand "diff") to >>> common/autoconf/toolchain_windows.m4 : >>> >>> AC_MSG_CHECKING([for DirectX SDK lib dir]) >>> if test "x$with_dxsdk_lib" != x; then >>> DXSDK_LIB_PATH="$with_dxsdk_lib" >>> elif test "x$OPENJDK_TARGET_CPU" = "xx86_64"; then >>> DXSDK_LIB_PATH="$dxsdk_path/Lib/x64" >>> + elif test -d "$dxsdk_path/Lib/x86"; then >>> + DXSDK_LIB_PATH="$dxsdk_path/Lib/x86" >>> else >>> DXSDK_LIB_PATH="$dxsdk_path/Lib" >>> fi >>> >>> This allows 32-bit configure with DirectX SDK 2010. >>> This assumes that DXSDK 2004 lacks any subdirectory Lib/x86; I haven't >>> seen it yet. >>> >> Yes, newer directx sdks have that subdir while the only one we support >> doesn't. That's why I didn't add that check. The 2d team is quite >> adamant about that being the only working directx sdk and any talk about >> changing it should be with them, not the build team. > > We build OracleJDK using DXSDK 2004. Building with a newer DXSDK may > (in theory) cause some differences in rendering graphics. Note that > in practice I don't recall if anyone has ever seen any actual > differences. However, when fixing e.g. 2D bugs, it is important that > developers use the proper version of DXSDK for their developer builds > to make sure they reproduce the actual issue. In all other cases the > version of DXSDK doesn't really matter. > > I don't see how this translates to DXSDK 2004 "being the only working > directx sdk". I believe that the changes proposed by David are > reasonable and should be implemented to allow the OpenJDK community > build with any version of DXSDK. > > >> If we want to change directx sdk, we should first consider removing the >> dependency completely since technically, everything that's needed is >> installed with visual studio and/or the normal windows sdk. > > I agree, this is a good idea. And this is exactly something that the > 2D team should decide. However, I believe that the above patch could > be applied to OpenJDK as an interim solution before the decision is made. >> I agree with the patch too. Just gave the history to why it wasn't added already. /Erik From elisa.deugenio at gmail.com Tue May 28 13:59:21 2013 From: elisa.deugenio at gmail.com (Elisa D'Eugenio) Date: Tue, 28 May 2013 15:59:21 +0200 Subject: [OpenJDK 2D-Dev] GNU Classpath Summer of Code 2013 Message-ID: Hello! I'm Elisa and I'm taking part to Google Summer of Code 2013 with GNU Classpath project. I proposed one of the projects, the new Gtk3 Look and Feel for OpenJDK, and it was accepted. I'm looking forward to start this project. It's a big opportunity for test my knowledge and work this summer in my job field. I would like to keep project discussion on swing-dev cause the code is managed by this group. I hope to have a little bit of help if I ever need. Thanks -------------- next part -------------- An HTML attachment was scrubbed... URL: From bourges.laurent at gmail.com Wed May 29 09:01:45 2013 From: bourges.laurent at gmail.com (=?ISO-8859-1?Q?Laurent_Bourg=E8s?=) Date: Wed, 29 May 2013 11:01:45 +0200 Subject: [OpenJDK 2D-Dev] sun.java2D.Pisces renderer Performance and Memory enhancements In-Reply-To: <518D7F07.4010602@oracle.com> References: <516DBFBF.20504@oracle.com> <5175A611.9080004@oracle.com> <5177345D.4060408@oracle.com> <517822F0.4040800@oracle.com> <51806526.8070808@oracle.com> <518440E2.4080505@oracle.com> <5189B7E4.5010209@oracle.com> <518D7F07.4010602@oracle.com> Message-ID: Andrea, Jim and java2d members, I am going back to my work on java2d pisces improvements (scanline rendering optimization). Two comments: - hotspot takes some time to optimize the very large Renderer.endRendering() and ScalineIterator.next() methods: probably because these methods represents too many byte codes (many loops ...) - I tried merging them but it seems that it becomes slower (too big method ? or hotspot produce less optimized code according to its heuristics ... warmup issue ?) - Do you think it could help hotspot if such methods are split in smaller ones ? - Many float operations are used to compute crossings that could be replaced by DDA (integer ops) to improve performance ... - does anybody have other ideas to improve algorithm efficiency like winding rule handling (<< 1, >> 1, bit mask), edge eviction from active edge list, float rounding operations) ? Moreover, could anybody help me working on pisces (code, test, benchmarks) ? at least review the last patch ? Remaining items: - clipping issues (dasher emits many segments even out of bounds) - rounding issues: float to int conversions (biais or not) Finally I propose to focus on optimizing these 2 algorithms (methods) as it represents 55% of cpu time: - optimize / modify algorithms: integer instead of float ops, reduce number of condition statements (if) to improve branch prediction ... - or / and port these methods into C code (JNI) Here are my comments: >> I think that the ScanLineIterator class is no more useful and could be >> merged into Renderer directly: I try to optimize these 2 code paths >> (crossing / crossing -> alpha) but it seems quite difficult as I must >> understand hotspot optimizations (assembler code)... >> > > I was originally skeptical about breaking that part of the process into an > iterator class as well. > I tried to merge these methods into Renderer.endRendering() but benchmark results seems worse: probably hotspot generates less optimized code ... > For now I want to keep pisces in Java code as hotspot is efficient >> enough and probably the algorithm can be reworked a bit; >> few questions: >> - should edges be sorted by Ymax ONCE to avoid complete edges traversal >> to count crossings for each Y value: >> >> 156 if ((bucketcount & 0x1) != 0) { >> 157 int newCount = 0; >> 158 for (int i = 0, ecur; i < count; i++) { >> 159 ecur = ptrs[i]; >> * 160 if (_edgesInt[ecur + YMAX] > cury) { >> * 161 ptrs[newCount++] = ecur; >> >> 162 } >> 163 } >> 164 count = newCount; >> 165 } >> > > This does not traverse all edges, just the edges currently "in play" and > it only does it for scanlines that had a recorded ymax on them (count is > multiplied by 2 and then optionally the last bit is set if some edge ends > on that scanline so we know whether or not to do the "remove expired edges" > processing). > Agreed, this algorithm is the "well know" edge eviction from active edge list => move it into dedicated method ? > - why multiply x2 and divide /2 the crossings (+ rounding issues) ? >> >> 202 for (int i = 0, ecur, j; i < count; i++) { >> 203 ecur = ptrs[i]; >> 204 curx = _edges[ecur /* + CURX */]; >> 205 _edges[ecur /* + CURX */] = curx + _edges[ecur + >> SLOPE]; >> 206 >> * 207 cross = ((int) curx) << 1; >> * 208 if (_edgesInt[ecur + OR] != 0 /* > 0 */) { >> 209 cross |= 1; >> > > The line above sets the bottom bit if the crossing is one orientation vs. > the other so we know whether to add one or subtract one to the winding > count. The crossings can then be sorted and the orientation flag is > carried along with the values as they are sorted. The cost of this trick > is having to shift the actual crossing coordinates by 1 to vacate the LSBit. Two comments: - float ops used to compute the x crossing => use DDA (integer ops ?) - store the orientation flag into another byte array to avoid shift operations << 1 and >> 1 (later in the code) but the insertion sort should then be smart to provide a sorted index mapping ... > > - last x pixel processing: could you explain me ? >> 712 int pix_xmax = x1 >> >> SUBPIXEL_LG_POSITIONS_X; >> 713 int tmp = (x0 & SUBPIXEL_MASK_X); >> 714 alpha[pix_x] += >> SUBPIXEL_POSITIONS_X - tmp; >> 715 alpha[pix_x + 1] += tmp; >> 716 tmp = (x1 & SUBPIXEL_MASK_X); >> 717 alpha[pix_xmax] -= >> SUBPIXEL_POSITIONS_X - tmp; >> 718 alpha[pix_xmax + 1] -= tmp; >> > > Are you referring to the 2 += and the 2 -= for each end of the span? If > an edge crosses in a given pixel at 5 subpixel positions after the start of > that pixel, then it contributes a coverage of "SUBPIXEL_POS_X minus 5" in > that pixel. But, starting with the following pixel, the total coverage it > adds for those pixels until it reaches the right edge of the span is > "SUBPIXEL_POSITIONS_X". However, we are recording deltas and the previous > pixels only bumped our total coverage by "S_P_X - 5". So, we now need to > bump the accumulated coverage by 5 in the following pixel so that the total > added coverage is "S_P_X". > > Basically the pair of += lines adds a total S_P_X to the coverage, but it > splits that sum over two pixels - the one where the left edge first > appeared and its following pixel. Similarly, the two -= statements > subtract a total of S_P_X from the coverage total, and do so spread across > 2 pixels. If the crossing happened right at the left edge of the pixel > then tmp would be 0 and the second += or -= would be wasted, but that only > happens 1 out of S_P_X times and the cost of testing is probably less than > just adding tmp to the second pixel even if it is 0. > > Also note that we need to have an array entry for alpha[max_x + 1] so that > the second += and -= don't store off the end of the array. We don't need > to use that value since we will stop our alpha accumulations at the entry > for max_x, but testing to see if the "second pixel delta value" is needed > is more expensive than just accumulating it into an unused array entry. Thanks for the explanations: I understand now why I should clean the alpha array more than I thought: xmax + 2 ! > > Finally, it seems that hotspot settings (CompileThreshold=1000 and >> -XX:aggressiveopts) are able to compile theses hotspots better ... >> > > What about if we use the default settings as would most non-server apps ? As my linux is 64 bits, I can only run benchmark with the server compiler (hotspot c2) ... I could also test with / without tiered compilation (between client and server compiler) ... > > Thanks; probably the edgeBucket / edgeBucketCount arrays could be merged >> into a single one to improve cache affinity. >> > > Interesting. It could be interesting to evaluate the cpu cache affinity related to all these arrays: maybe 2D arrays could be packed into 1D arrays to improve cache efficiency; idem for edge "struct": it is better to keep int / float arrays instead of having an Edge object (with instance pool) ? > FYI, I can write C/C++ code but I never practised JNI code. >> Does somebody could help us to port only these 2 hotspot methods ? >> > > Port 2 Hotspot methods? I'm not sure what you are referring to here? I mean implement the 'hotspot' methods i.e. implement the rendering algorithms in C code using JNI to access Renderer fields. Such C code could be compiled using optimizations (gcc O2) but I have doubts that it will be faster than optimized code produced by hotspot c2 compiler ... Maybe somebody could look at the assembly code generated by hotspot to ensure these methods are 'well' optimized: I looked at it but I am not able to evaluate if it is good (efficient) code. PS: Andrea, did you run some benchmarks using the last patch ? Laurent -------------- next part -------------- An HTML attachment was scrubbed... URL: From andrea.aime at geo-solutions.it Wed May 29 09:05:39 2013 From: andrea.aime at geo-solutions.it (Andrea Aime) Date: Wed, 29 May 2013 11:05:39 +0200 Subject: [OpenJDK 2D-Dev] sun.java2D.Pisces renderer Performance and Memory enhancements In-Reply-To: References: <516DBFBF.20504@oracle.com> <5175A611.9080004@oracle.com> <5177345D.4060408@oracle.com> <517822F0.4040800@oracle.com> <51806526.8070808@oracle.com> <518440E2.4080505@oracle.com> <5189B7E4.5010209@oracle.com> <518D7F07.4010602@oracle.com> Message-ID: On Wed, May 29, 2013 at 11:01 AM, Laurent Bourg?s wrote: > Finally I propose to focus on optimizing these 2 algorithms (methods) as > it represents 55% of cpu time: > - optimize / modify algorithms: integer instead of float ops, reduce > number of condition statements (if) to improve branch prediction ... > I have been fancying a port to java of the agg liteweight rasterize ( http://www.antigrain.com/download/index.html) and indeed that code, besides producing high quality antialiased outputs, works with rescaled integers. Might be work having a look Cheers Andrea -- == GeoServer training in Milan, 6th & 7th June 2013! Visit http://geoserver.geo-solutions.it for more information. == Ing. Andrea Aime @geowolf Technical Lead GeoSolutions S.A.S. Via Poggio alle Viti 1187 55054 Massarosa (LU) Italy phone: +39 0584 962313 fax: +39 0584 1660272 mob: +39 339 8844549 http://www.geo-solutions.it http://twitter.com/geosolutions_it ------------------------------------------------------- -------------- next part -------------- An HTML attachment was scrubbed... URL: From jvanek at redhat.com Wed May 29 09:20:29 2013 From: jvanek at redhat.com (Jiri Vanek) Date: Wed, 29 May 2013 11:20:29 +0200 Subject: [OpenJDK 2D-Dev] [PATCH FOR REVIEW] fix for bug 8011693: Remove redundant fontconfig files In-Reply-To: <519A3523.70002@redhat.com> References: <5162A1B3.1050001@redhat.com> <5162A642.4020003@oracle.com> <5162AB8F.1020503@redhat.com> <5162BA69.8070308@oracle.com> <5162C654.3070001@redhat.com> <5162D09C.8000307@oracle.com> <5162E2BE.7000202@redhat.com> <518CFF58.1080400@redhat.com> <519A3523.70002@redhat.com> Message-ID: <51A5C85D.6060807@redhat.com> On 05/20/2013 04:37 PM, Jiri Vanek wrote: > On 05/10/2013 04:08 PM, Jiri Vanek wrote: >> On 04/08/2013 05:31 PM, Jiri Vanek wrote: >>> On 04/08/2013 04:13 PM, Vladislav Karnaukhov wrote: >>>> Hello Jiri, >>>> >>>> please see inline. >>>> >>>> On 4/8/2013 05:29 PM, Jiri Vanek wrote: >>>>> On 04/08/2013 02:39 PM, Vladislav Karnaukhov wrote: >>>>> >>>>> Thank you very much for win-check! It will force me to install new >>>>> windows machine somewhere. >>>>> Do you mind do check if pure removal of fontconfig files (both src and >>>>> bfc) from you installed jdk7/8 on windows will work? (should) >>>> >>>> Yes, I've checked and it does *not* work. That's the reason why I replied to your very first >>>> message. A removal of fontconfig.* files simply crashes Java, - on both Windows and Mac, - because >>>> some font management-related classes rely on these files. Hence my question regarding deeper >>>> re-design on font management system... >>>> >>>> I've tested Mac build as well, and there's the same error: >>> >>> Ok. I will try anyway:) >>> For linux I'm quite sure the new fontmanagers are working pretty fine. >>> Do you think it will be acceptable to prepare smaller clean up - to remove all linux fontconfig >>> files? >>> >>> And later, as separate changeset to fontmanagers for windows/mac, but I'm afraid I will not be >>> capable of such an development on non linux system. >>> >>> Thanx for your help, >>> >>> J. >>>> >> >> Hi! >> >> I had finally found some free time, so here it is - smaller version which is removing just stuff for >> linux when OpenJDK is defined. >> >> http://jvanek.fedorapeople.org/oracle/jdk8/webrevs/removedFontConfigFiles-linuxOnly/ >> >> Although I had windows build, I lost this machine so - again (and sorry for that) - tested only on >> Fedora. >> >> Also when I read the individual fontmanagers, I believe that they really *should* work without >> fontocfigs. So although this is fixing the 8011693, new bugs should be filled for windows and mac, >> because theirs implementations are broken. >> >> Thank you very much for any comments. >> >> Best Regards >> j. > > Ping? Any advice how to move this forward? > > I know that this is minor fix compared to others I can read on this channel, but as the font > managers exists, and fontconfig files *should* be redundant, then this change should be done. If > fontmanagers are buggy (and eg windows one appeared to be) then as soon as this will be tempted then > sooner it will get fixed. > > For linux I'm pretty sure this is working, and we have even removed the fontconfig files from > packages in public facing version three months ago [1] > > So this can be first step to get rid of old and redundant font mapping completely. > > > J. > > > [1] > http://pkgs.fedoraproject.org/cgit/java-1.7.0-openjdk.git/commit/?h=f17&id=9d6dd62ae2123635b4d15e40e527a0b617756484 > > (search for +rm %{buildoutputdir}/j2re-image/lib/fontconfig) From bourges.laurent at gmail.com Wed May 29 12:05:24 2013 From: bourges.laurent at gmail.com (=?ISO-8859-1?Q?Laurent_Bourg=E8s?=) Date: Wed, 29 May 2013 14:05:24 +0200 Subject: [OpenJDK 2D-Dev] sun.java2D.Pisces renderer Performance and Memory enhancements In-Reply-To: References: <516DBFBF.20504@oracle.com> <5175A611.9080004@oracle.com> <5177345D.4060408@oracle.com> <517822F0.4040800@oracle.com> <51806526.8070808@oracle.com> <518440E2.4080505@oracle.com> <5189B7E4.5010209@oracle.com> <518D7F07.4010602@oracle.com> Message-ID: Seems very interesting ... I just looked at the documentation. AGG code would be worth to look at but somebody should check if their license is compatible with openjdk license terms. Apparently AGG uses integers to convert float values (24.8 ie float are multiplied by 256 and then converted to integers) Laurent 2013/5/29 Andrea Aime > On Wed, May 29, 2013 at 11:01 AM, Laurent Bourg?s < > bourges.laurent at gmail.com> wrote: > >> Finally I propose to focus on optimizing these 2 algorithms (methods) as >> it represents 55% of cpu time: >> - optimize / modify algorithms: integer instead of float ops, reduce >> number of condition statements (if) to improve branch prediction ... >> > > I have been fancying a port to java of the agg liteweight rasterize ( > http://www.antigrain.com/download/index.html) > and indeed that code, besides producing high quality antialiased outputs, > works with rescaled integers. > Might be work having a look > > Cheers > Andrea > > -- > == > GeoServer training in Milan, 6th & 7th June 2013! Visit > http://geoserver.geo-solutions.it for more information. > == > > Ing. Andrea Aime > @geowolf > Technical Lead > > GeoSolutions S.A.S. > Via Poggio alle Viti 1187 > 55054 Massarosa (LU) > Italy > phone: +39 0584 962313 > fax: +39 0584 1660272 > mob: +39 339 8844549 > > http://www.geo-solutions.it > http://twitter.com/geosolutions_it > > ------------------------------------------------------- > -------------- next part -------------- An HTML attachment was scrubbed... URL: From gnu.andrew at redhat.com Wed May 29 12:06:23 2013 From: gnu.andrew at redhat.com (Andrew Hughes) Date: Wed, 29 May 2013 08:06:23 -0400 (EDT) Subject: [OpenJDK 2D-Dev] [PATCH FOR REVIEW] fix for bug 8011693: Remove redundant fontconfig files In-Reply-To: <51A5C85D.6060807@redhat.com> References: <5162A1B3.1050001@redhat.com> <5162BA69.8070308@oracle.com> <5162C654.3070001@redhat.com> <5162D09C.8000307@oracle.com> <5162E2BE.7000202@redhat.com> <518CFF58.1080400@redhat.com> <519A3523.70002@redhat.com> <51A5C85D.6060807@redhat.com> Message-ID: <797315733.402867.1369829183057.JavaMail.root@redhat.com> ----- Original Message ----- > On 05/20/2013 04:37 PM, Jiri Vanek wrote: > > On 05/10/2013 04:08 PM, Jiri Vanek wrote: > >> On 04/08/2013 05:31 PM, Jiri Vanek wrote: > >>> On 04/08/2013 04:13 PM, Vladislav Karnaukhov wrote: > >>>> Hello Jiri, > >>>> > >>>> please see inline. > >>>> > >>>> On 4/8/2013 05:29 PM, Jiri Vanek wrote: > >>>>> On 04/08/2013 02:39 PM, Vladislav Karnaukhov wrote: > >>>>> > >>>>> Thank you very much for win-check! It will force me to install new > >>>>> windows machine somewhere. > >>>>> Do you mind do check if pure removal of fontconfig files (both src and > >>>>> bfc) from you installed jdk7/8 on windows will work? (should) > >>>> > >>>> Yes, I've checked and it does *not* work. That's the reason why I > >>>> replied to your very first > >>>> message. A removal of fontconfig.* files simply crashes Java, - on both > >>>> Windows and Mac, - because > >>>> some font management-related classes rely on these files. Hence my > >>>> question regarding deeper > >>>> re-design on font management system... > >>>> > >>>> I've tested Mac build as well, and there's the same error: > >>> > >>> Ok. I will try anyway:) > >>> For linux I'm quite sure the new fontmanagers are working pretty fine. > >>> Do you think it will be acceptable to prepare smaller clean up - to > >>> remove all linux fontconfig > >>> files? > >>> > >>> And later, as separate changeset to fontmanagers for windows/mac, but > >>> I'm afraid I will not be > >>> capable of such an development on non linux system. > >>> > >>> Thanx for your help, > >>> > >>> J. > >>>> > >> > >> Hi! > >> > >> I had finally found some free time, so here it is - smaller version which > >> is removing just stuff for > >> linux when OpenJDK is defined. > >> > >> http://jvanek.fedorapeople.org/oracle/jdk8/webrevs/removedFontConfigFiles-linuxOnly/ > >> > >> Although I had windows build, I lost this machine so - again (and sorry > >> for that) - tested only on > >> Fedora. > >> > >> Also when I read the individual fontmanagers, I believe that they really > >> *should* work without > >> fontocfigs. So although this is fixing the 8011693, new bugs should be > >> filled for windows and mac, > >> because theirs implementations are broken. > >> > >> Thank you very much for any comments. > >> > >> Best Regards > >> j. > > > > > > Ping? > > Any advice how to move this forward? > > > > > I know that this is minor fix compared to others I can read on this > > channel, but as the font > > managers exists, and fontconfig files *should* be redundant, then this > > change should be done. If > > fontmanagers are buggy (and eg windows one appeared to be) then as soon as > > this will be tempted then > > sooner it will get fixed. > > > > For linux I'm pretty sure this is working, and we have even removed the > > fontconfig files from > > packages in public facing version three months ago [1] > > > > So this can be first step to get rid of old and redundant font mapping > > completely. > > > > > > J. > > > > > > [1] > > http://pkgs.fedoraproject.org/cgit/java-1.7.0-openjdk.git/commit/?h=f17&id=9d6dd62ae2123635b4d15e40e527a0b617756484 > > > > (search for +rm %{buildoutputdir}/j2re-image/lib/fontconfig) > > I've applied this patch and built OpenJDK, and it went fine. A basic Swing application still loads up fine. So looks good to go to me. -- Andrew :) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) PGP Key: 248BDC07 (https://keys.indymedia.org/) Fingerprint = EC5A 1F5E C0AD 1D15 8F1F 8F91 3B96 A578 248B DC07 From andrea.aime at geo-solutions.it Wed May 29 12:19:15 2013 From: andrea.aime at geo-solutions.it (Andrea Aime) Date: Wed, 29 May 2013 14:19:15 +0200 Subject: [OpenJDK 2D-Dev] sun.java2D.Pisces renderer Performance and Memory enhancements In-Reply-To: References: <516DBFBF.20504@oracle.com> <5175A611.9080004@oracle.com> <5177345D.4060408@oracle.com> <517822F0.4040800@oracle.com> <51806526.8070808@oracle.com> <518440E2.4080505@oracle.com> <5189B7E4.5010209@oracle.com> <518D7F07.4010602@oracle.com> Message-ID: On Wed, May 29, 2013 at 2:05 PM, Laurent Bourg?s wrote: > Seems very interesting ... I just looked at the documentation. > > AGG code would be worth to look at but somebody should check if their > license is compatible with openjdk license terms. > > I'm not a lawyer, so take this with a grain of salt, but the most up to date code base does not seem compatible, however the lightweight rasterizer I pointed you at is under the LGPL, so it _should_ be compatible. I have memories that the rasterization techinique is coming from libfreetype, so that's another one that might be worth looking at (and I guess OpenJDK already depends on it to handle fonts under Linux? not sure) Cheers Andrea -- == GeoServer training in Milan, 6th & 7th June 2013! Visit http://geoserver.geo-solutions.it for more information. == Ing. Andrea Aime @geowolf Technical Lead GeoSolutions S.A.S. Via Poggio alle Viti 1187 55054 Massarosa (LU) Italy phone: +39 0584 962313 fax: +39 0584 1660272 mob: +39 339 8844549 http://www.geo-solutions.it http://twitter.com/geosolutions_it ------------------------------------------------------- -------------- next part -------------- An HTML attachment was scrubbed... URL: From gnu.andrew at redhat.com Wed May 29 15:09:40 2013 From: gnu.andrew at redhat.com (Andrew Hughes) Date: Wed, 29 May 2013 11:09:40 -0400 (EDT) Subject: [OpenJDK 2D-Dev] Request for review [XS]: The XRender backend fails to render any glyphs on 64-bit Big-endian architectures In-Reply-To: References: <51816D67.9050401@oracle.com> <51880CDA.9090901@oracle.com> <598716654.5933993.1369227812501.JavaMail.root@redhat.com> Message-ID: <1160288079.3594.1369840180734.JavaMail.root@redhat.com> ----- Original Message ----- > I haven't done it but I think it would be useful to backport the change. > > However I'm not very familiar with the process of backporting changes and > only an jdk7u author anyway so if you could do that it woud be great! > Yeah, I can propose it and CC you. I just didn't want to step on any one's toes if it was already in progress :) > Thank you and best regards, > Volker > > > > On Wed, May 22, 2013 at 3:03 PM, Andrew Hughes wrote: > > > ----- Original Message ----- > > > On 5/6/2013 5:25 AM, Volker Simonis wrote: > > > > On Wed, May 1, 2013 at 9:30 PM, Phil Race > > wrote: > > > >> Volker .. thanks for the patch looks good although I ask > > > >> that you break the source code lines at no more than 80 chars .. > > > >> that's the norm/standard we have always used > > > >> > > > > I read the guidlines but after I realized that some of the files I > > > > changed already contain lines with more than 130 characters I thought > > > > that the guildines may be antiquated in that respect :) Nevertheless, > > > > I'm not against coding standards at all, so please find the '80 > > > > chars'-version of my patch below: > > > > > > > > http://cr.openjdk.java.net/~simonis/webrevs/7191872 > > > > > > I have commited this as 'simonis' and pushed to the 2d forest. > > > > > > > Is this being proposed for 7 too? > > -- > > Andrew :) > > > > Free Java Software Engineer > > Red Hat, Inc. (http://www.redhat.com) > > > > PGP Key: 248BDC07 (https://keys.indymedia.org/) > > Fingerprint = EC5A 1F5E C0AD 1D15 8F1F 8F91 3B96 A578 248B DC07 > > > > > -- Andrew :) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) PGP Key: 248BDC07 (https://keys.indymedia.org/) Fingerprint = EC5A 1F5E C0AD 1D15 8F1F 8F91 3B96 A578 248B DC07 From jennifer.godinez at oracle.com Wed May 29 16:19:12 2013 From: jennifer.godinez at oracle.com (jennifer.godinez at oracle.com) Date: Wed, 29 May 2013 16:19:12 +0000 Subject: [OpenJDK 2D-Dev] hg: jdk8/2d/jdk: 7183520: [macosx]Unable to print out the defined page for 2D_PrintingTiger/JTablePrintPageRangesTest. Message-ID: <20130529162011.F253C48DE7@hg.openjdk.java.net> Changeset: f4ad2fa22474 Author: jgodinez Date: 2013-05-29 09:18 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/f4ad2fa22474 7183520: [macosx]Unable to print out the defined page for 2D_PrintingTiger/JTablePrintPageRangesTest. Reviewed-by: bae, prr ! src/macosx/classes/sun/lwawt/macosx/CPrinterJob.java From jennifer.godinez at oracle.com Wed May 29 16:46:42 2013 From: jennifer.godinez at oracle.com (jennifer.godinez at oracle.com) Date: Wed, 29 May 2013 16:46:42 +0000 Subject: [OpenJDK 2D-Dev] hg: jdk8/2d/jdk: 8012381: [macosx]Unable to print out the defined page for 2D_PrintingTiger/JTablePrintPageRangesTest Message-ID: <20130529164659.80D8848DEE@hg.openjdk.java.net> Changeset: 7e2a887a069e Author: jgodinez Date: 2013-05-29 09:46 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/7e2a887a069e 8012381: [macosx]Unable to print out the defined page for 2D_PrintingTiger/JTablePrintPageRangesTest Reviewed-by: jchen, prr ! src/solaris/classes/sun/print/IPPPrintService.java ! test/java/awt/print/PrinterJob/Collate2DPrintingTest.java From philip.race at oracle.com Wed May 29 17:12:00 2013 From: philip.race at oracle.com (Phil Race) Date: Wed, 29 May 2013 10:12:00 -0700 Subject: [OpenJDK 2D-Dev] sun.java2D.Pisces renderer Performance and Memory enhancements In-Reply-To: References: <5175A611.9080004@oracle.com> <5177345D.4060408@oracle.com> <517822F0.4040800@oracle.com> <51806526.8070808@oracle.com> <518440E2.4080505@oracle.com> <5189B7E4.5010209@oracle.com> <518D7F07.4010602@oracle.com> Message-ID: <51A636E0.3030407@oracle.com> >From http://www.oracle.com/technetwork/community/oca-486395.html "The OCA gives Oracle and the contributor joint copyright interests in the code ..." So you can't use AGG since you don't have the rights to contribute it under OCA terms. Also I don't think we want to swap out pisces and start to re-invent things. Better to improve what we already have -phil. On 5/29/2013 5:19 AM, Andrea Aime wrote: > On Wed, May 29, 2013 at 2:05 PM, Laurent Bourg?s > > wrote: > > Seems very interesting ... I just looked at the documentation. > > AGG code would be worth to look at but somebody should check if > their license is compatible with openjdk license terms. > > > I'm not a lawyer, so take this with a grain of salt, but the most up > to date code base does not seem compatible, however > the lightweight rasterizer I pointed you at is under the LGPL, so it > _should_ be compatible. > I have memories that the rasterization techinique is coming from > libfreetype, so that's another one that might be worth > looking at (and I guess OpenJDK already depends on it to handle fonts > under Linux? not sure) > > Cheers > Andrea > -- > == > GeoServer training in Milan, 6th & 7th June 2013! Visit > http://geoserver.geo-solutions.it > for more information. > == > > Ing. Andrea Aime > @geowolf > Technical Lead > > GeoSolutions S.A.S. > Via Poggio alle Viti 1187 > 55054 Massarosa (LU) > Italy > phone: +39 0584 962313 > fax: +39 0584 1660272 > mob: +39 339 8844549 > > http://www.geo-solutions.it > http://twitter.com/geosolutions_it > > ------------------------------------------------------- From philip.race at oracle.com Wed May 29 19:35:30 2013 From: philip.race at oracle.com (Phil Race) Date: Wed, 29 May 2013 12:35:30 -0700 Subject: [OpenJDK 2D-Dev] [PATCH FOR REVIEW] fix for bug 8011693: Remove redundant fontconfig files In-Reply-To: <797315733.402867.1369829183057.JavaMail.root@redhat.com> References: <5162A1B3.1050001@redhat.com> <5162BA69.8070308@oracle.com> <5162C654.3070001@redhat.com> <5162D09C.8000307@oracle.com> <5162E2BE.7000202@redhat.com> <518CFF58.1080400@redhat.com> <519A3523.70002@redhat.com> <51A5C85D.6060807@redhat.com> <797315733.402867.1369829183057.JavaMail.root@redhat.com> Message-ID: <51A65882.2050206@oracle.com> Jiri, I think this has mostly been hashed out as the fix is reduced to Linux but here's my over-due input : 1) Windows *absolutely* still needs fontconfig files. 2) Mac OS X doesn't obey what's there but that doesn't mean its going to work when you just remove them. 3) Solaris *does* want the Solaris one, even though it has the same fontconfig platform support as Linux. This is for compatibility. 4) Linux does not need them *so long as* fontconfig is there and working. OpenJDK on any Linux desktop should be fine. 5) However policy decisions were made to leave them there for some particular linux variants in the closed repo, again for compatibility, but you are leaving that alone, so that's fine, although we should revisit this 6) I never noticed the bsd one before. It must have snuck in with mac port. Is anything even referencing it ? If not I think this can be removed too. 7) The files themselves and support for the files are distinct issues. There should still be the ability for [say] Gentoo, to decide they want a particular set of fonts used and so they will ship a file . So it might be better to leave the variables there (empty) and with a comment that this is a placeholder. -phil. On 5/29/2013 5:06 AM, Andrew Hughes wrote: > ----- Original Message ----- >> On 05/20/2013 04:37 PM, Jiri Vanek wrote: >>> On 05/10/2013 04:08 PM, Jiri Vanek wrote: >>>> On 04/08/2013 05:31 PM, Jiri Vanek wrote: >>>>> On 04/08/2013 04:13 PM, Vladislav Karnaukhov wrote: >>>>>> Hello Jiri, >>>>>> >>>>>> please see inline. >>>>>> >>>>>> On 4/8/2013 05:29 PM, Jiri Vanek wrote: >>>>>>> On 04/08/2013 02:39 PM, Vladislav Karnaukhov wrote: >>>>>>> >>>>>>> Thank you very much for win-check! It will force me to install new >>>>>>> windows machine somewhere. >>>>>>> Do you mind do check if pure removal of fontconfig files (both src and >>>>>>> bfc) from you installed jdk7/8 on windows will work? (should) >>>>>> Yes, I've checked and it does *not* work. That's the reason why I >>>>>> replied to your very first >>>>>> message. A removal of fontconfig.* files simply crashes Java, - on both >>>>>> Windows and Mac, - because >>>>>> some font management-related classes rely on these files. Hence my >>>>>> question regarding deeper >>>>>> re-design on font management system... >>>>>> >>>>>> I've tested Mac build as well, and there's the same error: >>>>> Ok. I will try anyway:) >>>>> For linux I'm quite sure the new fontmanagers are working pretty fine. >>>>> Do you think it will be acceptable to prepare smaller clean up - to >>>>> remove all linux fontconfig >>>>> files? >>>>> >>>>> And later, as separate changeset to fontmanagers for windows/mac, but >>>>> I'm afraid I will not be >>>>> capable of such an development on non linux system. >>>>> >>>>> Thanx for your help, >>>>> >>>>> J. >>>> Hi! >>>> >>>> I had finally found some free time, so here it is - smaller version which >>>> is removing just stuff for >>>> linux when OpenJDK is defined. >>>> >>>> http://jvanek.fedorapeople.org/oracle/jdk8/webrevs/removedFontConfigFiles-linuxOnly/ >>>> >>>> Although I had windows build, I lost this machine so - again (and sorry >>>> for that) - tested only on >>>> Fedora. >>>> >>>> Also when I read the individual fontmanagers, I believe that they really >>>> *should* work without >>>> fontocfigs. So although this is fixing the 8011693, new bugs should be >>>> filled for windows and mac, >>>> because theirs implementations are broken. >>>> >>>> Thank you very much for any comments. >>>> >>>> Best Regards >>>> j. >>> >> Ping? >> >> Any advice how to move this forward? >> >>> I know that this is minor fix compared to others I can read on this >>> channel, but as the font >>> managers exists, and fontconfig files *should* be redundant, then this >>> change should be done. If >>> fontmanagers are buggy (and eg windows one appeared to be) then as soon as >>> this will be tempted then >>> sooner it will get fixed. >>> >>> For linux I'm pretty sure this is working, and we have even removed the >>> fontconfig files from >>> packages in public facing version three months ago [1] >>> >>> So this can be first step to get rid of old and redundant font mapping >>> completely. >>> >>> >>> J. >>> >>> >>> [1] >>> http://pkgs.fedoraproject.org/cgit/java-1.7.0-openjdk.git/commit/?h=f17&id=9d6dd62ae2123635b4d15e40e527a0b617756484 >>> >>> (search for +rm %{buildoutputdir}/j2re-image/lib/fontconfig) >> > I've applied this patch and built OpenJDK, and it went fine. A basic Swing > application still loads up fine. > > So looks good to go to me. From gnu.andrew at redhat.com Wed May 29 20:17:43 2013 From: gnu.andrew at redhat.com (Andrew Hughes) Date: Wed, 29 May 2013 16:17:43 -0400 (EDT) Subject: [OpenJDK 2D-Dev] [PATCH FOR REVIEW] fix for bug 8011693: Remove redundant fontconfig files In-Reply-To: <51A65882.2050206@oracle.com> References: <5162A1B3.1050001@redhat.com> <5162D09C.8000307@oracle.com> <5162E2BE.7000202@redhat.com> <518CFF58.1080400@redhat.com> <519A3523.70002@redhat.com> <51A5C85D.6060807@redhat.com> <797315733.402867.1369829183057.JavaMail.root@redhat.com> <51A65882.2050206@oracle.com> Message-ID: <176347480.237329.1369858663616.JavaMail.root@redhat.com> ----- Original Message ----- > Jiri, > > I think this has mostly been hashed out as the fix is reduced to Linux > but here's my over-due input : > > 1) Windows *absolutely* still needs fontconfig files. > > 2) Mac OS X doesn't obey what's there but that doesn't mean its > going to work when you just remove them. > > 3) Solaris *does* want the Solaris one, even though it has the > same fontconfig platform support as Linux. This is for compatibility. > None of these are touched any more in the current patch, as we don't build on these targets. > 4) Linux does not need them *so long as* fontconfig is there and working. > OpenJDK on any Linux desktop should be fine. > > 5) However policy decisions were made to leave them there for some > particular linux variants in the closed repo, again for compatibility, > but you are leaving that alone, so that's fine, although we should > revisit this > > 6) I never noticed the bsd one before. It must have snuck in with mac port. > Is anything even referencing it ? If not I think this can be removed too. > I don't think this should be part of this patch for the same reason Solaris/Mac OS/Windows aren't; we haven't tested on *BSD. > 7) The files themselves and support for the files are distinct issues. > There should still be the ability for [say] Gentoo, to decide they want > a particular set of fonts used and so they will ship a file . > So it might be better to leave the variables there (empty) and with > a comment that this is a placeholder. We do actually carry one for both Gentoo and RHEL in IcedTea for OpenJDK 6. >From my review of the patch, I think the variables are left empty, not removed: http://jvanek.fedorapeople.org/oracle/jdk8/webrevs/removedFontConfigFiles-linuxOnly/jdk.patch > > -phil. > > On 5/29/2013 5:06 AM, Andrew Hughes wrote: > > ----- Original Message ----- > >> On 05/20/2013 04:37 PM, Jiri Vanek wrote: > >>> On 05/10/2013 04:08 PM, Jiri Vanek wrote: > >>>> On 04/08/2013 05:31 PM, Jiri Vanek wrote: > >>>>> On 04/08/2013 04:13 PM, Vladislav Karnaukhov wrote: > >>>>>> Hello Jiri, > >>>>>> > >>>>>> please see inline. > >>>>>> > >>>>>> On 4/8/2013 05:29 PM, Jiri Vanek wrote: > >>>>>>> On 04/08/2013 02:39 PM, Vladislav Karnaukhov wrote: > >>>>>>> > >>>>>>> Thank you very much for win-check! It will force me to install new > >>>>>>> windows machine somewhere. > >>>>>>> Do you mind do check if pure removal of fontconfig files (both src > >>>>>>> and > >>>>>>> bfc) from you installed jdk7/8 on windows will work? (should) > >>>>>> Yes, I've checked and it does *not* work. That's the reason why I > >>>>>> replied to your very first > >>>>>> message. A removal of fontconfig.* files simply crashes Java, - on > >>>>>> both > >>>>>> Windows and Mac, - because > >>>>>> some font management-related classes rely on these files. Hence my > >>>>>> question regarding deeper > >>>>>> re-design on font management system... > >>>>>> > >>>>>> I've tested Mac build as well, and there's the same error: > >>>>> Ok. I will try anyway:) > >>>>> For linux I'm quite sure the new fontmanagers are working pretty fine. > >>>>> Do you think it will be acceptable to prepare smaller clean up - to > >>>>> remove all linux fontconfig > >>>>> files? > >>>>> > >>>>> And later, as separate changeset to fontmanagers for windows/mac, but > >>>>> I'm afraid I will not be > >>>>> capable of such an development on non linux system. > >>>>> > >>>>> Thanx for your help, > >>>>> > >>>>> J. > >>>> Hi! > >>>> > >>>> I had finally found some free time, so here it is - smaller version > >>>> which > >>>> is removing just stuff for > >>>> linux when OpenJDK is defined. > >>>> > >>>> http://jvanek.fedorapeople.org/oracle/jdk8/webrevs/removedFontConfigFiles-linuxOnly/ > >>>> > >>>> Although I had windows build, I lost this machine so - again (and sorry > >>>> for that) - tested only on > >>>> Fedora. > >>>> > >>>> Also when I read the individual fontmanagers, I believe that they really > >>>> *should* work without > >>>> fontocfigs. So although this is fixing the 8011693, new bugs should be > >>>> filled for windows and mac, > >>>> because theirs implementations are broken. > >>>> > >>>> Thank you very much for any comments. > >>>> > >>>> Best Regards > >>>> j. > >>> > >> Ping? > >> > >> Any advice how to move this forward? > >> > >>> I know that this is minor fix compared to others I can read on this > >>> channel, but as the font > >>> managers exists, and fontconfig files *should* be redundant, then this > >>> change should be done. If > >>> fontmanagers are buggy (and eg windows one appeared to be) then as soon > >>> as > >>> this will be tempted then > >>> sooner it will get fixed. > >>> > >>> For linux I'm pretty sure this is working, and we have even removed the > >>> fontconfig files from > >>> packages in public facing version three months ago [1] > >>> > >>> So this can be first step to get rid of old and redundant font mapping > >>> completely. > >>> > >>> > >>> J. > >>> > >>> > >>> [1] > >>> http://pkgs.fedoraproject.org/cgit/java-1.7.0-openjdk.git/commit/?h=f17&id=9d6dd62ae2123635b4d15e40e527a0b617756484 > >>> > >>> (search for +rm %{buildoutputdir}/j2re-image/lib/fontconfig) > >> > > I've applied this patch and built OpenJDK, and it went fine. A basic Swing > > application still loads up fine. > > > > So looks good to go to me. > > -- Andrew :) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) PGP Key: 248BDC07 (https://keys.indymedia.org/) Fingerprint = EC5A 1F5E C0AD 1D15 8F1F 8F91 3B96 A578 248B DC07 From jennifer.godinez at oracle.com Wed May 29 20:44:05 2013 From: jennifer.godinez at oracle.com (Jennifer Godinez) Date: Wed, 29 May 2013 13:44:05 -0700 Subject: [OpenJDK 2D-Dev] Please review 8012381 Message-ID: <51A66895.6040508@oracle.com> Hi Phil and Johny, Please review backport fix for 8012381 : [macosx] : Collation selection ignored when printing on MacOSX Bug: http://bugs.sun.com/view_bug.do?bug_id=8012381 Webrev: http://cr.openjdk.java.net/~jgodinez/8012381/ Thank you. - Jennifer From philip.race at oracle.com Wed May 29 20:54:56 2013 From: philip.race at oracle.com (Phil Race) Date: Wed, 29 May 2013 13:54:56 -0700 Subject: [OpenJDK 2D-Dev] Please review 8012381 In-Reply-To: <51A66895.6040508@oracle.com> References: <51A66895.6040508@oracle.com> Message-ID: <51A66B20.1090308@oracle.com> I think you mean to back port this from 8 to 7u ? Yes, looks good. -phil. On 5/29/2013 1:44 PM, Jennifer Godinez wrote: > Hi Phil and Johny, > > Please review backport fix for 8012381 : [macosx] : Collation > selection ignored when printing on MacOSX > > Bug: > http://bugs.sun.com/view_bug.do?bug_id=8012381 > > Webrev: > http://cr.openjdk.java.net/~jgodinez/8012381/ > > Thank you. > > - Jennifer From philip.race at oracle.com Wed May 29 21:06:11 2013 From: philip.race at oracle.com (Phil Race) Date: Wed, 29 May 2013 14:06:11 -0700 Subject: [OpenJDK 2D-Dev] [PATCH FOR REVIEW] fix for bug 8011693: Remove redundant fontconfig files In-Reply-To: <176347480.237329.1369858663616.JavaMail.root@redhat.com> References: <5162A1B3.1050001@redhat.com> <5162D09C.8000307@oracle.com> <5162E2BE.7000202@redhat.com> <518CFF58.1080400@redhat.com> <519A3523.70002@redhat.com> <51A5C85D.6060807@redhat.com> <797315733.402867.1369829183057.JavaMail.root@redhat.com> <51A65882.2050206@oracle.com> <176347480.237329.1369858663616.JavaMail.root@redhat.com> Message-ID: <51A66DC3.9070609@oracle.com> >None of these are touched any more in the current patch, as we don't build on >these targets. Right, I noted that in the first sentence of my prior email. > we haven't tested on *BSD. fair enough but the difference is that there is no build line that ever copies this file, so its un-used. > From my review of the patch, I think the variables are left empty, not removed: Looking at http://jvanek.fedorapeople.org/oracle/jdk8/webrevs/removedFontConfigFiles-linuxOnly/makefiles/GendataFontConfig.gmk.sdiff.html they seem to be removed. I was expecting to see GENDATA_FONT_CONFIG_SRC_DIR := \ 38 $(JDK_TOPDIR)/src/solaris/classes/sun/awt/fontconfigs may be left in there and also that it left just GENDATA_FONT_CONFIG_SRC_FILES := rather than have it removed completely -phil. On 5/29/2013 1:17 PM, Andrew Hughes wrote: > ----- Original Message ----- >> Jiri, >> >> I think this has mostly been hashed out as the fix is reduced to Linux >> but here's my over-due input : >> >> 1) Windows *absolutely* still needs fontconfig files. >> >> 2) Mac OS X doesn't obey what's there but that doesn't mean its >> going to work when you just remove them. >> >> 3) Solaris *does* want the Solaris one, even though it has the >> same fontconfig platform support as Linux. This is for compatibility. >> > None of these are touched any more in the current patch, as we don't build on > these targets. > >> 4) Linux does not need them *so long as* fontconfig is there and working. >> OpenJDK on any Linux desktop should be fine. >> >> 5) However policy decisions were made to leave them there for some >> particular linux variants in the closed repo, again for compatibility, >> but you are leaving that alone, so that's fine, although we should >> revisit this >> >> 6) I never noticed the bsd one before. It must have snuck in with mac port. >> Is anything even referencing it ? If not I think this can be removed too. >> > I don't think this should be part of this patch for the same reason Solaris/Mac OS/Windows > aren't; we haven't tested on *BSD. > >> 7) The files themselves and support for the files are distinct issues. >> There should still be the ability for [say] Gentoo, to decide they want >> a particular set of fonts used and so they will ship a file . >> So it might be better to leave the variables there (empty) and with >> a comment that this is a placeholder. > We do actually carry one for both Gentoo and RHEL in IcedTea for OpenJDK 6. > From my review of the patch, I think the variables are left empty, not removed: > > http://jvanek.fedorapeople.org/oracle/jdk8/webrevs/removedFontConfigFiles-linuxOnly/jdk.patch > >> -phil. >> >> On 5/29/2013 5:06 AM, Andrew Hughes wrote: >>> ----- Original Message ----- >>>> On 05/20/2013 04:37 PM, Jiri Vanek wrote: >>>>> On 05/10/2013 04:08 PM, Jiri Vanek wrote: >>>>>> On 04/08/2013 05:31 PM, Jiri Vanek wrote: >>>>>>> On 04/08/2013 04:13 PM, Vladislav Karnaukhov wrote: >>>>>>>> Hello Jiri, >>>>>>>> >>>>>>>> please see inline. >>>>>>>> >>>>>>>> On 4/8/2013 05:29 PM, Jiri Vanek wrote: >>>>>>>>> On 04/08/2013 02:39 PM, Vladislav Karnaukhov wrote: >>>>>>>>> >>>>>>>>> Thank you very much for win-check! It will force me to install new >>>>>>>>> windows machine somewhere. >>>>>>>>> Do you mind do check if pure removal of fontconfig files (both src >>>>>>>>> and >>>>>>>>> bfc) from you installed jdk7/8 on windows will work? (should) >>>>>>>> Yes, I've checked and it does *not* work. That's the reason why I >>>>>>>> replied to your very first >>>>>>>> message. A removal of fontconfig.* files simply crashes Java, - on >>>>>>>> both >>>>>>>> Windows and Mac, - because >>>>>>>> some font management-related classes rely on these files. Hence my >>>>>>>> question regarding deeper >>>>>>>> re-design on font management system... >>>>>>>> >>>>>>>> I've tested Mac build as well, and there's the same error: >>>>>>> Ok. I will try anyway:) >>>>>>> For linux I'm quite sure the new fontmanagers are working pretty fine. >>>>>>> Do you think it will be acceptable to prepare smaller clean up - to >>>>>>> remove all linux fontconfig >>>>>>> files? >>>>>>> >>>>>>> And later, as separate changeset to fontmanagers for windows/mac, but >>>>>>> I'm afraid I will not be >>>>>>> capable of such an development on non linux system. >>>>>>> >>>>>>> Thanx for your help, >>>>>>> >>>>>>> J. >>>>>> Hi! >>>>>> >>>>>> I had finally found some free time, so here it is - smaller version >>>>>> which >>>>>> is removing just stuff for >>>>>> linux when OpenJDK is defined. >>>>>> >>>>>> http://jvanek.fedorapeople.org/oracle/jdk8/webrevs/removedFontConfigFiles-linuxOnly/ >>>>>> >>>>>> Although I had windows build, I lost this machine so - again (and sorry >>>>>> for that) - tested only on >>>>>> Fedora. >>>>>> >>>>>> Also when I read the individual fontmanagers, I believe that they really >>>>>> *should* work without >>>>>> fontocfigs. So although this is fixing the 8011693, new bugs should be >>>>>> filled for windows and mac, >>>>>> because theirs implementations are broken. >>>>>> >>>>>> Thank you very much for any comments. >>>>>> >>>>>> Best Regards >>>>>> j. >>>> Ping? >>>> >>>> Any advice how to move this forward? >>>> >>>>> I know that this is minor fix compared to others I can read on this >>>>> channel, but as the font >>>>> managers exists, and fontconfig files *should* be redundant, then this >>>>> change should be done. If >>>>> fontmanagers are buggy (and eg windows one appeared to be) then as soon >>>>> as >>>>> this will be tempted then >>>>> sooner it will get fixed. >>>>> >>>>> For linux I'm pretty sure this is working, and we have even removed the >>>>> fontconfig files from >>>>> packages in public facing version three months ago [1] >>>>> >>>>> So this can be first step to get rid of old and redundant font mapping >>>>> completely. >>>>> >>>>> >>>>> J. >>>>> >>>>> >>>>> [1] >>>>> http://pkgs.fedoraproject.org/cgit/java-1.7.0-openjdk.git/commit/?h=f17&id=9d6dd62ae2123635b4d15e40e527a0b617756484 >>>>> >>>>> (search for +rm %{buildoutputdir}/j2re-image/lib/fontconfig) >>> I've applied this patch and built OpenJDK, and it went fine. A basic Swing >>> application still loads up fine. >>> >>> So looks good to go to me. >> From jennifer.godinez at oracle.com Wed May 29 22:36:28 2013 From: jennifer.godinez at oracle.com (Jennifer Godinez) Date: Wed, 29 May 2013 15:36:28 -0700 Subject: [OpenJDK 2D-Dev] Please review 8012381 In-Reply-To: <51A66B20.1090308@oracle.com> References: <51A66895.6040508@oracle.com> <51A66B20.1090308@oracle.com> Message-ID: <51A682EC.1060100@oracle.com> Yes, backport to 7. The webrev shows 8 repo but file is identical in 7. Jennifer On 5/29/2013 1:54 PM, Phil Race wrote: > I think you mean to back port this from 8 to 7u ? Yes, looks good. > > -phil. > > On 5/29/2013 1:44 PM, Jennifer Godinez wrote: >> Hi Phil and Johny, >> >> Please review backport fix for 8012381 : [macosx] : Collation >> selection ignored when printing on MacOSX >> >> Bug: >> http://bugs.sun.com/view_bug.do?bug_id=8012381 >> >> Webrev: >> http://cr.openjdk.java.net/~jgodinez/8012381/ >> >> Thank you. >> >> - Jennifer > From bourges.laurent at gmail.com Thu May 30 07:38:53 2013 From: bourges.laurent at gmail.com (=?ISO-8859-1?Q?Laurent_Bourg=E8s?=) Date: Thu, 30 May 2013 09:38:53 +0200 Subject: [OpenJDK 2D-Dev] sun.java2D.Pisces renderer Performance and Memory enhancements In-Reply-To: <51A636E0.3030407@oracle.com> References: <5175A611.9080004@oracle.com> <5177345D.4060408@oracle.com> <517822F0.4040800@oracle.com> <51806526.8070808@oracle.com> <518440E2.4080505@oracle.com> <5189B7E4.5010209@oracle.com> <518D7F07.4010602@oracle.com> <51A636E0.3030407@oracle.com> Message-ID: Phil, As I am currently working hard on improving pisces rendering engine (performance and quality if possible), I am looking for interesting algorithms, optimization tricks ... i.e. I need to study different approaches (subpixel rendering, rasterizer, scanline renderer, coordinate conversions). I do not want openjdk to use AGG or cairo libs, but I wanted to know if AGG was open source to be able (allowed) to look at their code to get new ideas, tricks ... I am still looking for volunteers to help me improving pisces code as only Jim and Andrea participate to this topic and have some interest in improving pisces. Could someone explain me who maintains Java2D rendering engine and what is the roadmap for new implementations (glg2d, jules using cairo ...) ? Laurent 2013/5/29 Phil Race > From http://www.oracle.com/**technetwork/community/oca-**486395.html > > "The OCA gives Oracle and the contributor joint copyright interests in the > code ..." > > So you can't use AGG since you don't have the rights to contribute it under > OCA terms. > > Also I don't think we want to swap out pisces and start to re-invent > things. > Better to improve what we already have > > -phil. > > On 5/29/2013 5:19 AM, Andrea Aime wrote: > >> On Wed, May 29, 2013 at 2:05 PM, Laurent Bourg?s < >> bourges.laurent at gmail.com >> >> wrote: >> >> Seems very interesting ... I just looked at the documentation. >> >> AGG code would be worth to look at but somebody should check if >> their license is compatible with openjdk license terms. >> >> >> I'm not a lawyer, so take this with a grain of salt, but the most up to >> date code base does not seem compatible, however >> the lightweight rasterizer I pointed you at is under the LGPL, so it >> _should_ be compatible. >> I have memories that the rasterization techinique is coming from >> libfreetype, so that's another one that might be worth >> looking at (and I guess OpenJDK already depends on it to handle fonts >> under Linux? not sure) >> >> Cheers >> Andrea >> -- >> == >> GeoServer training in Milan, 6th & 7th June 2013! Visit >> http://geoserver.geo-**solutions.it < >> http://geoserver.geo-**solutions.it/ > >> for more information. >> >> == >> >> Ing. Andrea Aime >> @geowolf >> Technical Lead >> >> GeoSolutions S.A.S. >> Via Poggio alle Viti 1187 >> 55054 Massarosa (LU) >> Italy >> phone: +39 0584 962313 >> fax: +39 0584 1660272 >> mob: +39 339 8844549 >> >> http://www.geo-solutions.it >> http://twitter.com/**geosolutions_it >> >> ------------------------------**------------------------- >> > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From pecisk at gmail.com Thu May 30 10:47:39 2013 From: pecisk at gmail.com (pecisk at gmail.com) Date: Thu, 30 May 2013 13:47:39 +0300 Subject: [OpenJDK 2D-Dev] Can be java.awt.geom used independently? Message-ID: Hi! I subscribed to this list to understand - can I use java.awt.geom independently, t.i. does it have any native code or references to native code? Does it import any other awt code? I have one project for Android to port just for fun and testing, and it uses geotools, which in turn tries to use java.awt.geom classes. Already thanks in advance, Peter. -------------- next part -------------- An HTML attachment was scrubbed... URL: From gnu.andrew at redhat.com Thu May 30 13:29:41 2013 From: gnu.andrew at redhat.com (Andrew Hughes) Date: Thu, 30 May 2013 09:29:41 -0400 (EDT) Subject: [OpenJDK 2D-Dev] [PATCH FOR REVIEW] fix for bug 8011693: Remove redundant fontconfig files In-Reply-To: <51A66DC3.9070609@oracle.com> References: <5162A1B3.1050001@redhat.com> <518CFF58.1080400@redhat.com> <519A3523.70002@redhat.com> <51A5C85D.6060807@redhat.com> <797315733.402867.1369829183057.JavaMail.root@redhat.com> <51A65882.2050206@oracle.com> <176347480.237329.1369858663616.JavaMail.root@redhat.com> <51A66DC3.9070609@oracle.com> Message-ID: <1403684419.847910.1369920581109.JavaMail.root@redhat.com> ----- Original Message ----- > >None of these are touched any more in the current patch, as we don't build > >on > >these targets. > > Right, I noted that in the first sentence of my prior email. > > > we haven't tested on *BSD. > > fair enough but the difference is that there is no build > line that ever copies this file, so its un-used. > Yes, it was added in: changeset: 5117:d45bc4307996 user: michaelm date: Tue Mar 06 20:34:38 2012 +0000 summary: 7113349: Initial changeset for Macosx port to jdk That patch doesn't make any Makefile changes to add it in, but it may still be used by *BSD users as they have other patches not yet upstreamed. I'd rather they made the decision as to whether or not it should be removed. > > From my review of the patch, I think the variables are left empty, not > > removed: > > Looking at > http://jvanek.fedorapeople.org/oracle/jdk8/webrevs/removedFontConfigFiles-linuxOnly/makefiles/GendataFontConfig.gmk.sdiff.html > > they seem to be removed. > > I was expecting to see > GENDATA_FONT_CONFIG_SRC_DIR := \ > 38 $(JDK_TOPDIR)/src/solaris/classes/sun/awt/fontconfigs > > may be left in there and also that it left just > > GENDATA_FONT_CONFIG_SRC_FILES := > > rather than have it removed completely > Ok I was thinking of the 7 makefile: -FONTCONFIGS_SRC = $(PLATFORM_SRC)/classes/sun/awt/fontconfigs -_FONTCONFIGS = \ - fontconfig.properties \ - fontconfig.SuSE.properties \ - fontconfig.Ubuntu.properties \ - fontconfig.Fedora.properties +FONTCONFIGS_SRC = +_FONTCONFIGS = + When are these finally going to be removed? It's very confusing. > -phil. > > > On 5/29/2013 1:17 PM, Andrew Hughes wrote: > > ----- Original Message ----- > >> Jiri, > >> > >> I think this has mostly been hashed out as the fix is reduced to Linux > >> but here's my over-due input : > >> > >> 1) Windows *absolutely* still needs fontconfig files. > >> > >> 2) Mac OS X doesn't obey what's there but that doesn't mean its > >> going to work when you just remove them. > >> > >> 3) Solaris *does* want the Solaris one, even though it has the > >> same fontconfig platform support as Linux. This is for compatibility. > >> > > None of these are touched any more in the current patch, as we don't build > > on > > these targets. > > > >> 4) Linux does not need them *so long as* fontconfig is there and working. > >> OpenJDK on any Linux desktop should be fine. > >> > >> 5) However policy decisions were made to leave them there for some > >> particular linux variants in the closed repo, again for compatibility, > >> but you are leaving that alone, so that's fine, although we should > >> revisit this > >> > >> 6) I never noticed the bsd one before. It must have snuck in with mac > >> port. > >> Is anything even referencing it ? If not I think this can be removed too. > >> > > I don't think this should be part of this patch for the same reason > > Solaris/Mac OS/Windows > > aren't; we haven't tested on *BSD. > > > >> 7) The files themselves and support for the files are distinct issues. > >> There should still be the ability for [say] Gentoo, to decide they want > >> a particular set of fonts used and so they will ship a file . > >> So it might be better to leave the variables there (empty) and with > >> a comment that this is a placeholder. > > We do actually carry one for both Gentoo and RHEL in IcedTea for OpenJDK 6. > > From my review of the patch, I think the variables are left empty, not > > removed: > > > > http://jvanek.fedorapeople.org/oracle/jdk8/webrevs/removedFontConfigFiles-linuxOnly/jdk.patch > > > >> -phil. > >> > >> On 5/29/2013 5:06 AM, Andrew Hughes wrote: > >>> ----- Original Message ----- > >>>> On 05/20/2013 04:37 PM, Jiri Vanek wrote: > >>>>> On 05/10/2013 04:08 PM, Jiri Vanek wrote: > >>>>>> On 04/08/2013 05:31 PM, Jiri Vanek wrote: > >>>>>>> On 04/08/2013 04:13 PM, Vladislav Karnaukhov wrote: > >>>>>>>> Hello Jiri, > >>>>>>>> > >>>>>>>> please see inline. > >>>>>>>> > >>>>>>>> On 4/8/2013 05:29 PM, Jiri Vanek wrote: > >>>>>>>>> On 04/08/2013 02:39 PM, Vladislav Karnaukhov wrote: > >>>>>>>>> > >>>>>>>>> Thank you very much for win-check! It will force me to install new > >>>>>>>>> windows machine somewhere. > >>>>>>>>> Do you mind do check if pure removal of fontconfig files (both src > >>>>>>>>> and > >>>>>>>>> bfc) from you installed jdk7/8 on windows will work? (should) > >>>>>>>> Yes, I've checked and it does *not* work. That's the reason why I > >>>>>>>> replied to your very first > >>>>>>>> message. A removal of fontconfig.* files simply crashes Java, - on > >>>>>>>> both > >>>>>>>> Windows and Mac, - because > >>>>>>>> some font management-related classes rely on these files. Hence my > >>>>>>>> question regarding deeper > >>>>>>>> re-design on font management system... > >>>>>>>> > >>>>>>>> I've tested Mac build as well, and there's the same error: > >>>>>>> Ok. I will try anyway:) > >>>>>>> For linux I'm quite sure the new fontmanagers are working pretty > >>>>>>> fine. > >>>>>>> Do you think it will be acceptable to prepare smaller clean up - to > >>>>>>> remove all linux fontconfig > >>>>>>> files? > >>>>>>> > >>>>>>> And later, as separate changeset to fontmanagers for windows/mac, > >>>>>>> but > >>>>>>> I'm afraid I will not be > >>>>>>> capable of such an development on non linux system. > >>>>>>> > >>>>>>> Thanx for your help, > >>>>>>> > >>>>>>> J. > >>>>>> Hi! > >>>>>> > >>>>>> I had finally found some free time, so here it is - smaller version > >>>>>> which > >>>>>> is removing just stuff for > >>>>>> linux when OpenJDK is defined. > >>>>>> > >>>>>> http://jvanek.fedorapeople.org/oracle/jdk8/webrevs/removedFontConfigFiles-linuxOnly/ > >>>>>> > >>>>>> Although I had windows build, I lost this machine so - again (and > >>>>>> sorry > >>>>>> for that) - tested only on > >>>>>> Fedora. > >>>>>> > >>>>>> Also when I read the individual fontmanagers, I believe that they > >>>>>> really > >>>>>> *should* work without > >>>>>> fontocfigs. So although this is fixing the 8011693, new bugs should be > >>>>>> filled for windows and mac, > >>>>>> because theirs implementations are broken. > >>>>>> > >>>>>> Thank you very much for any comments. > >>>>>> > >>>>>> Best Regards > >>>>>> j. > >>>> Ping? > >>>> > >>>> Any advice how to move this forward? > >>>> > >>>>> I know that this is minor fix compared to others I can read on this > >>>>> channel, but as the font > >>>>> managers exists, and fontconfig files *should* be redundant, then this > >>>>> change should be done. If > >>>>> fontmanagers are buggy (and eg windows one appeared to be) then as soon > >>>>> as > >>>>> this will be tempted then > >>>>> sooner it will get fixed. > >>>>> > >>>>> For linux I'm pretty sure this is working, and we have even removed the > >>>>> fontconfig files from > >>>>> packages in public facing version three months ago [1] > >>>>> > >>>>> So this can be first step to get rid of old and redundant font mapping > >>>>> completely. > >>>>> > >>>>> > >>>>> J. > >>>>> > >>>>> > >>>>> [1] > >>>>> http://pkgs.fedoraproject.org/cgit/java-1.7.0-openjdk.git/commit/?h=f17&id=9d6dd62ae2123635b4d15e40e527a0b617756484 > >>>>> > >>>>> (search for +rm %{buildoutputdir}/j2re-image/lib/fontconfig) > >>> I've applied this patch and built OpenJDK, and it went fine. A basic > >>> Swing > >>> application still loads up fine. > >>> > >>> So looks good to go to me. > >> > > -- Andrew :) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) PGP Key: 248BDC07 (https://keys.indymedia.org/) Fingerprint = EC5A 1F5E C0AD 1D15 8F1F 8F91 3B96 A578 248B DC07 From jvanek at redhat.com Thu May 30 14:57:36 2013 From: jvanek at redhat.com (Jiri Vanek) Date: Thu, 30 May 2013 16:57:36 +0200 Subject: [OpenJDK 2D-Dev] [PATCH FOR REVIEW] fix for bug 8011693: Remove redundant fontconfig files In-Reply-To: <1403684419.847910.1369920581109.JavaMail.root@redhat.com> References: <5162A1B3.1050001@redhat.com> <518CFF58.1080400@redhat.com> <519A3523.70002@redhat.com> <51A5C85D.6060807@redhat.com> <797315733.402867.1369829183057.JavaMail.root@redhat.com> <51A65882.2050206@oracle.com> <176347480.237329.1369858663616.JavaMail.root@redhat.com> <51A66DC3.9070609@oracle.com> <1403684419.847910.1369920581109.JavaMail.root@redhat.com> Message-ID: <51A768E0.7030606@redhat.com> On 05/30/2013 03:29 PM, Andrew Hughes wrote: > ----- Original Message ----- >>> None of these are touched any more in the current patch, as we don't build >>> on >>> these targets. >> >> Right, I noted that in the first sentence of my prior email. >> >>> we haven't tested on *BSD. >> >> fair enough but the difference is that there is no build >> line that ever copies this file, so its un-used. >> > > Yes, it was added in: > > changeset: 5117:d45bc4307996 > user: michaelm > date: Tue Mar 06 20:34:38 2012 +0000 > summary: 7113349: Initial changeset for Macosx port to jdk > > That patch doesn't make any Makefile changes to add it in, but it may still be used > by *BSD users as they have other patches not yet upstreamed. I'd rather they made > the decision as to whether or not it should be removed. Ok. So I have kept it in. > >>> From my review of the patch, I think the variables are left empty, not >>> removed: >> >> Looking at >> http://jvanek.fedorapeople.org/oracle/jdk8/webrevs/removedFontConfigFiles-linuxOnly/makefiles/GendataFontConfig.gmk.sdiff.html >> >> they seem to be removed. >> >> I was expecting to see >> GENDATA_FONT_CONFIG_SRC_DIR := \ >> 38 $(JDK_TOPDIR)/src/solaris/classes/sun/awt/fontconfigs >> >> may be left in there and also that it left just >> >> GENDATA_FONT_CONFIG_SRC_FILES := >> >> rather than have it removed completely >> > Ok. I have added them as you have suggested http://jvanek.fedorapeople.org/oracle/jdk8/webrevs/removedFontConfigFiles-linuxOnly_3/ > Ok I was thinking of the 7 makefile: > > -FONTCONFIGS_SRC = $(PLATFORM_SRC)/classes/sun/awt/fontconfigs > -_FONTCONFIGS = \ > - fontconfig.properties \ > - fontconfig.SuSE.properties \ > - fontconfig.Ubuntu.properties \ > - fontconfig.Fedora.properties > +FONTCONFIGS_SRC = > +_FONTCONFIGS = > + > > When are these finally going to be removed? It's very confusing. I'm afraid we can not just take them off as they are widely used. I think empty is safer here then remove, as they are kept for mac and win port. > >> -phil. >> >> >> On 5/29/2013 1:17 PM, Andrew Hughes wrote: >>> ----- Original Message ----- >>>> Jiri, >>>> >>>> I think this has mostly been hashed out as the fix is reduced to Linux >>>> but here's my over-due input : I agree it have hashed, but fix the underlying windows issue is quite complex task. At least it deserves another changeset. And especially it deserves windows specialist:) >>>> Yuhuuu! This is an feedback I'm happy for :) It explains so much..... >>>> 1) Windows *absolutely* still needs fontconfig files. >>>> >>>> 2) Mac OS X doesn't obey what's there but that doesn't mean its >>>> going to work when you just remove them. Then it should be tested and removed rather then keeping undetermined code. >>>> >>>> 3) Solaris *does* want the Solaris one, even though it has the >>>> same fontconfig platform support as Linux. This is for compatibility. >>>> >>> None of these are touched any more in the current patch, as we don't build >>> on >>> these targets. >>> >>>> 4) Linux does not need them *so long as* fontconfig is there and working. >>>> OpenJDK on any Linux desktop should be fine. >>>> >>>> 5) However policy decisions were made to leave them there for some >>>> particular linux variants in the closed repo, again for compatibility, >>>> but you are leaving that alone, so that's fine, although we should >>>> revisit this >>>> >>>> 6) I never noticed the bsd one before. It must have snuck in with mac >>>> port. >>>> Is anything even referencing it ? If not I think this can be removed too. >>>> >>> I don't think this should be part of this patch for the same reason >>> Solaris/Mac OS/Windows >>> aren't; we haven't tested on *BSD. agree >>> >>>> 7) The files themselves and support for the files are distinct issues. >>>> There should still be the ability for [say] Gentoo, to decide they want >>>> a particular set of fonts used and so they will ship a file . >>>> So it might be better to leave the variables there (empty) and with >>>> a comment that this is a placeholder. >>> We do actually carry one for both Gentoo and RHEL in IcedTea for OpenJDK 6. >>> From my review of the patch, I think the variables are left empty, not >>> removed: >>> >>> http://jvanek.fedorapeople.org/oracle/jdk8/webrevs/removedFontConfigFiles-linuxOnly/jdk.patch >>> >>>> -phil. >>>> >>>> On 5/29/2013 5:06 AM, Andrew Hughes wrote: >>>>> ----- Original Message ----- >>>>>> On 05/20/2013 04:37 PM, Jiri Vanek wrote: >>>>>>> On 05/10/2013 04:08 PM, Jiri Vanek wrote: >>>>>>>> On 04/08/2013 05:31 PM, Jiri Vanek wrote: >>>>>>>>> On 04/08/2013 04:13 PM, Vladislav Karnaukhov wrote: >>>>>>>>>> Hello Jiri, >>>>>>>>>> >>>>>>>>>> please see inline. >>>>>>>>>> >>>>>>>>>> On 4/8/2013 05:29 PM, Jiri Vanek wrote: >>>>>>>>>>> On 04/08/2013 02:39 PM, Vladislav Karnaukhov wrote: >>>>>>>>>>> >>>>>>>>>>> Thank you very much for win-check! It will force me to install new >>>>>>>>>>> windows machine somewhere. >>>>>>>>>>> Do you mind do check if pure removal of fontconfig files (both src >>>>>>>>>>> and >>>>>>>>>>> bfc) from you installed jdk7/8 on windows will work? (should) >>>>>>>>>> Yes, I've checked and it does *not* work. That's the reason why I >>>>>>>>>> replied to your very first >>>>>>>>>> message. A removal of fontconfig.* files simply crashes Java, - on >>>>>>>>>> both >>>>>>>>>> Windows and Mac, - because >>>>>>>>>> some font management-related classes rely on these files. Hence my >>>>>>>>>> question regarding deeper >>>>>>>>>> re-design on font management system... >>>>>>>>>> >>>>>>>>>> I've tested Mac build as well, and there's the same error: >>>>>>>>> Ok. I will try anyway:) >>>>>>>>> For linux I'm quite sure the new fontmanagers are working pretty >>>>>>>>> fine. >>>>>>>>> Do you think it will be acceptable to prepare smaller clean up - to >>>>>>>>> remove all linux fontconfig >>>>>>>>> files? >>>>>>>>> >>>>>>>>> And later, as separate changeset to fontmanagers for windows/mac, >>>>>>>>> but >>>>>>>>> I'm afraid I will not be >>>>>>>>> capable of such an development on non linux system. >>>>>>>>> >>>>>>>>> Thanx for your help, >>>>>>>>> >>>>>>>>> J. >>>>>>>> Hi! >>>>>>>> >>>>>>>> I had finally found some free time, so here it is - smaller version >>>>>>>> which >>>>>>>> is removing just stuff for >>>>>>>> linux when OpenJDK is defined. >>>>>>>> >>>>>>>> http://jvanek.fedorapeople.org/oracle/jdk8/webrevs/removedFontConfigFiles-linuxOnly/ >>>>>>>> >>>>>>>> Although I had windows build, I lost this machine so - again (and >>>>>>>> sorry >>>>>>>> for that) - tested only on >>>>>>>> Fedora. >>>>>>>> >>>>>>>> Also when I read the individual fontmanagers, I believe that they >>>>>>>> really >>>>>>>> *should* work without >>>>>>>> fontocfigs. So although this is fixing the 8011693, new bugs should be >>>>>>>> filled for windows and mac, >>>>>>>> because theirs implementations are broken. >>>>>>>> >>>>>>>> Thank you very much for any comments. >>>>>>>> >>>>>>>> Best Regards >>>>>>>> j. >>>>>> Ping? >>>>>> >>>>>> Any advice how to move this forward? >>>>>> >>>>>>> I know that this is minor fix compared to others I can read on this >>>>>>> channel, but as the font >>>>>>> managers exists, and fontconfig files *should* be redundant, then this >>>>>>> change should be done. If >>>>>>> fontmanagers are buggy (and eg windows one appeared to be) then as soon >>>>>>> as >>>>>>> this will be tempted then >>>>>>> sooner it will get fixed. >>>>>>> >>>>>>> For linux I'm pretty sure this is working, and we have even removed the >>>>>>> fontconfig files from >>>>>>> packages in public facing version three months ago [1] >>>>>>> >>>>>>> So this can be first step to get rid of old and redundant font mapping >>>>>>> completely. >>>>>>> >>>>>>> >>>>>>> J. >>>>>>> >>>>>>> >>>>>>> [1] >>>>>>> http://pkgs.fedoraproject.org/cgit/java-1.7.0-openjdk.git/commit/?h=f17&id=9d6dd62ae2123635b4d15e40e527a0b617756484 >>>>>>> >>>>>>> (search for +rm %{buildoutputdir}/j2re-image/lib/fontconfig) >>>>> I've applied this patch and built OpenJDK, and it went fine. A basic >>>>> Swing >>>>> application still loads up fine. Thank you very much for review! I was already lost in despair that this rotten files will remain inside. >>>>> >>>>> So looks good to go to me. >>>> >> >> > From gnu.andrew at redhat.com Thu May 30 15:45:31 2013 From: gnu.andrew at redhat.com (Andrew Hughes) Date: Thu, 30 May 2013 11:45:31 -0400 (EDT) Subject: [OpenJDK 2D-Dev] [PATCH FOR REVIEW] fix for bug 8011693: Remove redundant fontconfig files In-Reply-To: <51A768E0.7030606@redhat.com> References: <5162A1B3.1050001@redhat.com> <51A5C85D.6060807@redhat.com> <797315733.402867.1369829183057.JavaMail.root@redhat.com> <51A65882.2050206@oracle.com> <176347480.237329.1369858663616.JavaMail.root@redhat.com> <51A66DC3.9070609@oracle.com> <1403684419.847910.1369920581109.JavaMail.root@redhat.com> <51A768E0.7030606@redhat.com> Message-ID: <512950887.1051592.1369928731471.JavaMail.root@redhat.com> snip... > > Ok I was thinking of the 7 makefile: > > > > -FONTCONFIGS_SRC = $(PLATFORM_SRC)/classes/sun/awt/fontconfigs > > -_FONTCONFIGS = \ > > - fontconfig.properties \ > > - fontconfig.SuSE.properties \ > > - fontconfig.Ubuntu.properties \ > > - fontconfig.Fedora.properties > > +FONTCONFIGS_SRC = > > +_FONTCONFIGS = > > + > > > > When are these finally going to be removed? It's very confusing. > > I'm afraid we can not just take them off as they are widely used. > I think empty is safer here then remove, as they are kept for mac and win > port. I meant the old build system makefiles that are no longer used by the build. -- Andrew :) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) PGP Key: 248BDC07 (https://keys.indymedia.org/) Fingerprint = EC5A 1F5E C0AD 1D15 8F1F 8F91 3B96 A578 248B DC07 From gnu.andrew at redhat.com Thu May 30 16:42:06 2013 From: gnu.andrew at redhat.com (Andrew Hughes) Date: Thu, 30 May 2013 12:42:06 -0400 (EDT) Subject: [OpenJDK 2D-Dev] [PATCH FOR REVIEW] fix for bug 8011693: Remove redundant fontconfig files In-Reply-To: <51A768E0.7030606@redhat.com> References: <5162A1B3.1050001@redhat.com> <51A5C85D.6060807@redhat.com> <797315733.402867.1369829183057.JavaMail.root@redhat.com> <51A65882.2050206@oracle.com> <176347480.237329.1369858663616.JavaMail.root@redhat.com> <51A66DC3.9070609@oracle.com> <1403684419.847910.1369920581109.JavaMail.root@redhat.com> <51A768E0.7030606@redhat.com> Message-ID: <915308066.1099648.1369932126532.JavaMail.root@redhat.com> ----- Original Message ----- > On 05/30/2013 03:29 PM, Andrew Hughes wrote: > > ----- Original Message ----- > >>> None of these are touched any more in the current patch, as we don't > >>> build > >>> on > >>> these targets. > >> > >> Right, I noted that in the first sentence of my prior email. > >> > >>> we haven't tested on *BSD. > >> > >> fair enough but the difference is that there is no build > >> line that ever copies this file, so its un-used. > >> > > > > Yes, it was added in: > > > > changeset: 5117:d45bc4307996 > > user: michaelm > > date: Tue Mar 06 20:34:38 2012 +0000 > > summary: 7113349: Initial changeset for Macosx port to jdk > > > > That patch doesn't make any Makefile changes to add it in, but it may still > > be used > > by *BSD users as they have other patches not yet upstreamed. I'd rather > > they made > > the decision as to whether or not it should be removed. > > Ok. So I have kept it in. > > > >>> From my review of the patch, I think the variables are left empty, not > >>> removed: > >> > >> Looking at > >> http://jvanek.fedorapeople.org/oracle/jdk8/webrevs/removedFontConfigFiles-linuxOnly/makefiles/GendataFontConfig.gmk.sdiff.html > >> > >> they seem to be removed. > >> > >> I was expecting to see > >> GENDATA_FONT_CONFIG_SRC_DIR := \ > >> 38 $(JDK_TOPDIR)/src/solaris/classes/sun/awt/fontconfigs > >> > >> may be left in there and also that it left just > >> > >> GENDATA_FONT_CONFIG_SRC_FILES := > >> > >> rather than have it removed completely > >> > > > > Ok. I have added them as you have suggested > > http://jvanek.fedorapeople.org/oracle/jdk8/webrevs/removedFontConfigFiles-linuxOnly_3/ > > > Ok I was thinking of the 7 makefile: > > > > -FONTCONFIGS_SRC = $(PLATFORM_SRC)/classes/sun/awt/fontconfigs > > -_FONTCONFIGS = \ > > - fontconfig.properties \ > > - fontconfig.SuSE.properties \ > > - fontconfig.Ubuntu.properties \ > > - fontconfig.Fedora.properties > > +FONTCONFIGS_SRC = > > +_FONTCONFIGS = > > + > > > > When are these finally going to be removed? It's very confusing. > > I'm afraid we can not just take them off as they are widely used. > I think empty is safer here then remove, as they are kept for mac and win > port. Ok, I tested and pushed the new version: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/fd377533608b > > > >> -phil. > >> > >> > >> On 5/29/2013 1:17 PM, Andrew Hughes wrote: > >>> ----- Original Message ----- > >>>> Jiri, > >>>> > >>>> I think this has mostly been hashed out as the fix is reduced to Linux > >>>> but here's my over-due input : > > I agree it have hashed, but fix the underlying windows issue is quite complex > task. At least it > deserves another changeset. And especially it deserves windows specialist:) > > >>>> > > Yuhuuu! This is an feedback I'm happy for :) > > It explains so much..... > > >>>> 1) Windows *absolutely* still needs fontconfig files. > >>>> > >>>> 2) Mac OS X doesn't obey what's there but that doesn't mean its > >>>> going to work when you just remove them. > > Then it should be tested and removed rather then keeping undetermined code. > >>>> > >>>> 3) Solaris *does* want the Solaris one, even though it has the > >>>> same fontconfig platform support as Linux. This is for compatibility. > >>>> > >>> None of these are touched any more in the current patch, as we don't > >>> build > >>> on > >>> these targets. > >>> > >>>> 4) Linux does not need them *so long as* fontconfig is there and > >>>> working. > >>>> OpenJDK on any Linux desktop should be fine. > >>>> > >>>> 5) However policy decisions were made to leave them there for some > >>>> particular linux variants in the closed repo, again for compatibility, > >>>> but you are leaving that alone, so that's fine, although we should > >>>> revisit this > >>>> > >>>> 6) I never noticed the bsd one before. It must have snuck in with mac > >>>> port. > >>>> Is anything even referencing it ? If not I think this can be removed > >>>> too. > >>>> > >>> I don't think this should be part of this patch for the same reason > >>> Solaris/Mac OS/Windows > >>> aren't; we haven't tested on *BSD. > > agree > >>> > >>>> 7) The files themselves and support for the files are distinct issues. > >>>> There should still be the ability for [say] Gentoo, to decide they want > >>>> a particular set of fonts used and so they will ship a file . > >>>> So it might be better to leave the variables there (empty) and with > >>>> a comment that this is a placeholder. > >>> We do actually carry one for both Gentoo and RHEL in IcedTea for OpenJDK > >>> 6. > >>> From my review of the patch, I think the variables are left empty, not > >>> removed: > >>> > >>> http://jvanek.fedorapeople.org/oracle/jdk8/webrevs/removedFontConfigFiles-linuxOnly/jdk.patch > >>> > >>>> -phil. > >>>> > >>>> On 5/29/2013 5:06 AM, Andrew Hughes wrote: > >>>>> ----- Original Message ----- > >>>>>> On 05/20/2013 04:37 PM, Jiri Vanek wrote: > >>>>>>> On 05/10/2013 04:08 PM, Jiri Vanek wrote: > >>>>>>>> On 04/08/2013 05:31 PM, Jiri Vanek wrote: > >>>>>>>>> On 04/08/2013 04:13 PM, Vladislav Karnaukhov wrote: > >>>>>>>>>> Hello Jiri, > >>>>>>>>>> > >>>>>>>>>> please see inline. > >>>>>>>>>> > >>>>>>>>>> On 4/8/2013 05:29 PM, Jiri Vanek wrote: > >>>>>>>>>>> On 04/08/2013 02:39 PM, Vladislav Karnaukhov wrote: > >>>>>>>>>>> > >>>>>>>>>>> Thank you very much for win-check! It will force me to install > >>>>>>>>>>> new > >>>>>>>>>>> windows machine somewhere. > >>>>>>>>>>> Do you mind do check if pure removal of fontconfig files (both > >>>>>>>>>>> src > >>>>>>>>>>> and > >>>>>>>>>>> bfc) from you installed jdk7/8 on windows will work? (should) > >>>>>>>>>> Yes, I've checked and it does *not* work. That's the reason why I > >>>>>>>>>> replied to your very first > >>>>>>>>>> message. A removal of fontconfig.* files simply crashes Java, - on > >>>>>>>>>> both > >>>>>>>>>> Windows and Mac, - because > >>>>>>>>>> some font management-related classes rely on these files. Hence my > >>>>>>>>>> question regarding deeper > >>>>>>>>>> re-design on font management system... > >>>>>>>>>> > >>>>>>>>>> I've tested Mac build as well, and there's the same error: > >>>>>>>>> Ok. I will try anyway:) > >>>>>>>>> For linux I'm quite sure the new fontmanagers are working pretty > >>>>>>>>> fine. > >>>>>>>>> Do you think it will be acceptable to prepare smaller clean up - to > >>>>>>>>> remove all linux fontconfig > >>>>>>>>> files? > >>>>>>>>> > >>>>>>>>> And later, as separate changeset to fontmanagers for windows/mac, > >>>>>>>>> but > >>>>>>>>> I'm afraid I will not be > >>>>>>>>> capable of such an development on non linux system. > >>>>>>>>> > >>>>>>>>> Thanx for your help, > >>>>>>>>> > >>>>>>>>> J. > >>>>>>>> Hi! > >>>>>>>> > >>>>>>>> I had finally found some free time, so here it is - smaller version > >>>>>>>> which > >>>>>>>> is removing just stuff for > >>>>>>>> linux when OpenJDK is defined. > >>>>>>>> > >>>>>>>> http://jvanek.fedorapeople.org/oracle/jdk8/webrevs/removedFontConfigFiles-linuxOnly/ > >>>>>>>> > >>>>>>>> Although I had windows build, I lost this machine so - again (and > >>>>>>>> sorry > >>>>>>>> for that) - tested only on > >>>>>>>> Fedora. > >>>>>>>> > >>>>>>>> Also when I read the individual fontmanagers, I believe that they > >>>>>>>> really > >>>>>>>> *should* work without > >>>>>>>> fontocfigs. So although this is fixing the 8011693, new bugs should > >>>>>>>> be > >>>>>>>> filled for windows and mac, > >>>>>>>> because theirs implementations are broken. > >>>>>>>> > >>>>>>>> Thank you very much for any comments. > >>>>>>>> > >>>>>>>> Best Regards > >>>>>>>> j. > >>>>>> Ping? > >>>>>> > >>>>>> Any advice how to move this forward? > >>>>>> > >>>>>>> I know that this is minor fix compared to others I can read on this > >>>>>>> channel, but as the font > >>>>>>> managers exists, and fontconfig files *should* be redundant, then > >>>>>>> this > >>>>>>> change should be done. If > >>>>>>> fontmanagers are buggy (and eg windows one appeared to be) then as > >>>>>>> soon > >>>>>>> as > >>>>>>> this will be tempted then > >>>>>>> sooner it will get fixed. > >>>>>>> > >>>>>>> For linux I'm pretty sure this is working, and we have even removed > >>>>>>> the > >>>>>>> fontconfig files from > >>>>>>> packages in public facing version three months ago [1] > >>>>>>> > >>>>>>> So this can be first step to get rid of old and redundant font > >>>>>>> mapping > >>>>>>> completely. > >>>>>>> > >>>>>>> > >>>>>>> J. > >>>>>>> > >>>>>>> > >>>>>>> [1] > >>>>>>> http://pkgs.fedoraproject.org/cgit/java-1.7.0-openjdk.git/commit/?h=f17&id=9d6dd62ae2123635b4d15e40e527a0b617756484 > >>>>>>> > >>>>>>> (search for +rm %{buildoutputdir}/j2re-image/lib/fontconfig) > >>>>> I've applied this patch and built OpenJDK, and it went fine. A basic > >>>>> Swing > >>>>> application still loads up fine. > > Thank you very much for review! > I was already lost in despair that this rotten files will remain inside. > > >>>>> > >>>>> So looks good to go to me. > >>>> > >> > >> > > > > -- Andrew :) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) PGP Key: 248BDC07 (https://keys.indymedia.org/) Fingerprint = EC5A 1F5E C0AD 1D15 8F1F 8F91 3B96 A578 248B DC07 From ahughes at redhat.com Thu May 30 16:23:51 2013 From: ahughes at redhat.com (ahughes at redhat.com) Date: Thu, 30 May 2013 16:23:51 +0000 Subject: [OpenJDK 2D-Dev] hg: jdk8/2d/jdk: 8011693: Remove redundant fontconfig files Message-ID: <20130530162435.944CE48E2F@hg.openjdk.java.net> Changeset: fd377533608b Author: andrew Date: 2013-05-30 16:50 +0100 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/fd377533608b 8011693: Remove redundant fontconfig files Summary: Remove unused fontconfig files from OpenJDK GNU/Linux builds Reviewed-by: andrew, prr Contributed-by: Jiri Vanek ! make/sun/awt/Makefile ! makefiles/GendataFontConfig.gmk - src/solaris/classes/sun/awt/fontconfigs/linux.fontconfig.Fedora.properties - src/solaris/classes/sun/awt/fontconfigs/linux.fontconfig.SuSE.properties - src/solaris/classes/sun/awt/fontconfigs/linux.fontconfig.Ubuntu.properties - src/solaris/classes/sun/awt/fontconfigs/linux.fontconfig.properties From philip.race at oracle.com Thu May 30 20:53:00 2013 From: philip.race at oracle.com (Phil Race) Date: Thu, 30 May 2013 13:53:00 -0700 Subject: [OpenJDK 2D-Dev] RFR 8015556 : Supplementary chars broken on macos x Message-ID: <51A7BC2C.5020507@oracle.com> http://cr.openjdk.java.net/~prr/8015556/ http://bugs.sun.com/view_bug.do?bug_id=8015556 Supplementary chars are DOA in the OS X port since the mapper code there is ignorant of them, doing such things as down-casting an int code point to a char before doing the lookup and storing the first char of a surrogate pair as being the map key, not the decoded supplementary char. Interestingly the key to the map was of type integer so that part I didn't have to change. I've run through Font2DTest and SwingSet with this patch. Since it touches a key part of the code if there's bugs I'd expect them to show up there. I didn't see any problems and it improves the supplementary char support. I expect to back port this to 7u40 since its clearly a major issue, but there's not much time for it to bake in 8 first, so please try it out (if you can). -phil. From jennifer.godinez at oracle.com Thu May 30 21:06:08 2013 From: jennifer.godinez at oracle.com (Jennifer Godinez) Date: Thu, 30 May 2013 14:06:08 -0700 Subject: [OpenJDK 2D-Dev] Please review 7158350: [macosx] Strange results of SwingUIText printing Message-ID: <51A7BF40.3070505@oracle.com> Hi Phil and Andrew, Please review JDK 7 backport fix for 7158350: [macosx] Strange results of SwingUIText printing Bug: http://bugs.sun.com/view_bug.do?bug_id=7158350 Webrev: http://cr.openjdk.java.net/~jgodinez/7158350/webrev.0/ Thank you. - Jennifer From philip.race at oracle.com Thu May 30 21:26:34 2013 From: philip.race at oracle.com (Phil Race) Date: Thu, 30 May 2013 14:26:34 -0700 Subject: [OpenJDK 2D-Dev] Please review 7158350: [macosx] Strange results of SwingUIText printing In-Reply-To: <51A7BF40.3070505@oracle.com> References: <51A7BF40.3070505@oracle.com> Message-ID: <51A7C40A.8030004@oracle.com> Approved. -phil. On 5/30/2013 2:06 PM, Jennifer Godinez wrote: > Hi Phil and Andrew, > > Please review JDK 7 backport fix for > 7158350: [macosx] Strange results of SwingUIText printing > > Bug: > http://bugs.sun.com/view_bug.do?bug_id=7158350 > > Webrev: > http://cr.openjdk.java.net/~jgodinez/7158350/webrev.0/ > > Thank you. > > - Jennifer From andrew.brygin at oracle.com Fri May 31 09:20:23 2013 From: andrew.brygin at oracle.com (Andrew Brygin) Date: Fri, 31 May 2013 13:20:23 +0400 Subject: [OpenJDK 2D-Dev] Please review 7158350: [macosx] Strange results of SwingUIText printing In-Reply-To: <51A7BF40.3070505@oracle.com> References: <51A7BF40.3070505@oracle.com> Message-ID: <51A86B57.3050809@oracle.com> Hi Jennifer, the fix looks fine to me. Thanks, Andrew On 5/31/2013 1:06 AM, Jennifer Godinez wrote: > Hi Phil and Andrew, > > Please review JDK 7 backport fix for > 7158350: [macosx] Strange results of SwingUIText printing > > Bug: > http://bugs.sun.com/view_bug.do?bug_id=7158350 > > Webrev: > http://cr.openjdk.java.net/~jgodinez/7158350/webrev.0/ > > Thank you. > > - Jennifer From andrew.brygin at oracle.com Fri May 31 10:32:07 2013 From: andrew.brygin at oracle.com (andrew.brygin at oracle.com) Date: Fri, 31 May 2013 10:32:07 +0000 Subject: [OpenJDK 2D-Dev] hg: jdk8/2d/jdk: 8015606: Text is not rendered correctly if destination buffer is custom Message-ID: <20130531103334.35BDD48E7D@hg.openjdk.java.net> Changeset: b9b73bf450a4 Author: bae Date: 2013-05-31 14:30 +0400 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/b9b73bf450a4 8015606: Text is not rendered correctly if destination buffer is custom Reviewed-by: prr, vadim ! src/share/classes/sun/java2d/loops/MaskFill.java + test/sun/java2d/loops/RenderToCustomBufferTest.java From andrew.brygin at oracle.com Fri May 31 10:40:10 2013 From: andrew.brygin at oracle.com (Andrew Brygin) Date: Fri, 31 May 2013 14:40:10 +0400 Subject: [OpenJDK 2D-Dev] RFR 8015556 : Supplementary chars broken on macos x In-Reply-To: <51A7BC2C.5020507@oracle.com> References: <51A7BC2C.5020507@oracle.com> Message-ID: <51A87E0A.1060208@oracle.com> The change looks fine, and I have not noticed any artifacts. Thanks, Andrew On 5/31/2013 12:53 AM, Phil Race wrote: > http://cr.openjdk.java.net/~prr/8015556/ > http://bugs.sun.com/view_bug.do?bug_id=8015556 > > Supplementary chars are DOA in the OS X port since > the mapper code there is ignorant of them, doing such > things as down-casting an int code point to a char before > doing the lookup and storing the first char of a surrogate pair > as being the map key, not the decoded supplementary char. > Interestingly the key to the map was of type integer so > that part I didn't have to change. > > I've run through Font2DTest and SwingSet with this patch. > Since it touches a key part of the code if there's bugs I'd > expect them to show up there. I didn't see any problems > and it improves the supplementary char support. > > I expect to back port this to 7u40 since its clearly a major issue, > but there's not much time for it to bake in 8 first, so please > try it out (if you can). > > -phil. From philip.race at oracle.com Fri May 31 16:26:40 2013 From: philip.race at oracle.com (philip.race at oracle.com) Date: Fri, 31 May 2013 16:26:40 +0000 Subject: [OpenJDK 2D-Dev] hg: jdk8/2d/jdk: 8015556: [macosx] surrogate pairs do not render properly. Message-ID: <20130531162735.F355548E92@hg.openjdk.java.net> Changeset: 0a17344d074e Author: prr Date: 2013-05-31 09:25 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/0a17344d074e 8015556: [macosx] surrogate pairs do not render properly. Reviewed-by: bae, jchen ! src/macosx/classes/sun/font/CCharToGlyphMapper.java + test/java/awt/FontClass/SurrogateTest/SuppCharTest.java From andrew.brygin at oracle.com Fri May 31 17:20:12 2013 From: andrew.brygin at oracle.com (Andrew Brygin) Date: Fri, 31 May 2013 10:20:12 -0700 (PDT) Subject: [OpenJDK 2D-Dev] [7u] request for review: 8015606: Text is not rendered correctly if destination buffer is custom Message-ID: <51A8DBCC.7020003@oracle.com> Hello Phil, and Vadim, could you please review a backport of the fix for CR 8015606? Bug: http://bugs.sun.com/view_bug.do?bug_id=8015606 Webrev: http://cr.openjdk.java.net/~bae/8015606/7u/webrev/ The change is exactly same as for jdk8. Please take a look. Thanks, Andrew. From philip.race at oracle.com Fri May 31 17:46:16 2013 From: philip.race at oracle.com (Phil Race) Date: Fri, 31 May 2013 10:46:16 -0700 Subject: [OpenJDK 2D-Dev] [7u] request for review: 8015606: Text is not rendered correctly if destination buffer is custom In-Reply-To: <51A8DBCC.7020003@oracle.com> References: <51A8DBCC.7020003@oracle.com> Message-ID: <51A8E1E8.80708@oracle.com> Looks good. -phil. On 5/31/2013 10:20 AM, Andrew Brygin wrote: > Hello Phil, and Vadim, > > could you please review a backport of the fix for CR 8015606? > > Bug: http://bugs.sun.com/view_bug.do?bug_id=8015606 > Webrev: http://cr.openjdk.java.net/~bae/8015606/7u/webrev/ > > The change is exactly same as for jdk8. > > Please take a look. > > Thanks, > Andrew. From jia-hong.chen at Oracle.com Thu May 30 22:09:00 2013 From: jia-hong.chen at Oracle.com (Johnny Chen) Date: Thu, 30 May 2013 15:09:00 -0700 Subject: [OpenJDK 2D-Dev] RFR 8015556 : Supplementary chars broken on macos x In-Reply-To: <51A7BC2C.5020507@oracle.com> References: <51A7BC2C.5020507@oracle.com> Message-ID: Hi Phil, I ran Font2DTest and SwingSet2 with the patch, and they look good. Thanks, Johnny Chen On May 30, 2013, at 1:53 PM, Phil Race wrote: > http://cr.openjdk.java.net/~prr/8015556/ > http://bugs.sun.com/view_bug.do?bug_id=8015556 > > Supplementary chars are DOA in the OS X port since > the mapper code there is ignorant of them, doing such > things as down-casting an int code point to a char before > doing the lookup and storing the first char of a surrogate pair > as being the map key, not the decoded supplementary char. > Interestingly the key to the map was of type integer so > that part I didn't have to change. > > I've run through Font2DTest and SwingSet with this patch. > Since it touches a key part of the code if there's bugs I'd > expect them to show up there. I didn't see any problems > and it improves the supplementary char support. > > I expect to back port this to 7u40 since its clearly a major issue, > but there's not much time for it to bake in 8 first, so please > try it out (if you can). > > -phil. -------------- next part -------------- An HTML attachment was scrubbed... URL: