@Param support for enum
Joe Kearney
mail at joekearney.co.uk
Mon Jun 9 21:34:32 UTC 2014
Sorry that wasn't clear - no the typo-fix seemed to break a test, but I
can't reproduce it now. I think Eclipse did something funny with the
compiled classes while maven was running.
All tests pass now, patch for the state field annotation validation typo
bug is attached.
On 9 June 2014 22:27, Aleksey Shipilev <aleksey.shipilev at oracle.com> wrote:
> Thanks, the param-enum patch looks good now, and it seems to pass the
> tests. Are you saying your recent param-enum patch broke
> IterationBlackhole2Test?
>
> -Aleksey
>
> On 06/10/2014 01:16 AM, Joe Kearney wrote:
> > The bugfix broke IterationBlackhole2Test, I'll have a quick look before
> > committing that.
> >
> >
> > On 9 June 2014 22:03, Joe Kearney <mail at joekearney.co.uk
> > <mailto:mail at joekearney.co.uk>> wrote:
> >
> > New patch attached for enum params.
> >
> >
> > On 9 June 2014 21:36, Joe Kearney <mail at joekearney.co.uk
> > <mailto:mail at joekearney.co.uk>> wrote:
> >
> > Static methods in BenchmarkGenerator - I didn't move them
> > because they were only used locally. Happy to move them out if
> > you'd prefer.
> >
> > Fair point on predicate length. I'm inclined to pull
> > isEmptyEnumParam(FieldInfo, String[]) into BenchmarkGenerator as
> > there are already a couple of uses of that. I considered an
> > inner if, but the else branch of that would be the same as the
> > non-enum case, from what I could see.
> >
> > Patch to follow, thanks for feedback.
> >
> >
> > On 9 June 2014 21:14, Aleksey Shipilev
> > <aleksey.shipilev at oracle.com
> > <mailto:aleksey.shipilev at oracle.com>> wrote:
> >
> > Hi Joe,
> >
> > On 06/10/2014 12:02 AM, Joe Kearney wrote:
> > > Aleksey, as discussed here is the patch. It includes the
> > main change in
> > > BenchmarkGenerator and StateObjectHandler, plus runtime
> > and compile-time
> > > tests.
> >
> > Thanks!
> >
> > > Couple of notes:
> > > * I factored out addParameterValuesToGroup because the
> > code was
> > > duplicated between step 1 and 2 of @Param discovery.
> >
> > Looks good, but please move both static methods into
> > BenchmarkUtils.
> >
> > > * I'd advocate renaming getEnumConstants to
> > getEnumConstantNames, but
> > > maybe that's just a matter of taste.
> >
> > Truly, a matter of taste :)
> >
> > > * I'm pretty sure there's a typo-bug in BenchmarkGenerator
> > line 311, it
> > > should loop over fields from state#getFields, not over
> > fields in clazz,
> > > an unused local variable warning.
> >
> > D'oh! Thanks for catching it, can you submit a separate
> patch?
> >
> > > Please let me know any feedback you have. I'm around
> > tonight for any
> > > changes you'd like to make.
> >
> > Okay, here it goes:
> >
> > * Static utility methods better be in BenchmarkUtils.
> > * Please avoid long predicates: I understand it is easier
> > to write out
> > " && !fi.getType().isEnum()", but I think these checks
> deserve a
> > separate inner if.
> > * ...this, AFAIU, will save you from additional condition in
> > "isParamValueConforming": the control should not go there
> > for blank
> > arguments
> >
> > Otherwise looks good. I'll wait for your new patch.
> >
> > Thanks,
> > -Aleksey.
> >
> >
> >
> >
>
>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: param-for-bg-typo.patch
Type: text/x-patch
Size: 915 bytes
Desc: not available
URL: <http://mail.openjdk.java.net/pipermail/jmh-dev/attachments/20140609/b4e17de2/param-for-bg-typo.patch>
More information about the jmh-dev
mailing list