RFR: 8013635 Lambda: vm conditionally create bridges for generic signatures
serguei.spitsyn at oracle.com
serguei.spitsyn at oracle.com
Fri Jun 21 01:04:47 PDT 2013
Karen,
It looks good.
Some minor comments below.
src/share/vm/classfile/defaultMethods.cpp
* 520 class GenericMethodFamily: public MethodFamily {
** 556 class StatefulMethodFamily: public ResourceObj {*
* **743 class FindMethodsByErasedSig: public HierarchyVisitor<FindMethodsByErasedSig> {*
Inconsistent with the style used in the file: need a space before the colon.
* 537 void print_on(outputStream* str) const {**
** 538 print_on(str, 0);**
** 539 }*
This function already defined in the base class.
* 746 Thread* THREAD;*
Is seems theTHREAD field is not used.
* 787 // methods in interfaces. This work because of single inheritance*
work => works ?
The indent at the lines 892-921 is wrong.
*1088 virtual bool path_has_shadow() {return found_shadow();}*
A space is needed after "{" and before "}".
Thanks,
Serguei
On 6/20/13 1:18 PM, Karen Kinnear wrote:
> Please review:
> https://jbs.oracle.com/bugs/browse/JDK-8013635: BridgeMethodsLinearTest.java fails in
> Lambda nightly runs
>
> webrev: http://cr.openjdk.java.net/~acorn/8013635.1/webrev/
>
> This particular set of changes modifies the vm to conditionally handle generic signatures
> when processing default methods. Basically this code refactors the defaultMethods logic
> to work either with generic signatures or only with erased signatures.
>
> The flag: ParseGenericDefaults is set to "true" in this webrev to continue to work with
> the current javac and lambda metafactory components.
>
> The intention is to change ParseGenericDefaults to false and simultaneously change
> javac to generate bridges to handle generic signatures in interface methods, and
> the metafactory to no longer generate bridges.
> With the flag change, the vm will no longer generate bridges for generic
> signatures.
>
> A subsequent fix: 8012294 will completely remove the vm generic interface handling
> for jdk8.
>
> Please approve this change with both flag settings, so we can coordinate making
> those changes in the order that is least disruptive.
>
> Testing:
>
> I. hotspot-rt: ParseGenericDefaults=true:
> jprt
> vm.quick.testlist
> jdk-jtreg - in progress
> jck-lang, vm - in progress
>
> II. Lambda repo: ParseGenericDefaults=false:
> These two files, with other changes not currently needed - tested in lambda repository for a month
> including tl nightlies and updated BridgeMethodsLinearTest
>
> III. Current hotspot-rt with these two files only and ParseGenericDefaults=false
> with jdk8tl repository with 8015402: metafactory changes and 8013789: javac changes:
>
> vm.quick.testlist - in progress
> jdk-jtreg - in progress
> jck-lang, vm - in progress
>
> thanks,
> Karen
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.openjdk.java.net/pipermail/hotspot-runtime-dev/attachments/20130621/3f3e8bc8/attachment-0001.html
More information about the hotspot-runtime-dev
mailing list