RFR: 8035424: (reflect) Performance problem in sun.reflect.generics.parser.SignatureParser

Peter Levart peter.levart at gmail.com
Wed Nov 30 15:31:47 UTC 2016


Hi Max,

On 11/30/2016 01:44 PM, Max Kanat-Alexander wrote:
> For what it's worth, this looks good to me too. :-)
>
> The name "mark" is a bit confusing, as are all the methods with the 
> word "mark" in it; I have to think for a moment about what each of 
> them do. Perhaps identifierStart would be better or something, along 
> with setIdentifierStart()?

I borrowed the name from java.io.InputStream::mark() which likewise 
"remembers" current read position of the stream. The InputStream uses 
the remembered position so it can reset() current position to it, while 
the parser uses the remembered position so it can return the subsequence 
of input from markToCurrent().

> Also, "skipIdentifier" is a bit confusing, perhaps that means 
> advanceToNextIdentifier?

The semantics of the method is to parse the following input as an 
identifier, but not give anything back as a result besides moving 
current position past the parsed identifier (hence the prefix "skip").  
After this method returns, the parser is typically not positioned at the 
start of next identifier, but at some delimiter, so 
"advanceToNextIdentifier" would mean something completely different. I 
think the name is right for what it means.

Regards, Peter

>
> On Wed, Nov 30, 2016 at 6:41 AM, Claes Redestad 
> <claes.redestad at oracle.com <mailto:claes.redestad at oracle.com>> wrote:
>
>     +1
>
>     Found a reference to getNext in a comment that should be removed,
>     no re-review required.
>
>     /Claes
>
>
>     On 2016-11-30 12:36, Peter Levart wrote:
>
>         Here's a webrev incorporating both suggestions. All 73
>         java/jang/reflect jtreg tests are passing...
>
>         http://cr.openjdk.java.net/~plevart/jdk9-dev/8035424_SignatureParser.performance/webrev.03/
>         <http://cr.openjdk.java.net/%7Eplevart/jdk9-dev/8035424_SignatureParser.performance/webrev.03/>
>
>
>         Regards, Peter
>
>
>



More information about the core-libs-dev mailing list