From philip.race at oracle.com Thu Oct 6 18:19:49 2011 From: philip.race at oracle.com (Phil Race) Date: Thu, 06 Oct 2011 11:19:49 -0700 Subject: [OpenJDK 2D-Dev] fixing OpenJDK font rendering In-Reply-To: <4E89C367.3040605@gmail.com> References: <4E835E53.8000000@oracle.com> <4E84B15F.3050701@oracle.com> <4E84BB80.6030800@oracle.com> <4E89C367.3040605@gmail.com> Message-ID: <4E8DF145.2020507@oracle.com> The unavoidable issue is that in Java when you request size "12", the default transform for that is 72dpi and that is actually specified here:- http://download.oracle.com/javase/6/docs/api/java/awt/Graphics2D.html Adjusting how this maps to pixels requires applying a transform, which would apply to all rendering .. and I'm not sure that is what you want and certainly can't be handled in the selective way you are trying. Put another way, in the absence of any transform visible on the Graphics, if "new Font("Serif", Font.PLAIN, 12)" doesn't result in a 12 pixel font, and instead results in a (96/72*12) pixel font you are contravening the spec. So what the GTK L&F currently does is explicitly request a size of (96/72*12) = 16. Assuming rounding is handled properly through the chain, then the *pixel* size that comes out ought to be correct and what matters, and as hinting should be done in pixel space. that ought to hint equivalently to telling freetype 12 px @ 96 DPI. I can't say offhand if that is in fact all correct in implementation but that is the intent. And FWIW Windows default DPI isn't 72 DPI either .. but we manage to hint 100% (or at least 99.99%) compatibly with GDI at the same pixel sizes, although those results are for the proprietary JDK rasteriser not freetype. So again maybe there's a freetype thing we aren't doing right if you see differences *at the same pixel size* that are rectified purely by adjusting the DPI and pt size. Apps that want to use the same size as the GTK L&F probably should query the font size on a GTK L&F Label and that should tell you the standard size. BTW I notice that one of your patches has SunToolkit dragging in and querying the Swing L&F. That's not desirable. -phil. On 10/3/2011 7:15 AM, Johnson Lau wrote: > Hi all, > > I was working on the same issue as Aekold Helbrass, > to improve Java2D's font rendering. > > I agree that instead of handling the size in L&F, > it would be better when the DPI setting is passed to the scaler. > I implemented this by introducing a new method in SunToolkit. > The font scaler will ask SunToolkit for the DPI setting, > which is either retrieved from the system by the platform-specific > SunToolkit implementations, or an overrided value set by the L&F. > > For those who're interested in this, > please refer to my patches on Java2D. > https://bitbucket.org/johnsonlau/openjdk-java2d-enhanced-mq > > It contains several bug fixes and RFEs to Java2D > which I haven't been ready to publish yet > since some of them are not available on Windows currently, > and focus on the reflect-fc-config.patch and > font-scaler-dpi-handling.patch for the moment please. > > The attachment is a screenshot to my work. > > Johnson > > 11-9-30 3:33, Aekold Helbrass: >> On Thu, Sep 29, 2011 at 9:40 PM, Phil Race >> wrote: >>> On 9/29/2011 11:33 AM, Aekold Helbrass wrote: >>>> >>>> So... You really mean that swing may not respect desktop font >>>> rendering settings and must keep rendering fonts with the same >>>> uglyness forever, even in native look and feels? No wonder swing is so >>>> dead... >>> >>> I don't think you are reading what I wrote. The native GTK L&F >>> *does* do >>> that .. >>> I even pointed you to the source code that handles it. >> >> I am reading, also I checked PangoFonts class. It is just changing >> size of font instead of setting up proper freetype rendering. Because >> of this freetype first of all will not be able to apply proper >> subpixel rendering, because it has to know real number of pixels, >> calculated from DPI and pt size of font, not just 72 dpi and increased >> size. Second, hinting algorythms of freetype will not work either, >> because hinting depends on pixel grid so needs exact pixel sizes too. >> Please see screenshot in attachment, showing that even GTK look and >> feel rendering is different from real GTK app (gedit in the >> background). >> >>> And "size difference" != "ugliness" >> >> With that I can fully agree, but I have few points here too. First of >> all, swing fonts are still ugly as you can see on screenshots I've >> sent. Also, swing is not respecting desktop properties, so in any >> modern linux desktop environment all apps will look similar (they >> respect fontconfig settings, written by user himself or distribution >> developers) but swing will be different, and not in a good way. >> >> Being fan of netbeans and swing architecture I wanted to see pretty >> fonts and to get rid of those "wow your netbeans is ugly, why don't >> you switch to eclipse?", and with my dirty hack I almost did, with few >> problems when components are requesting fonts with greyscale or mono >> rendering. So as you can see I am not very happy that swing is doomed >> because it has to render fonts in some strange manner instead of >> respecting system and user settings and getting 100% similar glyphs. >> It's a pity swing is so powerful and with really great design, but >> nothing is written in swing but few developer tools and maybe few >> corporate apps based on netbeans platform. And as for me this visual >> difference between swing and native apps is not the last reason for >> this. >> >>> >>> -phil. >>> >>>> On Thu, Sep 29, 2011 at 8:56 PM, Phil >>>> Race wrote: >>>>> >>>>> On 9/28/2011 11:10 PM, Aekold Helbrass wrote: >>>>>> >>>>>> Hi! Thanx for your answer. >>>>>> >>>>>> On Wed, Sep 28, 2011 at 8:50 PM, Phil Race >>>>>> wrote: >>>>>>> >>>>>>> I can't see exactly what you are proposing since you aren't >>>>>>> providing >>>>>>> a diff against openjdk master. >>>>>> >>>>>> Well, before providing diffs against openjdk master - I want to make >>>>>> it as good as possible. So for now those are just experiments with >>>>>> what I can and what I can't do. >>>>>> >>>>>>> In so far as I could traverse your git repository and find anything >>>>>>> I'm concerned by seeing references to "x11Display" in the >>>>>>> freetypeScaler.c >>>>>>> file which is actually used on Windows too .. >>>>>> >>>>>> Exactly. That's why I called it "a dirty hack", "a proof of >>>>>> concept", >>>>>> and that's the reason I am asking my questions now - to implement it >>>>>> properly. To do that I want to see ideas behind font rendering >>>>>> layer. >>>>>> OpenJDK does not belong to me, so I am the one who should be >>>>>> compliant >>>>>> with original developer's ideas and styles. >>>>>> >>>>>>> And I think you misunderstand how Java defines point sizes. >>>>>>> The point size specified to the Font constructor should be scaled >>>>>>> from pixels only according to the transform on the Java Graphics2D >>>>>>> instance. >>>>>>> NOT in response to any desktop DPI setting. >>>>>> >>>>>> But freetype2 needs DPI setting to render font properly. That's the >>>>>> reason why swing apps are always ugly on linux - swing does not >>>>>> respect DPI nor fontconfig proeprties. Every other UI toolkit on >>>>>> linux >>>>>> does, including Qt and GTK. And the more DPI screen has - the uglier >>>>>> swing looks there. I want to use the same font in kwrite and in >>>>>> netbeans, but in kwrite its size 9 and in netbeans I have to set >>>>>> size >>>>>> 12-13 to make it the same, but it still looks different. Not to be >>>>>> unfounded - please see comparison in attachment, to the left - Qt >>>>>> rendering, the same as KDE has, Consolas, from size 16 to size 9 top >>>>>> to bottom. To the right - the same but in swing (jdk6u24). And >>>>>> that's >>>>>> on the screen with only 96 DPI, on the screens with 130 and more - >>>>>> it's even worse. Additionaly, freetype2 has to know exact pixel >>>>>> size, >>>>>> calculated from pt size and DPI or set up directly, to render >>>>>> subpixel >>>>>> structure properly and make hinter do its job properly. Otherwise >>>>>> subpixel structure will be wrong and you'll probably get rendering >>>>>> artefacts, plus hinting will be broken. >>>>>> >>>>>> Just got another thought... Do you mean that Java have to work that >>>>>> way because of backward compatibility or compatibility with >>>>>> T2KFontScaler or for any other reason? I mean, that java does not >>>>>> need >>>>>> to respect desktop settings but has to work in predefined manner? >>>>> >>>>> I mean that this is how Java is specified. So its not something >>>>> you can >>>>> change. >>>>> The GTKLookAndFeel code accounts for the desktop DPI used by the >>>>> desktop >>>>> and scales the font size appropriately. Take a look at >>>>> src/share/classes/com/sun/java/swing/plaf/gtk/PangoFonts.java >>>>> >>>>> In your application, not in JDK code, you could try what it does >>>>> there >>>>> and getDeskProperty("gnome.Xft/DPI"); and scale your font size >>>>> appropriately. >>>>> >>>>> -phil. >>>>> >>>>>>> -phil. >>>>>>> >>>>>>> On 9/28/2011 6:35 AM, Aekold Helbrass wrote: >>>>>>>> >>>>>>>> Hi All! >>>>>>>> >>>>>>>> I am working on fixing openjdk font rendering on linux (because >>>>>>>> currently it's just horrible!), and I've done working >>>>>>>> proof-of-concept: https://github.com/Helbrass/openjdk-fontfix >>>>>>>> >>>>>>>> So now I would like to move from dirty workaround to proper >>>>>>>> clean and >>>>>>>> working implementation. And I have some questions about code that >>>>>>>> surrounds font rendering and ideas behind that code. >>>>>>>> >>>>>>>> First question is: FreetypeFontScaler.createScalerContext() is not >>>>>>>> doing anything, just acting as bridge, and all logic is in >>>>>>>> FileFontStrike constructor. And I have to pass DPI to >>>>>>>> createScalerContext(). Should I change FileFontStrike and pass >>>>>>>> DPI to >>>>>>>> any scaler implementation or make >>>>>>>> FreetypeFontScaler.createScalerContext() read DPI itself because >>>>>>>> T2KFontScaler doesn't need DPI or can read it itself? >>>>>>>> >>>>>>>> Thanx! >>> >>> From johnsonlaucn at gmail.com Sun Oct 9 07:26:41 2011 From: johnsonlaucn at gmail.com (Zhongcheng Lao) Date: Sun, 9 Oct 2011 15:26:41 +0800 Subject: [OpenJDK 2D-Dev] fixing OpenJDK font rendering In-Reply-To: <4E8DF145.2020507@oracle.com> References: <4E835E53.8000000@oracle.com> <4E84B15F.3050701@oracle.com> <4E84BB80.6030800@oracle.com> <4E89C367.3040605@gmail.com> <4E8DF145.2020507@oracle.com> Message-ID: Hi, Phil Thanks for the reply. I do understand Java specification always assumes 72dpi. The work to match with desktop setting is left to L&F to scale the pt size to a proper value when a system L&F like GTK+ is used. As we all know, to rasterize a glyph, a font rendering library always needs to know both the point size and the DPI setting for the calculating the actual pixel boundary. It is always a good behavior to do this maths in the rendering level without any presumption on DPI, even when it's a fixed value in the specification. That's exactly why I would like to introduce a DPI setting or getting method in FontScaler. Doing this in FontScaler also makes it possible for a FontScaler to know the original information about the glyph - the glyph looks much bigger because the DPI has a larger value, not because we're asked a larger pt size. The FontScaler can apply a different hinting on a particular DPI or pt size if it is willing to do that. This is very important for FontConfig to select a best-matched configuration for the font which is common on *nix desktop. Without knowing this, only L&F knows about why the glyph is transformed, and the font size passing to FontScaler may be the scaled one when the L&F applies its own DPI value as GTK+ L&F. I did some tests on my Ubuntu 11.04, which is using the default 96dpi for Gnome, with Ubuntu 11 as the default application font. The FontScaler received a scaled 14.66 (or 15) pt (yes, 11/72*96) which would definitely cause the wrong font setting be selected out, as the FontConfig may depend on the pt size not pixel size. I also found that font created by "new Font("Consolas", Font.PLAIN, 11)" didn't apply system DPI setting for both OpenJDK and Oracle JDK (1.6.0_26), whch really confuses users and apps since no one knows whether a font might be scaled or how it get scaled except the L&F. We may need to scale the fonts that are not scaled by the L&F by ourselves to make them display in the same size. I don't think it is natural design - we must be very careful all over the places as we should consider whether the DPI would apply. And it really differs to the concepts on the same native platform. I know nothing detali about the proprietary T2KFontScaler and T2K library. I may be wrong, but I guess simply introducing a DPI value to FontScaler would not affect anything since it is the same as moving the scaling codes from L&F down to FontScaler. There may be some minor compability issues come out if the application scaled fonts by its own since now they all get scaled in a certain L&F. I will improve the codes in SunToolkit later. I really hope this RFE could get approved. -Johnson 2011/10/7 Phil Race : > The unavoidable issue is that in Java when you request size "12", the > default > transform for that is 72dpi and that is actually specified here:- > http://download.oracle.com/javase/6/docs/api/java/awt/Graphics2D.html > > Adjusting how this maps to pixels requires applying a transform, which > would apply to all rendering .. and I'm not sure that is what you want and > certainly can't be handled in the selective way you are trying. > > Put another way, in the absence of any transform visible on the Graphics, > if "new Font("Serif", Font.PLAIN, 12)" doesn't result in a 12 pixel font, > and > instead results in a (96/72*12) pixel font you are contravening the spec. > > So what the GTK L&F currently does is explicitly request a size of > (96/72*12) = 16. > Assuming rounding is handled properly through the chain, then the *pixel* > size that comes out ought to be correct and what matters, and as hinting > should be done > in pixel space. that ought to hint equivalently to telling freetype 12 px @ > 96 DPI. > I can't say offhand if that is in fact all correct in implementation but > that is the intent. > And FWIW Windows default DPI isn't 72 DPI either .. but we manage to hint > 100% > (or at least 99.99%) compatibly with GDI at the same pixel sizes, although > those > results are for the proprietary JDK rasteriser not freetype. So again maybe > there's > a freetype thing we aren't doing right if you see differences *at the same > pixel size* > that are rectified purely by adjusting the DPI and pt size. > > Apps that want to use the same size as the GTK L&F probably should query > the font size on a GTK L&F Label and that should tell you the standard size. > > BTW I notice that one of your patches has SunToolkit dragging in and > querying > the Swing L&F. That's not desirable. > > -phil. > > On 10/3/2011 7:15 AM, Johnson Lau wrote: >> >> Hi all, >> >> I was working on the same issue as Aekold Helbrass, >> to improve Java2D's font rendering. >> >> I agree that instead of handling the size in L&F, >> it would be better when the DPI setting is passed to the scaler. >> I implemented this by introducing a new method in SunToolkit. >> The font scaler will ask SunToolkit for the DPI setting, >> which is either retrieved from the system by the platform-specific >> SunToolkit implementations, or an overrided value set by the L&F. >> >> For those who're interested in this, >> please refer to my patches on Java2D. >> https://bitbucket.org/johnsonlau/openjdk-java2d-enhanced-mq >> >> It contains several bug fixes and RFEs to Java2D >> which I haven't been ready to publish yet >> since some of them are not available on Windows currently, >> and focus on the reflect-fc-config.patch and >> font-scaler-dpi-handling.patch for the moment please. >> >> The attachment is a screenshot to my work. >> >> Johnson >> >> 11-9-30 3:33, Aekold Helbrass: >>> From philip.race at oracle.com Mon Oct 10 17:18:52 2011 From: philip.race at oracle.com (Phil Race) Date: Mon, 10 Oct 2011 10:18:52 -0700 Subject: [OpenJDK 2D-Dev] fixing OpenJDK font rendering In-Reply-To: References: <4E835E53.8000000@oracle.com> <4E84B15F.3050701@oracle.com> <4E84BB80.6030800@oracle.com> <4E89C367.3040605@gmail.com> <4E8DF145.2020507@oracle.com> Message-ID: <4E9328FC.9000209@oracle.com> On 10/09/11 12:26 AM, Zhongcheng Lao wrote: > Hi, Phil > > Thanks for the reply. > > I do understand Java specification always assumes 72dpi. > The work to match with desktop setting is left to L&F to scale the pt > size to a proper value > when a system L&F like GTK+ is used. > The L&F is the place this needs to be done. > As we all know, to rasterize a glyph, > a font rendering library always needs to know both the point size and > the DPI setting for the calculating the actual pixel boundary. > It is always a good behavior to do this maths in the rendering level > without any presumption on DPI, > In Java its 72 dpi - at least in the absence of any transform. > even when it's a fixed value in the specification. > That's exactly why I would like to introduce a DPI setting or getting > method in FontScaler. > That isn't a good idea, nor is it necessary. > Doing this in FontScaler also makes it possible for a FontScaler to > know the original information about the glyph - > the glyph looks much bigger because the DPI has a larger value, > not because we're asked a larger pt size. > The FontScaler can apply a different hinting on a particular DPI or pt > size if it is willing to do that. > That's not correct. The DPI on its own is irrelevant to hinting. Its only the combination of DPI and point size into pixels that matters to hinting. And here below is the only usage anywhere in freetype of the supplied dpi .. its simply used as a multiplier to get the pixel size. So there's not even a remote possibility that the DPI is used in hinting. #define FT_REQUEST_HEIGHT( req ) \ ( (req)->vertResolution \ ? (FT_Pos)( (req)->height * (req)->vertResolution + 36 ) / 72 \ : (req)->height ) > This is very important for FontConfig to select a best-matched > configuration for the font > which is common on *nix desktop. > > Without knowing this, only L&F knows about why the glyph is transformed, > and the font size passing to FontScaler may be the scaled one when the > L&F applies its own DPI value as GTK+ L&F. > I did some tests on my Ubuntu 11.04, > which is using the default 96dpi for Gnome, with Ubuntu 11 as the > default application font. > The FontScaler received a scaled 14.66 (or 15) pt (yes, 11/72*96) > which would definitely cause the wrong font setting be selected out, > as the FontConfig may depend on the pt size not pixel size. > I don't know what you mean by "the FontConfig", but I don't see a problem here as the font system in Java does, and should continue to, expect that you are communicating with it a font size expressed at 72dpi. > I also found that font created by "new Font("Consolas", Font.PLAIN, > 11)" didn't apply system DPI setting for both OpenJDK and Oracle JDK (1.6.0_26), > It doesn't because its not supposed to. > whch really confuses users and apps since no one knows > whether a font might be scaled or how it get scaled except the L&F. > We may need to scale the fonts that are not scaled by the L&F by ourselves > to make them display in the same size. > I don't think it is natural design - > we must be very careful all over the places as we should consider > whether the DPI would apply. > And it really differs to the concepts on the same native platform. > You mustn't think of the Java platform as a GTK app .. instead its a platform which has a Swing L&F which can emulate GTK. > I know nothing detali about the proprietary T2KFontScaler and T2K library. > I may be wrong, > but I guess simply introducing a DPI value to FontScaler would not > affect anything > since it is the same as moving the scaling codes from L&F down to FontScaler. > There may be some minor compability issues come out if the application > scaled fonts by its own > since now they all get scaled in a certain L&F. > > I will improve the codes in SunToolkit later. > I really hope this RFE could get approved. > Sorry, but I could not approve such an unnecessary and incompatible change. -phil. > -Johnson > > 2011/10/7 Phil Race: > >> The unavoidable issue is that in Java when you request size "12", the >> default >> transform for that is 72dpi and that is actually specified here:- >> http://download.oracle.com/javase/6/docs/api/java/awt/Graphics2D.html >> >> Adjusting how this maps to pixels requires applying a transform, which >> would apply to all rendering .. and I'm not sure that is what you want and >> certainly can't be handled in the selective way you are trying. >> >> Put another way, in the absence of any transform visible on the Graphics, >> if "new Font("Serif", Font.PLAIN, 12)" doesn't result in a 12 pixel font, >> and >> instead results in a (96/72*12) pixel font you are contravening the spec. >> >> So what the GTK L&F currently does is explicitly request a size of >> (96/72*12) = 16. >> Assuming rounding is handled properly through the chain, then the *pixel* >> size that comes out ought to be correct and what matters, and as hinting >> should be done >> in pixel space. that ought to hint equivalently to telling freetype 12 px @ >> 96 DPI. >> I can't say offhand if that is in fact all correct in implementation but >> that is the intent. >> And FWIW Windows default DPI isn't 72 DPI either .. but we manage to hint >> 100% >> (or at least 99.99%) compatibly with GDI at the same pixel sizes, although >> those >> results are for the proprietary JDK rasteriser not freetype. So again maybe >> there's >> a freetype thing we aren't doing right if you see differences *at the same >> pixel size* >> that are rectified purely by adjusting the DPI and pt size. >> >> Apps that want to use the same size as the GTK L&F probably should query >> the font size on a GTK L&F Label and that should tell you the standard size. >> >> BTW I notice that one of your patches has SunToolkit dragging in and >> querying >> the Swing L&F. That's not desirable. >> >> -phil. >> >> On 10/3/2011 7:15 AM, Johnson Lau wrote: >> >>> Hi all, >>> >>> I was working on the same issue as Aekold Helbrass, >>> to improve Java2D's font rendering. >>> >>> I agree that instead of handling the size in L&F, >>> it would be better when the DPI setting is passed to the scaler. >>> I implemented this by introducing a new method in SunToolkit. >>> The font scaler will ask SunToolkit for the DPI setting, >>> which is either retrieved from the system by the platform-specific >>> SunToolkit implementations, or an overrided value set by the L&F. >>> >>> For those who're interested in this, >>> please refer to my patches on Java2D. >>> https://bitbucket.org/johnsonlau/openjdk-java2d-enhanced-mq >>> >>> It contains several bug fixes and RFEs to Java2D >>> which I haven't been ready to publish yet >>> since some of them are not available on Windows currently, >>> and focus on the reflect-fc-config.patch and >>> font-scaler-dpi-handling.patch for the moment please. >>> >>> The attachment is a screenshot to my work. >>> >>> Johnson >>> >>> 11-9-30 3:33, Aekold Helbrass: >>> >>>> From james.graham at oracle.com Tue Oct 11 01:05:10 2011 From: james.graham at oracle.com (Jim Graham) Date: Mon, 10 Oct 2011 18:05:10 -0700 Subject: [OpenJDK 2D-Dev] fixing OpenJDK font rendering In-Reply-To: <4E9328FC.9000209@oracle.com> References: <4E835E53.8000000@oracle.com> <4E84B15F.3050701@oracle.com> <4E84BB80.6030800@oracle.com> <4E89C367.3040605@gmail.com> <4E8DF145.2020507@oracle.com> <4E9328FC.9000209@oracle.com> Message-ID: <4E939646.8050306@oracle.com> In addition to the issue of whether this fits with our current API contracts as defined by the Graphics2D spec, this could never be a global setting. Printing, multiple screens, talking to remote displays, producing images for docs and publications - all of those are examples of when a given application may be dealing with many different DPI targets within a single run... If there was going to be a DPI adjustment (and I fully agree with everything Phil said on that matter, but for sake of argument - if), then it would have to be context-dependent - possibly as a new attribute on Graphics. But, a global setting on the scaler? No... ...jim On 10/10/2011 10:18 AM, Phil Race wrote: > On 10/09/11 12:26 AM, Zhongcheng Lao wrote: >> Hi, Phil >> >> Thanks for the reply. >> >> I do understand Java specification always assumes 72dpi. >> The work to match with desktop setting is left to L&F to scale the pt >> size to a proper value >> when a system L&F like GTK+ is used. > > The L&F is the place this needs to be done. >> As we all know, to rasterize a glyph, >> a font rendering library always needs to know both the point size and >> the DPI setting for the calculating the actual pixel boundary. >> It is always a good behavior to do this maths in the rendering level >> without any presumption on DPI, > > In Java its 72 dpi - at least in the absence of any transform. >> even when it's a fixed value in the specification. >> That's exactly why I would like to introduce a DPI setting or getting >> method in FontScaler. > > That isn't a good idea, nor is it necessary. >> Doing this in FontScaler also makes it possible for a FontScaler to >> know the original information about the glyph - >> the glyph looks much bigger because the DPI has a larger value, >> not because we're asked a larger pt size. >> The FontScaler can apply a different hinting on a particular DPI or pt >> size if it is willing to do that. > > That's not correct. The DPI on its own is irrelevant to hinting. > Its only the combination of DPI and point size into pixels that matters > to hinting. > > And here below is the only usage anywhere in freetype of the supplied > dpi .. its > simply used as a multiplier to get the pixel size. So there's not even a > remote > possibility that the DPI is used in hinting. > > #define FT_REQUEST_HEIGHT( req ) \ > ( (req)->vertResolution \ > ? (FT_Pos)( (req)->height * (req)->vertResolution + 36 ) / 72 \ > : (req)->height ) > >> This is very important for FontConfig to select a best-matched >> configuration for the font >> which is common on *nix desktop. >> >> Without knowing this, only L&F knows about why the glyph is transformed, >> and the font size passing to FontScaler may be the scaled one when the >> L&F applies its own DPI value as GTK+ L&F. >> I did some tests on my Ubuntu 11.04, >> which is using the default 96dpi for Gnome, with Ubuntu 11 as the >> default application font. >> The FontScaler received a scaled 14.66 (or 15) pt (yes, 11/72*96) >> which would definitely cause the wrong font setting be selected out, >> as the FontConfig may depend on the pt size not pixel size. > > I don't know what you mean by "the FontConfig", but I don't see a > problem here > as the font system in Java does, and should continue to, expect that you > are communicating with it a font size expressed at 72dpi. > >> I also found that font created by "new Font("Consolas", Font.PLAIN, >> 11)" didn't apply system DPI setting for both OpenJDK and Oracle JDK >> (1.6.0_26), > > It doesn't because its not supposed to. >> whch really confuses users and apps since no one knows >> whether a font might be scaled or how it get scaled except the L&F. >> We may need to scale the fonts that are not scaled by the L&F by >> ourselves >> to make them display in the same size. >> I don't think it is natural design - >> we must be very careful all over the places as we should consider >> whether the DPI would apply. >> And it really differs to the concepts on the same native platform. > > You mustn't think of the Java platform as a GTK app .. instead its a > platform which > has a Swing L&F which can emulate GTK. > >> I know nothing detali about the proprietary T2KFontScaler and T2K >> library. >> I may be wrong, >> but I guess simply introducing a DPI value to FontScaler would not >> affect anything >> since it is the same as moving the scaling codes from L&F down to >> FontScaler. >> There may be some minor compability issues come out if the application >> scaled fonts by its own >> since now they all get scaled in a certain L&F. >> >> I will improve the codes in SunToolkit later. >> I really hope this RFE could get approved. > > Sorry, but I could not approve such an unnecessary and incompatible change. > > -phil. >> -Johnson >> >> 2011/10/7 Phil Race: >>> The unavoidable issue is that in Java when you request size "12", the >>> default >>> transform for that is 72dpi and that is actually specified here:- >>> http://download.oracle.com/javase/6/docs/api/java/awt/Graphics2D.html >>> >>> Adjusting how this maps to pixels requires applying a transform, which >>> would apply to all rendering .. and I'm not sure that is what you >>> want and >>> certainly can't be handled in the selective way you are trying. >>> >>> Put another way, in the absence of any transform visible on the >>> Graphics, >>> if "new Font("Serif", Font.PLAIN, 12)" doesn't result in a 12 pixel >>> font, >>> and >>> instead results in a (96/72*12) pixel font you are contravening the >>> spec. >>> >>> So what the GTK L&F currently does is explicitly request a size of >>> (96/72*12) = 16. >>> Assuming rounding is handled properly through the chain, then the >>> *pixel* >>> size that comes out ought to be correct and what matters, and as hinting >>> should be done >>> in pixel space. that ought to hint equivalently to telling freetype >>> 12 px @ >>> 96 DPI. >>> I can't say offhand if that is in fact all correct in implementation but >>> that is the intent. >>> And FWIW Windows default DPI isn't 72 DPI either .. but we manage to >>> hint >>> 100% >>> (or at least 99.99%) compatibly with GDI at the same pixel sizes, >>> although >>> those >>> results are for the proprietary JDK rasteriser not freetype. So again >>> maybe >>> there's >>> a freetype thing we aren't doing right if you see differences *at the >>> same >>> pixel size* >>> that are rectified purely by adjusting the DPI and pt size. >>> >>> Apps that want to use the same size as the GTK L&F probably should query >>> the font size on a GTK L&F Label and that should tell you the >>> standard size. >>> >>> BTW I notice that one of your patches has SunToolkit dragging in and >>> querying >>> the Swing L&F. That's not desirable. >>> >>> -phil. >>> >>> On 10/3/2011 7:15 AM, Johnson Lau wrote: >>>> Hi all, >>>> >>>> I was working on the same issue as Aekold Helbrass, >>>> to improve Java2D's font rendering. >>>> >>>> I agree that instead of handling the size in L&F, >>>> it would be better when the DPI setting is passed to the scaler. >>>> I implemented this by introducing a new method in SunToolkit. >>>> The font scaler will ask SunToolkit for the DPI setting, >>>> which is either retrieved from the system by the platform-specific >>>> SunToolkit implementations, or an overrided value set by the L&F. >>>> >>>> For those who're interested in this, >>>> please refer to my patches on Java2D. >>>> https://bitbucket.org/johnsonlau/openjdk-java2d-enhanced-mq >>>> >>>> It contains several bug fixes and RFEs to Java2D >>>> which I haven't been ready to publish yet >>>> since some of them are not available on Windows currently, >>>> and focus on the reflect-fc-config.patch and >>>> font-scaler-dpi-handling.patch for the moment please. >>>> >>>> The attachment is a screenshot to my work. >>>> >>>> Johnson >>>> >>>> 11-9-30 3:33, Aekold Helbrass: > From johnsonlaucn at gmail.com Tue Oct 11 07:01:08 2011 From: johnsonlaucn at gmail.com (Zhongcheng Lao) Date: Tue, 11 Oct 2011 15:01:08 +0800 Subject: [OpenJDK 2D-Dev] fixing OpenJDK font rendering In-Reply-To: <4E939646.8050306@oracle.com> References: <4E835E53.8000000@oracle.com> <4E84B15F.3050701@oracle.com> <4E84BB80.6030800@oracle.com> <4E89C367.3040605@gmail.com> <4E8DF145.2020507@oracle.com> <4E9328FC.9000209@oracle.com> <4E939646.8050306@oracle.com> Message-ID: Hi, Jim I totally agree that there is a better way to deal with DPI than what I did in my patches. A context-dependent equivelance (DPI or scaling factor in FTScalerContext not Scaler) or even Graphics is more acceptable for me. What OpenJDK does now is not a grace way to handle variant DPI vaules among systems. It's never a good idea to scale fonts in L&F to conform system DPI setting. - Johnson 2011/10/11 Jim Graham : > In addition to the issue of whether this fits with our current API contracts > as defined by the Graphics2D spec, this could never be a global setting. > ?Printing, multiple screens, talking to remote displays, producing images > for docs and publications - all of those are examples of when a given > application may be dealing with many different DPI targets within a single > run... > > If there was going to be a DPI adjustment (and I fully agree with everything > Phil said on that matter, but for sake of argument - if), then it would have > to be context-dependent - possibly as a new attribute on Graphics. ?But, a > global setting on the scaler? ?No... > > ? ? ? ? ? ? ? ? ? ? ? ?...jim > > On 10/10/2011 10:18 AM, Phil Race wrote: >> >> On 10/09/11 12:26 AM, Zhongcheng Lao wrote: >>> >>> Hi, Phil >>> >>> Thanks for the reply. >>> >>> I do understand Java specification always assumes 72dpi. >>> The work to match with desktop setting is left to L&F to scale the pt >>> size to a proper value >>> when a system L&F like GTK+ is used. >> >> The L&F is the place this needs to be done. >>> >>> As we all know, to rasterize a glyph, >>> a font rendering library always needs to know both the point size and >>> the DPI setting for the calculating the actual pixel boundary. >>> It is always a good behavior to do this maths in the rendering level >>> without any presumption on DPI, >> >> In Java its 72 dpi - at least in the absence of any transform. >>> >>> even when it's a fixed value in the specification. >>> That's exactly why I would like to introduce a DPI setting or getting >>> method in FontScaler. >> >> That isn't a good idea, nor is it necessary. >>> >>> Doing this in FontScaler also makes it possible for a FontScaler to >>> know the original information about the glyph - >>> the glyph looks much bigger because the DPI has a larger value, >>> not because we're asked a larger pt size. >>> The FontScaler can apply a different hinting on a particular DPI or pt >>> size if it is willing to do that. >> >> That's not correct. The DPI on its own is irrelevant to hinting. >> Its only the combination of DPI and point size into pixels that matters >> to hinting. >> >> And here below is the only usage anywhere in freetype of the supplied >> dpi .. its >> simply used as a multiplier to get the pixel size. So there's not even a >> remote >> possibility that the DPI is used in hinting. >> >> #define FT_REQUEST_HEIGHT( req ) \ >> ( (req)->vertResolution \ >> ? (FT_Pos)( (req)->height * (req)->vertResolution + 36 ) / 72 \ >> : (req)->height ) >> >>> This is very important for FontConfig to select a best-matched >>> configuration for the font >>> which is common on *nix desktop. >>> >>> Without knowing this, only L&F knows about why the glyph is transformed, >>> and the font size passing to FontScaler may be the scaled one when the >>> L&F applies its own DPI value as GTK+ L&F. >>> I did some tests on my Ubuntu 11.04, >>> which is using the default 96dpi for Gnome, with Ubuntu 11 as the >>> default application font. >>> The FontScaler received a scaled 14.66 (or 15) pt (yes, 11/72*96) >>> which would definitely cause the wrong font setting be selected out, >>> as the FontConfig may depend on the pt size not pixel size. >> >> I don't know what you mean by "the FontConfig", but I don't see a >> problem here >> as the font system in Java does, and should continue to, expect that you >> are communicating with it a font size expressed at 72dpi. >> >>> I also found that font created by "new Font("Consolas", Font.PLAIN, >>> 11)" didn't apply system DPI setting for both OpenJDK and Oracle JDK >>> (1.6.0_26), >> >> It doesn't because its not supposed to. >>> >>> whch really confuses users and apps since no one knows >>> whether a font might be scaled or how it get scaled except the L&F. >>> We may need to scale the fonts that are not scaled by the L&F by >>> ourselves >>> to make them display in the same size. >>> I don't think it is natural design - >>> we must be very careful all over the places as we should consider >>> whether the DPI would apply. >>> And it really differs to the concepts on the same native platform. >> >> You mustn't think of the Java platform as a GTK app .. instead its a >> platform which >> has a Swing L&F which can emulate GTK. >> >>> I know nothing detali about the proprietary T2KFontScaler and T2K >>> library. >>> I may be wrong, >>> but I guess simply introducing a DPI value to FontScaler would not >>> affect anything >>> since it is the same as moving the scaling codes from L&F down to >>> FontScaler. >>> There may be some minor compability issues come out if the application >>> scaled fonts by its own >>> since now they all get scaled in a certain L&F. >>> >>> I will improve the codes in SunToolkit later. >>> I really hope this RFE could get approved. >> >> Sorry, but I could not approve such an unnecessary and incompatible >> change. >> >> -phil. >>> >>> -Johnson >>> >>> 2011/10/7 Phil Race: >>>> >>>> The unavoidable issue is that in Java when you request size "12", the >>>> default >>>> transform for that is 72dpi and that is actually specified here:- >>>> http://download.oracle.com/javase/6/docs/api/java/awt/Graphics2D.html >>>> >>>> Adjusting how this maps to pixels requires applying a transform, which >>>> would apply to all rendering .. and I'm not sure that is what you >>>> want and >>>> certainly can't be handled in the selective way you are trying. >>>> >>>> Put another way, in the absence of any transform visible on the >>>> Graphics, >>>> if "new Font("Serif", Font.PLAIN, 12)" doesn't result in a 12 pixel >>>> font, >>>> and >>>> instead results in a (96/72*12) pixel font you are contravening the >>>> spec. >>>> >>>> So what the GTK L&F currently does is explicitly request a size of >>>> (96/72*12) = 16. >>>> Assuming rounding is handled properly through the chain, then the >>>> *pixel* >>>> size that comes out ought to be correct and what matters, and as hinting >>>> should be done >>>> in pixel space. that ought to hint equivalently to telling freetype >>>> 12 px @ >>>> 96 DPI. >>>> I can't say offhand if that is in fact all correct in implementation but >>>> that is the intent. >>>> And FWIW Windows default DPI isn't 72 DPI either .. but we manage to >>>> hint >>>> 100% >>>> (or at least 99.99%) compatibly with GDI at the same pixel sizes, >>>> although >>>> those >>>> results are for the proprietary JDK rasteriser not freetype. So again >>>> maybe >>>> there's >>>> a freetype thing we aren't doing right if you see differences *at the >>>> same >>>> pixel size* >>>> that are rectified purely by adjusting the DPI and pt size. >>>> >>>> Apps that want to use the same size as the GTK L&F probably should query >>>> the font size on a GTK L&F Label and that should tell you the >>>> standard size. >>>> >>>> BTW I notice that one of your patches has SunToolkit dragging in and >>>> querying >>>> the Swing L&F. That's not desirable. >>>> >>>> -phil. >>>> >>>> On 10/3/2011 7:15 AM, Johnson Lau wrote: >>>>> >>>>> Hi all, >>>>> >>>>> I was working on the same issue as Aekold Helbrass, >>>>> to improve Java2D's font rendering. >>>>> >>>>> I agree that instead of handling the size in L&F, >>>>> it would be better when the DPI setting is passed to the scaler. >>>>> I implemented this by introducing a new method in SunToolkit. >>>>> The font scaler will ask SunToolkit for the DPI setting, >>>>> which is either retrieved from the system by the platform-specific >>>>> SunToolkit implementations, or an overrided value set by the L&F. >>>>> >>>>> For those who're interested in this, >>>>> please refer to my patches on Java2D. >>>>> https://bitbucket.org/johnsonlau/openjdk-java2d-enhanced-mq >>>>> >>>>> It contains several bug fixes and RFEs to Java2D >>>>> which I haven't been ready to publish yet >>>>> since some of them are not available on Windows currently, >>>>> and focus on the reflect-fc-config.patch and >>>>> font-scaler-dpi-handling.patch for the moment please. >>>>> >>>>> The attachment is a screenshot to my work. >>>>> >>>>> Johnson >>>>> >>>>> 11-9-30 3:33, Aekold Helbrass: >> > From helbrass at gmail.com Tue Oct 11 14:28:25 2011 From: helbrass at gmail.com (Aekold Helbrass) Date: Tue, 11 Oct 2011 17:28:25 +0300 Subject: [OpenJDK 2D-Dev] fixing OpenJDK font rendering In-Reply-To: References: <4E835E53.8000000@oracle.com> <4E84B15F.3050701@oracle.com> <4E84BB80.6030800@oracle.com> <4E89C367.3040605@gmail.com> <4E8DF145.2020507@oracle.com> <4E9328FC.9000209@oracle.com> <4E939646.8050306@oracle.com> Message-ID: Ok, maybe it is possible to request not PT but exact pixel size from freetype? It will be able to apply proper hinting and render subpixels properly then, but we need to get real DPI and apply that pt-to-px transformation on java side. On Tue, Oct 11, 2011 at 10:01 AM, Zhongcheng Lao wrote: > Hi, Jim > > I totally agree that there is a better way to deal with DPI than what > I did in my patches. > A context-dependent equivelance (DPI or scaling factor in > FTScalerContext not Scaler) or even Graphics is more acceptable for > me. > What OpenJDK does now is not a grace way to handle variant DPI vaules > among systems. > It's never a good idea to scale fonts in L&F to conform system DPI setting. > > - Johnson > > 2011/10/11 Jim Graham : >> In addition to the issue of whether this fits with our current API contracts >> as defined by the Graphics2D spec, this could never be a global setting. >> ?Printing, multiple screens, talking to remote displays, producing images >> for docs and publications - all of those are examples of when a given >> application may be dealing with many different DPI targets within a single >> run... >> >> If there was going to be a DPI adjustment (and I fully agree with everything >> Phil said on that matter, but for sake of argument - if), then it would have >> to be context-dependent - possibly as a new attribute on Graphics. ?But, a >> global setting on the scaler? ?No... >> >> ? ? ? ? ? ? ? ? ? ? ? ?...jim >> >> On 10/10/2011 10:18 AM, Phil Race wrote: >>> >>> On 10/09/11 12:26 AM, Zhongcheng Lao wrote: >>>> >>>> Hi, Phil >>>> >>>> Thanks for the reply. >>>> >>>> I do understand Java specification always assumes 72dpi. >>>> The work to match with desktop setting is left to L&F to scale the pt >>>> size to a proper value >>>> when a system L&F like GTK+ is used. >>> >>> The L&F is the place this needs to be done. >>>> >>>> As we all know, to rasterize a glyph, >>>> a font rendering library always needs to know both the point size and >>>> the DPI setting for the calculating the actual pixel boundary. >>>> It is always a good behavior to do this maths in the rendering level >>>> without any presumption on DPI, >>> >>> In Java its 72 dpi - at least in the absence of any transform. >>>> >>>> even when it's a fixed value in the specification. >>>> That's exactly why I would like to introduce a DPI setting or getting >>>> method in FontScaler. >>> >>> That isn't a good idea, nor is it necessary. >>>> >>>> Doing this in FontScaler also makes it possible for a FontScaler to >>>> know the original information about the glyph - >>>> the glyph looks much bigger because the DPI has a larger value, >>>> not because we're asked a larger pt size. >>>> The FontScaler can apply a different hinting on a particular DPI or pt >>>> size if it is willing to do that. >>> >>> That's not correct. The DPI on its own is irrelevant to hinting. >>> Its only the combination of DPI and point size into pixels that matters >>> to hinting. >>> >>> And here below is the only usage anywhere in freetype of the supplied >>> dpi .. its >>> simply used as a multiplier to get the pixel size. So there's not even a >>> remote >>> possibility that the DPI is used in hinting. >>> >>> #define FT_REQUEST_HEIGHT( req ) \ >>> ( (req)->vertResolution \ >>> ? (FT_Pos)( (req)->height * (req)->vertResolution + 36 ) / 72 \ >>> : (req)->height ) >>> >>>> This is very important for FontConfig to select a best-matched >>>> configuration for the font >>>> which is common on *nix desktop. >>>> >>>> Without knowing this, only L&F knows about why the glyph is transformed, >>>> and the font size passing to FontScaler may be the scaled one when the >>>> L&F applies its own DPI value as GTK+ L&F. >>>> I did some tests on my Ubuntu 11.04, >>>> which is using the default 96dpi for Gnome, with Ubuntu 11 as the >>>> default application font. >>>> The FontScaler received a scaled 14.66 (or 15) pt (yes, 11/72*96) >>>> which would definitely cause the wrong font setting be selected out, >>>> as the FontConfig may depend on the pt size not pixel size. >>> >>> I don't know what you mean by "the FontConfig", but I don't see a >>> problem here >>> as the font system in Java does, and should continue to, expect that you >>> are communicating with it a font size expressed at 72dpi. >>> >>>> I also found that font created by "new Font("Consolas", Font.PLAIN, >>>> 11)" didn't apply system DPI setting for both OpenJDK and Oracle JDK >>>> (1.6.0_26), >>> >>> It doesn't because its not supposed to. >>>> >>>> whch really confuses users and apps since no one knows >>>> whether a font might be scaled or how it get scaled except the L&F. >>>> We may need to scale the fonts that are not scaled by the L&F by >>>> ourselves >>>> to make them display in the same size. >>>> I don't think it is natural design - >>>> we must be very careful all over the places as we should consider >>>> whether the DPI would apply. >>>> And it really differs to the concepts on the same native platform. >>> >>> You mustn't think of the Java platform as a GTK app .. instead its a >>> platform which >>> has a Swing L&F which can emulate GTK. >>> >>>> I know nothing detali about the proprietary T2KFontScaler and T2K >>>> library. >>>> I may be wrong, >>>> but I guess simply introducing a DPI value to FontScaler would not >>>> affect anything >>>> since it is the same as moving the scaling codes from L&F down to >>>> FontScaler. >>>> There may be some minor compability issues come out if the application >>>> scaled fonts by its own >>>> since now they all get scaled in a certain L&F. >>>> >>>> I will improve the codes in SunToolkit later. >>>> I really hope this RFE could get approved. >>> >>> Sorry, but I could not approve such an unnecessary and incompatible >>> change. >>> >>> -phil. >>>> >>>> -Johnson >>>> >>>> 2011/10/7 Phil Race: >>>>> >>>>> The unavoidable issue is that in Java when you request size "12", the >>>>> default >>>>> transform for that is 72dpi and that is actually specified here:- >>>>> http://download.oracle.com/javase/6/docs/api/java/awt/Graphics2D.html >>>>> >>>>> Adjusting how this maps to pixels requires applying a transform, which >>>>> would apply to all rendering .. and I'm not sure that is what you >>>>> want and >>>>> certainly can't be handled in the selective way you are trying. >>>>> >>>>> Put another way, in the absence of any transform visible on the >>>>> Graphics, >>>>> if "new Font("Serif", Font.PLAIN, 12)" doesn't result in a 12 pixel >>>>> font, >>>>> and >>>>> instead results in a (96/72*12) pixel font you are contravening the >>>>> spec. >>>>> >>>>> So what the GTK L&F currently does is explicitly request a size of >>>>> (96/72*12) = 16. >>>>> Assuming rounding is handled properly through the chain, then the >>>>> *pixel* >>>>> size that comes out ought to be correct and what matters, and as hinting >>>>> should be done >>>>> in pixel space. that ought to hint equivalently to telling freetype >>>>> 12 px @ >>>>> 96 DPI. >>>>> I can't say offhand if that is in fact all correct in implementation but >>>>> that is the intent. >>>>> And FWIW Windows default DPI isn't 72 DPI either .. but we manage to >>>>> hint >>>>> 100% >>>>> (or at least 99.99%) compatibly with GDI at the same pixel sizes, >>>>> although >>>>> those >>>>> results are for the proprietary JDK rasteriser not freetype. So again >>>>> maybe >>>>> there's >>>>> a freetype thing we aren't doing right if you see differences *at the >>>>> same >>>>> pixel size* >>>>> that are rectified purely by adjusting the DPI and pt size. >>>>> >>>>> Apps that want to use the same size as the GTK L&F probably should query >>>>> the font size on a GTK L&F Label and that should tell you the >>>>> standard size. >>>>> >>>>> BTW I notice that one of your patches has SunToolkit dragging in and >>>>> querying >>>>> the Swing L&F. That's not desirable. >>>>> >>>>> -phil. >>>>> >>>>> On 10/3/2011 7:15 AM, Johnson Lau wrote: >>>>>> >>>>>> Hi all, >>>>>> >>>>>> I was working on the same issue as Aekold Helbrass, >>>>>> to improve Java2D's font rendering. >>>>>> >>>>>> I agree that instead of handling the size in L&F, >>>>>> it would be better when the DPI setting is passed to the scaler. >>>>>> I implemented this by introducing a new method in SunToolkit. >>>>>> The font scaler will ask SunToolkit for the DPI setting, >>>>>> which is either retrieved from the system by the platform-specific >>>>>> SunToolkit implementations, or an overrided value set by the L&F. >>>>>> >>>>>> For those who're interested in this, >>>>>> please refer to my patches on Java2D. >>>>>> https://bitbucket.org/johnsonlau/openjdk-java2d-enhanced-mq >>>>>> >>>>>> It contains several bug fixes and RFEs to Java2D >>>>>> which I haven't been ready to publish yet >>>>>> since some of them are not available on Windows currently, >>>>>> and focus on the reflect-fc-config.patch and >>>>>> font-scaler-dpi-handling.patch for the moment please. >>>>>> >>>>>> The attachment is a screenshot to my work. >>>>>> >>>>>> Johnson >>>>>> >>>>>> 11-9-30 3:33, Aekold Helbrass: >>> >> > From linuxhippy at gmail.com Tue Oct 11 16:27:36 2011 From: linuxhippy at gmail.com (Clemens Eisserer) Date: Tue, 11 Oct 2011 18:27:36 +0200 Subject: [OpenJDK 2D-Dev] fixing OpenJDK font rendering In-Reply-To: References: <4E835E53.8000000@oracle.com> <4E84B15F.3050701@oracle.com> <4E84BB80.6030800@oracle.com> <4E89C367.3040605@gmail.com> <4E8DF145.2020507@oracle.com> <4E9328FC.9000209@oracle.com> <4E939646.8050306@oracle.com> Message-ID: Hi, > Ok, maybe it is possible to request not PT but exact pixel size from > freetype? It will be able to apply proper hinting and render subpixels > properly then, but we need to get real DPI and apply that pt-to-px > transformation on java side. But FreeType is already able to do proper hinting and render subpixels corrent, what leads you the conclusion it does not? I don't see how requesting the exact pixel size does change anything. - Clemens From james.graham at oracle.com Tue Oct 11 17:25:18 2011 From: james.graham at oracle.com (Jim Graham) Date: Tue, 11 Oct 2011 10:25:18 -0700 Subject: [OpenJDK 2D-Dev] fixing OpenJDK font rendering In-Reply-To: References: <4E835E53.8000000@oracle.com> <4E84B15F.3050701@oracle.com> <4E84BB80.6030800@oracle.com> <4E89C367.3040605@gmail.com> <4E8DF145.2020507@oracle.com> <4E9328FC.9000209@oracle.com> <4E939646.8050306@oracle.com> Message-ID: <4E947BFE.2070606@oracle.com> Hi Johnson, Here is my big question... On 10/11/2011 12:01 AM, Zhongcheng Lao wrote: > Hi, Jim > > It's never a good idea to scale fonts in L&F to conform system DPI setting. > > - Johnson Why is that? Isn't it a property of the L&F how the font sizes will track (or not track) the screen DPI? It's a nice feature for the fonts to scale up with the DPI when it keeps them readable on extreme cases of hi-DPI, but some users may actually not want that to happen and they may express that desire differently among the different L&Fs. Also, a L&F may have some text that it wants to scale via the DPI of the screen and others (say logos, or full-screen text, or large animated strings) that it does not want to scale. Typically the only text it does want to scale are the smaller fonts that are meant for presenting information. Also, graphics objects are both handed to a L&F object and also to the client program who may have carefully decided that they want text that is 48 pixels tall (yes, pixels, and they do *NOT* want that to be automatically adjusted because it isn't necessarily meant for "reading" and 48 pixels is tall enough that they aren't worried about 96 vs 72 DPI) and if you decide that, for the sake of the L&F, you will automatically scale any font request on a given Graphics then you may piss off the custom code in some of the Canvas objects. Given that the font family choices and the relative sizing of the various fonts are up to the L&F, I think DPI adjustments are also in their ballpark... ...jim From johnsonlaucn at gmail.com Wed Oct 12 03:40:30 2011 From: johnsonlaucn at gmail.com (Zhongcheng Lao) Date: Wed, 12 Oct 2011 11:40:30 +0800 Subject: [OpenJDK 2D-Dev] fixing OpenJDK font rendering In-Reply-To: <4E947BFE.2070606@oracle.com> References: <4E835E53.8000000@oracle.com> <4E84B15F.3050701@oracle.com> <4E84BB80.6030800@oracle.com> <4E89C367.3040605@gmail.com> <4E8DF145.2020507@oracle.com> <4E9328FC.9000209@oracle.com> <4E939646.8050306@oracle.com> <4E947BFE.2070606@oracle.com> Message-ID: 2011/10/12 Jim Graham : > Hi Johnson, > > Here is my big question... > > On 10/11/2011 12:01 AM, Zhongcheng Lao wrote: >> >> Hi, Jim >> >> It's never a good idea to scale fonts in L&F to conform system DPI >> setting. >> >> - Johnson > > Why is that? > > Isn't it a property of the L&F how the font sizes will track (or not track) > the screen DPI? ?It's a nice feature for the fonts to scale up with the DPI > when it keeps them readable on extreme cases of hi-DPI, but some users may > actually not want that to happen and they may express that desire > differently among the different L&Fs. The L&F could scale the font, but it doesn't mean there is no need to have a DPI equivelent property (DPI or scale factor) in Java2D and let all things be done in L&F. If you take a good investigation into other platforms, there is always a such property exists explicitly or implicity. On Windows & GTK, it is in the Display Properties and can be changed by user; On Mac OS X, the concept of DPI do exist though it's 72dpi by default and Apple keeps hiding the setting from users (DPI could adjusted by Quartz Debug though it's not public yet since 10.5). iOS also introduces scale factor in its graphics environment which is similar to Graphics2D#scale. The fonts (and all things on the graphic context) will be scaled automatically if the value is larger than 1.0f, typically a Retina display (2.0f and a very high DPI). The platform DPI setting affects font size in pixels implicity, so you don't need to worry about the font isn't get scaled - It couldn't happen as platform DPI is designed for such a case. If the user want to work in Hi-DPI, all things should be scaled automatically since the display would probably shrink them. It should not be the work left to app to deal with. Yes, L&Fs could do the scale on their own. But having some fonts scaled and others left unscaled is a huge mistake to match system DPI setting. The DPI setting isn't designed for that way. If I'm working in a higher DPI environment, the GTK L&F becomes a problem that stops me from using it. The apps won't be a mess in most time since most layout managers will do the right calculation on component boundaries when the fonts get scaled. Scaling all fonts won't be such a big problem as native app on Windows - Win32 API don't have layout manager. In general, not all font options of Swing components can be configured to in an application, nor it's nessacery. All these experience becomes not true in Java because Java2D leaves all the works to be done in L&F and app level. The app should always calculate font scale on its own and take very carefully so they will not be too small, especially for non-L&F-default fonts. You must be aware those fonts L&F has scaled and those hasn't scaled. So L&F should be the one providing different style of user interfaces only, not taking the place of the real DPI. If L&F says some fonts should be bigger than others for a more beautiful look, it can. But all fonts should also be scaled for a higher DPI compatibility. The GTK and Windows L&F currently do covers the issue that Java2D doesn't have a real DPI. > > Also, a L&F may have some text that it wants to scale via the DPI of the > screen and others (say logos, or full-screen text, or large animated > strings) that it does not want to scale. ?Typically the only text it does > want to scale are the smaller fonts that are meant for presenting > information. > > Also, graphics objects are both handed to a L&F object and also to the > client program who may have carefully decided that they want text that is 48 > pixels tall (yes, pixels, and they do *NOT* want that to be automatically > adjusted because it isn't necessarily meant for "reading" and 48 pixels is > tall enough that they aren't worried about 96 vs 72 DPI) and if you decide > that, for the sake of the L&F, you will automatically scale any font request > on a given Graphics then you may piss off the custom code in some of the > Canvas objects. > > Given that the font family choices and the relative sizing of the various > fonts are up to the L&F, I think DPI adjustments are also in their > ballpark... I think you get the wrong idea of system DPI. Higher DPI usually comes with a high pixel density display. If you don't scale the fonts and keep them in a fixed pixel size, it will kill people. People adjust that value to tell the system "I want bigger sizes in pixels", so don't go against it in most apps. If a certain app think it would be better to control all sizes in pixels on its interface, it could ignore the system DPI (set it to a fixed value like 72dpi by the platform-provided API for per-app DPI configuration) and scale on its own to do the same thing. The platform-provided DPI setting exists there. You can choose whatever you like. It's what a platform should do, to provide flexibility for apps on top of it. The best solution for a L&F to conform system DPI setting is to set DPI it wants to apply through platform-provided API. At least, make it possible to do that. - Johnson From james.graham at oracle.com Wed Oct 12 19:56:43 2011 From: james.graham at oracle.com (Jim Graham) Date: Wed, 12 Oct 2011 12:56:43 -0700 Subject: [OpenJDK 2D-Dev] fixing OpenJDK font rendering In-Reply-To: References: <4E835E53.8000000@oracle.com> <4E84B15F.3050701@oracle.com> <4E84BB80.6030800@oracle.com> <4E89C367.3040605@gmail.com> <4E8DF145.2020507@oracle.com> <4E9328FC.9000209@oracle.com> <4E939646.8050306@oracle.com> <4E947BFE.2070606@oracle.com> Message-ID: <4E95F0FB.3030206@oracle.com> Hi Johnson, Please familiarize yourself with GraphicsConfiguration.getNormalizingTransform() and the language in the Graphics2D class documentation under the heading "Coordinate Spaces". We do have mechanisms designed to address everything you've identified here. We are quite familiar with all of these concepts and even designed the APIs with these issues in mind over a decade ago. The issues aren't a lack of mechanism or awareness, they are issues of strategy and feasibility of implementation. And, we have had several (quite lengthy) discussions internally over the past few years of which actions we should take to start invoking these mechanisms whether by default or by a user/developer configurable action. Phil, and some of the members of our Swing team, is/are a little more familiar with many of the details of the "whens" and "whys" of whether we are ready to start performing automatic adjustments. From this message it sounds like you have a good handle on the issues as well, and perhaps from a different perspective, so it is probably a good time to reevaluate our defaults. But, the mechanism you are proposing does not seem to match either: A - the mechanisms we have already created for these purposes and can deploy if we need to B - the full gamut of what others might be doing with our Graphics system. So, with that in mind, please read what I said not as "this is why we would never listen to you or do what you want", but more as "we know, we know, but to propose an actual solution you should consider these other cases as well and how your proposal would affect these other developers - then we can start a real discussion"... ...jim On 10/11/2011 8:40 PM, Zhongcheng Lao wrote: > 2011/10/12 Jim Graham: >> Hi Johnson, >> >> Here is my big question... >> >> On 10/11/2011 12:01 AM, Zhongcheng Lao wrote: >>> >>> Hi, Jim >>> >>> It's never a good idea to scale fonts in L&F to conform system DPI >>> setting. >>> >>> - Johnson >> >> Why is that? >> >> Isn't it a property of the L&F how the font sizes will track (or not track) >> the screen DPI? It's a nice feature for the fonts to scale up with the DPI >> when it keeps them readable on extreme cases of hi-DPI, but some users may >> actually not want that to happen and they may express that desire >> differently among the different L&Fs. > > The L&F could scale the font, but it doesn't mean there is no need to > have a DPI equivelent property (DPI or scale factor) in Java2D and let > all things be done in L&F. > If you take a good investigation into other platforms, there is always > a such property exists explicitly or implicity. > On Windows& GTK, it is in the Display Properties and can be changed by user; > On Mac OS X, the concept of DPI do exist though it's 72dpi by default > and Apple keeps hiding the setting from users (DPI could adjusted by > Quartz Debug though it's not public yet since 10.5). > iOS also introduces scale factor in its graphics environment which is > similar to Graphics2D#scale. > The fonts (and all things on the graphic context) will be scaled > automatically if the value is larger than 1.0f, typically a Retina > display (2.0f and a very high DPI). > > The platform DPI setting affects font size in pixels implicity, so you > don't need to worry about the font isn't get scaled > - It couldn't happen as platform DPI is designed for such a case. > If the user want to work in Hi-DPI, all things should be scaled > automatically since the display would probably shrink them. > It should not be the work left to app to deal with. > > Yes, L&Fs could do the scale on their own. > But having some fonts scaled and others left unscaled is a huge > mistake to match system DPI setting. > The DPI setting isn't designed for that way. > If I'm working in a higher DPI environment, the GTK L&F becomes a > problem that stops me from using it. > > The apps won't be a mess in most time since most layout managers will > do the right calculation on component boundaries when the fonts get > scaled. > Scaling all fonts won't be such a big problem as native app on Windows > - Win32 API don't have layout manager. > In general, not all font options of Swing components can be configured > to in an application, nor it's nessacery. > All these experience becomes not true in Java because Java2D leaves > all the works to be done in L&F and app level. > The app should always calculate font scale on its own and take very > carefully so they will not be too small, especially for > non-L&F-default fonts. > You must be aware those fonts L&F has scaled and those hasn't scaled. > > So L&F should be the one providing different style of user interfaces > only, not taking the place of the real DPI. > If L&F says some fonts should be bigger than others for a more > beautiful look, it can. > But all fonts should also be scaled for a higher DPI compatibility. > The GTK and Windows L&F currently do covers the issue that Java2D > doesn't have a real DPI. > >> >> Also, a L&F may have some text that it wants to scale via the DPI of the >> screen and others (say logos, or full-screen text, or large animated >> strings) that it does not want to scale. Typically the only text it does >> want to scale are the smaller fonts that are meant for presenting >> information. >> >> Also, graphics objects are both handed to a L&F object and also to the >> client program who may have carefully decided that they want text that is 48 >> pixels tall (yes, pixels, and they do *NOT* want that to be automatically >> adjusted because it isn't necessarily meant for "reading" and 48 pixels is >> tall enough that they aren't worried about 96 vs 72 DPI) and if you decide >> that, for the sake of the L&F, you will automatically scale any font request >> on a given Graphics then you may piss off the custom code in some of the >> Canvas objects. >> >> Given that the font family choices and the relative sizing of the various >> fonts are up to the L&F, I think DPI adjustments are also in their >> ballpark... > > I think you get the wrong idea of system DPI. > Higher DPI usually comes with a high pixel density display. > If you don't scale the fonts and keep them in a fixed pixel size, it > will kill people. > People adjust that value to tell the system "I want bigger sizes in pixels", > so don't go against it in most apps. > If a certain app think it would be better to control all sizes in > pixels on its interface, > it could ignore the system DPI (set it to a fixed value like 72dpi by > the platform-provided API for per-app DPI configuration) and scale on > its own to do the same thing. > The platform-provided DPI setting exists there. > You can choose whatever you like. > It's what a platform should do, to provide flexibility for apps on top of it. > > The best solution for a L&F to conform system DPI setting is to set > DPI it wants to apply through platform-provided API. > At least, make it possible to do that. > > - Johnson From neugens.limasoftware at gmail.com Fri Oct 14 20:30:04 2011 From: neugens.limasoftware at gmail.com (Mario Torre) Date: Fri, 14 Oct 2011 22:30:04 +0200 Subject: [OpenJDK 2D-Dev] What to override and what now Message-ID: While working a bit on cacio, we just found some new nice addition to the Toolkit code, like this one: public boolean areExtraMouseButtonsEnabled() throws HeadlessException { GraphicsEnvironment.checkHeadless(); return Toolkit.getDefaultToolkit().areExtraMouseButtonsEnabled(); } Of course, this method is meant to be overridden, so it will end up doing nothing, but things like this may be very difficult to debug at times, and in any case, is definitely are not friendly code. Is there any reason for this smartness? Why not simply provide a default implementation or just throw an exception or simply make the method abstract? Or maybe I'm missing something? I hope there are not many more of those examples scattered around, or to know what to subclass and override will be a pain. Cheers, Mario --- pgp key: http://subkeys.pgp.net/ PGP Key ID: 80F240CF Fingerprint: BA39 9666 94EC 8B73 27FA FC7C 4086 63E3 80F2 40CF http://www.ladybug-studio.com IcedRobot: www.icedrobot.org Proud GNU Classpath developer: http://www.classpath.org/ Read About us at: http://planet.classpath.org OpenJDK: http://openjdk.java.net/projects/caciocavallo/ Please, support open standards: http://endsoftpatents.org/ From andrew.brygin at oracle.com Mon Oct 17 11:23:11 2011 From: andrew.brygin at oracle.com (andrew.brygin at oracle.com) Date: Mon, 17 Oct 2011 11:23:11 +0000 Subject: [OpenJDK 2D-Dev] hg: jdk8/2d/jdk: 6997116: The case automatically failed due to java.lang.ClassCastException. Message-ID: <20111017112341.35BAD4701D@hg.openjdk.java.net> Changeset: 7746eb8c610b Author: bae Date: 2011-10-17 15:20 +0400 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/7746eb8c610b 6997116: The case automatically failed due to java.lang.ClassCastException. Reviewed-by: jgodinez, prr ! src/windows/classes/sun/java2d/d3d/D3DSurfaceData.java + test/sun/java2d/DirectX/DrawBitmaskToSurfaceTest.java From neil.richards at ngmr.net Thu Oct 20 18:56:50 2011 From: neil.richards at ngmr.net (Neil Richards) Date: Thu, 20 Oct 2011 19:56:50 +0100 Subject: [OpenJDK 2D-Dev] Request for review: [NEW BUG] Printer spoolers ignore result from spool process Message-ID: <1319137010.5671.116.camel@chalkhill> Hi all, Whilst trying to debug a printing problem, I noticed that the (Unix and PostScript) printer spoolers in Java do not check what the result is of trying to launch the OS print spooler command (often 'lpr' or 'lp'). As a result, if that exec'd command fails for any reason, that result (and that reason) is lost, and the user left without any clue that something is amiss. To address this, I've created a suggested fix [1], which checks the exit code for the exec'd command and, if it's bad, throws an exception which captures any text from the command's error stream. It does this in both sun.print.PSPrinterJob and sun.print.UnixPrinterJob (they are very similar in composition and function). Please review this suggested change. Thanks, Neil [1] http://cr.openjdk.java.net/~ngmr/ojdk-201/webrev.01/index.html -- Unless stated above: IBM email: neil_richards at uk.ibm.com IBM United Kingdom Limited - Registered in England and Wales with number 741598. Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 3AU From philip.race at oracle.com Thu Oct 20 19:20:30 2011 From: philip.race at oracle.com (Phil Race) Date: Thu, 20 Oct 2011 12:20:30 -0700 Subject: [OpenJDK 2D-Dev] Request for review: [NEW BUG] Printer spoolers ignore result from spool process In-Reply-To: <1319137010.5671.116.camel@chalkhill> References: <1319137010.5671.116.camel@chalkhill> Message-ID: <4EA0747E.4090105@oracle.com> Neil, You are throwing an IOException and we already have the code to catch that and re-throw as the documented printer exception type, and also the event should get notified to any listeners. So far so good. But you are throwing the IOException before calling spoolFile.delete() so we'll leak the spool file. Arguably that could happen anyway if there were an Exception but that was probably not occurring previously. I suggest either to move the spoolfile.delete() to *before* the handleError call or into a finally { } block. -phil. On 10/20/2011 11:56 AM, Neil Richards wrote: > Hi all, > Whilst trying to debug a printing problem, I noticed that the (Unix and > PostScript) printer spoolers in Java do not check what the result is of > trying to launch the OS print spooler command (often 'lpr' or 'lp'). > > As a result, if that exec'd command fails for any reason, that result > (and that reason) is lost, and the user left without any clue that > something is amiss. > > To address this, I've created a suggested fix [1], which checks the exit > code for the exec'd command and, if it's bad, throws an exception which > captures any text from the command's error stream. > > It does this in both sun.print.PSPrinterJob and sun.print.UnixPrinterJob > (they are very similar in composition and function). > > Please review this suggested change. > > Thanks, Neil > > [1] http://cr.openjdk.java.net/~ngmr/ojdk-201/webrev.01/index.html > From philip.race at oracle.com Thu Oct 20 19:38:41 2011 From: philip.race at oracle.com (Phil Race) Date: Thu, 20 Oct 2011 12:38:41 -0700 Subject: [OpenJDK 2D-Dev] Request for review: [NEW BUG] Printer spoolers ignore result from spool process In-Reply-To: <4EA0747E.4090105@oracle.com> References: <1319137010.5671.116.camel@chalkhill> <4EA0747E.4090105@oracle.com> Message-ID: <4EA078C1.4040803@oracle.com> PS you may want to look at your indentation. It appears inconsistent. Always use exactly 4 spaces for indentation. -phil. On 10/20/2011 12:20 PM, Phil Race wrote: > Neil, > > You are throwing an IOException and we already have the code to catch > that and re-throw as the documented printer exception type, and also > the event should > get notified to any listeners. So far so good. > > But you are throwing the IOException before calling spoolFile.delete() > so we'll leak > the spool file. > Arguably that could happen anyway if there were an Exception but that was > probably not occurring previously. > > I suggest either to move the spoolfile.delete() to *before* the > handleError call > or into a finally { } block. > > -phil. > > > On 10/20/2011 11:56 AM, Neil Richards wrote: >> Hi all, >> Whilst trying to debug a printing problem, I noticed that the (Unix and >> PostScript) printer spoolers in Java do not check what the result is of >> trying to launch the OS print spooler command (often 'lpr' or 'lp'). >> >> As a result, if that exec'd command fails for any reason, that result >> (and that reason) is lost, and the user left without any clue that >> something is amiss. >> >> To address this, I've created a suggested fix [1], which checks the exit >> code for the exec'd command and, if it's bad, throws an exception which >> captures any text from the command's error stream. >> >> It does this in both sun.print.PSPrinterJob and sun.print.UnixPrinterJob >> (they are very similar in composition and function). >> >> Please review this suggested change. >> >> Thanks, Neil >> >> [1] http://cr.openjdk.java.net/~ngmr/ojdk-201/webrev.01/index.html >> > From philip.race at oracle.com Fri Oct 21 01:41:43 2011 From: philip.race at oracle.com (Phil Race) Date: Thu, 20 Oct 2011 18:41:43 -0700 Subject: [OpenJDK 2D-Dev] Request for review: [NEW BUG] Printer spoolers ignore result from spool process In-Reply-To: <4EA078C1.4040803@oracle.com> References: <1319137010.5671.116.camel@chalkhill> <4EA0747E.4090105@oracle.com> <4EA078C1.4040803@oracle.com> Message-ID: <4EA0CDD7.6010304@oracle.com> Maybe its just the style you are using that looks weird to me. I prefer that you indent the subsequent parameter lines to match the first parameter even if it adds white space. I also prefer that foo and bar line up when writing expressions like the following where there are > 1 lines in the (..) expression and that you move the block to a new line like this .. although I can't promise email will line this up right. try ( foo; bar) { // body } -phil. On 10/20/11 12:38 PM, Phil Race wrote: > PS you may want to look at your indentation. It appears inconsistent. > Always use exactly 4 spaces for indentation. > > -phil. > > On 10/20/2011 12:20 PM, Phil Race wrote: >> Neil, >> >> You are throwing an IOException and we already have the code to catch >> that and re-throw as the documented printer exception type, and also >> the event should >> get notified to any listeners. So far so good. >> >> But you are throwing the IOException before calling >> spoolFile.delete() so we'll leak >> the spool file. >> Arguably that could happen anyway if there were an Exception but that >> was >> probably not occurring previously. >> >> I suggest either to move the spoolfile.delete() to *before* the >> handleError call >> or into a finally { } block. >> >> -phil. >> >> >> On 10/20/2011 11:56 AM, Neil Richards wrote: >>> Hi all, >>> Whilst trying to debug a printing problem, I noticed that the (Unix and >>> PostScript) printer spoolers in Java do not check what the result is of >>> trying to launch the OS print spooler command (often 'lpr' or 'lp'). >>> >>> As a result, if that exec'd command fails for any reason, that result >>> (and that reason) is lost, and the user left without any clue that >>> something is amiss. >>> >>> To address this, I've created a suggested fix [1], which checks the >>> exit >>> code for the exec'd command and, if it's bad, throws an exception which >>> captures any text from the command's error stream. >>> >>> It does this in both sun.print.PSPrinterJob and >>> sun.print.UnixPrinterJob >>> (they are very similar in composition and function). >>> >>> Please review this suggested change. >>> >>> Thanks, Neil >>> >>> [1] http://cr.openjdk.java.net/~ngmr/ojdk-201/webrev.01/index.html >>> >> > From jennifer.godinez at oracle.com Mon Oct 24 17:35:50 2011 From: jennifer.godinez at oracle.com (jennifer.godinez at oracle.com) Date: Mon, 24 Oct 2011 17:35:50 +0000 Subject: [OpenJDK 2D-Dev] hg: jdk8/2d/jdk: 6604109: javax.print.PrintServiceLookup.lookupPrintServices fails SOMETIMES for Cups Message-ID: <20111024173619.41A4E470FD@hg.openjdk.java.net> Changeset: a7a001378444 Author: jgodinez Date: 2011-10-24 09:58 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/a7a001378444 6604109: javax.print.PrintServiceLookup.lookupPrintServices fails SOMETIMES for Cups Reviewed-by: bae, prr ! src/solaris/classes/sun/print/UnixPrintServiceLookup.java From artem.ananiev at oracle.com Wed Oct 26 15:27:35 2011 From: artem.ananiev at oracle.com (Artem Ananiev) Date: Wed, 26 Oct 2011 19:27:35 +0400 Subject: [OpenJDK 2D-Dev] What to override and what now In-Reply-To: References: Message-ID: <4EA826E7.7070801@oracle.com> On 10/15/2011 12:30 AM, Mario Torre wrote: > While working a bit on cacio, we just found some new nice addition to the Toolkit code, like this one: > > public boolean areExtraMouseButtonsEnabled() throws HeadlessException { > GraphicsEnvironment.checkHeadless(); > > return Toolkit.getDefaultToolkit().areExtraMouseButtonsEnabled(); > } > > Of course, this method is meant to be overridden, so it will end up doing nothing, but things like this may be very difficult to debug at times, and in any case, is definitely are not friendly code. Is there any reason for this smartness? I completely agree. This code seems to be never called, otherwise it would fail into an infinite recursion, it shouldn't be any problems with it returning "false". > Why not simply provide a default implementation or just throw an exception or simply make the method abstract? Or maybe I'm missing something? Making it abstract is not a good idea: I know some rare cases when the Toolkit class is extended (e.g. for testing purposes), and adding a new abstract method will break such code at compile time. > I hope there are not many more of those examples scattered around, or to know what to subclass and override will be a pain. Thanks, Artem > Cheers, > Mario > --- > pgp key: http://subkeys.pgp.net/ PGP Key ID: 80F240CF > Fingerprint: BA39 9666 94EC 8B73 27FA FC7C 4086 63E3 80F2 40CF > > http://www.ladybug-studio.com > > IcedRobot: www.icedrobot.org > Proud GNU Classpath developer: http://www.classpath.org/ > Read About us at: http://planet.classpath.org > OpenJDK: http://openjdk.java.net/projects/caciocavallo/ > > Please, support open standards: > http://endsoftpatents.org/ > > > > From neugens.limasoftware at gmail.com Wed Oct 26 17:19:51 2011 From: neugens.limasoftware at gmail.com (Mario Torre) Date: Wed, 26 Oct 2011 19:19:51 +0200 Subject: [OpenJDK 2D-Dev] What to override and what now In-Reply-To: <4EA826E7.7070801@oracle.com> References: <4EA826E7.7070801@oracle.com> Message-ID: <61A22FD8-1C56-4891-8A9F-673526AB91C5@gmail.com> Ok then, I'll upload you a webrew patch for JDK8 later for review :) I need a bug id I guess. Cheers, Mario --- pgp key: http://subkeys.pgp.net/ PGP Key ID: 80F240CF Fingerprint: BA39 9666 94EC 8B73 27FA FC7C 4086 63E3 80F2 40CF http://www.ladybug-studio.com IcedRobot: www.icedrobot.org Proud GNU Classpath developer: http://www.classpath.org/ Read About us at: http://planet.classpath.org OpenJDK: http://openjdk.java.net/projects/caciocavallo/ Please, support open standards: http://endsoftpatents.org/ Il giorno 26/ott/2011, alle ore 17:27, Artem Ananiev ha scritto: > > On 10/15/2011 12:30 AM, Mario Torre wrote: >> While working a bit on cacio, we just found some new nice addition to the Toolkit code, like this one: >> >> public boolean areExtraMouseButtonsEnabled() throws HeadlessException { >> GraphicsEnvironment.checkHeadless(); >> >> return Toolkit.getDefaultToolkit().areExtraMouseButtonsEnabled(); >> } >> >> Of course, this method is meant to be overridden, so it will end up doing nothing, but things like this may be very difficult to debug at times, and in any case, is definitely are not friendly code. Is there any reason for this smartness? > > I completely agree. This code seems to be never called, otherwise it would fail into an infinite recursion, it shouldn't be any problems with it returning "false". > >> Why not simply provide a default implementation or just throw an exception or simply make the method abstract? Or maybe I'm missing something? > > Making it abstract is not a good idea: I know some rare cases when the Toolkit class is extended (e.g. for testing purposes), and adding a new abstract method will break such code at compile time. > >> I hope there are not many more of those examples scattered around, or to know what to subclass and override will be a pain. > > Thanks, > > Artem > >> Cheers, >> Mario >> --- >> pgp key: http://subkeys.pgp.net/ PGP Key ID: 80F240CF >> Fingerprint: BA39 9666 94EC 8B73 27FA FC7C 4086 63E3 80F2 40CF >> >> http://www.ladybug-studio.com >> >> IcedRobot: www.icedrobot.org >> Proud GNU Classpath developer: http://www.classpath.org/ >> Read About us at: http://planet.classpath.org >> OpenJDK: http://openjdk.java.net/projects/caciocavallo/ >> >> Please, support open standards: >> http://endsoftpatents.org/ >> >> >> >> From roman at kennke.org Wed Oct 26 17:22:31 2011 From: roman at kennke.org (Roman Kennke) Date: Wed, 26 Oct 2011 19:22:31 +0200 Subject: [OpenJDK 2D-Dev] What to override and what now In-Reply-To: <4EA826E7.7070801@oracle.com> References: <4EA826E7.7070801@oracle.com> Message-ID: <1319649751.2666.2.camel@moonlight> Hi Artem, > > While working a bit on cacio, we just found some new nice addition to the Toolkit code, like this one: > > > > public boolean areExtraMouseButtonsEnabled() throws HeadlessException { > > GraphicsEnvironment.checkHeadless(); > > > > return Toolkit.getDefaultToolkit().areExtraMouseButtonsEnabled(); > > } > > > > Of course, this method is meant to be overridden, so it will end up doing nothing, but things like this may be very difficult to debug at times, and in any case, is definitely are not friendly code. Is there any reason for this smartness? > > I completely agree. This code seems to be never called, otherwise it > would fail into an infinite recursion, it shouldn't be any problems with > it returning "false". Why not make it throw an exception? This way it would be very easy to find out what is wrong. Returning null, false, -1 etc might make your code blow up much later and it takes some debugging to figure out what is wrong. > > Why not simply provide a default implementation or just throw an exception or simply make the method abstract? Or maybe I'm missing something? > > Making it abstract is not a good idea: I know some rare cases when the > Toolkit class is extended (e.g. for testing purposes), and adding a new > abstract method will break such code at compile time. Yeah agreed. We are doing this massively in Cacio as you can imagine, and for us would be nicer to have a compile time error so we know what to fix. But I see that java.awt.Toolkit is public API and cannot be changed in a non-compatibel way... Cheers, Roman From Ulf.Zibis at gmx.de Sat Oct 8 12:24:42 2011 From: Ulf.Zibis at gmx.de (Ulf Zibis) Date: Sat, 08 Oct 2011 12:24:42 -0000 Subject: [OpenJDK 2D-Dev] Fwd: Re: Small patch for multi-catch :) In-Reply-To: References: <4E2AF3C2.5060609@oracle.com> <4E2B2CEB.30609@gmx.de> Message-ID: <4E904102.6090109@gmx.de> See: Bug 7092231 - Remove incomplete package sun.dc from OpenJDK sources See: Bug 7092246 - Simplify sun.awt.geom.PathConsumer2D.RenderingEngine.getInstance() -Ulf Am 23.07.2011 22:35, schrieb Mario Torre: > 2011/7/23 Ulf Zibis: >> Hi, >> >> couldn't you use ReflectiveOperationException instead? > That's a good point, right. > >> Additionally you could better profit from generics: > Yeah, but I don't want to change more than needed. > >> And again more simple just use (no need for try...catch): >> >> public RenderingEngine run() { >> String reClass = >> System.getProperty("sun.java2d.renderer"); >> if ("sun.dc.DuctusRenderingEngine".equals(reClass)) { >> return new sun.dc.DuctusRenderingEngine(); >> } >> for (RenderingEngine re : ServiceLoader.loadInstalled( >> RenderingEngine.class)) { >> if (re.getClass().getName().equals(reClass)) { >> return re; >> } >> } >> return null; >> } >> >> -Ulf > Again, I don't want to change more than needed. In this case, however, > I miss your point; as far as I know sun.dc.DuctusRenderingEngine() > cannot be instantiated, is not part of the OpenJDK distribution, so > this would not work on OpenJDK. > > Cheers, > Mario -------------- next part -------------- An HTML attachment was scrubbed... URL: From james.graham at oracle.com Thu Oct 27 03:48:36 2011 From: james.graham at oracle.com (Jim Graham) Date: Wed, 26 Oct 2011 20:48:36 -0700 Subject: [OpenJDK 2D-Dev] What to override and what now In-Reply-To: <1319649751.2666.2.camel@moonlight> References: <4EA826E7.7070801@oracle.com> <1319649751.2666.2.camel@moonlight> Message-ID: <4EA8D494.9060904@oracle.com> It's even messier than that. It essentially specifies exactly how the value is determined and there is not only no need to override it - doing so just opens the door to violating its spec. Both XToolkit and WToolkit have the exact same implementation which complies with the documentation for the method. That implementation should be copied up into this method rather than having it return a fixed value. Arguably, it should have been final, or the spec should have been left open if it was really intended to be overridden and platform-specific. If it is changed to return a static answer then the documentation should be updated to loosen its language so that the indicated behavior is the suggested behavior, but the true behavior is left open to the platform... ...jim On 10/26/2011 10:22 AM, Roman Kennke wrote: > Hi Artem, > >>> While working a bit on cacio, we just found some new nice addition to the Toolkit code, like this one: >>> >>> public boolean areExtraMouseButtonsEnabled() throws HeadlessException { >>> GraphicsEnvironment.checkHeadless(); >>> >>> return Toolkit.getDefaultToolkit().areExtraMouseButtonsEnabled(); >>> } >>> >>> Of course, this method is meant to be overridden, so it will end up doing nothing, but things like this may be very difficult to debug at times, and in any case, is definitely are not friendly code. Is there any reason for this smartness? >> >> I completely agree. This code seems to be never called, otherwise it >> would fail into an infinite recursion, it shouldn't be any problems with >> it returning "false". > > Why not make it throw an exception? This way it would be very easy to > find out what is wrong. Returning null, false, -1 etc might make your > code blow up much later and it takes some debugging to figure out what > is wrong. > >>> Why not simply provide a default implementation or just throw an exception or simply make the method abstract? Or maybe I'm missing something? >> >> Making it abstract is not a good idea: I know some rare cases when the >> Toolkit class is extended (e.g. for testing purposes), and adding a new >> abstract method will break such code at compile time. > > Yeah agreed. We are doing this massively in Cacio as you can imagine, > and for us would be nicer to have a compile time error so we know what > to fix. But I see that java.awt.Toolkit is public API and cannot be > changed in a non-compatibel way... > > Cheers, Roman > > From lana.steuck at oracle.com Thu Oct 27 04:40:06 2011 From: lana.steuck at oracle.com (lana.steuck at oracle.com) Date: Thu, 27 Oct 2011 04:40:06 +0000 Subject: [OpenJDK 2D-Dev] hg: jdk8/2d: 10 new changesets Message-ID: <20111027044007.68AB247155@hg.openjdk.java.net> Changeset: 0db7ae9f2b10 Author: katleman Date: 2011-09-22 16:01 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/rev/0db7ae9f2b10 Added tag jdk8-b06 for changeset 28cf2aec4dd7 ! .hgtags Changeset: cf76aa4189e4 Author: katleman Date: 2011-09-29 18:53 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/rev/cf76aa4189e4 Added tag jdk8-b07 for changeset 0db7ae9f2b10 ! .hgtags Changeset: b1d357ebf0cb Author: weijun Date: 2011-09-08 09:06 +0800 URL: http://hg.openjdk.java.net/jdk8/2d/rev/b1d357ebf0cb 7087428: move client tests out of jdk_misc Reviewed-by: ohair, alanb ! make/jprt.properties Changeset: 123873564c23 Author: lana Date: 2011-09-13 08:37 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/rev/123873564c23 Merge Changeset: 39edfd9d8ff0 Author: lana Date: 2011-09-23 23:25 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/rev/39edfd9d8ff0 Merge Changeset: 2f1af0e3e8f7 Author: lana Date: 2011-09-26 14:31 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/rev/2f1af0e3e8f7 Merge Changeset: fb1bc13260d7 Author: lana Date: 2011-10-03 18:22 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/rev/fb1bc13260d7 Merge Changeset: 8adb70647b5a Author: katleman Date: 2011-10-06 14:01 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/rev/8adb70647b5a Added tag jdk8-b08 for changeset fb1bc13260d7 ! .hgtags Changeset: a6c4c248e8fa Author: katleman Date: 2011-10-13 10:35 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/rev/a6c4c248e8fa Added tag jdk8-b09 for changeset 8adb70647b5a ! .hgtags Changeset: 1defbc57940a Author: katleman Date: 2011-10-20 10:32 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/rev/1defbc57940a Added tag jdk8-b10 for changeset a6c4c248e8fa ! .hgtags From lana.steuck at oracle.com Thu Oct 27 04:40:06 2011 From: lana.steuck at oracle.com (lana.steuck at oracle.com) Date: Thu, 27 Oct 2011 04:40:06 +0000 Subject: [OpenJDK 2D-Dev] hg: jdk8/2d/jaxp: 5 new changesets Message-ID: <20111027044007.017D247154@hg.openjdk.java.net> Changeset: c114306576dc Author: katleman Date: 2011-09-22 16:02 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/jaxp/rev/c114306576dc Added tag jdk8-b06 for changeset d7b8192e7277 ! .hgtags Changeset: de4794dd69c4 Author: katleman Date: 2011-09-29 18:53 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/jaxp/rev/de4794dd69c4 Added tag jdk8-b07 for changeset c114306576dc ! .hgtags Changeset: 93554324c014 Author: katleman Date: 2011-10-06 14:01 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/jaxp/rev/93554324c014 Added tag jdk8-b08 for changeset de4794dd69c4 ! .hgtags Changeset: d21a4d5141c0 Author: katleman Date: 2011-10-13 10:35 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/jaxp/rev/d21a4d5141c0 Added tag jdk8-b09 for changeset 93554324c014 ! .hgtags Changeset: d1b7a4f6dd20 Author: katleman Date: 2011-10-20 10:32 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/jaxp/rev/d1b7a4f6dd20 Added tag jdk8-b10 for changeset d21a4d5141c0 ! .hgtags From lana.steuck at oracle.com Thu Oct 27 04:40:07 2011 From: lana.steuck at oracle.com (lana.steuck at oracle.com) Date: Thu, 27 Oct 2011 04:40:07 +0000 Subject: [OpenJDK 2D-Dev] hg: jdk8/2d/jaxws: 5 new changesets Message-ID: <20111027044008.0377F47156@hg.openjdk.java.net> Changeset: 134b0debf7b0 Author: katleman Date: 2011-09-22 16:02 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/jaxws/rev/134b0debf7b0 Added tag jdk8-b06 for changeset acffff22a946 ! .hgtags Changeset: 1c9d4f59acf8 Author: katleman Date: 2011-09-29 18:53 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/jaxws/rev/1c9d4f59acf8 Added tag jdk8-b07 for changeset 134b0debf7b0 ! .hgtags Changeset: 70172e57cf29 Author: katleman Date: 2011-10-06 14:01 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/jaxws/rev/70172e57cf29 Added tag jdk8-b08 for changeset 1c9d4f59acf8 ! .hgtags Changeset: 8e7fdc8e3c75 Author: katleman Date: 2011-10-13 10:35 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/jaxws/rev/8e7fdc8e3c75 Added tag jdk8-b09 for changeset 70172e57cf29 ! .hgtags Changeset: a12ab897a249 Author: katleman Date: 2011-10-20 10:32 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/jaxws/rev/a12ab897a249 Added tag jdk8-b10 for changeset 8e7fdc8e3c75 ! .hgtags From lana.steuck at oracle.com Thu Oct 27 04:40:06 2011 From: lana.steuck at oracle.com (lana.steuck at oracle.com) Date: Thu, 27 Oct 2011 04:40:06 +0000 Subject: [OpenJDK 2D-Dev] hg: jdk8/2d/corba: 5 new changesets Message-ID: <20111027044015.3FA8D47157@hg.openjdk.java.net> Changeset: 3d61f0856f34 Author: katleman Date: 2011-09-22 16:01 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/corba/rev/3d61f0856f34 Added tag jdk8-b06 for changeset 45c43dde7ba7 ! .hgtags Changeset: 0d52b1c87aa8 Author: katleman Date: 2011-09-29 18:53 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/corba/rev/0d52b1c87aa8 Added tag jdk8-b07 for changeset 3d61f0856f34 ! .hgtags Changeset: a891732c1a83 Author: katleman Date: 2011-10-06 14:01 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/corba/rev/a891732c1a83 Added tag jdk8-b08 for changeset 0d52b1c87aa8 ! .hgtags Changeset: cda87f7fefce Author: katleman Date: 2011-10-13 10:35 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/corba/rev/cda87f7fefce Added tag jdk8-b09 for changeset a891732c1a83 ! .hgtags Changeset: 0199e4fef5cc Author: katleman Date: 2011-10-20 10:32 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/corba/rev/0199e4fef5cc Added tag jdk8-b10 for changeset cda87f7fefce ! .hgtags From lana.steuck at oracle.com Thu Oct 27 04:40:26 2011 From: lana.steuck at oracle.com (lana.steuck at oracle.com) Date: Thu, 27 Oct 2011 04:40:26 +0000 Subject: [OpenJDK 2D-Dev] hg: jdk8/2d/langtools: 24 new changesets Message-ID: <20111027044124.6930C47158@hg.openjdk.java.net> Changeset: 116980ecec5c Author: katleman Date: 2011-09-22 16:02 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/langtools/rev/116980ecec5c Added tag jdk8-b06 for changeset d2422276f9da ! .hgtags Changeset: 9268bd271c6f Author: katleman Date: 2011-09-29 18:54 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/langtools/rev/9268bd271c6f Added tag jdk8-b07 for changeset 116980ecec5c ! .hgtags Changeset: ed338593b0b6 Author: mcimadamore Date: 2011-09-13 14:14 +0100 URL: http://hg.openjdk.java.net/jdk8/2d/langtools/rev/ed338593b0b6 7086595: Error message bug: name of initializer is 'null' Summary: Implementation of MethodSymbol.location() should take into account static/instance initializers Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/code/Kinds.java ! src/share/classes/com/sun/tools/javac/code/Printer.java ! src/share/classes/com/sun/tools/javac/code/Symbol.java ! src/share/classes/com/sun/tools/javac/comp/Check.java ! src/share/classes/com/sun/tools/javac/resources/compiler.properties ! src/share/classes/com/sun/tools/javac/util/RichDiagnosticFormatter.java + test/tools/javac/7086595/T7086595.java + test/tools/javac/7086595/T7086595.out ! test/tools/javac/Diagnostics/6860795/T6860795.out ! test/tools/javac/LocalClasses_2.out ! test/tools/javac/NestedInnerClassNames.out ! test/tools/javac/TryWithResources/BadTwr.out ! test/tools/javac/TryWithResources/DuplicateResourceDecl.out + test/tools/javac/diags/examples/AlreadyDefinedClinit.java + test/tools/javac/diags/examples/KindnameInstanceInit.java + test/tools/javac/diags/examples/KindnameStaticInit.java ! test/tools/javac/generics/6910550/T6910550d.out Changeset: f595d8bc0599 Author: mcimadamore Date: 2011-09-13 14:15 +0100 URL: http://hg.openjdk.java.net/jdk8/2d/langtools/rev/f595d8bc0599 7003595: IncompatibleClassChangeError with unreferenced local class with subclass Summary: Compiler omits unreferenced local inner classes from the InnerClasses attribute Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/code/Symbol.java ! src/share/classes/com/sun/tools/javac/comp/Lower.java ! src/share/classes/com/sun/tools/javac/jvm/ClassWriter.java + test/tools/javac/7003595/T7003595.java + test/tools/javac/7003595/T7003595b.java Changeset: 3a2200681d69 Author: mcimadamore Date: 2011-09-13 14:15 +0100 URL: http://hg.openjdk.java.net/jdk8/2d/langtools/rev/3a2200681d69 7086601: Error message bug: cause for method mismatch is 'null' Summary: Inference error during lub() does not set 'cause' for method resolution diagnostic Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/comp/Infer.java ! src/share/classes/com/sun/tools/javac/resources/compiler.properties + test/tools/javac/diags/examples/IncompatibleUpperBounds.java + test/tools/javac/generics/inference/7086601/T7086601a.java + test/tools/javac/generics/inference/7086601/T7086601a.out + test/tools/javac/generics/inference/7086601/T7086601b.java Changeset: ca2e2b85f437 Author: mchung Date: 2011-09-13 16:37 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/langtools/rev/ca2e2b85f437 7090297: Remove com.sun.tools.javac.Launcher from tools.jar Reviewed-by: jjg - src/share/classes/com/sun/tools/javac/Launcher.java Changeset: 0f3da6af9799 Author: jjg Date: 2011-09-14 12:07 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/langtools/rev/0f3da6af9799 7080267: Call to toString() from an ExpressionStatementTree doesn't take in consideration the ";" at the end Reviewed-by: mcimadamore ! src/share/classes/com/sun/tools/javac/tree/JCTree.java + test/tools/javac/tree/TestToString.java Changeset: 1807fc3fd33c Author: jjg Date: 2011-09-14 12:14 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/langtools/rev/1807fc3fd33c 7090249: IllegalStateException from Trees.getScope when called from JSR 199 Reviewed-by: mcimadamore ! src/share/classes/com/sun/tools/javac/api/JavacTaskImpl.java ! src/share/classes/com/sun/tools/javac/api/JavacTrees.java + test/tools/javac/api/TestGetScope.java Changeset: a6e2c1840ea1 Author: jjg Date: 2011-09-14 15:49 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/langtools/rev/a6e2c1840ea1 7090700: fix for 7080267 breaks two tests Reviewed-by: ksrini ! src/share/classes/com/sun/tools/javac/tree/JCTree.java Changeset: 826ae6a2f27d Author: jjg Date: 2011-09-14 18:26 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/langtools/rev/826ae6a2f27d 7068437: Regression: Filer.getResource(SOURCE_OUTPUT, ...) no longer works in JDK 7 w/o -s Reviewed-by: darcy ! src/share/classes/com/sun/tools/javac/processing/JavacFiler.java + test/tools/javac/file/T7068437.java Changeset: c0835c8489b0 Author: mcimadamore Date: 2011-09-16 14:16 +0100 URL: http://hg.openjdk.java.net/jdk8/2d/langtools/rev/c0835c8489b0 7086586: Inference producing null type argument Summary: Inference should fail in 15.12.2.7 when inference variables with 'nulltype' upper bounds are found Reviewed-by: dlsmith ! src/share/classes/com/sun/tools/javac/code/Types.java ! test/tools/javac/Diagnostics/6862608/T6862608a.out ! test/tools/javac/generics/inference/6638712/T6638712a.out + test/tools/javac/generics/inference/7086586/T7086586.java + test/tools/javac/generics/inference/7086586/T7086586.out + test/tools/javac/generics/inference/7086586/T7086586b.java Changeset: dea82aa3ca4f Author: jjg Date: 2011-09-16 16:18 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/langtools/rev/dea82aa3ca4f 7091528: javadoc attempts to parse .class files Reviewed-by: darcy ! src/share/classes/com/sun/tools/javadoc/JavadocTool.java + test/tools/javadoc/parser/7091528/T7091528.java + test/tools/javadoc/parser/7091528/p/C1.java + test/tools/javadoc/parser/7091528/p/q/C2.java Changeset: ac964af3b5e7 Author: jjg Date: 2011-09-20 12:08 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/langtools/rev/ac964af3b5e7 7030473: Remove dead field JCCompilationUnit.flags Reviewed-by: dlsmith ! src/share/classes/com/sun/tools/javac/tree/JCTree.java Changeset: b0d5f00e69f7 Author: jjg Date: 2011-09-21 21:56 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/langtools/rev/b0d5f00e69f7 7092965: javac should not close processorClassLoader before end of compilation Reviewed-by: darcy ! src/share/classes/com/sun/tools/javac/main/JavaCompiler.java ! src/share/classes/com/sun/tools/javac/processing/JavacProcessingEnvironment.java ! src/share/classes/com/sun/tools/javac/resources/compiler.properties ! test/tools/javac/diags/examples.not-yet.txt + test/tools/javac/processing/loader/testClose/TestClose.java + test/tools/javac/processing/loader/testClose/TestClose2.java Changeset: 497571d34112 Author: jjg Date: 2011-09-22 09:24 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/langtools/rev/497571d34112 7075721: javac should have public enum for exit codes Reviewed-by: mcimadamore ! src/share/classes/com/sun/tools/javac/Main.java ! src/share/classes/com/sun/tools/javac/api/JavacTaskImpl.java ! src/share/classes/com/sun/tools/javac/main/Main.java ! test/tools/javac/diags/ArgTypeCompilerFactory.java ! test/tools/javac/diags/Example.java ! test/tools/javac/lib/CompileFail.java ! test/tools/javac/util/context/T7021650.java Changeset: 0c6f79fc8441 Author: lana Date: 2011-09-23 23:30 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/langtools/rev/0c6f79fc8441 Merge Changeset: 28573d605b01 Author: lana Date: 2011-09-26 14:33 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/langtools/rev/28573d605b01 Merge - src/share/classes/com/sun/tools/javac/Launcher.java Changeset: e8acc2d6c32f Author: lana Date: 2011-10-03 18:26 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/langtools/rev/e8acc2d6c32f Merge - src/share/classes/com/sun/tools/javac/Launcher.java Changeset: b7a7e47c8d3d Author: katleman Date: 2011-10-06 14:01 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/langtools/rev/b7a7e47c8d3d Added tag jdk8-b08 for changeset e8acc2d6c32f ! .hgtags Changeset: 510d09ddc861 Author: katleman Date: 2011-10-13 10:35 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/langtools/rev/510d09ddc861 Added tag jdk8-b09 for changeset b7a7e47c8d3d ! .hgtags Changeset: 47147081d5b4 Author: mcimadamore Date: 2011-10-06 18:39 +0100 URL: http://hg.openjdk.java.net/jdk8/2d/langtools/rev/47147081d5b4 7090499: missing rawtypes warnings in anonymous inner class Summary: javac does not detect raw types inside anonymous inner classes Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/comp/Check.java + test/tools/javac/warnings/7090499/T7090499.java + test/tools/javac/warnings/7090499/T7090499.out Changeset: 5010ffc61eda Author: lana Date: 2011-10-12 12:26 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/langtools/rev/5010ffc61eda Merge Changeset: f6c783e18bdf Author: lana Date: 2011-10-17 19:07 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/langtools/rev/f6c783e18bdf Merge Changeset: 4bf01f1c4e34 Author: katleman Date: 2011-10-20 10:32 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/langtools/rev/4bf01f1c4e34 Added tag jdk8-b10 for changeset f6c783e18bdf ! .hgtags From lana.steuck at oracle.com Thu Oct 27 04:41:04 2011 From: lana.steuck at oracle.com (lana.steuck at oracle.com) Date: Thu, 27 Oct 2011 04:41:04 +0000 Subject: [OpenJDK 2D-Dev] hg: jdk8/2d/hotspot: 136 new changesets Message-ID: <20111027044537.16C9747159@hg.openjdk.java.net> Changeset: 3f0cf875af83 Author: katleman Date: 2011-09-22 16:01 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/3f0cf875af83 Added tag jdk8-b06 for changeset 0db80d8e77fc ! .hgtags Changeset: 0663e7617095 Author: katleman Date: 2011-09-29 18:53 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/0663e7617095 Added tag jdk8-b07 for changeset 3f0cf875af83 ! .hgtags Changeset: 5755e84e970f Author: jcoomes Date: 2011-09-02 15:47 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/5755e84e970f Added tag hs22-b01 for changeset 0cc8a70952c3 ! .hgtags Changeset: 40c5e268d399 Author: jcoomes Date: 2011-09-02 15:47 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/40c5e268d399 Added tag hs22-b02 for changeset 7c29742c41b4 ! .hgtags Changeset: 52220701f19f Author: jcoomes Date: 2011-09-02 15:47 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/52220701f19f Added tag hs22-b03 for changeset 3a2fb61165df ! .hgtags Changeset: ce9bde819dcb Author: jcoomes Date: 2011-09-02 03:49 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/ce9bde819dcb 7086589: bump the hs22 build number to 04 Reviewed-by: johnc Contributed-by: alejandro.murillo at oracle.com ! make/hotspot_version Changeset: 5c123cbeebbe Author: jcoomes Date: 2011-09-02 15:52 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/5c123cbeebbe Added tag hs22-b04 for changeset ce9bde819dcb ! .hgtags Changeset: 3cd0157e1d4d Author: iveresov Date: 2011-08-25 02:57 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/3cd0157e1d4d 7082969: NUMA interleaving Summary: Support interleaving on NUMA systems for collectors that don't have NUMA-awareness. Reviewed-by: iveresov, ysr Contributed-by: Tom Deneau ! src/os/linux/vm/os_linux.cpp ! src/os/solaris/vm/os_solaris.cpp ! src/os/windows/vm/os_windows.cpp ! src/os/windows/vm/os_windows.hpp ! src/share/vm/runtime/arguments.cpp ! src/share/vm/runtime/globals.hpp Changeset: eeae91c9baba Author: johnc Date: 2011-08-29 10:13 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/eeae91c9baba 7080389: G1: refactor marking code in evacuation pause copy closures Summary: Refactor code marking code in the evacuation pause copy closures so that an evacuated object is only marked by the thread that successfully copies it. Reviewed-by: stefank, brutisso, tonyp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.hpp ! src/share/vm/gc_implementation/g1/g1OopClosures.hpp ! src/share/vm/gc_implementation/g1/g1_specialized_oop_closures.hpp Changeset: 9447b2fb6fcf Author: iveresov Date: 2011-08-29 17:42 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/9447b2fb6fcf 7082645: Hotspot doesn't compile on old linuxes after 7060836 Summary: Move syscall ids definitions into os_linux.cpp Reviewed-by: johnc ! src/os/linux/vm/os_linux.cpp Changeset: 4fe626cbf0bf Author: johnc Date: 2011-08-31 10:16 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/4fe626cbf0bf 7066841: remove MacroAssembler::br_on_reg_cond() on sparc Summary: Remove the macro assembler routine br_on_reg_cond() and replace the remaining calls to that routine with an equivalent. Reviewed-by: kvn, iveresov ! src/cpu/sparc/vm/assembler_sparc.cpp ! src/cpu/sparc/vm/assembler_sparc.hpp ! src/cpu/sparc/vm/c1_CodeStubs_sparc.cpp ! src/cpu/sparc/vm/c1_Runtime1_sparc.cpp ! src/share/vm/gc_implementation/g1/g1_globals.hpp Changeset: ae1b1788f63f Author: ysr Date: 2011-08-31 23:55 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/ae1b1788f63f Merge Changeset: 4668545121b8 Author: jcoomes Date: 2011-09-02 21:33 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/4668545121b8 Merge Changeset: ac8738449b6f Author: never Date: 2011-08-25 20:29 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/ac8738449b6f 7082949: JSR 292: missing ResourceMark in methodOopDesc::make_invoke_method Reviewed-by: kvn, twisti ! src/share/vm/oops/methodOop.cpp + test/compiler/7082949/Test7082949.java Changeset: baf763f388e6 Author: kvn Date: 2011-08-26 08:52 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/baf763f388e6 7059037: Use BIS for zeroing on T4 Summary: Use BIS for zeroing new allocated big (2Kb and more) objects and arrays. Reviewed-by: never, twisti, ysr ! src/cpu/sparc/vm/assembler_sparc.cpp ! src/cpu/sparc/vm/assembler_sparc.hpp ! src/cpu/sparc/vm/copy_sparc.hpp ! src/cpu/sparc/vm/sparc.ad ! src/cpu/sparc/vm/stubGenerator_sparc.cpp ! src/cpu/sparc/vm/templateTable_sparc.cpp ! src/cpu/sparc/vm/vm_version_sparc.cpp ! src/cpu/sparc/vm/vm_version_sparc.hpp ! src/share/vm/gc_interface/collectedHeap.cpp ! src/share/vm/gc_interface/collectedHeap.inline.hpp ! src/share/vm/oops/cpCacheKlass.cpp ! src/share/vm/runtime/globals.hpp ! src/share/vm/runtime/stubRoutines.cpp ! src/share/vm/runtime/stubRoutines.hpp Changeset: 8805f8c1e23e Author: iveresov Date: 2011-08-27 00:23 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/8805f8c1e23e 6591247: C2 cleans up the merge point too early during SplitIf Summary: Remove region self reference last Reviewed-by: kvn, never ! src/share/vm/opto/split_if.cpp Changeset: b27c72d69fd1 Author: twisti Date: 2011-08-29 05:07 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/b27c72d69fd1 7083184: JSR 292: don't store context class argument with call site dependencies Reviewed-by: jrose, never ! src/share/vm/ci/ciEnv.cpp ! src/share/vm/ci/ciEnv.hpp ! src/share/vm/code/dependencies.cpp ! src/share/vm/code/dependencies.hpp ! src/share/vm/memory/universe.cpp ! src/share/vm/opto/callGenerator.cpp Changeset: 19241ae0d839 Author: never Date: 2011-08-30 00:54 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/19241ae0d839 7082263: Reflection::resolve_field/field_get/field_set are broken Reviewed-by: kvn, dholmes, stefank, coleenp ! make/linux/makefiles/mapfile-vers-debug ! make/linux/makefiles/mapfile-vers-product ! make/solaris/makefiles/debug.make ! make/solaris/makefiles/fastdebug.make ! make/solaris/makefiles/jvmg.make - make/solaris/makefiles/mapfile-vers-nonproduct ! make/solaris/makefiles/optimized.make ! make/solaris/makefiles/product.make ! src/share/vm/precompiled.hpp ! src/share/vm/prims/jvm.cpp ! src/share/vm/prims/jvm.h ! src/share/vm/prims/unsafe.cpp ! src/share/vm/runtime/reflection.cpp ! src/share/vm/runtime/reflection.hpp - src/share/vm/runtime/reflectionCompat.hpp Changeset: b346f13112d8 Author: iveresov Date: 2011-08-30 19:01 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/b346f13112d8 7085279: C1 overflows code buffer with VerifyOops and CompressedOops Summary: Increase the limit of code emitted per LIR instruction, increase the max size of the nmethod generated by C1 Reviewed-by: never, kvn, johnc ! src/share/vm/c1/c1_LIRAssembler.cpp ! src/share/vm/c1/c1_globals.hpp Changeset: de847cac9235 Author: twisti Date: 2011-08-31 01:40 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/de847cac9235 7078382: JSR 292: don't count method handle adapters against inlining budgets Reviewed-by: kvn, never ! src/share/vm/c1/c1_GraphBuilder.cpp ! src/share/vm/ci/ciMethod.cpp ! src/share/vm/ci/ciMethod.hpp ! src/share/vm/ci/ciStreams.hpp ! src/share/vm/interpreter/bytecodes.hpp ! src/share/vm/opto/bytecodeInfo.cpp Changeset: a64d352d1118 Author: kvn Date: 2011-08-31 09:48 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/a64d352d1118 7085137: -XX:+VerifyOops is broken Summary: Replace set() with patchable_set() to generate 8 instructions always. Reviewed-by: iveresov, never, roland ! src/cpu/sparc/vm/assembler_sparc.cpp ! src/cpu/sparc/vm/sparc.ad Changeset: c124e2e7463e Author: never Date: 2011-08-31 16:46 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/c124e2e7463e 7083786: dead various dead chunks of code Reviewed-by: iveresov, kvn ! src/cpu/sparc/vm/c1_LIRAssembler_sparc.cpp ! src/cpu/sparc/vm/c1_Runtime1_sparc.cpp ! src/cpu/sparc/vm/frame_sparc.hpp ! src/cpu/x86/vm/c1_LIRAssembler_x86.cpp ! src/cpu/x86/vm/c1_LIRAssembler_x86.hpp ! src/cpu/x86/vm/c1_Runtime1_x86.cpp ! src/share/vm/c1/c1_Compilation.cpp ! src/share/vm/c1/c1_LIRAssembler.hpp ! src/share/vm/c1/c1_Runtime1.cpp ! src/share/vm/c1/c1_Runtime1.hpp ! src/share/vm/ci/ciConstant.hpp ! src/share/vm/ci/ciEnv.cpp ! src/share/vm/ci/ciEnv.hpp ! src/share/vm/ci/ciField.hpp ! src/share/vm/code/nmethod.cpp ! src/share/vm/code/nmethod.hpp ! src/share/vm/oops/constMethodKlass.cpp ! src/share/vm/opto/compile.cpp ! src/share/vm/opto/connode.hpp ! src/share/vm/opto/parse2.cpp ! src/share/vm/opto/runtime.cpp ! src/share/vm/prims/forte.cpp ! src/share/vm/runtime/thread.cpp ! src/share/vm/runtime/thread.hpp Changeset: a32de5085326 Author: twisti Date: 2011-09-01 01:31 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/a32de5085326 7079673: JSR 292: C1 should inline bytecoded method handle adapters Reviewed-by: never ! src/share/vm/c1/c1_GraphBuilder.cpp ! src/share/vm/c1/c1_GraphBuilder.hpp ! src/share/vm/c1/c1_Instruction.cpp ! src/share/vm/c1/c1_Instruction.hpp ! src/share/vm/classfile/javaClasses.cpp ! src/share/vm/classfile/vmSymbols.hpp ! src/share/vm/opto/bytecodeInfo.cpp ! src/share/vm/opto/callGenerator.cpp ! src/share/vm/opto/parse.hpp Changeset: aa67216400d3 Author: twisti Date: 2011-09-02 00:36 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/aa67216400d3 7085404: JSR 292: VolatileCallSites should have push notification too Reviewed-by: never, kvn ! src/share/vm/c1/c1_GraphBuilder.cpp ! src/share/vm/ci/ciField.hpp ! src/share/vm/interpreter/interpreterRuntime.cpp ! src/share/vm/opto/callGenerator.cpp ! src/share/vm/opto/doCall.cpp ! src/share/vm/opto/parse3.cpp ! src/share/vm/prims/unsafe.cpp Changeset: 11a4af030e4b Author: twisti Date: 2011-09-02 04:28 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/11a4af030e4b 7071709: JSR 292: switchpoint invalidation should be pushed not pulled Reviewed-by: never ! src/share/vm/opto/memnode.cpp ! src/share/vm/opto/parse3.cpp Changeset: 2f9b79ddb05c Author: kvn Date: 2011-09-02 12:13 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/2f9b79ddb05c 7039731: arraycopy could use prefetch on SPARC Summary: Use BIS and prefetch in arraycopy stubs for Sparc (BIS for T4 only). Reviewed-by: never, iveresov ! src/cpu/sparc/vm/stubGenerator_sparc.cpp ! src/cpu/sparc/vm/vm_version_sparc.cpp ! src/share/vm/runtime/globals.hpp Changeset: 2090c623107e Author: never Date: 2011-09-02 22:00 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/2090c623107e 7016881: JSR 292: JDI: sun.jvm.hotspot.utilities.AssertionFailure: index out of bounds Reviewed-by: kvn, twisti ! agent/src/share/classes/sun/jvm/hotspot/interpreter/BytecodeLoadConstant.java Changeset: c26de9aef2ed Author: never Date: 2011-09-02 20:58 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/c26de9aef2ed 7071307: MethodHandle bimorphic inlining should consider the frequency Reviewed-by: twisti, roland, kvn, iveresov ! src/cpu/sparc/vm/methodHandles_sparc.cpp ! src/cpu/x86/vm/methodHandles_x86.cpp ! src/share/vm/ci/ciCallProfile.hpp ! src/share/vm/ci/ciMethodHandle.cpp ! src/share/vm/ci/ciMethodHandle.hpp ! src/share/vm/ci/ciObject.cpp ! src/share/vm/classfile/javaClasses.cpp ! src/share/vm/classfile/javaClasses.hpp ! src/share/vm/classfile/systemDictionary.hpp ! src/share/vm/classfile/vmSymbols.hpp ! src/share/vm/oops/methodDataOop.hpp ! src/share/vm/opto/bytecodeInfo.cpp ! src/share/vm/opto/callGenerator.cpp ! src/share/vm/opto/idealGraphPrinter.cpp ! src/share/vm/opto/idealGraphPrinter.hpp ! src/share/vm/opto/matcher.cpp ! src/share/vm/prims/methodHandleWalk.cpp ! src/share/vm/prims/methodHandleWalk.hpp ! src/share/vm/prims/methodHandles.cpp ! src/share/vm/prims/methodHandles.hpp Changeset: 7ffacbb338d4 Author: never Date: 2011-09-03 09:56 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/7ffacbb338d4 Merge Changeset: 7b5c767f229c Author: kvn Date: 2011-09-03 14:03 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/7b5c767f229c 7086560: 7085404 changes broke VM with -XX:-EnableInvokeDynamic Summary: Add check that ciEnv::_CallSite_klass is initialized. Reviewed-by: jrose ! src/share/vm/ci/ciField.hpp Changeset: 7588156f5cf9 Author: never Date: 2011-09-05 17:09 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/7588156f5cf9 7051798: SA-JDI: NPE in Frame.addressOfStackSlot(Frame.java:244) Reviewed-by: kvn ! agent/src/share/classes/sun/jvm/hotspot/HSDB.java ! agent/src/share/classes/sun/jvm/hotspot/code/CodeBlob.java ! agent/src/share/classes/sun/jvm/hotspot/code/CodeCache.java + agent/src/share/classes/sun/jvm/hotspot/code/MethodHandlesAdapterBlob.java ! agent/src/share/classes/sun/jvm/hotspot/code/NMethod.java ! agent/src/share/classes/sun/jvm/hotspot/code/PCDesc.java ! agent/src/share/classes/sun/jvm/hotspot/code/RicochetBlob.java ! agent/src/share/classes/sun/jvm/hotspot/code/RuntimeStub.java ! agent/src/share/classes/sun/jvm/hotspot/compiler/OopMapSet.java ! agent/src/share/classes/sun/jvm/hotspot/jdi/ReferenceTypeImpl.java ! agent/src/share/classes/sun/jvm/hotspot/jdi/StackFrameImpl.java ! agent/src/share/classes/sun/jvm/hotspot/memory/SystemDictionary.java ! agent/src/share/classes/sun/jvm/hotspot/runtime/CompiledVFrame.java ! agent/src/share/classes/sun/jvm/hotspot/runtime/Frame.java ! agent/src/share/classes/sun/jvm/hotspot/runtime/JavaVFrame.java ! agent/src/share/classes/sun/jvm/hotspot/runtime/StackValue.java ! agent/src/share/classes/sun/jvm/hotspot/runtime/VFrame.java ! agent/src/share/classes/sun/jvm/hotspot/runtime/VM.java ! agent/src/share/classes/sun/jvm/hotspot/runtime/amd64/AMD64CurrentFrameGuess.java - agent/src/share/classes/sun/jvm/hotspot/runtime/amd64/AMD64Frame.java - agent/src/share/classes/sun/jvm/hotspot/runtime/amd64/AMD64RegisterMap.java ! agent/src/share/classes/sun/jvm/hotspot/runtime/linux_amd64/LinuxAMD64JavaThreadPDAccess.java ! agent/src/share/classes/sun/jvm/hotspot/runtime/solaris_amd64/SolarisAMD64JavaThreadPDAccess.java ! agent/src/share/classes/sun/jvm/hotspot/runtime/sparc/SPARCFrame.java + agent/src/share/classes/sun/jvm/hotspot/runtime/sparc/SPARCRicochetFrame.java ! agent/src/share/classes/sun/jvm/hotspot/runtime/win32_amd64/Win32AMD64JavaThreadPDAccess.java ! agent/src/share/classes/sun/jvm/hotspot/runtime/x86/X86Frame.java + agent/src/share/classes/sun/jvm/hotspot/runtime/x86/X86RicochetFrame.java ! src/cpu/x86/vm/methodHandles_x86.hpp ! src/share/vm/c1/c1_LinearScan.cpp ! src/share/vm/c1/c1_LinearScan.hpp ! src/share/vm/code/pcDesc.cpp ! src/share/vm/code/pcDesc.hpp ! src/share/vm/runtime/sharedRuntime.hpp ! src/share/vm/runtime/thread.cpp ! src/share/vm/runtime/thread.hpp ! src/share/vm/runtime/vmStructs.cpp Changeset: c2d3caa64b3e Author: roland Date: 2011-09-07 09:35 +0200 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/c2d3caa64b3e 7086394: c2/arm: enable UseFPUForSpilling Summary: ARM has instructions to move data directly between the fpu and integer registers. Reviewed-by: kvn, never ! src/share/vm/opto/matcher.cpp Changeset: d968f546734e Author: iveresov Date: 2011-09-07 11:52 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/d968f546734e Merge - agent/src/share/classes/sun/jvm/hotspot/runtime/amd64/AMD64Frame.java - agent/src/share/classes/sun/jvm/hotspot/runtime/amd64/AMD64RegisterMap.java - make/solaris/makefiles/mapfile-vers-nonproduct ! src/cpu/sparc/vm/assembler_sparc.cpp ! src/cpu/sparc/vm/assembler_sparc.hpp ! src/cpu/sparc/vm/c1_Runtime1_sparc.cpp ! src/share/vm/gc_interface/collectedHeap.cpp ! src/share/vm/runtime/globals.hpp - src/share/vm/runtime/reflectionCompat.hpp Changeset: 2fecca53a2c6 Author: roland Date: 2011-09-07 14:15 +0200 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/2fecca53a2c6 7085012: ARM: com/sun/jdi/PopSynchronousTest.java still fails Summary: InterpreterRuntime::popframe_move_outgoing_args() is required for the ARM interpreter. Reviewed-by: kvn, twisti ! src/share/vm/interpreter/interpreterRuntime.cpp ! src/share/vm/interpreter/interpreterRuntime.hpp Changeset: 5596e125fe4f Author: rottenha Date: 2011-09-08 06:36 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/5596e125fe4f Merge ! src/share/vm/interpreter/interpreterRuntime.cpp Changeset: 27702f012017 Author: iveresov Date: 2011-09-06 21:03 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/27702f012017 7087583: Hotspot fails to allocate heap with mmap(MAP_HUGETLB) Summary: Try using small pages when transparent huge pages allocation fails Reviewed-by: ysr ! src/os/linux/vm/os_linux.cpp Changeset: 20213c8a3c40 Author: tonyp Date: 2011-09-07 12:21 -0400 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/20213c8a3c40 7050392: G1: Introduce flag to generate a log of the G1 ergonomic decisions Summary: It introduces ergonomic decision logging in G1 for the following heuristics: heap sizing, collection set construction, concurrent cycle initiation, and partially-young GC start/end. The code has a bit of refactoring in a few places to make the decision logging possible. It also replaces alternative ad-hoc logging that we have under different parameters and switches (G1_DEBUG, G1PolicyVerbose). Reviewed-by: johnc, ysr ! src/share/vm/gc_implementation/g1/collectionSetChooser.cpp ! src/share/vm/gc_implementation/g1/concurrentMark.cpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp ! src/share/vm/gc_implementation/g1/g1CollectorPolicy.cpp ! src/share/vm/gc_implementation/g1/g1CollectorPolicy.hpp + src/share/vm/gc_implementation/g1/g1ErgoVerbose.cpp + src/share/vm/gc_implementation/g1/g1ErgoVerbose.hpp ! src/share/vm/gc_implementation/g1/g1MMUTracker.cpp ! src/share/vm/gc_implementation/g1/vm_operations_g1.cpp Changeset: c2bf0120ee5d Author: stefank Date: 2011-09-01 16:18 +0200 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/c2bf0120ee5d 7085906: Replace the permgen allocated sentinelRef with a self-looped end Summary: Remove the sentinelRef and let the last Reference in a discovered chain point back to itself. Reviewed-by: ysr, jmasa ! src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp ! src/share/vm/gc_implementation/parallelScavenge/parallelScavengeHeap.cpp ! src/share/vm/gc_implementation/parallelScavenge/pcTasks.cpp ! src/share/vm/gc_implementation/parallelScavenge/pcTasks.hpp ! src/share/vm/gc_implementation/parallelScavenge/psMarkSweep.cpp ! src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp ! src/share/vm/gc_implementation/parallelScavenge/psTasks.cpp ! src/share/vm/memory/genCollectedHeap.cpp ! src/share/vm/memory/referenceProcessor.cpp ! src/share/vm/memory/referenceProcessor.hpp ! src/share/vm/memory/sharedHeap.cpp Changeset: 05550041d664 Author: ysr Date: 2011-09-07 15:00 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/05550041d664 Merge ! src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp Changeset: eca1193ca245 Author: ysr Date: 2011-09-07 13:55 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/eca1193ca245 4965777: GC changes to support use of discovered field for pending references Summary: If and when the reference handler thread is able to use the discovered field to link reference objects in its pending list, so will GC. In that case, GC will scan through this field once a reference object has been placed on the pending list, but not scan that field before that stage, as the field is used by the concurrent GC thread to link discovered objects. When ReferenceHandleR thread does not use the discovered field for the purpose of linking the elements in the pending list, as would be the case in older JDKs, the JVM will fall back to the old behaviour of using the next field for that purpose. Reviewed-by: jcoomes, mchung, stefank ! src/share/vm/memory/referenceProcessor.cpp ! src/share/vm/memory/referenceProcessor.hpp ! src/share/vm/oops/instanceRefKlass.cpp ! src/share/vm/prims/jvm.h ! src/share/vm/runtime/java.cpp ! src/share/vm/runtime/java.hpp Changeset: a6128a8ed624 Author: iveresov Date: 2011-09-07 18:58 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/a6128a8ed624 7086226: UseNUMA fails on old versions of windows Summary: Return correct answers from os::numa_*() for UMA machines or if NUMA API is not supported Reviewed-by: johnc ! src/os/windows/vm/os_windows.cpp Changeset: 4f41766176cf Author: tonyp Date: 2011-09-08 05:16 -0400 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/4f41766176cf 7084509: G1: fix inconsistencies and mistakes in the young list target length calculations Summary: Fixed inconsistencies and mistakes in the young list target length calculations so that a) the calculated target length is optimal (before, it was not), b) other parameters like max survivor size and max gc locker eden expansion are always consistent with the calculated target length (before, they were not always), and c) the resulting target length was always bound by desired min and max values (before, it was not). Reviewed-by: brutisso, johnc ! src/share/vm/gc_implementation/g1/concurrentG1RefineThread.cpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp ! src/share/vm/gc_implementation/g1/g1CollectorPolicy.cpp ! src/share/vm/gc_implementation/g1/g1CollectorPolicy.hpp ! src/share/vm/gc_implementation/g1/g1_globals.hpp Changeset: af2ab04e0038 Author: brutisso Date: 2011-09-08 16:29 +0200 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/af2ab04e0038 6929868: G1: introduce min / max young gen size bounds Summary: Make G1 handle young gen size command line flags more consistently Reviewed-by: tonyp, jwilhelm ! 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: 3bddbf0f57d6 Author: tonyp Date: 2011-09-09 05:20 -0400 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/3bddbf0f57d6 7087717: G1: make the G1PrintRegionLivenessInfo parameter diagnostic Reviewed-by: brutisso, ysr ! src/share/vm/gc_implementation/g1/g1_globals.hpp Changeset: e984655be425 Author: stefank Date: 2011-09-09 14:44 +0200 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/e984655be425 Merge ! src/share/vm/prims/jvm.h Changeset: 79f9a3ed607a Author: jcoomes Date: 2011-09-09 16:17 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/79f9a3ed607a Merge ! .hgtags - agent/src/share/classes/sun/jvm/hotspot/runtime/amd64/AMD64Frame.java - agent/src/share/classes/sun/jvm/hotspot/runtime/amd64/AMD64RegisterMap.java - make/solaris/makefiles/mapfile-vers-nonproduct - src/share/vm/runtime/reflectionCompat.hpp Changeset: 513a84dd0f8b Author: jcoomes Date: 2011-09-09 16:24 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/513a84dd0f8b 7088991: Bump ths hs22 build number to 05 Reviewed-by: johnc Contributed-by: alejandro.murillo at oracle.com ! make/hotspot_version Changeset: 140317da459a Author: jcoomes Date: 2011-09-09 16:33 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/140317da459a Added tag hs22-b05 for changeset 513a84dd0f8b ! .hgtags Changeset: f1b4e0e0bdad Author: tonyp Date: 2011-09-13 12:40 -0400 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/f1b4e0e0bdad 7089625: G1: policy for how many old regions to add to the CSet (when young gen is fixed) is broken Summary: When refactoring the code for a previous fix, a condition was not correctly negated which prevents the G1 policy from adding the correct number of old regions to the CSet when the young gen size is fixed. The changeset also fixes a small syntactical issue in g1ErgoVerbose.hpp which is causing compiler warnings. Reviewed-by: brutisso, ysr ! src/share/vm/gc_implementation/g1/g1CollectorPolicy.cpp ! src/share/vm/gc_implementation/g1/g1ErgoVerbose.hpp Changeset: 0a63380c8ac8 Author: iveresov Date: 2011-09-13 16:58 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/0a63380c8ac8 7090069: Java launcher hangs in infinite loop on windows when UseNUMA[Interleaving] is specified Summary: Fix _numa_used_node_list array size specification Reviewed-by: kvn, johnc, jmasa, ysr ! src/os/windows/vm/os_windows.cpp Changeset: f94227b6117b Author: kvn Date: 2011-09-13 20:28 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/f94227b6117b 7090259: Fix hotspot sources to build with old compilers Summary: Fixed warnings which prevent building VM with old compilers. Reviewed-by: never ! make/solaris/makefiles/sparcWorks.make ! src/share/vm/classfile/javaClasses.cpp ! src/share/vm/oops/instanceRefKlass.cpp ! src/share/vm/oops/methodOop.cpp ! src/share/vm/opto/block.cpp Changeset: da6a29fb0da5 Author: kvn Date: 2011-09-07 12:58 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/da6a29fb0da5 7054211: No loop unrolling done in jdk7b144 for a test update() while loop Summary: restore unrolling code for CaffeineMark. Reviewed-by: never ! src/share/vm/opto/loopTransform.cpp Changeset: 5432047c7db7 Author: bdelsart Date: 2011-09-08 10:12 +0200 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/5432047c7db7 7087445: Improve platform independence of JSR292 shared code Summary: changes necessary for some JSR292 ports Reviewed-by: jrose, dholmes ! src/cpu/sparc/vm/frame_sparc.cpp ! src/cpu/x86/vm/frame_x86.cpp ! src/cpu/x86/vm/sharedRuntime_x86_32.cpp ! src/cpu/x86/vm/sharedRuntime_x86_64.cpp ! src/cpu/zero/vm/frame_zero.cpp ! src/share/vm/runtime/arguments.cpp ! src/share/vm/runtime/deoptimization.cpp ! src/share/vm/runtime/deoptimization.hpp ! src/share/vm/runtime/frame.hpp Changeset: b0efc7ee3b31 Author: twisti Date: 2011-09-08 05:11 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/b0efc7ee3b31 7085860: JSR 292: implement CallSite.setTargetNormal and setTargetVolatile as native methods Reviewed-by: jrose, never ! src/share/vm/classfile/javaClasses.cpp ! src/share/vm/classfile/javaClasses.hpp ! src/share/vm/oops/klassOop.hpp ! src/share/vm/oops/oop.hpp ! src/share/vm/oops/oop.inline.hpp ! src/share/vm/prims/methodHandles.cpp Changeset: fdcb1e828d53 Author: kvn Date: 2011-09-08 12:44 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/fdcb1e828d53 7087947: Add regression test for 7068051 Summary: Add regression test. Reviewed-by: never + test/compiler/7068051/Test7068051.java + test/compiler/7068051/Test7068051.sh Changeset: 8f47d8870d9a Author: roland Date: 2011-09-08 09:35 +0200 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/8f47d8870d9a 7087453: PhaseChaitin::yank_if_dead() should handle MachTemp inputs Summary: PhaseChaitin::yank_if_dead() should be able to handle MachTemp inputs as a special case and yank them. Reviewed-by: never, kvn ! src/share/vm/opto/chaitin.hpp ! src/share/vm/opto/postaloc.cpp Changeset: 5257f8e66b40 Author: iveresov Date: 2011-09-09 12:44 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/5257f8e66b40 Merge ! src/share/vm/runtime/arguments.cpp Changeset: 2c24ef16533d Author: kvn Date: 2011-09-09 13:47 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/2c24ef16533d 7035946: Up to 15% regression on JDK 7 b136 vs b135 on specjvm2008.crypto.rsa on x64 Summary: Revert changes which caused regression. Reviewed-by: never ! src/share/vm/opto/loopnode.cpp Changeset: c565834fb592 Author: never Date: 2011-09-10 00:11 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/c565834fb592 7088020: SEGV in JNIHandleBlock::release_block Reviewed-by: kvn, twisti ! src/cpu/sparc/vm/stubGenerator_sparc.cpp ! src/cpu/x86/vm/methodHandles_x86.cpp ! src/cpu/x86/vm/stubGenerator_x86_32.cpp ! src/cpu/x86/vm/stubGenerator_x86_64.cpp ! src/cpu/zero/vm/stubGenerator_zero.cpp ! src/share/vm/runtime/stubRoutines.cpp ! src/share/vm/runtime/stubRoutines.hpp + test/compiler/7088020/Test7088020.java Changeset: e6b1331a51d2 Author: never Date: 2011-09-10 17:29 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/e6b1331a51d2 7086585: make Java field injection more flexible Reviewed-by: jrose, twisti, kvn, coleenp ! agent/src/share/classes/sun/jvm/hotspot/oops/Field.java ! agent/src/share/classes/sun/jvm/hotspot/oops/InstanceKlass.java ! agent/src/share/classes/sun/jvm/hotspot/oops/java_lang_Class.java ! agent/src/share/classes/sun/jvm/hotspot/tools/jcore/ClassWriter.java ! agent/src/share/classes/sun/jvm/hotspot/tools/soql/SOQL.java ! agent/src/share/classes/sun/jvm/hotspot/ui/classbrowser/HTMLGenerator.java ! agent/test/jdi/sasanity.sh ! src/cpu/sparc/vm/assembler_sparc.cpp ! src/cpu/x86/vm/assembler_x86.cpp ! src/share/vm/ci/ciInstanceKlass.cpp ! src/share/vm/classfile/classFileParser.cpp ! src/share/vm/classfile/classFileParser.hpp ! src/share/vm/classfile/javaClasses.cpp ! src/share/vm/classfile/javaClasses.hpp ! src/share/vm/classfile/systemDictionary.cpp ! src/share/vm/classfile/systemDictionary.hpp ! src/share/vm/classfile/vmSymbols.hpp ! src/share/vm/interpreter/interpreterRuntime.cpp ! src/share/vm/oops/cpCacheOop.cpp + src/share/vm/oops/fieldInfo.hpp + src/share/vm/oops/fieldStreams.hpp ! src/share/vm/oops/instanceKlass.cpp ! src/share/vm/oops/instanceKlass.hpp ! src/share/vm/oops/instanceKlassKlass.cpp ! src/share/vm/prims/jni.cpp ! src/share/vm/prims/jvm.cpp ! src/share/vm/prims/jvmtiClassFileReconstituter.cpp ! src/share/vm/prims/jvmtiEnv.cpp ! src/share/vm/prims/jvmtiEnvBase.cpp ! src/share/vm/prims/jvmtiEnvBase.hpp ! src/share/vm/prims/jvmtiRedefineClasses.cpp ! src/share/vm/prims/methodHandles.cpp ! src/share/vm/prims/unsafe.cpp ! src/share/vm/runtime/fieldDescriptor.cpp ! src/share/vm/runtime/fieldDescriptor.hpp ! src/share/vm/runtime/reflectionUtils.hpp ! src/share/vm/runtime/thread.cpp ! src/share/vm/runtime/vmStructs.cpp ! src/share/vm/utilities/accessFlags.hpp Changeset: f6f3bb0ee072 Author: never Date: 2011-09-11 14:48 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/f6f3bb0ee072 7088955: add C2 IR support to the SA Reviewed-by: kvn ! agent/make/Makefile ! agent/make/saenv.sh ! agent/make/saenv64.sh ! agent/src/os/solaris/Makefile - agent/src/os/solaris/dbx/Makefile - agent/src/os/solaris/dbx/README - agent/src/os/solaris/dbx/README-commands.txt - agent/src/os/solaris/dbx/helloWorld.cpp - agent/src/os/solaris/dbx/proc_service_2.h - agent/src/os/solaris/dbx/shell_imp.h - agent/src/os/solaris/dbx/svc_agent_dbx.cpp - agent/src/os/solaris/dbx/svc_agent_dbx.hpp - agent/src/os/win32/BasicList.hpp - agent/src/os/win32/Buffer.cpp - agent/src/os/win32/Buffer.hpp - agent/src/os/win32/Dispatcher.cpp - agent/src/os/win32/Dispatcher.hpp - agent/src/os/win32/Handler.hpp - agent/src/os/win32/IOBuf.cpp - agent/src/os/win32/IOBuf.hpp - agent/src/os/win32/LockableList.hpp - agent/src/os/win32/Makefile - agent/src/os/win32/Message.hpp - agent/src/os/win32/Monitor.cpp - agent/src/os/win32/Monitor.hpp - agent/src/os/win32/README-commands.txt - agent/src/os/win32/README.txt - agent/src/os/win32/Reaper.cpp - agent/src/os/win32/Reaper.hpp - agent/src/os/win32/SwDbgSrv.cpp - agent/src/os/win32/SwDbgSrv.dsp - agent/src/os/win32/SwDbgSrv.dsw - agent/src/os/win32/SwDbgSub.cpp - agent/src/os/win32/SwDbgSub.dsp - agent/src/os/win32/initWinsock.cpp - agent/src/os/win32/initWinsock.hpp - agent/src/os/win32/ioUtils.cpp - agent/src/os/win32/ioUtils.hpp - agent/src/os/win32/isNT4.cpp - agent/src/os/win32/isNT4.hpp - agent/src/os/win32/libInfo.cpp - agent/src/os/win32/libInfo.hpp - agent/src/os/win32/nt4internals.cpp - agent/src/os/win32/nt4internals.hpp - agent/src/os/win32/ports.h - agent/src/os/win32/procList.cpp - agent/src/os/win32/procList.hpp - agent/src/os/win32/serverLists.cpp - agent/src/os/win32/serverLists.hpp - agent/src/os/win32/toolHelp.cpp - agent/src/os/win32/toolHelp.hpp ! agent/src/share/classes/sun/jvm/hotspot/CLHSDB.java ! agent/src/share/classes/sun/jvm/hotspot/CommandProcessor.java ! agent/src/share/classes/sun/jvm/hotspot/DebugServer.java ! agent/src/share/classes/sun/jvm/hotspot/HotSpotAgent.java ! agent/src/share/classes/sun/jvm/hotspot/HotSpotTypeDataBase.java ! agent/src/share/classes/sun/jvm/hotspot/TestDebugger.java ! agent/src/share/classes/sun/jvm/hotspot/bugspot/BugSpot.java ! agent/src/share/classes/sun/jvm/hotspot/bugspot/BugSpotAgent.java + agent/src/share/classes/sun/jvm/hotspot/ci/ciArrayKlass.java + agent/src/share/classes/sun/jvm/hotspot/ci/ciArrayKlassKlass.java + agent/src/share/classes/sun/jvm/hotspot/ci/ciConstant.java + agent/src/share/classes/sun/jvm/hotspot/ci/ciEnv.java + agent/src/share/classes/sun/jvm/hotspot/ci/ciField.java + agent/src/share/classes/sun/jvm/hotspot/ci/ciInstance.java + agent/src/share/classes/sun/jvm/hotspot/ci/ciInstanceKlass.java + agent/src/share/classes/sun/jvm/hotspot/ci/ciInstanceKlassKlass.java + agent/src/share/classes/sun/jvm/hotspot/ci/ciKlass.java + agent/src/share/classes/sun/jvm/hotspot/ci/ciKlassKlass.java + agent/src/share/classes/sun/jvm/hotspot/ci/ciMethod.java + agent/src/share/classes/sun/jvm/hotspot/ci/ciMethodData.java + agent/src/share/classes/sun/jvm/hotspot/ci/ciMethodKlass.java + agent/src/share/classes/sun/jvm/hotspot/ci/ciObjArrayKlass.java + agent/src/share/classes/sun/jvm/hotspot/ci/ciObjArrayKlassKlass.java + agent/src/share/classes/sun/jvm/hotspot/ci/ciObject.java + agent/src/share/classes/sun/jvm/hotspot/ci/ciObjectFactory.java + agent/src/share/classes/sun/jvm/hotspot/ci/ciReceiverTypeData.java + agent/src/share/classes/sun/jvm/hotspot/ci/ciSymbol.java + agent/src/share/classes/sun/jvm/hotspot/ci/ciType.java + agent/src/share/classes/sun/jvm/hotspot/ci/ciTypeArrayKlass.java + agent/src/share/classes/sun/jvm/hotspot/ci/ciTypeArrayKlassKlass.java + agent/src/share/classes/sun/jvm/hotspot/ci/ciVirtualCallData.java ! agent/src/share/classes/sun/jvm/hotspot/code/NMethod.java + agent/src/share/classes/sun/jvm/hotspot/compiler/CompileTask.java ! agent/src/share/classes/sun/jvm/hotspot/debugger/AddressException.java - agent/src/share/classes/sun/jvm/hotspot/debugger/dbx/DbxAddress.java - agent/src/share/classes/sun/jvm/hotspot/debugger/dbx/DbxDebugger.java - agent/src/share/classes/sun/jvm/hotspot/debugger/dbx/DbxDebuggerLocal.java - agent/src/share/classes/sun/jvm/hotspot/debugger/dbx/DbxOopHandle.java - agent/src/share/classes/sun/jvm/hotspot/debugger/dbx/DbxThreadFactory.java - agent/src/share/classes/sun/jvm/hotspot/debugger/dbx/sparc/DbxSPARCThread.java - agent/src/share/classes/sun/jvm/hotspot/debugger/dbx/sparc/DbxSPARCThreadContext.java - agent/src/share/classes/sun/jvm/hotspot/debugger/dbx/sparc/DbxSPARCThreadFactory.java - agent/src/share/classes/sun/jvm/hotspot/debugger/dbx/x86/DbxX86Thread.java - agent/src/share/classes/sun/jvm/hotspot/debugger/dbx/x86/DbxX86ThreadContext.java - agent/src/share/classes/sun/jvm/hotspot/debugger/dbx/x86/DbxX86ThreadFactory.java - agent/src/share/classes/sun/jvm/hotspot/debugger/win32/AddressDataSource.java - agent/src/share/classes/sun/jvm/hotspot/debugger/win32/DLL.java - agent/src/share/classes/sun/jvm/hotspot/debugger/win32/TestDebugger.java - agent/src/share/classes/sun/jvm/hotspot/debugger/win32/TestHelloWorld.java - agent/src/share/classes/sun/jvm/hotspot/debugger/win32/Win32Address.java - agent/src/share/classes/sun/jvm/hotspot/debugger/win32/Win32CDebugInfoBuilder.java - agent/src/share/classes/sun/jvm/hotspot/debugger/win32/Win32CDebugger.java - agent/src/share/classes/sun/jvm/hotspot/debugger/win32/Win32Debugger.java - agent/src/share/classes/sun/jvm/hotspot/debugger/win32/Win32DebuggerLocal.java - agent/src/share/classes/sun/jvm/hotspot/debugger/win32/Win32LDTEntry.java - agent/src/share/classes/sun/jvm/hotspot/debugger/win32/Win32LDTEntryConstants.java - agent/src/share/classes/sun/jvm/hotspot/debugger/win32/Win32OopHandle.java - agent/src/share/classes/sun/jvm/hotspot/debugger/win32/Win32Thread.java - agent/src/share/classes/sun/jvm/hotspot/debugger/win32/Win32ThreadContext.java ! agent/src/share/classes/sun/jvm/hotspot/jdi/SADebugServer.java ! agent/src/share/classes/sun/jvm/hotspot/jdi/VirtualMachineImpl.java + agent/src/share/classes/sun/jvm/hotspot/oops/ArrayData.java + agent/src/share/classes/sun/jvm/hotspot/oops/BitData.java + agent/src/share/classes/sun/jvm/hotspot/oops/BranchData.java ! agent/src/share/classes/sun/jvm/hotspot/oops/CIntField.java + agent/src/share/classes/sun/jvm/hotspot/oops/CounterData.java + agent/src/share/classes/sun/jvm/hotspot/oops/DataLayout.java ! agent/src/share/classes/sun/jvm/hotspot/oops/Field.java ! agent/src/share/classes/sun/jvm/hotspot/oops/FieldType.java ! agent/src/share/classes/sun/jvm/hotspot/oops/InstanceKlass.java + agent/src/share/classes/sun/jvm/hotspot/oops/JumpData.java ! agent/src/share/classes/sun/jvm/hotspot/oops/Method.java ! agent/src/share/classes/sun/jvm/hotspot/oops/MethodData.java + agent/src/share/classes/sun/jvm/hotspot/oops/MultiBranchData.java ! agent/src/share/classes/sun/jvm/hotspot/oops/OopUtilities.java + agent/src/share/classes/sun/jvm/hotspot/oops/ProfileData.java + agent/src/share/classes/sun/jvm/hotspot/oops/ReceiverTypeData.java + agent/src/share/classes/sun/jvm/hotspot/oops/RetData.java + agent/src/share/classes/sun/jvm/hotspot/oops/VirtualCallData.java + agent/src/share/classes/sun/jvm/hotspot/opto/Block.java + agent/src/share/classes/sun/jvm/hotspot/opto/Block_Array.java + agent/src/share/classes/sun/jvm/hotspot/opto/Block_List.java + agent/src/share/classes/sun/jvm/hotspot/opto/CallDynamicJavaNode.java + agent/src/share/classes/sun/jvm/hotspot/opto/CallJavaNode.java + agent/src/share/classes/sun/jvm/hotspot/opto/CallNode.java + agent/src/share/classes/sun/jvm/hotspot/opto/CallRuntimeNode.java + agent/src/share/classes/sun/jvm/hotspot/opto/CallStaticJavaNode.java + agent/src/share/classes/sun/jvm/hotspot/opto/Compile.java + agent/src/share/classes/sun/jvm/hotspot/opto/HaltNode.java + agent/src/share/classes/sun/jvm/hotspot/opto/InlineTree.java + agent/src/share/classes/sun/jvm/hotspot/opto/JVMState.java + agent/src/share/classes/sun/jvm/hotspot/opto/LoopNode.java + agent/src/share/classes/sun/jvm/hotspot/opto/MachCallJavaNode.java + agent/src/share/classes/sun/jvm/hotspot/opto/MachCallNode.java + agent/src/share/classes/sun/jvm/hotspot/opto/MachCallRuntimeNode.java + agent/src/share/classes/sun/jvm/hotspot/opto/MachCallStaticJavaNode.java + agent/src/share/classes/sun/jvm/hotspot/opto/MachIfNode.java + agent/src/share/classes/sun/jvm/hotspot/opto/MachNode.java + agent/src/share/classes/sun/jvm/hotspot/opto/MachReturnNode.java + agent/src/share/classes/sun/jvm/hotspot/opto/MachSafePointNode.java + agent/src/share/classes/sun/jvm/hotspot/opto/MultiNode.java + agent/src/share/classes/sun/jvm/hotspot/opto/Node.java + agent/src/share/classes/sun/jvm/hotspot/opto/Node_Array.java + agent/src/share/classes/sun/jvm/hotspot/opto/Node_List.java + agent/src/share/classes/sun/jvm/hotspot/opto/Phase.java + agent/src/share/classes/sun/jvm/hotspot/opto/PhaseCFG.java + agent/src/share/classes/sun/jvm/hotspot/opto/PhaseRegAlloc.java + agent/src/share/classes/sun/jvm/hotspot/opto/PhiNode.java + agent/src/share/classes/sun/jvm/hotspot/opto/ProjNode.java + agent/src/share/classes/sun/jvm/hotspot/opto/RegionNode.java + agent/src/share/classes/sun/jvm/hotspot/opto/RootNode.java + agent/src/share/classes/sun/jvm/hotspot/opto/SafePointNode.java + agent/src/share/classes/sun/jvm/hotspot/opto/TypeNode.java + agent/src/share/classes/sun/jvm/hotspot/prims/JvmtiExport.java ! agent/src/share/classes/sun/jvm/hotspot/runtime/CompilerThread.java + agent/src/share/classes/sun/jvm/hotspot/runtime/InstanceConstructor.java + agent/src/share/classes/sun/jvm/hotspot/runtime/StaticBaseConstructor.java ! agent/src/share/classes/sun/jvm/hotspot/runtime/VM.java + agent/src/share/classes/sun/jvm/hotspot/runtime/VirtualBaseConstructor.java ! agent/src/share/classes/sun/jvm/hotspot/runtime/VirtualConstructor.java ! agent/src/share/classes/sun/jvm/hotspot/runtime/win32_amd64/Win32AMD64JavaThreadPDAccess.java ! agent/src/share/classes/sun/jvm/hotspot/runtime/win32_x86/Win32X86JavaThreadPDAccess.java ! agent/src/share/classes/sun/jvm/hotspot/tools/jcore/ClassDump.java ! agent/src/share/classes/sun/jvm/hotspot/types/TypeDataBase.java ! agent/src/share/classes/sun/jvm/hotspot/types/basic/BasicTypeDataBase.java ! agent/src/share/classes/sun/jvm/hotspot/ui/CommandProcessorPanel.java + agent/src/share/classes/sun/jvm/hotspot/utilities/GenericGrowableArray.java + agent/src/share/classes/sun/jvm/hotspot/utilities/GrowableArray.java ! make/sa.files ! src/share/vm/ci/ciArrayKlass.hpp ! src/share/vm/ci/ciClassList.hpp ! src/share/vm/ci/ciConstant.hpp ! src/share/vm/ci/ciObjectFactory.hpp ! src/share/vm/compiler/compileBroker.hpp ! src/share/vm/memory/allocation.hpp ! src/share/vm/memory/resourceArea.hpp ! src/share/vm/oops/instanceKlass.cpp ! src/share/vm/oops/instanceKlass.hpp ! src/share/vm/opto/block.hpp ! src/share/vm/opto/bytecodeInfo.cpp ! src/share/vm/opto/callnode.hpp ! src/share/vm/opto/chaitin.hpp ! src/share/vm/opto/compile.hpp ! src/share/vm/opto/node.hpp ! src/share/vm/opto/optoreg.hpp ! src/share/vm/opto/parse.hpp ! src/share/vm/opto/regalloc.hpp ! src/share/vm/opto/type.hpp ! src/share/vm/prims/jvmtiExport.hpp ! src/share/vm/runtime/deoptimization.hpp ! src/share/vm/runtime/vframeArray.hpp ! src/share/vm/runtime/vmStructs.cpp ! src/share/vm/utilities/exceptions.hpp ! src/share/vm/utilities/growableArray.hpp Changeset: ab577c97a5f3 Author: never Date: 2011-09-12 13:51 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/ab577c97a5f3 7089709: type "jushort" not found Reviewed-by: kvn, twisti ! src/share/vm/runtime/vmStructs.cpp Changeset: 2209834ccb59 Author: kvn Date: 2011-09-13 11:46 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/2209834ccb59 7089632: assert(machtmp->outcnt() == 1) failed: expected for a MachTemp Summary: Replace assert with check to delete MachTemp nodes only when they are really dead. Reviewed-by: never ! src/share/vm/opto/postaloc.cpp Changeset: 10ee2b297ccd Author: bdelsart Date: 2011-09-14 10:40 +0200 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/10ee2b297ccd 7057978: improve robustness of c1 ARM back-end wrt non encodable constants Summary: ARM only, avoid assertion failures for huge constants generated by C1 shared code Reviewed-by: never, vladidan ! src/share/vm/c1/c1_LIR.cpp Changeset: 393f4b789fd0 Author: bdelsart Date: 2011-09-14 16:28 +0200 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/393f4b789fd0 7077806: ARM: java.lang.InternalError: bound subword value does not fit into the subword type Summary: shared fix necessary for ARM/PPC Reviewed-by: twisti, roland ! src/share/vm/prims/methodHandles.hpp Changeset: 35c656d0b685 Author: never Date: 2011-09-14 13:57 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/35c656d0b685 7090654: nightly failures after 7086585 Reviewed-by: kvn ! agent/src/share/classes/sun/jvm/hotspot/oops/InstanceKlass.java ! agent/src/share/classes/sun/jvm/hotspot/runtime/VM.java ! src/share/vm/prims/jvmtiClassFileReconstituter.cpp Changeset: 8ed53447f690 Author: iveresov Date: 2011-09-15 12:44 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/8ed53447f690 Merge - agent/src/os/solaris/dbx/Makefile - agent/src/os/solaris/dbx/README - agent/src/os/solaris/dbx/README-commands.txt - agent/src/os/solaris/dbx/helloWorld.cpp - agent/src/os/solaris/dbx/proc_service_2.h - agent/src/os/solaris/dbx/shell_imp.h - agent/src/os/solaris/dbx/svc_agent_dbx.cpp - agent/src/os/solaris/dbx/svc_agent_dbx.hpp - agent/src/os/win32/BasicList.hpp - agent/src/os/win32/Buffer.cpp - agent/src/os/win32/Buffer.hpp - agent/src/os/win32/Dispatcher.cpp - agent/src/os/win32/Dispatcher.hpp - agent/src/os/win32/Handler.hpp - agent/src/os/win32/IOBuf.cpp - agent/src/os/win32/IOBuf.hpp - agent/src/os/win32/LockableList.hpp - agent/src/os/win32/Makefile - agent/src/os/win32/Message.hpp - agent/src/os/win32/Monitor.cpp - agent/src/os/win32/Monitor.hpp - agent/src/os/win32/README-commands.txt - agent/src/os/win32/README.txt - agent/src/os/win32/Reaper.cpp - agent/src/os/win32/Reaper.hpp - agent/src/os/win32/SwDbgSrv.cpp - agent/src/os/win32/SwDbgSrv.dsp - agent/src/os/win32/SwDbgSrv.dsw - agent/src/os/win32/SwDbgSub.cpp - agent/src/os/win32/SwDbgSub.dsp - agent/src/os/win32/initWinsock.cpp - agent/src/os/win32/initWinsock.hpp - agent/src/os/win32/ioUtils.cpp - agent/src/os/win32/ioUtils.hpp - agent/src/os/win32/isNT4.cpp - agent/src/os/win32/isNT4.hpp - agent/src/os/win32/libInfo.cpp - agent/src/os/win32/libInfo.hpp - agent/src/os/win32/nt4internals.cpp - agent/src/os/win32/nt4internals.hpp - agent/src/os/win32/ports.h - agent/src/os/win32/procList.cpp - agent/src/os/win32/procList.hpp - agent/src/os/win32/serverLists.cpp - agent/src/os/win32/serverLists.hpp - agent/src/os/win32/toolHelp.cpp - agent/src/os/win32/toolHelp.hpp - agent/src/share/classes/sun/jvm/hotspot/debugger/dbx/DbxAddress.java - agent/src/share/classes/sun/jvm/hotspot/debugger/dbx/DbxDebugger.java - agent/src/share/classes/sun/jvm/hotspot/debugger/dbx/DbxDebuggerLocal.java - agent/src/share/classes/sun/jvm/hotspot/debugger/dbx/DbxOopHandle.java - agent/src/share/classes/sun/jvm/hotspot/debugger/dbx/DbxThreadFactory.java - agent/src/share/classes/sun/jvm/hotspot/debugger/dbx/sparc/DbxSPARCThread.java - agent/src/share/classes/sun/jvm/hotspot/debugger/dbx/sparc/DbxSPARCThreadContext.java - agent/src/share/classes/sun/jvm/hotspot/debugger/dbx/sparc/DbxSPARCThreadFactory.java - agent/src/share/classes/sun/jvm/hotspot/debugger/dbx/x86/DbxX86Thread.java - agent/src/share/classes/sun/jvm/hotspot/debugger/dbx/x86/DbxX86ThreadContext.java - agent/src/share/classes/sun/jvm/hotspot/debugger/dbx/x86/DbxX86ThreadFactory.java - agent/src/share/classes/sun/jvm/hotspot/debugger/win32/AddressDataSource.java - agent/src/share/classes/sun/jvm/hotspot/debugger/win32/DLL.java - agent/src/share/classes/sun/jvm/hotspot/debugger/win32/TestDebugger.java - agent/src/share/classes/sun/jvm/hotspot/debugger/win32/TestHelloWorld.java - agent/src/share/classes/sun/jvm/hotspot/debugger/win32/Win32Address.java - agent/src/share/classes/sun/jvm/hotspot/debugger/win32/Win32CDebugInfoBuilder.java - agent/src/share/classes/sun/jvm/hotspot/debugger/win32/Win32CDebugger.java - agent/src/share/classes/sun/jvm/hotspot/debugger/win32/Win32Debugger.java - agent/src/share/classes/sun/jvm/hotspot/debugger/win32/Win32DebuggerLocal.java - agent/src/share/classes/sun/jvm/hotspot/debugger/win32/Win32LDTEntry.java - agent/src/share/classes/sun/jvm/hotspot/debugger/win32/Win32LDTEntryConstants.java - agent/src/share/classes/sun/jvm/hotspot/debugger/win32/Win32OopHandle.java - agent/src/share/classes/sun/jvm/hotspot/debugger/win32/Win32Thread.java - agent/src/share/classes/sun/jvm/hotspot/debugger/win32/Win32ThreadContext.java ! src/share/vm/classfile/javaClasses.cpp Changeset: 558f525a6ebe Author: jcoomes Date: 2011-09-15 19:33 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/558f525a6ebe Merge ! .hgtags - agent/src/os/solaris/dbx/Makefile - agent/src/os/solaris/dbx/README - agent/src/os/solaris/dbx/README-commands.txt - agent/src/os/solaris/dbx/helloWorld.cpp - agent/src/os/solaris/dbx/proc_service_2.h - agent/src/os/solaris/dbx/shell_imp.h - agent/src/os/solaris/dbx/svc_agent_dbx.cpp - agent/src/os/solaris/dbx/svc_agent_dbx.hpp - agent/src/os/win32/BasicList.hpp - agent/src/os/win32/Buffer.cpp - agent/src/os/win32/Buffer.hpp - agent/src/os/win32/Dispatcher.cpp - agent/src/os/win32/Dispatcher.hpp - agent/src/os/win32/Handler.hpp - agent/src/os/win32/IOBuf.cpp - agent/src/os/win32/IOBuf.hpp - agent/src/os/win32/LockableList.hpp - agent/src/os/win32/Makefile - agent/src/os/win32/Message.hpp - agent/src/os/win32/Monitor.cpp - agent/src/os/win32/Monitor.hpp - agent/src/os/win32/README-commands.txt - agent/src/os/win32/README.txt - agent/src/os/win32/Reaper.cpp - agent/src/os/win32/Reaper.hpp - agent/src/os/win32/SwDbgSrv.cpp - agent/src/os/win32/SwDbgSrv.dsp - agent/src/os/win32/SwDbgSrv.dsw - agent/src/os/win32/SwDbgSub.cpp - agent/src/os/win32/SwDbgSub.dsp - agent/src/os/win32/initWinsock.cpp - agent/src/os/win32/initWinsock.hpp - agent/src/os/win32/ioUtils.cpp - agent/src/os/win32/ioUtils.hpp - agent/src/os/win32/isNT4.cpp - agent/src/os/win32/isNT4.hpp - agent/src/os/win32/libInfo.cpp - agent/src/os/win32/libInfo.hpp - agent/src/os/win32/nt4internals.cpp - agent/src/os/win32/nt4internals.hpp - agent/src/os/win32/ports.h - agent/src/os/win32/procList.cpp - agent/src/os/win32/procList.hpp - agent/src/os/win32/serverLists.cpp - agent/src/os/win32/serverLists.hpp - agent/src/os/win32/toolHelp.cpp - agent/src/os/win32/toolHelp.hpp - agent/src/share/classes/sun/jvm/hotspot/debugger/dbx/DbxAddress.java - agent/src/share/classes/sun/jvm/hotspot/debugger/dbx/DbxDebugger.java - agent/src/share/classes/sun/jvm/hotspot/debugger/dbx/DbxDebuggerLocal.java - agent/src/share/classes/sun/jvm/hotspot/debugger/dbx/DbxOopHandle.java - agent/src/share/classes/sun/jvm/hotspot/debugger/dbx/DbxThreadFactory.java - agent/src/share/classes/sun/jvm/hotspot/debugger/dbx/sparc/DbxSPARCThread.java - agent/src/share/classes/sun/jvm/hotspot/debugger/dbx/sparc/DbxSPARCThreadContext.java - agent/src/share/classes/sun/jvm/hotspot/debugger/dbx/sparc/DbxSPARCThreadFactory.java - agent/src/share/classes/sun/jvm/hotspot/debugger/dbx/x86/DbxX86Thread.java - agent/src/share/classes/sun/jvm/hotspot/debugger/dbx/x86/DbxX86ThreadContext.java - agent/src/share/classes/sun/jvm/hotspot/debugger/dbx/x86/DbxX86ThreadFactory.java - agent/src/share/classes/sun/jvm/hotspot/debugger/win32/AddressDataSource.java - agent/src/share/classes/sun/jvm/hotspot/debugger/win32/DLL.java - agent/src/share/classes/sun/jvm/hotspot/debugger/win32/TestDebugger.java - agent/src/share/classes/sun/jvm/hotspot/debugger/win32/TestHelloWorld.java - agent/src/share/classes/sun/jvm/hotspot/debugger/win32/Win32Address.java - agent/src/share/classes/sun/jvm/hotspot/debugger/win32/Win32CDebugInfoBuilder.java - agent/src/share/classes/sun/jvm/hotspot/debugger/win32/Win32CDebugger.java - agent/src/share/classes/sun/jvm/hotspot/debugger/win32/Win32Debugger.java - agent/src/share/classes/sun/jvm/hotspot/debugger/win32/Win32DebuggerLocal.java - agent/src/share/classes/sun/jvm/hotspot/debugger/win32/Win32LDTEntry.java - agent/src/share/classes/sun/jvm/hotspot/debugger/win32/Win32LDTEntryConstants.java - agent/src/share/classes/sun/jvm/hotspot/debugger/win32/Win32OopHandle.java - agent/src/share/classes/sun/jvm/hotspot/debugger/win32/Win32Thread.java - agent/src/share/classes/sun/jvm/hotspot/debugger/win32/Win32ThreadContext.java - agent/src/share/classes/sun/jvm/hotspot/runtime/amd64/AMD64Frame.java - agent/src/share/classes/sun/jvm/hotspot/runtime/amd64/AMD64RegisterMap.java - make/solaris/makefiles/mapfile-vers-nonproduct - src/share/vm/runtime/reflectionCompat.hpp Changeset: 8ab2f4108d20 Author: jcoomes Date: 2011-09-15 20:30 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/8ab2f4108d20 7091294: disable quicksort tests Reviewed-by: jmasa, ysr, kvn ! src/share/vm/utilities/quickSort.cpp Changeset: 650d15d8f372 Author: jcoomes Date: 2011-09-15 20:56 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/650d15d8f372 7091255: Bump the hs22 build number to 06 Reviewed-by: johnc Contributed-by: alejandro.murillo at oracle.com ! make/hotspot_version Changeset: 5a3c2bc614ca Author: jcoomes Date: 2011-09-15 20:56 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/5a3c2bc614ca Added tag hs22-b06 for changeset 650d15d8f372 ! .hgtags Changeset: 77e1a9153757 Author: jcoomes Date: 2011-09-16 21:35 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/77e1a9153757 7091545: hs23 - set hotspot version & build number Reviewed-by: tonyp, never, phh, jmasa ! make/hotspot_version Changeset: da0999c4b733 Author: dcubed Date: 2011-09-16 16:21 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/da0999c4b733 7071904: 4/4 HotSpot: Full Debug Symbols Summary: Add support for .debuginfo files for HSX libraries. Reviewed-by: poonam, dholmes, never ! make/Makefile ! make/linux/Makefile ! make/linux/makefiles/build_vm_def.sh ! make/linux/makefiles/buildtree.make ! make/linux/makefiles/defs.make ! make/linux/makefiles/gcc.make ! make/linux/makefiles/jsig.make ! make/linux/makefiles/product.make ! make/linux/makefiles/saproc.make ! make/linux/makefiles/vm.make ! make/solaris/Makefile + make/solaris/makefiles/build_vm_def.sh ! make/solaris/makefiles/buildtree.make ! make/solaris/makefiles/defs.make ! make/solaris/makefiles/dtrace.make ! make/solaris/makefiles/jsig.make ! make/solaris/makefiles/mapfile-vers ! make/solaris/makefiles/product.make ! make/solaris/makefiles/saproc.make ! make/solaris/makefiles/sparcWorks.make ! make/solaris/makefiles/vm.make Changeset: 86cbe939f0c7 Author: dcubed Date: 2011-09-19 12:18 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/86cbe939f0c7 Merge Changeset: 3607aac85aa9 Author: kevinw Date: 2011-09-22 16:48 +0100 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/3607aac85aa9 7051189: Need to suppress info message if -xcheck:jni used with libjsig.so Reviewed-by: coleenp, minqi ! src/os/linux/vm/os_linux.cpp ! src/os/solaris/vm/os_solaris.cpp + test/runtime/7051189/Xchecksig.sh Changeset: 5cceda753a4a Author: iveresov Date: 2011-09-19 15:21 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/5cceda753a4a 7091764: Tiered: enable aastore profiling Summary: Turn on aastore profiling Reviewed-by: jrose, twisti ! src/cpu/sparc/vm/c1_LIRGenerator_sparc.cpp ! src/cpu/x86/vm/c1_LIRGenerator_x86.cpp ! src/share/vm/c1/c1_LIR.cpp ! src/share/vm/c1/c1_LIR.hpp Changeset: 075ea0ed9e7c Author: kvn Date: 2011-09-20 08:39 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/075ea0ed9e7c 7081842: assert(Compile::current()->unique() < (uint)MaxNodeLimit) failed: Node limit exceeded Summary: Add missing node limit check in IGVN optimizer Reviewed-by: iveresov, never ! make/linux/build.sh ! src/share/tools/LogCompilation/src/com/sun/hotspot/tools/compiler/CallSite.java ! src/share/tools/LogCompilation/src/com/sun/hotspot/tools/compiler/LogCompilation.java ! src/share/tools/LogCompilation/src/com/sun/hotspot/tools/compiler/LogParser.java ! src/share/tools/LogCompilation/src/com/sun/hotspot/tools/compiler/Phase.java ! src/share/vm/opto/phaseX.cpp Changeset: eda6988c0d81 Author: never Date: 2011-09-20 23:50 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/eda6988c0d81 7092236: java/util/EnumSet/EnumSetBash.java fails Reviewed-by: kvn, twisti, jrose ! src/share/vm/ci/ciEnv.cpp Changeset: f08d439fab8c Author: never Date: 2011-09-25 16:03 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/f08d439fab8c 7089790: integrate bsd-port changes Reviewed-by: kvn, twisti, jrose Contributed-by: Kurt Miller , Greg Lewis , Jung-uk Kim , Christos Zoulas , Landon Fuller , The FreeBSD Foundation , Michael Franz , Roger Hoover , Alexander Strange ! agent/make/Makefile + agent/src/os/bsd/BsdDebuggerLocal.c + agent/src/os/bsd/Makefile + agent/src/os/bsd/StubDebuggerLocal.c + agent/src/os/bsd/elfmacros.h + agent/src/os/bsd/libproc.h + agent/src/os/bsd/libproc_impl.c + agent/src/os/bsd/libproc_impl.h + agent/src/os/bsd/mapfile + agent/src/os/bsd/ps_core.c + agent/src/os/bsd/ps_proc.c + agent/src/os/bsd/salibelf.c + agent/src/os/bsd/salibelf.h + agent/src/os/bsd/symtab.c + agent/src/os/bsd/symtab.h + agent/src/os/bsd/test.c + agent/src/share/classes/sun/jvm/hotspot/BsdVtblAccess.java ! agent/src/share/classes/sun/jvm/hotspot/HotSpotAgent.java ! agent/src/share/classes/sun/jvm/hotspot/bugspot/BugSpotAgent.java + agent/src/share/classes/sun/jvm/hotspot/debugger/bsd/BsdAddress.java + agent/src/share/classes/sun/jvm/hotspot/debugger/bsd/BsdCDebugger.java + agent/src/share/classes/sun/jvm/hotspot/debugger/bsd/BsdDebugger.java + agent/src/share/classes/sun/jvm/hotspot/debugger/bsd/BsdDebuggerLocal.java + agent/src/share/classes/sun/jvm/hotspot/debugger/bsd/BsdOopHandle.java + agent/src/share/classes/sun/jvm/hotspot/debugger/bsd/BsdThread.java + agent/src/share/classes/sun/jvm/hotspot/debugger/bsd/BsdThreadContextFactory.java + agent/src/share/classes/sun/jvm/hotspot/debugger/bsd/SharedObject.java + agent/src/share/classes/sun/jvm/hotspot/debugger/bsd/amd64/BsdAMD64CFrame.java + agent/src/share/classes/sun/jvm/hotspot/debugger/bsd/amd64/BsdAMD64ThreadContext.java + agent/src/share/classes/sun/jvm/hotspot/debugger/bsd/x86/BsdX86CFrame.java + agent/src/share/classes/sun/jvm/hotspot/debugger/bsd/x86/BsdX86ThreadContext.java ! agent/src/share/classes/sun/jvm/hotspot/runtime/Threads.java + agent/src/share/classes/sun/jvm/hotspot/runtime/bsd/BsdSignals.java + agent/src/share/classes/sun/jvm/hotspot/runtime/bsd_amd64/BsdAMD64JavaThreadPDAccess.java + agent/src/share/classes/sun/jvm/hotspot/runtime/bsd_x86/BsdSignals.java + agent/src/share/classes/sun/jvm/hotspot/runtime/bsd_x86/BsdX86JavaThreadPDAccess.java ! agent/src/share/classes/sun/jvm/hotspot/utilities/PlatformInfo.java ! make/Makefile + make/bsd/Makefile + make/bsd/README + make/bsd/adlc_updater + make/bsd/build.sh + make/bsd/makefiles/adjust-mflags.sh + make/bsd/makefiles/adlc.make + make/bsd/makefiles/amd64.make + make/bsd/makefiles/arm.make + make/bsd/makefiles/build_vm_def.sh + make/bsd/makefiles/buildtree.make + make/bsd/makefiles/compiler1.make + make/bsd/makefiles/compiler2.make + make/bsd/makefiles/core.make + make/bsd/makefiles/cscope.make + make/bsd/makefiles/debug.make + make/bsd/makefiles/defs.make + make/bsd/makefiles/dtrace.make + make/bsd/makefiles/fastdebug.make + make/bsd/makefiles/gcc.make + make/bsd/makefiles/hp.make + make/bsd/makefiles/hp1.make + make/bsd/makefiles/i486.make + make/bsd/makefiles/ia64.make + make/bsd/makefiles/jsig.make + make/bsd/makefiles/jvmg.make + make/bsd/makefiles/jvmti.make + make/bsd/makefiles/launcher.make + make/bsd/makefiles/mapfile-vers-debug + make/bsd/makefiles/mapfile-vers-jsig + make/bsd/makefiles/mapfile-vers-product + make/bsd/makefiles/optimized.make + make/bsd/makefiles/ppc.make + make/bsd/makefiles/product.make + make/bsd/makefiles/profiled.make + make/bsd/makefiles/rules.make + make/bsd/makefiles/sa.make + make/bsd/makefiles/saproc.make + make/bsd/makefiles/shark.make + make/bsd/makefiles/sparc.make + make/bsd/makefiles/sparcWorks.make + make/bsd/makefiles/sparcv9.make + make/bsd/makefiles/tiered.make + make/bsd/makefiles/top.make + make/bsd/makefiles/vm.make + make/bsd/makefiles/zero.make + make/bsd/makefiles/zeroshark.make + make/bsd/platform_amd64 + make/bsd/platform_amd64.suncc + make/bsd/platform_i486 + make/bsd/platform_i486.suncc + make/bsd/platform_ia64 + make/bsd/platform_sparc + make/bsd/platform_sparcv9 + make/bsd/platform_zero.in ! make/cscope.make ! make/defs.make ! make/linux/makefiles/arm.make ! make/linux/makefiles/defs.make ! make/linux/makefiles/ppc.make ! make/sa.files ! make/solaris/makefiles/defs.make ! make/windows/makefiles/defs.make ! src/cpu/x86/vm/bytes_x86.hpp ! src/cpu/x86/vm/c1_LIRAssembler_x86.cpp ! src/cpu/x86/vm/copy_x86.hpp ! src/cpu/x86/vm/globals_x86.hpp ! src/cpu/x86/vm/interp_masm_x86_32.cpp ! src/cpu/x86/vm/interp_masm_x86_64.cpp ! src/cpu/x86/vm/jni_x86.h ! src/cpu/x86/vm/stubGenerator_x86_32.cpp ! src/cpu/x86/vm/stubGenerator_x86_64.cpp ! src/cpu/x86/vm/stubRoutines_x86_32.cpp ! src/cpu/x86/vm/stubRoutines_x86_64.cpp ! src/cpu/x86/vm/vm_version_x86.cpp ! src/cpu/zero/vm/bytes_zero.hpp ! src/cpu/zero/vm/globals_zero.hpp ! src/cpu/zero/vm/interp_masm_zero.cpp ! src/cpu/zero/vm/stubGenerator_zero.cpp ! src/cpu/zero/vm/stubRoutines_zero.cpp ! src/cpu/zero/vm/vm_version_zero.cpp + src/os/bsd/vm/attachListener_bsd.cpp + src/os/bsd/vm/c1_globals_bsd.hpp + src/os/bsd/vm/c2_globals_bsd.hpp + src/os/bsd/vm/chaitin_bsd.cpp + src/os/bsd/vm/decoder_bsd.cpp + src/os/bsd/vm/dtraceJSDT_bsd.cpp + src/os/bsd/vm/globals_bsd.hpp + src/os/bsd/vm/interfaceSupport_bsd.hpp + src/os/bsd/vm/jsig.c + src/os/bsd/vm/jvm_bsd.cpp + src/os/bsd/vm/jvm_bsd.h + src/os/bsd/vm/mutex_bsd.cpp + src/os/bsd/vm/mutex_bsd.inline.hpp + src/os/bsd/vm/osThread_bsd.cpp + src/os/bsd/vm/osThread_bsd.hpp + src/os/bsd/vm/os_bsd.cpp + src/os/bsd/vm/os_bsd.hpp + src/os/bsd/vm/os_bsd.inline.hpp + src/os/bsd/vm/os_share_bsd.hpp + src/os/bsd/vm/perfMemory_bsd.cpp + src/os/bsd/vm/stubRoutines_bsd.cpp + src/os/bsd/vm/threadCritical_bsd.cpp + src/os/bsd/vm/thread_bsd.inline.hpp + src/os/bsd/vm/vmError_bsd.cpp ! src/os/linux/vm/os_linux.cpp ! src/os/posix/launcher/java_md.c ! src/os/posix/launcher/launcher.script + src/os_cpu/bsd_x86/vm/assembler_bsd_x86.cpp + src/os_cpu/bsd_x86/vm/atomic_bsd_x86.inline.hpp + src/os_cpu/bsd_x86/vm/bsd_x86_32.ad + src/os_cpu/bsd_x86/vm/bsd_x86_32.s + src/os_cpu/bsd_x86/vm/bsd_x86_64.ad + src/os_cpu/bsd_x86/vm/bsd_x86_64.s + src/os_cpu/bsd_x86/vm/bytes_bsd_x86.inline.hpp + src/os_cpu/bsd_x86/vm/copy_bsd_x86.inline.hpp + src/os_cpu/bsd_x86/vm/globals_bsd_x86.hpp + src/os_cpu/bsd_x86/vm/orderAccess_bsd_x86.inline.hpp + src/os_cpu/bsd_x86/vm/os_bsd_x86.cpp + src/os_cpu/bsd_x86/vm/os_bsd_x86.hpp + src/os_cpu/bsd_x86/vm/prefetch_bsd_x86.inline.hpp + src/os_cpu/bsd_x86/vm/threadLS_bsd_x86.cpp + src/os_cpu/bsd_x86/vm/threadLS_bsd_x86.hpp + src/os_cpu/bsd_x86/vm/thread_bsd_x86.cpp + src/os_cpu/bsd_x86/vm/thread_bsd_x86.hpp + src/os_cpu/bsd_x86/vm/vmStructs_bsd_x86.hpp + src/os_cpu/bsd_x86/vm/vm_version_bsd_x86.cpp + src/os_cpu/bsd_zero/vm/assembler_bsd_zero.cpp + src/os_cpu/bsd_zero/vm/atomic_bsd_zero.inline.hpp + src/os_cpu/bsd_zero/vm/bytes_bsd_zero.inline.hpp + src/os_cpu/bsd_zero/vm/globals_bsd_zero.hpp + src/os_cpu/bsd_zero/vm/orderAccess_bsd_zero.inline.hpp + src/os_cpu/bsd_zero/vm/os_bsd_zero.cpp + src/os_cpu/bsd_zero/vm/os_bsd_zero.hpp + src/os_cpu/bsd_zero/vm/prefetch_bsd_zero.inline.hpp + src/os_cpu/bsd_zero/vm/threadLS_bsd_zero.cpp + src/os_cpu/bsd_zero/vm/threadLS_bsd_zero.hpp + src/os_cpu/bsd_zero/vm/thread_bsd_zero.cpp + src/os_cpu/bsd_zero/vm/thread_bsd_zero.hpp + src/os_cpu/bsd_zero/vm/vmStructs_bsd_zero.hpp + src/os_cpu/bsd_zero/vm/vm_version_bsd_zero.cpp ! src/os_cpu/linux_zero/vm/globals_linux_zero.hpp ! src/share/vm/adlc/adlc.hpp ! src/share/vm/c1/c1_globals.hpp ! src/share/vm/classfile/classLoader.cpp ! src/share/vm/classfile/javaClasses.cpp ! src/share/vm/code/stubs.hpp ! src/share/vm/compiler/disassembler.hpp ! src/share/vm/gc_implementation/concurrentMarkSweep/cmsAdaptiveSizePolicy.cpp ! src/share/vm/gc_implementation/concurrentMarkSweep/cmsCollectorPolicy.cpp ! src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepThread.hpp ! src/share/vm/gc_implementation/concurrentMarkSweep/freeBlockDictionary.cpp ! src/share/vm/gc_implementation/g1/dirtyCardQueue.cpp ! src/share/vm/gc_implementation/g1/g1SATBCardTableModRefBS.cpp ! src/share/vm/gc_implementation/g1/ptrQueue.cpp ! src/share/vm/gc_implementation/parallelScavenge/parMarkBitMap.cpp ! src/share/vm/gc_implementation/parallelScavenge/psVirtualspace.cpp ! src/share/vm/gc_implementation/shared/mutableNUMASpace.cpp ! src/share/vm/gc_interface/collectedHeap.cpp ! src/share/vm/gc_interface/collectedHeap.inline.hpp ! src/share/vm/interpreter/abstractInterpreter.hpp ! src/share/vm/interpreter/bytecodeInterpreter.cpp ! src/share/vm/interpreter/bytecodeTracer.cpp ! src/share/vm/interpreter/interpreterRuntime.hpp ! src/share/vm/interpreter/linkResolver.cpp ! src/share/vm/memory/allocation.cpp ! src/share/vm/memory/collectorPolicy.cpp ! src/share/vm/memory/defNewGeneration.cpp ! src/share/vm/memory/gcLocker.hpp ! src/share/vm/memory/genMarkSweep.cpp ! src/share/vm/memory/resourceArea.cpp ! src/share/vm/memory/resourceArea.hpp ! src/share/vm/memory/space.hpp ! src/share/vm/memory/threadLocalAllocBuffer.cpp ! src/share/vm/memory/universe.cpp ! src/share/vm/oops/constantPoolKlass.cpp ! src/share/vm/oops/constantPoolOop.cpp ! src/share/vm/oops/instanceKlass.cpp ! src/share/vm/oops/markOop.cpp ! src/share/vm/oops/oop.cpp ! src/share/vm/oops/oopsHierarchy.cpp ! src/share/vm/oops/typeArrayOop.hpp ! src/share/vm/opto/c2_globals.hpp ! src/share/vm/prims/forte.cpp ! src/share/vm/prims/jni.cpp ! src/share/vm/prims/jvm.cpp ! src/share/vm/prims/jvm.h ! src/share/vm/prims/jvmtiEnv.cpp ! src/share/vm/prims/jvmtiImpl.cpp ! src/share/vm/prims/nativeLookup.cpp ! src/share/vm/runtime/arguments.cpp ! src/share/vm/runtime/atomic.cpp ! src/share/vm/runtime/fprofiler.hpp ! src/share/vm/runtime/globals.hpp ! src/share/vm/runtime/handles.cpp ! src/share/vm/runtime/handles.inline.hpp ! src/share/vm/runtime/interfaceSupport.hpp ! src/share/vm/runtime/java.cpp ! src/share/vm/runtime/javaCalls.cpp ! src/share/vm/runtime/javaCalls.hpp ! src/share/vm/runtime/javaFrameAnchor.hpp ! src/share/vm/runtime/jniHandles.cpp ! src/share/vm/runtime/memprofiler.cpp ! src/share/vm/runtime/mutex.cpp ! src/share/vm/runtime/mutexLocker.cpp ! src/share/vm/runtime/mutexLocker.hpp ! src/share/vm/runtime/objectMonitor.cpp ! src/share/vm/runtime/os.cpp ! src/share/vm/runtime/os.hpp ! src/share/vm/runtime/osThread.hpp ! src/share/vm/runtime/safepoint.cpp ! src/share/vm/runtime/synchronizer.cpp ! src/share/vm/runtime/task.cpp ! src/share/vm/runtime/thread.cpp ! src/share/vm/runtime/thread.hpp ! src/share/vm/runtime/threadLocalStorage.cpp ! src/share/vm/runtime/threadLocalStorage.hpp ! src/share/vm/runtime/timer.cpp ! src/share/vm/runtime/virtualspace.cpp ! src/share/vm/runtime/vmStructs.cpp ! src/share/vm/runtime/vmThread.cpp ! src/share/vm/runtime/vmThread.hpp ! src/share/vm/runtime/vm_operations.cpp ! src/share/vm/runtime/vm_version.cpp ! src/share/vm/utilities/accessFlags.cpp ! src/share/vm/utilities/array.cpp ! src/share/vm/utilities/bitMap.cpp ! src/share/vm/utilities/debug.cpp ! src/share/vm/utilities/decoder.cpp ! src/share/vm/utilities/decoder.hpp ! src/share/vm/utilities/elfFile.cpp ! src/share/vm/utilities/elfFile.hpp ! src/share/vm/utilities/elfStringTable.cpp ! src/share/vm/utilities/elfStringTable.hpp ! src/share/vm/utilities/elfSymbolTable.cpp ! src/share/vm/utilities/elfSymbolTable.hpp ! src/share/vm/utilities/events.cpp ! src/share/vm/utilities/exceptions.cpp ! src/share/vm/utilities/globalDefinitions.hpp ! src/share/vm/utilities/globalDefinitions_gcc.hpp ! src/share/vm/utilities/globalDefinitions_sparcWorks.hpp ! src/share/vm/utilities/globalDefinitions_visCPP.hpp ! src/share/vm/utilities/growableArray.cpp ! src/share/vm/utilities/histogram.hpp ! src/share/vm/utilities/macros.hpp ! src/share/vm/utilities/ostream.cpp ! src/share/vm/utilities/preserveException.hpp ! src/share/vm/utilities/taskqueue.cpp ! src/share/vm/utilities/taskqueue.hpp ! src/share/vm/utilities/vmError.cpp ! src/share/vm/utilities/workgroup.hpp ! test/Makefile ! test/jprt.config ! test/runtime/6929067/Test6929067.sh Changeset: a92cdbac8b9e Author: kvn Date: 2011-09-26 10:24 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/a92cdbac8b9e 7081933: Use zeroing elimination optimization for large array Summary: Don't zero new typeArray during runtime call if the allocation is followed by arraycopy into it. Reviewed-by: twisti ! src/cpu/sparc/vm/stubGenerator_sparc.cpp ! src/share/vm/gc_interface/collectedHeap.hpp ! src/share/vm/gc_interface/collectedHeap.inline.hpp ! src/share/vm/memory/oopFactory.cpp ! src/share/vm/memory/oopFactory.hpp ! src/share/vm/oops/typeArrayKlass.cpp ! src/share/vm/oops/typeArrayKlass.hpp ! src/share/vm/opto/library_call.cpp ! src/share/vm/opto/macro.cpp ! src/share/vm/opto/memnode.cpp ! src/share/vm/opto/memnode.hpp ! src/share/vm/opto/runtime.cpp ! src/share/vm/opto/runtime.hpp Changeset: cb315dc80374 Author: never Date: 2011-09-29 09:53 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/cb315dc80374 7092278: "jmap -finalizerinfo" throws "sun.jvm.hotspot.utilities.AssertionFailure: invalid cp index 0 137" Reviewed-by: kvn ! agent/src/share/classes/sun/jvm/hotspot/oops/InstanceKlass.java + agent/src/share/classes/sun/jvm/hotspot/runtime/vmSymbols.java ! agent/src/share/classes/sun/jvm/hotspot/tools/jcore/ClassWriter.java ! src/share/vm/classfile/vmSymbols.hpp ! src/share/vm/runtime/vmStructs.cpp Changeset: 098acdf97f09 Author: never Date: 2011-09-29 13:47 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/098acdf97f09 7096016: SA build still produces "arg list too long" errors Reviewed-by: kvn, never Contributed-by: volker.simonis at gmail.com ! make/linux/makefiles/sa.make ! make/sa.files ! make/solaris/makefiles/sa.make ! make/windows/makefiles/sa.make Changeset: dc45ae774613 Author: iveresov Date: 2011-09-29 23:09 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/dc45ae774613 7096639: Tiered: Incorrect counter overflow handling for inlined methods Summary: Enable invocation events for inlinees Reviewed-by: kvn ! src/share/vm/c1/c1_LIRGenerator.cpp ! src/share/vm/runtime/globals.hpp Changeset: ae839d1e7d4c Author: roland Date: 2011-09-30 13:47 +0200 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/ae839d1e7d4c 7096010: c2: running with +PrintOptoAssembly crashes the VM when $constanttablebase is used Summary: ADLC generates code to prepare the register string to be printed in a char array but then calls print without the char array as an argument. Reviewed-by: never ! src/share/vm/adlc/formssel.cpp Changeset: 5d871c1ff17c Author: iveresov Date: 2011-09-30 13:48 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/5d871c1ff17c Merge ! make/Makefile ! make/linux/makefiles/defs.make ! make/solaris/makefiles/defs.make ! src/os/linux/vm/os_linux.cpp Changeset: da883b9e6d37 Author: jcoomes Date: 2011-09-30 18:27 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/da883b9e6d37 Merge ! .hgtags - agent/src/os/solaris/dbx/Makefile - agent/src/os/solaris/dbx/README - agent/src/os/solaris/dbx/README-commands.txt - agent/src/os/solaris/dbx/helloWorld.cpp - agent/src/os/solaris/dbx/proc_service_2.h - agent/src/os/solaris/dbx/shell_imp.h - agent/src/os/solaris/dbx/svc_agent_dbx.cpp - agent/src/os/solaris/dbx/svc_agent_dbx.hpp - agent/src/os/win32/BasicList.hpp - agent/src/os/win32/Buffer.cpp - agent/src/os/win32/Buffer.hpp - agent/src/os/win32/Dispatcher.cpp - agent/src/os/win32/Dispatcher.hpp - agent/src/os/win32/Handler.hpp - agent/src/os/win32/IOBuf.cpp - agent/src/os/win32/IOBuf.hpp - agent/src/os/win32/LockableList.hpp - agent/src/os/win32/Makefile - agent/src/os/win32/Message.hpp - agent/src/os/win32/Monitor.cpp - agent/src/os/win32/Monitor.hpp - agent/src/os/win32/README-commands.txt - agent/src/os/win32/README.txt - agent/src/os/win32/Reaper.cpp - agent/src/os/win32/Reaper.hpp - agent/src/os/win32/SwDbgSrv.cpp - agent/src/os/win32/SwDbgSrv.dsp - agent/src/os/win32/SwDbgSrv.dsw - agent/src/os/win32/SwDbgSub.cpp - agent/src/os/win32/SwDbgSub.dsp - agent/src/os/win32/initWinsock.cpp - agent/src/os/win32/initWinsock.hpp - agent/src/os/win32/ioUtils.cpp - agent/src/os/win32/ioUtils.hpp - agent/src/os/win32/isNT4.cpp - agent/src/os/win32/isNT4.hpp - agent/src/os/win32/libInfo.cpp - agent/src/os/win32/libInfo.hpp - agent/src/os/win32/nt4internals.cpp - agent/src/os/win32/nt4internals.hpp - agent/src/os/win32/ports.h - agent/src/os/win32/procList.cpp - agent/src/os/win32/procList.hpp - agent/src/os/win32/serverLists.cpp - agent/src/os/win32/serverLists.hpp - agent/src/os/win32/toolHelp.cpp - agent/src/os/win32/toolHelp.hpp - agent/src/share/classes/sun/jvm/hotspot/debugger/dbx/DbxAddress.java - agent/src/share/classes/sun/jvm/hotspot/debugger/dbx/DbxDebugger.java - agent/src/share/classes/sun/jvm/hotspot/debugger/dbx/DbxDebuggerLocal.java - agent/src/share/classes/sun/jvm/hotspot/debugger/dbx/DbxOopHandle.java - agent/src/share/classes/sun/jvm/hotspot/debugger/dbx/DbxThreadFactory.java - agent/src/share/classes/sun/jvm/hotspot/debugger/dbx/sparc/DbxSPARCThread.java - agent/src/share/classes/sun/jvm/hotspot/debugger/dbx/sparc/DbxSPARCThreadContext.java - agent/src/share/classes/sun/jvm/hotspot/debugger/dbx/sparc/DbxSPARCThreadFactory.java - agent/src/share/classes/sun/jvm/hotspot/debugger/dbx/x86/DbxX86Thread.java - agent/src/share/classes/sun/jvm/hotspot/debugger/dbx/x86/DbxX86ThreadContext.java - agent/src/share/classes/sun/jvm/hotspot/debugger/dbx/x86/DbxX86ThreadFactory.java - agent/src/share/classes/sun/jvm/hotspot/debugger/win32/AddressDataSource.java - agent/src/share/classes/sun/jvm/hotspot/debugger/win32/DLL.java - agent/src/share/classes/sun/jvm/hotspot/debugger/win32/TestDebugger.java - agent/src/share/classes/sun/jvm/hotspot/debugger/win32/TestHelloWorld.java - agent/src/share/classes/sun/jvm/hotspot/debugger/win32/Win32Address.java - agent/src/share/classes/sun/jvm/hotspot/debugger/win32/Win32CDebugInfoBuilder.java - agent/src/share/classes/sun/jvm/hotspot/debugger/win32/Win32CDebugger.java - agent/src/share/classes/sun/jvm/hotspot/debugger/win32/Win32Debugger.java - agent/src/share/classes/sun/jvm/hotspot/debugger/win32/Win32DebuggerLocal.java - agent/src/share/classes/sun/jvm/hotspot/debugger/win32/Win32LDTEntry.java - agent/src/share/classes/sun/jvm/hotspot/debugger/win32/Win32LDTEntryConstants.java - agent/src/share/classes/sun/jvm/hotspot/debugger/win32/Win32OopHandle.java - agent/src/share/classes/sun/jvm/hotspot/debugger/win32/Win32Thread.java - agent/src/share/classes/sun/jvm/hotspot/debugger/win32/Win32ThreadContext.java - agent/src/share/classes/sun/jvm/hotspot/runtime/amd64/AMD64Frame.java - agent/src/share/classes/sun/jvm/hotspot/runtime/amd64/AMD64RegisterMap.java - make/solaris/makefiles/mapfile-vers-nonproduct - src/share/vm/runtime/reflectionCompat.hpp Changeset: 49ed7eacfd16 Author: jcoomes Date: 2011-09-30 18:27 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/49ed7eacfd16 Added tag hs23-b01 for changeset da883b9e6d37 ! .hgtags Changeset: 7c20d272643f Author: katleman Date: 2011-10-06 14:01 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/7c20d272643f Added tag jdk8-b08 for changeset 49ed7eacfd16 ! .hgtags Changeset: edd5f85e2de7 Author: katleman Date: 2011-10-13 10:35 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/edd5f85e2de7 Added tag jdk8-b09 for changeset 7c20d272643f ! .hgtags Changeset: 95607b70acb5 Author: jcoomes Date: 2011-09-30 22:54 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/95607b70acb5 7096124: Bump the hs23 build number to 02 Reviewed-by: johnc Contributed-by: alejandro.murillo at oracle.com ! make/hotspot_version Changeset: 4f93f0d00802 Author: tonyp Date: 2011-09-20 09:59 -0400 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/4f93f0d00802 7059019: G1: add G1 support to the SA Summary: Extend the SA to recognize the G1CollectedHeap and implement any code that's needed by our serviceability tools (jmap, jinfo, jstack, etc.) that depend on the SA. Reviewed-by: never, poonam, johnc ! agent/make/Makefile + agent/src/share/classes/sun/jvm/hotspot/gc_implementation/g1/G1CollectedHeap.java + agent/src/share/classes/sun/jvm/hotspot/gc_implementation/g1/HeapRegion.java + agent/src/share/classes/sun/jvm/hotspot/gc_implementation/g1/HeapRegionSeq.java ! agent/src/share/classes/sun/jvm/hotspot/gc_interface/CollectedHeapName.java ! agent/src/share/classes/sun/jvm/hotspot/memory/Universe.java ! agent/src/share/classes/sun/jvm/hotspot/oops/ObjectHeap.java ! agent/src/share/classes/sun/jvm/hotspot/tools/HeapSummary.java ! make/sa.files ! src/share/vm/gc_implementation/g1/heapRegionSeq.hpp + src/share/vm/gc_implementation/g1/vmStructs_g1.hpp ! src/share/vm/runtime/vmStructs.cpp Changeset: 663cb89032b1 Author: johnc Date: 2011-09-20 15:39 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/663cb89032b1 7092412: G1: Some roots not marked during an initial mark that gets an evacuation failure Summary: As a result of the changes for 7080389, an evacuation failure during an initial mark pause may result in some root objects not being marked. Pass whether the caller is a root scanning closure into the evacuation failure handling code so that the thread that successfully forwards an object to itself also marks the object. Reviewed-by: ysr, brutisso, tonyp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.hpp ! src/share/vm/gc_implementation/g1/g1OopClosures.hpp Changeset: 114e52976463 Author: tonyp Date: 2011-09-21 01:27 -0400 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/114e52976463 7045232: G1: pool names are inconsistent with other collectors (don't have 'Space') Summary: Make sure the eden and survivor pools have "Space" in their name. Reviewed-by: jmasa, ysr ! src/share/vm/services/g1MemoryPool.cpp Changeset: 1847b501ae74 Author: johnc Date: 2011-09-21 10:04 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/1847b501ae74 7068215: G1: Print reference processing time during remark Summary: Displays the elapsed time taken to perform reference processing during remark as part of the PrintGCDetails output. Reviewed-by: ysr ! src/share/vm/gc_implementation/g1/concurrentMark.cpp Changeset: d912b598c6c3 Author: tonyp Date: 2011-09-21 13:36 -0400 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/d912b598c6c3 7091032: G1: assert failure when NewRatio is used Summary: The desired min / max heap sizes are miscalculated at initialization when NewRatio is used. The changeset also includes an additional small change to turn a print statement into a warning. Reviewed-by: johnc, jmasa, ysr, brutisso ! src/share/vm/gc_implementation/g1/g1CollectorPolicy.cpp Changeset: 5cc33133bc6d Author: johnc Date: 2011-09-21 15:24 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/5cc33133bc6d 7092245: G1: Wrong format specifier in G1PrintRegionLivenessInfo header output Summary: Cast HeapRegion::GrainBytes to size_t in output statement. Reviewed-by: ysr, brutisso, pbk, tonyp ! src/share/vm/gc_implementation/g1/concurrentMark.cpp Changeset: f0ecbe78fc7b Author: tonyp Date: 2011-09-22 07:18 -0400 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/f0ecbe78fc7b 7092238: G1: Uninitialized field gc_efficiency in G1PrintRegionLivenessInfo output Reviewed-by: jcoomes, johnc ! src/share/vm/gc_implementation/g1/heapRegion.cpp Changeset: 4dfb2df418f2 Author: johnc Date: 2011-09-22 10:57 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/4dfb2df418f2 6484982: G1: process references during evacuation pauses Summary: G1 now uses two reference processors - one is used by concurrent marking and the other is used by STW GCs (both full and incremental evacuation pauses). In an evacuation pause, the reference processor is embedded into the closures used to scan objects. Doing so causes causes reference objects to be 'discovered' by the reference processor. At the end of the evacuation pause, these discovered reference objects are processed - preserving (and copying) referent objects (and their reachable graphs) as appropriate. Reviewed-by: ysr, jwilhelm, brutisso, stefank, tonyp ! src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp ! src/share/vm/gc_implementation/g1/concurrentMark.cpp ! src/share/vm/gc_implementation/g1/concurrentMark.hpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.hpp ! src/share/vm/gc_implementation/g1/g1CollectorPolicy.cpp ! src/share/vm/gc_implementation/g1/g1CollectorPolicy.hpp ! src/share/vm/gc_implementation/g1/g1MarkSweep.cpp ! src/share/vm/gc_implementation/g1/g1OopClosures.hpp ! src/share/vm/gc_implementation/g1/g1RemSet.cpp ! src/share/vm/gc_implementation/g1/heapRegion.cpp ! src/share/vm/gc_implementation/g1/heapRegion.hpp ! src/share/vm/gc_implementation/g1/satbQueue.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/referenceProcessor.cpp ! src/share/vm/memory/referenceProcessor.hpp ! src/share/vm/runtime/thread.cpp Changeset: 8229bd737950 Author: tonyp Date: 2011-09-23 16:07 -0400 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/8229bd737950 7075646: G1: fix inconsistencies in the monitoring data Summary: Fixed a few inconsistencies in the monitoring data, in particular when reported from jstat. Reviewed-by: jmasa, brutisso, johnc ! src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.hpp ! src/share/vm/gc_implementation/g1/g1CollectorPolicy.hpp ! src/share/vm/gc_implementation/g1/g1MonitoringSupport.cpp ! src/share/vm/gc_implementation/g1/g1MonitoringSupport.hpp ! src/share/vm/gc_implementation/g1/heapRegion.hpp ! src/share/vm/gc_implementation/shared/generationCounters.cpp ! src/share/vm/gc_implementation/shared/generationCounters.hpp ! src/share/vm/services/g1MemoryPool.cpp ! src/share/vm/services/g1MemoryPool.hpp Changeset: e807478bf9ca Author: brutisso Date: 2011-09-26 10:14 +0200 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/e807478bf9ca 7091366: re-enable quicksort tests Summary: Added extern "C" to make it build with JDK6 compilers Reviewed-by: jwilhelm, kvn ! src/share/vm/utilities/quickSort.cpp Changeset: 273b46400613 Author: johnc Date: 2011-09-28 10:36 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/273b46400613 7086533: G1: assert(!_g1->is_obj_dead(obj)): We should not be preserving dead objs: g1CollectedHeap.cpp:3835 Summary: Some objects may not be marked in the event of an evacuation failure in a partially young GC, during a marking cycle. Avoid this situation by not allowing partially young GCs during a marking cycle. Reviewed-by: tonyp, ysr, brutisso ! src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp ! src/share/vm/gc_implementation/g1/g1CollectorPolicy.cpp Changeset: 811ec3d0833b Author: johnc Date: 2011-10-03 12:49 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/811ec3d0833b 7097053: G1: assert(da ? referent->is_oop() : referent->is_oop_or_null()) failed: referenceProcessor.cpp:1054 Summary: During remembered set scanning, the reference processor could discover a reference object whose referent was in the process of being copied and so may not be completely initialized. Do not perform reference discovery during remembered set scanning. Reviewed-by: tonyp, ysr ! src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp ! src/share/vm/gc_implementation/g1/g1OopClosures.hpp ! src/share/vm/gc_implementation/g1/g1RemSet.cpp ! src/share/vm/gc_implementation/g1/heapRegion.cpp Changeset: 81aa07130d30 Author: tonyp Date: 2011-10-03 19:04 -0400 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/81aa07130d30 7097048: G1: extend the G1 SA changes to print per-heap space information Reviewed-by: brutisso, johnc ! agent/src/share/classes/sun/jvm/hotspot/gc_implementation/g1/G1CollectedHeap.java + agent/src/share/classes/sun/jvm/hotspot/gc_implementation/g1/G1MonitoringSupport.java ! agent/src/share/classes/sun/jvm/hotspot/tools/HeapSummary.java ! src/share/vm/gc_implementation/g1/g1MonitoringSupport.hpp ! src/share/vm/gc_implementation/g1/vmStructs_g1.hpp Changeset: c63b928b212b Author: stefank Date: 2011-09-12 16:09 +0200 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/c63b928b212b 7021322: assert(object_end <= top()) failed: Object crosses promotion LAB boundary Summary: Pass the same object size value to both allocate and unallocate_object Reviewed-by: ysr, brutisso ! src/share/vm/gc_implementation/parallelScavenge/psPromotionLAB.cpp ! src/share/vm/gc_implementation/parallelScavenge/psPromotionLAB.hpp ! src/share/vm/gc_implementation/parallelScavenge/psPromotionManager.cpp Changeset: 65a8ff39a6da Author: johnc Date: 2011-10-05 08:44 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/65a8ff39a6da 7095194: G1: HeapRegion::GrainBytes, GrainWords, and CardsPerRegion should be size_t Summary: Declare GrainBytes, GrainWords, and CardsPerRegion as size_t. Reviewed-by: jcoomes, tonyp, jmasa ! src/share/vm/gc_implementation/g1/concurrentMark.cpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp ! src/share/vm/gc_implementation/g1/g1CollectorPolicy.cpp ! src/share/vm/gc_implementation/g1/heapRegion.cpp ! src/share/vm/gc_implementation/g1/heapRegion.hpp ! src/share/vm/gc_implementation/g1/heapRegionRemSet.cpp ! src/share/vm/gc_implementation/g1/heapRegionRemSet.hpp ! src/share/vm/gc_implementation/g1/vmStructs_g1.hpp Changeset: fd65bc7c09b6 Author: tonyp Date: 2011-10-06 13:28 -0400 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/fd65bc7c09b6 Merge ! agent/make/Makefile ! make/sa.files ! src/share/vm/runtime/thread.cpp ! src/share/vm/runtime/vmStructs.cpp Changeset: 246daf2c601d Author: brutisso Date: 2011-09-28 08:21 +0200 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/246daf2c601d 7005808: G1: re-enable ReduceInitialCardMarks for G1 Summary: Remove the extra guard to allow G1 to use ReduceInitialCardMarks Reviewed-by: jmasa, tonyp, johnc, ysr ! src/share/vm/gc_implementation/g1/g1CollectedHeap.hpp ! src/share/vm/gc_implementation/g1/g1_globals.hpp Changeset: b9390528617c Author: ysr Date: 2011-10-06 18:56 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/b9390528617c 7095236: G1: _markedRegions never contains NULL regions Summary: Removed the code for skipping over NULL regions in _markedRegions, replacing it with an assertion that a NULL region is never encountered; removed dead methods, remove() and remove_region(), and inlined a simplified addRegion() directly into fillCache(). Reviewed-by: brutisso, tonyp ! src/share/vm/gc_implementation/g1/collectionSetChooser.cpp ! src/share/vm/gc_implementation/g1/collectionSetChooser.hpp Changeset: f32dae5d5677 Author: ysr Date: 2011-10-10 08:40 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/f32dae5d5677 Merge Changeset: 3f24f946bc2d Author: brutisso Date: 2011-10-11 10:21 +0200 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/3f24f946bc2d 7099454: /bin/sh does not support syntax used in the src/os/posix/launcher/launcher.script shell script Summary: Also reviewed by mikael.gerdin at oracle.com; Changed to the `` syntax instead. Also changed "source" to ".". Reviewed-by: never, stefank, dsamersoff, rottenha ! src/os/posix/launcher/launcher.script Changeset: d1bdeef3e3e2 Author: johnc Date: 2011-10-12 10:25 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/d1bdeef3e3e2 7098282: G1: assert(interval >= 0) failed: Sanity check, referencePolicy.cpp: 76 Summary: There is a race between one thread successfully forwarding and copying the klass mirror for the SoftReference class (including the static master clock) and another thread attempting to use the master clock while attempting to discover a soft reference object. Maintain a shadow copy of the soft reference master clock and use the shadow during reference discovery and reference processing. Reviewed-by: tonyp, brutisso, ysr ! src/share/vm/memory/referencePolicy.cpp ! src/share/vm/memory/referencePolicy.hpp ! src/share/vm/memory/referenceProcessor.cpp ! src/share/vm/memory/referenceProcessor.hpp Changeset: e4f412d2b75d Author: jcoomes Date: 2011-10-14 18:17 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/e4f412d2b75d Merge ! .hgtags Changeset: d815de2e85e5 Author: jcoomes Date: 2011-10-14 18:21 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/d815de2e85e5 Added tag hs23-b02 for changeset e4f412d2b75d ! .hgtags Changeset: 3170e4044f2d Author: katleman Date: 2011-10-20 10:32 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/3170e4044f2d Added tag jdk8-b10 for changeset d815de2e85e5 ! .hgtags Changeset: bc257a801090 Author: jcoomes Date: 2011-10-14 21:45 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/bc257a801090 7101096: Bump the hs23 build number to 03 Reviewed-by: johnc Contributed-by: alejandro.murillo at oracle.com ! make/hotspot_version Changeset: 940513efe83a Author: iveresov Date: 2011-10-04 10:07 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/940513efe83a 7097679: Tiered: events with bad bci to Gotos reduced from Ifs Summary: Save bci of instruction that produced Goto and use it to call back to runtime Reviewed-by: kvn, never ! src/share/vm/c1/c1_GraphBuilder.cpp ! src/share/vm/c1/c1_LIRGenerator.cpp Changeset: ec5ce9326985 Author: kvn Date: 2011-10-04 14:30 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/ec5ce9326985 6865265: JVM crashes with "missing exception handler" error Summary: Retry the call to fast_exception_handler_bci_for() after it returned with a pending exception. Don't cache the exception handler pc computed by compute_compiled_exc_handler() if the handler is for another (nested) exception. Reviewed-by: kamg, kvn Contributed-by: volker.simonis at gmail.com ! src/share/vm/opto/runtime.cpp ! src/share/vm/runtime/sharedRuntime.cpp + test/compiler/6865265/StackOverflowBug.java Changeset: eba73e0c7780 Author: bdelsart Date: 2011-10-07 13:28 +0200 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/eba73e0c7780 7096366: PPC: corruption of floating-point values with DeoptimizeALot Summary: fix for a deoptimization found on PPC, which could impact other big endian platforms Reviewed-by: roland, dholmes ! src/share/vm/c1/c1_LinearScan.cpp Changeset: 0abefdb54d21 Author: twisti Date: 2011-10-11 02:19 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/0abefdb54d21 7081938: JSR292: assert(magic_number_2() == MAGIC_NUMBER_2) failed Reviewed-by: never, bdelsart ! src/cpu/x86/vm/frame_x86.cpp ! src/cpu/x86/vm/methodHandles_x86.cpp ! src/cpu/x86/vm/methodHandles_x86.hpp Changeset: 5eb9169b1a14 Author: twisti Date: 2011-10-12 21:00 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/5eb9169b1a14 7092712: JSR 292: unloaded invokedynamic call sites can lead to a crash with signature types not on BCP Reviewed-by: jrose, never ! src/share/vm/ci/ciEnv.cpp ! src/share/vm/ci/ciEnv.hpp ! src/share/vm/ci/ciMethod.cpp ! src/share/vm/ci/ciMethod.hpp ! src/share/vm/ci/ciObjectFactory.cpp ! src/share/vm/ci/ciObjectFactory.hpp ! src/share/vm/ci/ciSignature.cpp ! src/share/vm/ci/ciSignature.hpp Changeset: a786fdc79c5f Author: never Date: 2011-10-13 14:08 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/a786fdc79c5f 7100165: JSR 292: leftover printing code in methodHandleWalk.cpp Reviewed-by: kvn, twisti ! src/share/vm/prims/methodHandleWalk.cpp Changeset: 4bac06a82bc3 Author: kvn Date: 2011-10-14 10:07 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/4bac06a82bc3 7100757: The BitSet.nextSetBit() produces incorrect result in 32bit VM on Sparc Summary: Instruction countTrailingZerosL() should use iRegIsafe dst register since it is used in long arithmetic. Reviewed-by: never, twisti ! src/cpu/sparc/vm/sparc.ad + test/compiler/7100757/Test7100757.java Changeset: 11d17c7d2ee6 Author: iveresov Date: 2011-10-16 02:59 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/11d17c7d2ee6 Merge Changeset: 2ef3386478e6 Author: dholmes Date: 2011-10-10 21:01 -0400 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/2ef3386478e6 7096278: Update the VM name to indicate it is an embedded build Reviewed-by: kvn, never, jcoomes, bobv ! src/share/vm/runtime/vm_version.cpp Changeset: 436b4a3231bf Author: dcubed Date: 2011-10-13 09:35 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/436b4a3231bf 7098194: integrate macosx-port changes Summary: Integrate bsd-port/hotspot and macosx-port/hotspot changes as of 2011.09.29. Reviewed-by: kvn, dholmes, never, phh Contributed-by: Christos Zoulas , Greg Lewis , Kurt Miller , Alexander Strange , Mike Swingler , Roger Hoover , Victor Hernandez , Pratik Solanki ! .hgignore + agent/src/os/bsd/MacosxDebuggerLocal.m ! agent/src/os/bsd/Makefile ! agent/src/os/bsd/symtab.c ! agent/src/share/classes/sun/jvm/hotspot/debugger/bsd/BsdDebuggerLocal.java ! agent/src/share/classes/sun/jvm/hotspot/utilities/PlatformInfo.java ! make/Makefile ! make/bsd/makefiles/adlc.make ! make/bsd/makefiles/buildtree.make ! make/bsd/makefiles/defs.make ! make/bsd/makefiles/dtrace.make ! make/bsd/makefiles/gcc.make ! make/bsd/makefiles/sa.make ! make/bsd/makefiles/saproc.make ! make/bsd/makefiles/top.make ! make/bsd/makefiles/vm.make ! make/defs.make - make/templates/bsd-header ! src/cpu/x86/vm/jni_x86.h + src/os/bsd/dtrace/generateJvmOffsets.cpp + src/os/bsd/dtrace/generateJvmOffsets.h + src/os/bsd/dtrace/generateJvmOffsetsMain.c + src/os/bsd/dtrace/hotspot.d + src/os/bsd/dtrace/hotspot_jni.d + src/os/bsd/dtrace/hs_private.d + src/os/bsd/dtrace/jhelper.d + src/os/bsd/dtrace/jvm_dtrace.c + src/os/bsd/dtrace/jvm_dtrace.h + src/os/bsd/dtrace/libjvm_db.c + src/os/bsd/dtrace/libjvm_db.h ! src/os/bsd/vm/dtraceJSDT_bsd.cpp ! src/os/bsd/vm/jvm_bsd.h ! src/os/bsd/vm/os_bsd.cpp ! src/os/linux/vm/os_linux.cpp ! src/os/solaris/vm/os_solaris.cpp ! src/os/windows/vm/os_windows.cpp ! src/os_cpu/bsd_x86/vm/bsd_x86_32.s ! src/os_cpu/bsd_x86/vm/os_bsd_x86.cpp ! src/os_cpu/bsd_zero/vm/bytes_bsd_zero.inline.hpp ! src/os_cpu/bsd_zero/vm/os_bsd_zero.cpp ! src/share/vm/code/nmethod.cpp ! src/share/vm/compiler/compileBroker.cpp ! src/share/vm/gc_implementation/concurrentMarkSweep/vmCMSOperations.cpp ! src/share/vm/gc_implementation/shared/vmGCOperations.cpp ! src/share/vm/oops/instanceKlass.cpp ! src/share/vm/opto/connode.cpp ! src/share/vm/prims/jni.cpp ! src/share/vm/prims/jvm.cpp ! src/share/vm/prims/jvm.h ! src/share/vm/prims/unsafe.cpp ! src/share/vm/runtime/arguments.cpp ! src/share/vm/runtime/globals.hpp ! src/share/vm/runtime/java.cpp ! src/share/vm/runtime/objectMonitor.cpp ! src/share/vm/runtime/os.cpp ! src/share/vm/runtime/os.hpp ! src/share/vm/runtime/sharedRuntime.cpp ! src/share/vm/runtime/synchronizer.cpp ! src/share/vm/runtime/thread.cpp ! src/share/vm/runtime/thread.hpp ! src/share/vm/runtime/vmThread.cpp ! src/share/vm/services/classLoadingService.cpp ! src/share/vm/services/memoryManager.cpp ! src/share/vm/services/runtimeService.cpp ! src/share/vm/services/threadService.cpp ! src/share/vm/utilities/debug.cpp ! src/share/vm/utilities/dtrace.hpp + src/share/vm/utilities/dtrace_usdt2_disabled.hpp ! src/share/vm/utilities/globalDefinitions.hpp ! src/share/vm/utilities/hashtable.cpp Changeset: 23a1c8de9d51 Author: dholmes Date: 2011-10-17 01:40 -0400 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/23a1c8de9d51 Merge - make/templates/bsd-header ! src/share/vm/runtime/sharedRuntime.cpp ! src/share/vm/runtime/thread.cpp Changeset: 8187c94a9a87 Author: never Date: 2011-10-17 11:00 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/8187c94a9a87 7093690: JSR292: SA-JDI AssertionFailure: Expected raw sp likely got real sp, value was Reviewed-by: kvn, twisti ! agent/src/share/classes/sun/jvm/hotspot/runtime/sparc/SPARCFrame.java Changeset: e5928e7dab26 Author: never Date: 2011-10-17 21:38 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/e5928e7dab26 7098528: crash with java -XX:+ExtendedDTraceProbes Reviewed-by: kvn ! src/share/vm/classfile/javaClasses.cpp ! src/share/vm/classfile/javaClasses.hpp ! src/share/vm/gc_interface/collectedHeap.cpp ! src/share/vm/gc_interface/collectedHeap.hpp ! src/share/vm/oops/instanceMirrorKlass.cpp Changeset: 16f9fa2bf76c Author: kvn Date: 2011-10-19 10:52 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/16f9fa2bf76c 7100935: win32: memmove is not atomic but is used for pd_conjoint_*_atomic operations Summary: replace the call to memmove by a simple copy loop Reviewed-by: dholmes, kvn, never Contributed-by: axel.siebenborn at sap.com, volker.simonis at gmail.com ! src/cpu/sparc/vm/copy_sparc.hpp ! src/os_cpu/windows_x86/vm/copy_windows_x86.inline.hpp + test/runtime/7100935/TestConjointAtomicArraycopy.java + test/runtime/7100935/TestShortArraycopy.java Changeset: 1179647ee175 Author: iveresov Date: 2011-10-21 00:58 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/1179647ee175 Merge Changeset: ec4b032a4977 Author: tonyp Date: 2011-10-13 13:54 -0400 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/ec4b032a4977 7098085: G1: partially-young GCs not initiated under certain circumstances Reviewed-by: ysr, brutisso ! src/share/vm/gc_implementation/g1/concurrentMarkThread.cpp Changeset: 074f0252cc13 Author: tonyp Date: 2011-10-14 11:12 -0400 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/074f0252cc13 7088680: G1: Cleanup in the G1CollectorPolicy class Summary: Removed unused fields and methods, removed the G1CollectoryPolicy_BestRegionsFirst class and folded its functionality into the G1CollectorPolicy class. Reviewed-by: ysr, brutisso, jcoomes ! src/share/vm/gc_implementation/g1/concurrentMark.cpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp ! src/share/vm/gc_implementation/g1/g1CollectorPolicy.cpp ! src/share/vm/gc_implementation/g1/g1CollectorPolicy.hpp ! src/share/vm/memory/universe.cpp Changeset: bf2d2b8b1726 Author: johnc Date: 2011-10-17 09:57 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/bf2d2b8b1726 7095243: Disambiguate ReferenceProcessor::_discoveredSoftRefs Summary: Add a new, separate, pointer to the base of the array of discovered reference lists and use this new pointer in places where we iterate over the entire array. Reviewed-by: ysr, brutisso ! src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp ! src/share/vm/memory/referenceProcessor.cpp ! src/share/vm/memory/referenceProcessor.hpp Changeset: 647872693572 Author: tonyp Date: 2011-10-21 07:24 -0400 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/647872693572 Merge Changeset: 4d3850d9d326 Author: jcoomes Date: 2011-10-21 10:27 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/4d3850d9d326 Merge - make/templates/bsd-header Changeset: 4538caeef7b6 Author: jcoomes Date: 2011-10-21 10:27 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/hotspot/rev/4538caeef7b6 Added tag hs23-b03 for changeset 4d3850d9d326 ! .hgtags From lana.steuck at oracle.com Thu Oct 27 04:42:26 2011 From: lana.steuck at oracle.com (lana.steuck at oracle.com) Date: Thu, 27 Oct 2011 04:42:26 +0000 Subject: [OpenJDK 2D-Dev] hg: jdk8/2d/jdk: 71 new changesets Message-ID: <20111027045443.5D54C4715A@hg.openjdk.java.net> Changeset: 19f0a3db863c Author: katleman Date: 2011-09-22 16:02 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/19f0a3db863c Added tag jdk8-b06 for changeset bdb870cc269e ! .hgtags Changeset: ac9349be6821 Author: katleman Date: 2011-09-29 18:53 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/ac9349be6821 Added tag jdk8-b07 for changeset 19f0a3db863c ! .hgtags Changeset: c662c8cf25d6 Author: lana Date: 2011-09-26 14:29 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/c662c8cf25d6 Merge - src/share/native/sun/awt/libpng/pnggccrd.c - src/share/native/sun/awt/libpng/pngvcrd.c Changeset: 3487d0d48662 Author: rupashka Date: 2011-09-15 16:43 +0400 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/3487d0d48662 7090007: Missing style.css in nimbus/doc-files/properties.html Reviewed-by: alexp ! src/share/classes/javax/swing/plaf/nimbus/doc-files/properties.html Changeset: 16c3dcad4252 Author: rupashka Date: 2011-09-21 17:08 +0400 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/16c3dcad4252 7032018: The file list in JFileChooser does not have an accessible name Reviewed-by: rupashka Contributed-by: Charles Lee ! src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic.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/sun/swing/FilePane.java Changeset: 44040ece133c Author: lana Date: 2011-09-23 16:51 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/44040ece133c Merge Changeset: 44f50834b79c Author: rupashka Date: 2011-09-26 17:37 +0400 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/44f50834b79c 7088744: SwingUtilities.isMiddleMouseButton does not work with ALT/Meta keys Reviewed-by: alexp ! src/share/classes/javax/swing/SwingUtilities.java + test/javax/swing/SwingUtilities/7088744/bug7088744.java Changeset: d72ac458b2b7 Author: anthony Date: 2011-09-26 17:59 +0400 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/d72ac458b2b7 7081670: Disposing an AppContext can lead to a spinning EventDispatchThread Reviewed-by: art, anthony, dholmes Contributed-by: Clemens Eisserer ! src/share/classes/java/awt/EventDispatchThread.java ! src/share/classes/java/awt/EventQueue.java Changeset: 7fd192952459 Author: denis Date: 2011-09-26 18:18 +0400 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/7fd192952459 7080289: AWTKeystroke class registers a subclass factory during deserialization Reviewed-by: serb ! src/share/classes/java/awt/AWTKeyStroke.java Changeset: aac4041609bb Author: lana Date: 2011-09-26 14:30 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/aac4041609bb Merge Changeset: e0c1282a0ead Author: coffeys Date: 2011-09-13 11:21 +0100 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/e0c1282a0ead 7082769: FileInputStream/FileOutputStream/RandomAccessFile allow file descriptor be closed when still in use Reviewed-by: alanb ! src/share/classes/java/io/FileInputStream.java ! src/share/classes/java/io/FileOutputStream.java ! src/share/classes/java/io/RandomAccessFile.java + test/java/io/etc/FileDescriptorSharing.java Changeset: 04672e957da0 Author: mchung Date: 2011-09-14 08:33 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/04672e957da0 6915797: Remove sun.tools.jar.JarImageSource that is not used 7090178: Move java.util.XMLUtils to another package to avoid split package Reviewed-by: alanb, sherman ! make/java/java/FILES_java.gmk ! make/sun/Makefile + make/sun/util/Makefile ! src/share/classes/java/util/Properties.java - src/share/classes/java/util/XMLUtils.java - src/share/classes/sun/tools/jar/JarImageSource.java + src/share/classes/sun/util/xml/XMLUtils.java Changeset: 2a8072c7cf99 Author: darcy Date: 2011-09-14 11:32 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/2a8072c7cf99 6879143: java.math.BigInteger misses the xxxValueExact methods Reviewed-by: alanb ! src/share/classes/java/math/BigInteger.java + test/java/math/BigInteger/TestValueExact.java Changeset: 84da01e00e6c Author: darcy Date: 2011-09-14 13:09 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/84da01e00e6c 7088500: there is no @since tag on SafeVarargs Reviewed-by: mduigou ! src/share/classes/java/lang/SafeVarargs.java Changeset: 52bc200b14e5 Author: mbankal Date: 2011-09-14 21:43 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/52bc200b14e5 7049963: DISTINGUISHED NAMES FOR CERT ARE ESCAPED IN JROCKIT 1.6(NOT COMPATIBLE WITH JROC Reviewed-by: mullan ! src/share/classes/sun/security/x509/AVA.java Changeset: 1260be51581f Author: mbankal Date: 2011-09-14 22:36 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/1260be51581f Merge Changeset: f114bddac6d6 Author: peytoia Date: 2011-09-15 14:45 +0900 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/f114bddac6d6 7090844: Support a timezone whose offset is changed more than once in the future Reviewed-by: okutsu ! make/tools/src/build/tools/javazic/Mappings.java Changeset: 5e403e9fa34a Author: peytoia Date: 2011-09-15 15:02 +0900 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/5e403e9fa34a 7090843: (tz) Support tzdata2011j Reviewed-by: 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/iso3166.tab ! make/sun/javazic/tzdata/northamerica ! make/sun/javazic/tzdata/southamerica ! make/sun/javazic/tzdata/zone.tab ! src/share/classes/sun/util/resources/TimeZoneNames.java ! src/share/classes/sun/util/resources/TimeZoneNames_de.java ! src/share/classes/sun/util/resources/TimeZoneNames_es.java ! src/share/classes/sun/util/resources/TimeZoneNames_fr.java ! src/share/classes/sun/util/resources/TimeZoneNames_it.java ! src/share/classes/sun/util/resources/TimeZoneNames_ja.java ! src/share/classes/sun/util/resources/TimeZoneNames_ko.java ! src/share/classes/sun/util/resources/TimeZoneNames_pt_BR.java ! src/share/classes/sun/util/resources/TimeZoneNames_sv.java ! src/share/classes/sun/util/resources/TimeZoneNames_zh_CN.java ! src/share/classes/sun/util/resources/TimeZoneNames_zh_TW.java Changeset: 9281d65f911a Author: michaelm Date: 2011-09-15 13:50 +0100 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/9281d65f911a 7073491: -Dsun.net.maxDatagramSockets=1 does not work correctly with system.gc() Reviewed-by: ngmr ! src/share/classes/java/net/AbstractPlainDatagramSocketImpl.java Changeset: 34fc7bbbb465 Author: michaelm Date: 2011-09-15 14:10 +0100 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/34fc7bbbb465 Merge - src/share/classes/java/util/XMLUtils.java - src/share/classes/sun/tools/jar/JarImageSource.java Changeset: 75d763111eec Author: chegar Date: 2011-09-16 12:09 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/75d763111eec 7090158: Networking Libraries don't build with javac -Werror Summary: Minor changes to networking java files to remove warnings Reviewed-by: chegar, weijun, hawtin Contributed-by: kurchi.subhra.hazra at oracle.com, sasha_bu at hotmail.com ! make/com/sun/net/httpserver/Makefile ! make/com/sun/net/ssl/Makefile ! make/java/net/Makefile ! make/javax/Makefile ! make/javax/others/Makefile ! make/sun/net/Makefile ! make/sun/net/spi/Makefile ! make/sun/net/spi/nameservice/dns/Makefile ! src/share/classes/com/sun/net/httpserver/BasicAuthenticator.java ! src/share/classes/com/sun/net/httpserver/Headers.java ! src/share/classes/com/sun/net/httpserver/spi/HttpServerProvider.java ! src/share/classes/com/sun/net/ssl/SSLSecurity.java ! src/share/classes/com/sun/net/ssl/internal/www/protocol/https/DelegateHttpsURLConnection.java ! src/share/classes/java/net/AbstractPlainDatagramSocketImpl.java ! src/share/classes/java/net/ContentHandler.java ! src/share/classes/java/net/CookieManager.java ! src/share/classes/java/net/DatagramSocket.java ! src/share/classes/java/net/HttpURLConnection.java ! src/share/classes/java/net/Inet4Address.java ! src/share/classes/java/net/Inet4AddressImpl.java ! src/share/classes/java/net/Inet6Address.java ! src/share/classes/java/net/Inet6AddressImpl.java ! src/share/classes/java/net/MulticastSocket.java ! src/share/classes/java/net/Proxy.java ! src/share/classes/java/net/ProxySelector.java ! src/share/classes/java/net/Socket.java ! src/share/classes/java/net/SocketPermission.java ! src/share/classes/java/net/URL.java ! src/share/classes/java/net/URLClassLoader.java ! src/share/classes/java/net/URLConnection.java ! src/share/classes/javax/net/ssl/SSLServerSocketFactory.java ! src/share/classes/javax/net/ssl/SSLSocketFactory.java ! src/share/classes/sun/misc/REException.java ! src/share/classes/sun/net/TransferProtocolClient.java ! src/share/classes/sun/net/ftp/FtpClientProvider.java ! src/share/classes/sun/net/httpserver/Request.java ! src/share/classes/sun/net/httpserver/SSLStreams.java ! src/share/classes/sun/net/httpserver/ServerImpl.java ! src/share/classes/sun/net/idn/UCharacterEnums.java ! src/share/classes/sun/net/spi/nameservice/dns/DNSNameService.java ! src/share/classes/sun/net/www/HeaderParser.java ! src/share/classes/sun/net/www/MessageHeader.java ! src/share/classes/sun/net/www/MimeTable.java ! src/share/classes/sun/net/www/URLConnection.java ! src/share/classes/sun/net/www/content/image/gif.java ! src/share/classes/sun/net/www/content/image/jpeg.java ! src/share/classes/sun/net/www/content/image/png.java ! src/share/classes/sun/net/www/content/image/x_xbitmap.java ! src/share/classes/sun/net/www/content/image/x_xpixmap.java ! src/share/classes/sun/net/www/http/KeepAliveStream.java ! src/share/classes/sun/net/www/protocol/gopher/GopherClient.java ! src/share/classes/sun/net/www/protocol/http/AuthCacheImpl.java ! src/share/classes/sun/net/www/protocol/http/AuthenticationHeader.java ! src/share/classes/sun/net/www/protocol/http/HttpURLConnection.java ! src/share/classes/sun/net/www/protocol/http/Negotiator.java ! src/share/classes/sun/net/www/protocol/https/AbstractDelegateHttpsURLConnection.java ! src/share/classes/sun/net/www/protocol/https/HttpsClient.java ! src/share/classes/sun/net/www/protocol/mailto/Handler.java ! src/solaris/classes/java/net/DefaultDatagramSocketImplFactory.java ! src/solaris/classes/java/net/PlainDatagramSocketImpl.java ! src/solaris/classes/sun/net/dns/ResolverConfigurationImpl.java ! src/windows/classes/java/net/DefaultDatagramSocketImplFactory.java ! src/windows/classes/java/net/DualStackPlainDatagramSocketImpl.java ! src/windows/classes/java/net/TwoStacksPlainDatagramSocketImpl.java ! src/windows/classes/sun/net/dns/ResolverConfigurationImpl.java ! src/windows/classes/sun/net/www/protocol/jar/JarFileFactory.java Changeset: ccf2a19d7d87 Author: alanb Date: 2011-09-18 12:33 +0100 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/ccf2a19d7d87 7091935: (fs) Polling based WatchService not used on Linux Reviewed-by: forax ! make/java/nio/Makefile Changeset: 418628a08ae7 Author: darcy Date: 2011-09-18 18:14 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/418628a08ae7 7091682: Move sun.misc.FpUtils code into java.lang.Math Reviewed-by: alanb ! src/share/classes/java/lang/Double.java ! src/share/classes/java/lang/Float.java ! src/share/classes/java/lang/Math.java ! src/share/classes/java/lang/StrictMath.java ! src/share/classes/java/util/Formatter.java ! src/share/classes/sun/misc/FloatingDecimal.java ! src/share/classes/sun/misc/FormattedFloatingDecimal.java ! src/share/classes/sun/misc/FpUtils.java ! test/java/lang/Double/ToHexString.java ! test/java/lang/Math/CubeRootTests.java ! test/java/lang/Math/Expm1Tests.java ! test/java/lang/Math/HyperbolicTests.java ! test/java/lang/Math/HypotTests.java ! test/java/lang/Math/IeeeRecommendedTests.java ! test/java/lang/Math/Log10Tests.java ! test/java/lang/Math/Log1pTests.java ! test/java/lang/Math/Rint.java Changeset: e3d78fe803d4 Author: michaelm Date: 2011-09-19 15:14 +0100 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/e3d78fe803d4 7091369: DatagramSocket/Limit.java failing on 8 and 7u2 Reviewed-by: chegar, alanb ! src/windows/classes/java/net/TwoStacksPlainDatagramSocketImpl.java Changeset: 8fe6d94683af Author: weijun Date: 2011-09-20 12:40 +0800 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/8fe6d94683af 7091290: fails to build jdk8 b05 Embedded build Reviewed-by: xuelei, dholmes ! src/share/classes/org/ietf/jgss/Oid.java Changeset: c77b41652266 Author: mduigou Date: 2011-09-20 12:27 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/c77b41652266 7074264: Switches to packages tree view and adds unit tests to sources Reviewed-by: igor ! make/netbeans/README ! make/netbeans/common/closed-share-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/sample-view.ent ! make/netbeans/common/share-view.ent ! make/netbeans/common/unix-view.ent ! make/netbeans/common/windows-view.ent ! make/netbeans/j2se/nbproject/project.xml Changeset: 9b2fc8a11421 Author: darcy Date: 2011-09-20 18:33 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/9b2fc8a11421 6268216: Boolean.getBoolean() throws SecurityException Reviewed-by: mduigou ! src/share/classes/java/lang/Boolean.java ! src/share/classes/java/lang/Integer.java ! src/share/classes/java/lang/Long.java Changeset: 029ba13aa0df Author: dcubed Date: 2011-09-20 19:16 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/029ba13aa0df 7085944: 3/3 FDS: gdb does not find debug symbols for libjsig link Summary: Add support for importing .debuginfo files from HSX. Reviewed-by: phh ! make/common/Defs-linux.gmk ! make/common/Defs-solaris.gmk ! make/java/redist/Makefile ! make/java/redist/sajdi/Makefile Changeset: d177eecda07e Author: dholmes Date: 2011-09-20 22:20 -0400 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/d177eecda07e 7012206: ~20 tools tests failing due to -XX:-UsePerfData default in Java SE Embedded Summary: Explicitly enable UsePerfData for the tools that require it to be enabled Reviewed-by: alanb, ohair ! test/sun/jvmstat/perfdata/PrologSanity/PrologSizeSanityCheck.java ! test/sun/tools/common/ApplicationSetup.sh ! test/sun/tools/jinfo/Basic.sh ! test/sun/tools/jmap/Basic.sh ! test/sun/tools/jps/jps-Defaults.sh ! test/sun/tools/jps/jps-V_2.sh ! test/sun/tools/jps/jps-Vm_2.sh ! test/sun/tools/jps/jps-Vvm.sh ! test/sun/tools/jps/jps-Vvml.sh ! test/sun/tools/jps/jps-Vvml_2.sh ! test/sun/tools/jps/jps-help.sh ! test/sun/tools/jps/jps-l_1.sh ! test/sun/tools/jps/jps-l_2.sh ! test/sun/tools/jps/jps-lm.sh ! test/sun/tools/jps/jps-m.sh ! test/sun/tools/jps/jps-m_2.sh ! test/sun/tools/jps/jps-q.sh ! test/sun/tools/jps/jps-v_1.sh ! test/sun/tools/jps/jps-vm_1.sh ! test/sun/tools/jstack/Basic.sh ! test/sun/tools/jstat/jstatClassOutput1.sh ! test/sun/tools/jstat/jstatClassloadOutput1.sh ! test/sun/tools/jstat/jstatCompilerOutput1.sh ! test/sun/tools/jstat/jstatFileURITest1.sh ! test/sun/tools/jstat/jstatGcCapacityOutput1.sh ! test/sun/tools/jstat/jstatGcCauseOutput1.sh ! test/sun/tools/jstat/jstatGcNewCapacityOutput1.sh ! test/sun/tools/jstat/jstatGcNewOutput1.sh ! test/sun/tools/jstat/jstatGcOldCapacityOutput1.sh ! test/sun/tools/jstat/jstatGcOldOutput1.sh ! test/sun/tools/jstat/jstatGcOutput1.sh ! test/sun/tools/jstat/jstatGcPermCapacityOutput1.sh ! test/sun/tools/jstat/jstatHelp.sh ! test/sun/tools/jstat/jstatLineCounts1.sh ! test/sun/tools/jstat/jstatLineCounts2.sh ! test/sun/tools/jstat/jstatLineCounts3.sh ! test/sun/tools/jstat/jstatLineCounts4.sh ! test/sun/tools/jstat/jstatOptions1.sh ! test/sun/tools/jstat/jstatPrintCompilationOutput1.sh ! test/sun/tools/jstat/jstatSnap1.sh ! test/sun/tools/jstat/jstatSnap2.sh ! test/sun/tools/jstat/jstatTimeStamp1.sh ! test/sun/tools/jstatd/jstatdDefaults.sh ! test/sun/tools/jstatd/jstatdExternalRegistry.sh ! test/sun/tools/jstatd/jstatdPort.sh ! test/sun/tools/jstatd/jstatdServerName.sh Changeset: 61a8c602cace Author: michaelm Date: 2011-09-21 14:51 +0100 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/61a8c602cace 7079012: test/java/net/NetworkInterface/NetParamsTest.java fails with SocketException getting mac address Reviewed-by: chegar, alanb ! src/solaris/native/java/net/NetworkInterface.c ! test/ProblemList.txt Changeset: e7c2bf7d9d33 Author: michaelm Date: 2011-09-21 14:54 +0100 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/e7c2bf7d9d33 Merge Changeset: daf87c7be6a1 Author: weijun Date: 2011-09-22 12:05 +0800 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/daf87c7be6a1 7092627: use agentvm mode instead of samevm in regtests Reviewed-by: alanb, dsamersoff ! test/Makefile ! test/com/sun/jdi/sde/MangleStepTest.java ! test/java/util/logging/ParentLoggersTest.java Changeset: 6b6b6ee2afd9 Author: darcy Date: 2011-09-21 23:22 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/6b6b6ee2afd9 7092404: Add Math.nextDown and Double.isFinite Reviewed-by: mduigou ! src/share/classes/java/lang/Double.java ! src/share/classes/java/lang/Float.java ! src/share/classes/java/lang/Math.java ! src/share/classes/java/lang/StrictMath.java ! src/share/classes/java/util/Formatter.java ! src/share/classes/sun/misc/FpUtils.java ! test/java/lang/Double/ParseHexFloatingPoint.java ! test/java/lang/Math/CeilAndFloorTests.java ! test/java/lang/Math/CubeRootTests.java ! test/java/lang/Math/Expm1Tests.java ! test/java/lang/Math/HyperbolicTests.java ! test/java/lang/Math/HypotTests.java ! test/java/lang/Math/IeeeRecommendedTests.java ! test/java/lang/Math/Log10Tests.java ! test/java/lang/Math/Log1pTests.java ! test/java/lang/Math/Rint.java ! test/java/util/Formatter/Basic-X.java.template ! test/java/util/Formatter/BasicBigDecimal.java ! test/java/util/Formatter/BasicBigInteger.java ! test/java/util/Formatter/BasicBoolean.java ! test/java/util/Formatter/BasicBooleanObject.java ! test/java/util/Formatter/BasicByte.java ! test/java/util/Formatter/BasicByteObject.java ! test/java/util/Formatter/BasicChar.java ! test/java/util/Formatter/BasicCharObject.java ! test/java/util/Formatter/BasicDateTime.java ! test/java/util/Formatter/BasicDouble.java ! test/java/util/Formatter/BasicDoubleObject.java ! test/java/util/Formatter/BasicFloat.java ! test/java/util/Formatter/BasicFloatObject.java ! test/java/util/Formatter/BasicInt.java ! test/java/util/Formatter/BasicIntObject.java ! test/java/util/Formatter/BasicLong.java ! test/java/util/Formatter/BasicLongObject.java ! test/java/util/Formatter/BasicShort.java ! test/java/util/Formatter/BasicShortObject.java Changeset: 8dab38c07b6b Author: dl Date: 2011-09-23 14:24 +0100 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/8dab38c07b6b 7091003: ScheduledExecutorService never executes Runnable with corePoolSize of zero Reviewed-by: dholmes, chegar ! src/share/classes/java/util/concurrent/ScheduledThreadPoolExecutor.java ! src/share/classes/java/util/concurrent/ThreadPoolExecutor.java + test/java/util/concurrent/ScheduledThreadPoolExecutor/ZeroCorePoolSize.java Changeset: 651a7afae763 Author: lana Date: 2011-09-23 23:29 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/651a7afae763 Merge Changeset: 2116952e4459 Author: weijun Date: 2011-09-26 17:13 +0800 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/2116952e4459 7094842: test/javax/security/auth/Subject/{Synch.java,Synch2.java,Synch3.java} loop forever in agentvm mode Reviewed-by: alanb ! test/javax/security/auth/Subject/Synch.java ! test/javax/security/auth/Subject/Synch2.java ! test/javax/security/auth/Subject/Synch3.java Changeset: 8876d1dec4d7 Author: chegar Date: 2011-09-26 15:04 +0100 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/8876d1dec4d7 7094141: test/sun/misc/JarIndex/metaInfFilenames/Basic.java no longer compiles Reviewed-by: alanb ! test/sun/misc/JarIndex/metaInfFilenames/Basic.java Changeset: 1c825eac6c04 Author: lana Date: 2011-09-26 14:32 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/1c825eac6c04 Merge - src/share/classes/java/util/XMLUtils.java - src/share/classes/sun/tools/jar/JarImageSource.java Changeset: f38b39ed9ed0 Author: lana Date: 2011-10-03 18:26 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/f38b39ed9ed0 Merge - src/share/classes/java/util/XMLUtils.java - src/share/classes/sun/tools/jar/JarImageSource.java - src/share/native/sun/awt/libpng/pnggccrd.c - src/share/native/sun/awt/libpng/pngvcrd.c Changeset: 3b59f4bc8046 Author: never Date: 2011-09-07 21:05 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/3b59f4bc8046 7082631: JSR 292: need profiling support in GWTs Summary: add CountingMethodHandle Reviewed-by: twisti, jrose ! src/share/classes/java/lang/invoke/AdapterMethodHandle.java + src/share/classes/java/lang/invoke/CountingMethodHandle.java ! src/share/classes/java/lang/invoke/MethodHandleImpl.java ! src/share/classes/java/lang/invoke/MethodHandleNatives.java Changeset: 7b9a0c75f5d9 Author: jcoomes Date: 2011-09-30 17:20 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/7b9a0c75f5d9 Merge Changeset: 1c023bcd0c5a Author: jcoomes Date: 2011-10-04 12:39 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/1c023bcd0c5a Merge - src/share/classes/java/util/XMLUtils.java - src/share/classes/sun/tools/jar/JarImageSource.java - src/share/native/sun/awt/libpng/pnggccrd.c - src/share/native/sun/awt/libpng/pngvcrd.c Changeset: f1ec21b81421 Author: katleman Date: 2011-10-06 14:01 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/f1ec21b81421 Added tag jdk8-b08 for changeset 1c023bcd0c5a ! .hgtags Changeset: 7539cc99befe Author: katleman Date: 2011-10-13 10:35 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/7539cc99befe Added tag jdk8-b09 for changeset f1ec21b81421 ! .hgtags Changeset: 1be72d104f9b Author: dbuck Date: 2011-09-26 15:40 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/1be72d104f9b 7029903: Splash screen is not shown in 64-bit Linux with 16-bit color depth Summary: Added Xflush() call after splash screen is updated to ensure update is no stuck in client side buffer until JVM starts up. See JET review request 4154 for details. Reviewed-by: kevinw, anthony ! src/solaris/native/sun/awt/splashscreen/splashscreen_sys.c Changeset: cfe25bac6951 Author: bagiras Date: 2011-09-27 13:38 +0400 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/cfe25bac6951 7073337: Crash after playing Java game on Pogo Reviewed-by: art, uta ! src/windows/classes/sun/awt/windows/WComponentPeer.java ! src/windows/native/sun/windows/awt_Component.cpp ! src/windows/native/sun/windows/awt_Component.h ! src/windows/native/sun/windows/awt_Toolkit.cpp ! src/windows/native/sun/windows/awt_Toolkit.h Changeset: fcdb588d77ef Author: rupashka Date: 2011-10-05 18:21 +0400 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/fcdb588d77ef 7072167: The "root" field in BufferStrategyPaintManager leaks memory Reviewed-by: alexp ! src/share/classes/javax/swing/BufferStrategyPaintManager.java Changeset: 98901d41e1e2 Author: rupashka Date: 2011-10-11 15:22 +0400 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/98901d41e1e2 7076791: closed/javax/swing/JColorChooser/Test6827032.java failed on windows Reviewed-by: rupashka Contributed-by: alexandr.scherbatiy at oracle.com + test/javax/swing/JColorChooser/Test6827032.java ! test/javax/swing/regtesthelpers/Util.java Changeset: 58190ab77d2e Author: lana Date: 2011-10-12 12:25 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/58190ab77d2e Merge Changeset: 7f1aca641910 Author: chegar Date: 2011-09-26 11:48 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/7f1aca641910 7084030: DatagramSocket.getLocalAddress inconsistent on XP/2003 when IPv6 enabled and socket is connected Summary: Use family of connected IP address to retrieve desired local address of the datagram socket Reviewed-by: chegar Contributed-by: kurchi.subhra.hazra at oracle.com ! src/share/classes/java/net/AbstractPlainDatagramSocketImpl.java ! src/windows/classes/java/net/TwoStacksPlainDatagramSocketImpl.java ! src/windows/native/java/net/TwoStacksPlainDatagramSocketImpl.c + test/java/net/DatagramSocket/ChangingAddress.java Changeset: 62e1389fdb0a Author: mullan Date: 2011-09-26 17:20 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/62e1389fdb0a 7088502: Security libraries don't build with javac -Werror Summary: Changes to files in src/share/classes/com/sun/org/apache/xml/internal/security and its subpackages to remove warnings Reviewed-by: mullan Contributed-by: kurchi.subhra.hazra at oracle.com ! make/com/sun/org/apache/xml/Makefile ! src/share/classes/com/sun/org/apache/xml/internal/security/Init.java ! src/share/classes/com/sun/org/apache/xml/internal/security/algorithms/JCEMapper.java ! src/share/classes/com/sun/org/apache/xml/internal/security/algorithms/MessageDigestAlgorithm.java ! src/share/classes/com/sun/org/apache/xml/internal/security/algorithms/SignatureAlgorithm.java ! src/share/classes/com/sun/org/apache/xml/internal/security/c14n/Canonicalizer.java ! src/share/classes/com/sun/org/apache/xml/internal/security/c14n/CanonicalizerSpi.java ! src/share/classes/com/sun/org/apache/xml/internal/security/c14n/helper/AttrCompare.java ! src/share/classes/com/sun/org/apache/xml/internal/security/c14n/implementations/Canonicalizer11.java ! src/share/classes/com/sun/org/apache/xml/internal/security/c14n/implementations/Canonicalizer20010315.java ! src/share/classes/com/sun/org/apache/xml/internal/security/c14n/implementations/Canonicalizer20010315Excl.java ! src/share/classes/com/sun/org/apache/xml/internal/security/c14n/implementations/CanonicalizerBase.java ! src/share/classes/com/sun/org/apache/xml/internal/security/c14n/implementations/NameSpaceSymbTable.java ! src/share/classes/com/sun/org/apache/xml/internal/security/c14n/implementations/UtfHelpper.java ! src/share/classes/com/sun/org/apache/xml/internal/security/encryption/AgreementMethod.java ! src/share/classes/com/sun/org/apache/xml/internal/security/encryption/EncryptionMethod.java ! src/share/classes/com/sun/org/apache/xml/internal/security/encryption/EncryptionProperties.java ! src/share/classes/com/sun/org/apache/xml/internal/security/encryption/EncryptionProperty.java ! src/share/classes/com/sun/org/apache/xml/internal/security/encryption/Reference.java ! src/share/classes/com/sun/org/apache/xml/internal/security/encryption/ReferenceList.java ! src/share/classes/com/sun/org/apache/xml/internal/security/encryption/XMLCipher.java ! src/share/classes/com/sun/org/apache/xml/internal/security/keys/KeyInfo.java ! src/share/classes/com/sun/org/apache/xml/internal/security/keys/keyresolver/KeyResolver.java ! src/share/classes/com/sun/org/apache/xml/internal/security/keys/keyresolver/KeyResolverSpi.java ! src/share/classes/com/sun/org/apache/xml/internal/security/keys/keyresolver/implementations/RetrievalMethodResolver.java ! src/share/classes/com/sun/org/apache/xml/internal/security/keys/storage/StorageResolver.java ! src/share/classes/com/sun/org/apache/xml/internal/security/keys/storage/StorageResolverSpi.java ! src/share/classes/com/sun/org/apache/xml/internal/security/keys/storage/implementations/CertsInFilesystemDirectoryResolver.java ! src/share/classes/com/sun/org/apache/xml/internal/security/keys/storage/implementations/KeyStoreResolver.java ! src/share/classes/com/sun/org/apache/xml/internal/security/keys/storage/implementations/SingleCertificateResolver.java ! src/share/classes/com/sun/org/apache/xml/internal/security/signature/Manifest.java ! src/share/classes/com/sun/org/apache/xml/internal/security/signature/Reference.java ! src/share/classes/com/sun/org/apache/xml/internal/security/signature/XMLSignatureInput.java ! src/share/classes/com/sun/org/apache/xml/internal/security/signature/XMLSignatureInputDebugger.java ! src/share/classes/com/sun/org/apache/xml/internal/security/transforms/Transform.java ! src/share/classes/com/sun/org/apache/xml/internal/security/transforms/TransformSpi.java ! src/share/classes/com/sun/org/apache/xml/internal/security/transforms/implementations/FuncHere.java ! src/share/classes/com/sun/org/apache/xml/internal/security/transforms/implementations/TransformXPath2Filter.java ! src/share/classes/com/sun/org/apache/xml/internal/security/transforms/implementations/TransformXSLT.java ! src/share/classes/com/sun/org/apache/xml/internal/security/transforms/params/InclusiveNamespaces.java ! src/share/classes/com/sun/org/apache/xml/internal/security/utils/CachedXPathAPIHolder.java ! src/share/classes/com/sun/org/apache/xml/internal/security/utils/CachedXPathFuncHereAPI.java ! src/share/classes/com/sun/org/apache/xml/internal/security/utils/ElementProxy.java ! src/share/classes/com/sun/org/apache/xml/internal/security/utils/HelperNodeList.java ! src/share/classes/com/sun/org/apache/xml/internal/security/utils/IdResolver.java ! src/share/classes/com/sun/org/apache/xml/internal/security/utils/UnsyncBufferedOutputStream.java ! src/share/classes/com/sun/org/apache/xml/internal/security/utils/UnsyncByteArrayOutputStream.java ! src/share/classes/com/sun/org/apache/xml/internal/security/utils/XMLUtils.java ! src/share/classes/com/sun/org/apache/xml/internal/security/utils/resolver/ResourceResolver.java ! src/share/classes/com/sun/org/apache/xml/internal/security/utils/resolver/ResourceResolverSpi.java ! src/share/classes/com/sun/org/apache/xml/internal/security/utils/resolver/implementations/ResolverDirectHTTP.java Changeset: 79582fcc8329 Author: weijun Date: 2011-09-28 14:21 +0800 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/79582fcc8329 7089889: Krb5LoginModule.login() throws an exception if used without a keytab Reviewed-by: xuelei, valeriep ! src/share/classes/com/sun/security/auth/module/Krb5LoginModule.java ! src/share/classes/sun/security/krb5/KrbAsReqBuilder.java + test/sun/security/krb5/auto/NoInitNoKeytab.java Changeset: 9b951304bd0a Author: weijun Date: 2011-09-28 14:21 +0800 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/9b951304bd0a 7077640: gss wrap for cfx doesn't handle rrc != 0 Reviewed-by: valeriep ! src/share/classes/sun/security/jgss/krb5/MessageToken_v2.java ! test/sun/security/krb5/auto/Context.java + test/sun/security/krb5/auto/RRC.java Changeset: 8d88e694441c Author: weijun Date: 2011-09-28 14:21 +0800 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/8d88e694441c 7077646: gssapi wrap for CFX per-message tokens always set FLAG_ACCEPTOR_SUBKEY Reviewed-by: valeriep ! src/share/classes/sun/security/jgss/krb5/AcceptSecContextToken.java ! src/share/classes/sun/security/jgss/krb5/InitSecContextToken.java ! src/share/classes/sun/security/jgss/krb5/Krb5Context.java ! src/share/classes/sun/security/jgss/krb5/MessageToken_v2.java + test/sun/security/krb5/auto/AcceptorSubKey.java Changeset: 74f5fef1d961 Author: chegar Date: 2011-10-04 13:48 +0100 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/74f5fef1d961 6953455: CookieStore.add() cannot handle null URI parameter, contrary to the API Reviewed-by: chegar, mduigou Contributed-by: kurchi.subhra.hazra at oracle.com ! src/share/classes/java/net/InMemoryCookieStore.java + test/java/net/CookieHandler/NullUriCookieTest.java Changeset: 24741fe639a8 Author: chegar Date: 2011-10-04 16:37 +0100 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/24741fe639a8 7095949: java/net/URLConnection/RedirectLimit.java and Redirect307Test fail intermittently Reviewed-by: alanb ! test/java/net/URLConnection/Redirect307Test.java ! test/java/net/URLConnection/RedirectLimit.java Changeset: 2bc80ba6f4a4 Author: okutsu Date: 2011-10-05 15:13 +0900 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/2bc80ba6f4a4 7092679: (tz) Java getting wrong timezone/DST info on Solaris 11 6984762: Invalid close of file descriptor '-1' in findZoneinfoFile Reviewed-by: coffeys, ohair, naoto, peytoia ! make/common/Defs-linux.gmk ! make/common/Defs-solaris.gmk ! make/java/java/Makefile ! src/solaris/native/java/util/TimeZone_md.c Changeset: ff5e57dc1fb3 Author: chegar Date: 2011-10-06 12:15 +0100 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/ff5e57dc1fb3 7090499: missing rawtypes warnings in anonymous inner class Summary: Fix anonymous inner classes with raw types currently being built in the jdk with -Werror Reviewed-by: mcimadamore, alanb ! src/share/classes/java/net/DatagramSocket.java ! src/share/classes/sun/net/www/protocol/http/HttpURLConnection.java ! src/share/classes/sun/security/pkcs11/SunPKCS11.java Changeset: b8a1d30d6c65 Author: naoto Date: 2011-10-06 17:40 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/b8a1d30d6c65 7098394: JDK8 TL repo build fails in src/solaris/native/java/util/TimeZone_md.c Reviewed-by: chegar ! src/solaris/native/java/util/TimeZone_md.c Changeset: 2edaef22de23 Author: vinnie Date: 2011-10-07 14:09 +0100 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/2edaef22de23 7094377: Com.sun.jndi.ldap.read.timeout doesn't work with ldaps. Reviewed-by: chegar ! src/share/classes/com/sun/jndi/ldap/Connection.java + test/com/sun/jndi/ldap/LdapsReadTimeoutTest.java Changeset: 1e89a13d9d8f Author: chegar Date: 2011-10-10 10:38 +0100 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/1e89a13d9d8f 7098719: -Dsun.net.maxDatagramSockets and Socket constructor does not work correctly with System.gc() Reviewed-by: michaelm ! src/share/classes/java/net/AbstractPlainSocketImpl.java ! src/windows/classes/java/net/TwoStacksPlainDatagramSocketImpl.java ! src/windows/classes/java/net/TwoStacksPlainSocketImpl.java Changeset: 2a36b8741363 Author: chegar Date: 2011-10-10 15:29 +0100 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/2a36b8741363 7098755: test/sun/misc/JarIndex/metaInfFilenames/Basic.java should use supported compiler interface Reviewed-by: mcimadamore ! test/sun/misc/JarIndex/metaInfFilenames/Basic.java Changeset: dd55467dd1f2 Author: ngmr Date: 2011-10-10 14:50 +0100 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/dd55467dd1f2 7099119: Remove unused dlinfo local variable in launcher code Reviewed-by: ohair, chegar, ngmr Contributed-by: Steve Poole ! src/solaris/bin/java_md.c Changeset: 5f336e0d4d97 Author: ngmr Date: 2011-10-10 16:13 +0100 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/5f336e0d4d97 Merge Changeset: 5bfe2de1157b Author: chegar Date: 2011-10-11 12:06 +0100 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/5bfe2de1157b 7099488: TwoStacksPlainSocketImpl should invoke super.create(stream), typo in fix for 7098719 Reviewed-by: coffeys ! src/share/classes/java/net/AbstractPlainSocketImpl.java ! src/windows/classes/java/net/TwoStacksPlainSocketImpl.java Changeset: ffa762153af4 Author: xuelei Date: 2011-09-28 15:10 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/ffa762153af4 7092375: Security Libraries don't build with javac -Werror Summary: Changes to security related java and make files to remove warnings Reviewed-by: xuelei Contributed-by: kurchi.subhra.hazra at oracle.com ! make/java/security/Makefile ! make/javax/Makefile ! make/javax/others/Makefile + make/javax/security/Makefile ! make/org/ietf/jgss/Makefile ! make/sun/security/other/Makefile ! src/share/classes/java/security/Signature.java ! src/share/classes/javax/security/auth/PrivateCredentialPermission.java ! src/share/classes/javax/security/auth/Subject.java ! src/share/classes/javax/security/auth/SubjectDomainCombiner.java ! src/share/classes/javax/security/auth/kerberos/DelegationPermission.java ! src/share/classes/javax/security/auth/kerberos/ServicePermission.java ! src/share/classes/javax/security/auth/login/LoginContext.java ! src/share/classes/javax/security/auth/x500/X500Principal.java ! src/share/classes/javax/security/cert/CertificateEncodingException.java ! src/share/classes/javax/security/cert/CertificateException.java ! src/share/classes/javax/security/cert/CertificateExpiredException.java ! src/share/classes/javax/security/cert/CertificateNotYetValidException.java ! src/share/classes/javax/security/cert/CertificateParsingException.java ! src/share/classes/javax/security/cert/X509Certificate.java ! src/share/classes/javax/security/sasl/Sasl.java ! src/share/classes/javax/smartcardio/TerminalFactory.java ! src/share/classes/sun/security/ec/ECPublicKeyImpl.java ! src/share/classes/sun/security/validator/PKIXValidator.java ! src/share/classes/sun/security/validator/SimpleValidator.java ! src/share/classes/sun/security/x509/X509CertImpl.java Changeset: 829c3a8d23fa Author: naoto Date: 2011-10-12 12:12 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/829c3a8d23fa 7027061: Testcase failure: java/util/Locale/Bug6989440.java - java.util.ConcurrentModificationException Reviewed-by: dholmes, chegar ! src/share/classes/sun/util/LocaleServiceProviderPool.java ! test/java/util/Locale/Bug6989440.java Changeset: eac5d48a6c8e Author: lana Date: 2011-10-12 12:26 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/eac5d48a6c8e Merge Changeset: 4788745572ef Author: lana Date: 2011-10-17 19:06 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/4788745572ef Merge Changeset: 7ab0d613cd1a Author: katleman Date: 2011-10-20 10:32 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/7ab0d613cd1a Added tag jdk8-b10 for changeset 4788745572ef ! .hgtags Changeset: 9de1dbf8c9be Author: lana Date: 2011-10-26 17:59 -0700 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/9de1dbf8c9be Merge - src/share/classes/java/util/XMLUtils.java - src/share/classes/sun/tools/jar/JarImageSource.java From neil.richards at ngmr.net Thu Oct 27 16:53:58 2011 From: neil.richards at ngmr.net (Neil Richards) Date: Thu, 27 Oct 2011 17:53:58 +0100 Subject: [OpenJDK 2D-Dev] Request for review: [NEW BUG] Printer spoolers ignore result from spool process In-Reply-To: <4EA0CDD7.6010304@oracle.com> References: <1319137010.5671.116.camel@chalkhill> <4EA0747E.4090105@oracle.com> <4EA078C1.4040803@oracle.com> <4EA0CDD7.6010304@oracle.com> Message-ID: <1319734438.14435.71.camel@chalkhill> On Thu, 2011-10-20 at 18:41 -0700, Phil Race wrote: > > PS you may want to look at your indentation. It appears inconsistent. > > Always use exactly 4 spaces for indentation. > > > > -phil. > > > > On 10/20/2011 12:20 PM, Phil Race wrote: > >> Neil, > >> > >> You are throwing an IOException and we already have the code to catch > >> that and re-throw as the documented printer exception type, and also > >> the event should > >> get notified to any listeners. So far so good. > >> > >> But you are throwing the IOException before calling > >> spoolFile.delete() so we'll leak > >> the spool file. > >> Arguably that could happen anyway if there were an Exception but that > >> was > >> probably not occurring previously. > >> > >> I suggest either to move the spoolfile.delete() to *before* the > >> handleError call > >> or into a finally { } block. > >> > >> -phil. Hi Phil, Thanks for taking a look at my suggestion. I agree that the existing code does run the risk of leaking the spool file (in exceptional circumstances), and that my change exacerbates that risk. I've modified the suggested fix (in both places) to move the delete() call to a finally block. (This also meant moving the initial check for the spool file's existence to before the 'try' block.) I've uploaded the resulting webrev for review [1]. ---- For coding conventions, the current OpenJDK Developer's Guide [2] still points to the "Code Conventions for the Java Programming Language" [3]. In that document, in section 7.2 "Compound Statements", it gives the following guidance on the placement of braces: * The enclosed statements should be indented one more level than the compound statement. * The opening brace should be at the end of the line that begins the compound statement; the closing brace should begin a line and be indented to the beginning of the compound statement. * Braces are used around all statements, even singletons, when they are part of a control structure, such as a if-else or for statement. This makes it easier to add statements without accidentally introducing bugs due to forgetting to add braces. I believe the code in my suggested fix consistently follows this guidance in this respect. Also in that document, in section 4.2 "Wrapping lines", it gives the following guidance on the breaking of an expression across lines: When an expression will not fit on a single line, break it according to these general principles: * Break after a comma. * Break before an operator. * Prefer higher-level breaks to lower-level breaks. * Align the new line with the beginning of the expression at the same level on the previous line. * If the above rules lead to confusing code or to code that?s squished up against the right margin, just indent 8 spaces instead. Note that the 'try ( ... ) {' statements associated with automatic resource management count as a single expression, and therefore are subject to these guidelines. "Aligning the new line with the beginning of the expression at the same level on the previous line" (4th bullet) would, in these cases, lead to "confusing code" (5th bullet) as it would be indented almost identically to the code within the try block (5 spaces vs. 4). Therefore, I chose to follow the guidelines of the 5th bullet and "just indent 8 spaces instead". To avoid the parameters to 'handleProcessFailure()' from being "squished up against the right margin", I similarly chose to follow the guidelines of the 5th bullet. So I believe the code in my suggested fix consistently follows the convention's guidelines in this respect. (On all other lines, four spaces are used as the unit of indentation, as specified in section 4 of the same document). If there is some later documented and agreed coding convention that I should be following in preference to the one I (and the OpenJDK's Developer's Guide) refer to, I'd be most grateful if you could point me in its direction. Thanks, Neil [1] http://cr.openjdk.java.net/~ngmr/ojdk-201/webrev.03/ [2] http://openjdk.java.net/guide/codeConventions.html [3] http://www.oracle.com/technetwork/java/codeconventions-150003.pdf -- Unless stated above: IBM email: neil_richards at uk.ibm.com IBM United Kingdom Limited - Registered in England and Wales with number 741598. Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 3AU From philip.race at oracle.com Thu Oct 27 18:10:46 2011 From: philip.race at oracle.com (Phil Race) Date: Thu, 27 Oct 2011 11:10:46 -0700 Subject: [OpenJDK 2D-Dev] Request for review: [NEW BUG] Printer spoolers ignore result from spool process In-Reply-To: <1319734438.14435.71.camel@chalkhill> References: <1319137010.5671.116.camel@chalkhill> <4EA0747E.4090105@oracle.com> <4EA078C1.4040803@oracle.com> <4EA0CDD7.6010304@oracle.com> <1319734438.14435.71.camel@chalkhill> Message-ID: <4EA99EA6.1010407@oracle.com> Looks fine to me. Jennifer, can you also review ? I've filed 7105640: Unix printing does not check the result of exec'd lpr/lp command The reason I commented on the formatting is that the indentation seemed to have so much variation I thought you were using tabs. Aesthetically I'd have done it a little differently, even if the guidelines allow what you have here. But I am not going to quibble over it. -phil. On 10/27/2011 9:53 AM, Neil Richards wrote: > On Thu, 2011-10-20 at 18:41 -0700, Phil Race wrote: >>> PS you may want to look at your indentation. It appears inconsistent. >>> Always use exactly 4 spaces for indentation. >>> >>> -phil. >>> >>> On 10/20/2011 12:20 PM, Phil Race wrote: >>>> Neil, >>>> >>>> You are throwing an IOException and we already have the code to catch >>>> that and re-throw as the documented printer exception type, and also >>>> the event should >>>> get notified to any listeners. So far so good. >>>> >>>> But you are throwing the IOException before calling >>>> spoolFile.delete() so we'll leak >>>> the spool file. >>>> Arguably that could happen anyway if there were an Exception but that >>>> was >>>> probably not occurring previously. >>>> >>>> I suggest either to move the spoolfile.delete() to *before* the >>>> handleError call >>>> or into a finally { } block. >>>> >>>> -phil. > Hi Phil, > Thanks for taking a look at my suggestion. > > I agree that the existing code does run the risk of leaking the spool > file (in exceptional circumstances), and that my change exacerbates that > risk. > > I've modified the suggested fix (in both places) to move the delete() > call to a finally block. > (This also meant moving the initial check for the spool file's existence > to before the 'try' block.) > I've uploaded the resulting webrev for review [1]. > > ---- > > For coding conventions, the current OpenJDK Developer's Guide [2] still > points to the "Code Conventions for the Java Programming Language" [3]. > > > In that document, in section 7.2 "Compound Statements", it gives the > following guidance on the placement of braces: > > * The enclosed statements should be indented one more > level than the compound statement. > * The opening brace should be at the end of the line that > begins the compound statement; the closing brace should > begin a line and be indented to the beginning of the > compound statement. > * Braces are used around all statements, even singletons, > when they are part of a control structure, such as a > if-else or for statement. This makes it easier to add > statements without accidentally introducing bugs due to > forgetting to add braces. > > I believe the code in my suggested fix consistently follows this > guidance in this respect. > > > Also in that document, in section 4.2 "Wrapping lines", it gives the > following guidance on the breaking of an expression across lines: > > When an expression will not fit on a single line, break it > according to these general principles: > * Break after a comma. > * Break before an operator. > * Prefer higher-level breaks to lower-level breaks. > * Align the new line with the beginning of the expression > at the same level on the previous line. > * If the above rules lead to confusing code or to code > that?s squished up against the right margin, just indent > 8 spaces instead. > > Note that the 'try ( ... ) {' statements associated with automatic > resource management count as a single expression, and therefore are > subject to these guidelines. > > "Aligning the new line with the beginning of the expression at the same > level on the previous line" (4th bullet) would, in these cases, lead to > "confusing code" (5th bullet) as it would be indented almost identically > to the code within the try block (5 spaces vs. 4). > Therefore, I chose to follow the guidelines of the 5th bullet and "just > indent 8 spaces instead". > > To avoid the parameters to 'handleProcessFailure()' from being "squished > up against the right margin", I similarly chose to follow the guidelines > of the 5th bullet. > > So I believe the code in my suggested fix consistently follows the > convention's guidelines in this respect. > > > (On all other lines, four spaces are used as the unit of indentation, as > specified in section 4 of the same document). > > > If there is some later documented and agreed coding convention that I > should be following in preference to the one I (and the OpenJDK's > Developer's Guide) refer to, I'd be most grateful if you could point me > in its direction. > > Thanks, Neil > > [1] http://cr.openjdk.java.net/~ngmr/ojdk-201/webrev.03/ > [2] http://openjdk.java.net/guide/codeConventions.html > [3] http://www.oracle.com/technetwork/java/codeconventions-150003.pdf > From jennifer.godinez at oracle.com Thu Oct 27 18:57:18 2011 From: jennifer.godinez at oracle.com (Jennifer Godinez) Date: Thu, 27 Oct 2011 11:57:18 -0700 Subject: [OpenJDK 2D-Dev] Request for review: [NEW BUG] Printer spoolers ignore result from spool process In-Reply-To: <4EA99EA6.1010407@oracle.com> References: <1319137010.5671.116.camel@chalkhill> <4EA0747E.4090105@oracle.com> <4EA078C1.4040803@oracle.com> <4EA0CDD7.6010304@oracle.com> <1319734438.14435.71.camel@chalkhill> <4EA99EA6.1010407@oracle.com> Message-ID: <4EA9A98E.6090202@oracle.com> Hi Neil, Looks good to me. Please use the created bug ID for the comment. No need to send new webrev for that though. Jennifer Phil Race wrote: > Looks fine to me. Jennifer, can you also review ? > > I've filed 7105640: Unix printing does not check the result of exec'd > lpr/lp command > > The reason I commented on the formatting is that the indentation > seemed to have > so much variation I thought you were using tabs. Aesthetically I'd > have done it a > little differently, even if the guidelines allow what you have here. > But I am not > going to quibble over it. > > -phil. > > On 10/27/2011 9:53 AM, Neil Richards wrote: >> On Thu, 2011-10-20 at 18:41 -0700, Phil Race wrote: >>>> PS you may want to look at your indentation. It appears inconsistent. >>>> Always use exactly 4 spaces for indentation. >>>> >>>> -phil. >>>> >>>> On 10/20/2011 12:20 PM, Phil Race wrote: >>>>> Neil, >>>>> >>>>> You are throwing an IOException and we already have the code to catch >>>>> that and re-throw as the documented printer exception type, and also >>>>> the event should >>>>> get notified to any listeners. So far so good. >>>>> >>>>> But you are throwing the IOException before calling >>>>> spoolFile.delete() so we'll leak >>>>> the spool file. >>>>> Arguably that could happen anyway if there were an Exception but that >>>>> was >>>>> probably not occurring previously. >>>>> >>>>> I suggest either to move the spoolfile.delete() to *before* the >>>>> handleError call >>>>> or into a finally { } block. >>>>> >>>>> -phil. >> Hi Phil, >> Thanks for taking a look at my suggestion. >> >> I agree that the existing code does run the risk of leaking the spool >> file (in exceptional circumstances), and that my change exacerbates that >> risk. >> >> I've modified the suggested fix (in both places) to move the delete() >> call to a finally block. >> (This also meant moving the initial check for the spool file's existence >> to before the 'try' block.) >> I've uploaded the resulting webrev for review [1]. >> >> ---- >> >> For coding conventions, the current OpenJDK Developer's Guide [2] still >> points to the "Code Conventions for the Java Programming Language" [3]. >> >> >> In that document, in section 7.2 "Compound Statements", it gives the >> following guidance on the placement of braces: >> >> * The enclosed statements should be indented one more >> level than the compound statement. >> * The opening brace should be at the end of the line that >> begins the compound statement; the closing brace should >> begin a line and be indented to the beginning of the >> compound statement. >> * Braces are used around all statements, even singletons, >> when they are part of a control structure, such as a >> if-else or for statement. This makes it easier to add >> statements without accidentally introducing bugs due to >> forgetting to add braces. >> >> I believe the code in my suggested fix consistently follows this >> guidance in this respect. >> >> >> Also in that document, in section 4.2 "Wrapping lines", it gives the >> following guidance on the breaking of an expression across lines: >> >> When an expression will not fit on a single line, break it >> according to these general principles: >> * Break after a comma. >> * Break before an operator. >> * Prefer higher-level breaks to lower-level breaks. >> * Align the new line with the beginning of the expression >> at the same level on the previous line. >> * If the above rules lead to confusing code or to code >> that?s squished up against the right margin, just >> indent >> 8 spaces instead. >> >> Note that the 'try ( ... ) {' statements associated with automatic >> resource management count as a single expression, and therefore are >> subject to these guidelines. >> >> "Aligning the new line with the beginning of the expression at the same >> level on the previous line" (4th bullet) would, in these cases, lead to >> "confusing code" (5th bullet) as it would be indented almost identically >> to the code within the try block (5 spaces vs. 4). >> Therefore, I chose to follow the guidelines of the 5th bullet and "just >> indent 8 spaces instead". >> >> To avoid the parameters to 'handleProcessFailure()' from being "squished >> up against the right margin", I similarly chose to follow the guidelines >> of the 5th bullet. >> >> So I believe the code in my suggested fix consistently follows the >> convention's guidelines in this respect. >> >> >> (On all other lines, four spaces are used as the unit of indentation, as >> specified in section 4 of the same document). >> >> >> If there is some later documented and agreed coding convention that I >> should be following in preference to the one I (and the OpenJDK's >> Developer's Guide) refer to, I'd be most grateful if you could point me >> in its direction. >> >> Thanks, Neil >> >> [1] http://cr.openjdk.java.net/~ngmr/ojdk-201/webrev.03/ >> [2] http://openjdk.java.net/guide/codeConventions.html >> [3] http://www.oracle.com/technetwork/java/codeconventions-150003.pdf >> > From neil.richards at ngmr.net Fri Oct 28 09:35:57 2011 From: neil.richards at ngmr.net (neil.richards at ngmr.net) Date: Fri, 28 Oct 2011 09:35:57 +0000 Subject: [OpenJDK 2D-Dev] hg: jdk8/2d/jdk: 7105640: Unix printing does not check the result of exec'd lpr/lp command Message-ID: <20111028093626.BBC41471AF@hg.openjdk.java.net> Changeset: 76defa20906a Author: ngmr Date: 2011-09-23 15:18 +0100 URL: http://hg.openjdk.java.net/jdk8/2d/jdk/rev/76defa20906a 7105640: Unix printing does not check the result of exec'd lpr/lp command Summary: Add checking, exception for spool process failure Reviewed-by: prr, jgodinez Contributed-by: Neil Richards ! src/share/classes/sun/print/PSPrinterJob.java ! src/solaris/classes/sun/print/UnixPrintJob.java