From wdietl at gmail.com Tue Jan 1 21:37:31 2013 From: wdietl at gmail.com (wdietl at gmail.com) Date: Wed, 02 Jan 2013 05:37:31 +0000 Subject: hg: type-annotations/type-annotations/langtools: 10 new changesets Message-ID: <20130102053801.3F508474A3@hg.openjdk.java.net> Changeset: 303da80e7d25 Author: wmdietl Date: 2013-01-01 21:21 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/langtools/rev/303da80e7d25 Skip over AnnotatedTypes. ! src/share/classes/com/sun/tools/javac/code/Types.java Changeset: e73cd951274a Author: wmdietl Date: 2013-01-01 21:28 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/langtools/rev/e73cd951274a Treat resource variables like local variables. ! src/share/classes/com/sun/tools/classfile/ClassWriter.java ! src/share/classes/com/sun/tools/classfile/TypeAnnotation.java ! src/share/classes/com/sun/tools/javac/code/TypeAnnotationPosition.java ! src/share/classes/com/sun/tools/javac/code/TypeAnnotations.java ! src/share/classes/com/sun/tools/javac/jvm/ClassReader.java ! src/share/classes/com/sun/tools/javac/jvm/ClassWriter.java ! src/share/classes/com/sun/tools/javap/AnnotationWriter.java + test/tools/javac/annotations/typeAnnotations/newlocations/ResourceVariables.java Changeset: 0cb5302df6a3 Author: wmdietl Date: 2013-01-01 21:31 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/langtools/rev/0cb5302df6a3 For type annotations on exception parameters, store the index into the compressed exception table. ! src/share/classes/com/sun/tools/javac/jvm/Code.java ! src/share/classes/com/sun/tools/javac/jvm/Gen.java + test/tools/javac/annotations/typeAnnotations/newlocations/ExceptionParameters.java ! test/tools/javac/annotations/typeAnnotations/newlocations/LocalVariables.java ! test/tools/javac/annotations/typeAnnotations/referenceinfos/Driver.java + test/tools/javac/annotations/typeAnnotations/referenceinfos/ExceptionParameters.java ! test/tools/javac/annotations/typeAnnotations/referenceinfos/ReferenceInfoUtil.java Changeset: 2001991b1b40 Author: katleman Date: 2012-12-20 09:18 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/langtools/rev/2001991b1b40 Added tag jdk8-b69 for changeset d7360bf35ee1 ! .hgtags Changeset: 7d34e91f66bb Author: katleman Date: 2012-12-20 16:24 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/langtools/rev/7d34e91f66bb 8004982: JDK8 source with GPL header errors Reviewed-by: ohair ! make/Makefile-classic ! src/share/classes/javax/lang/model/util/AbstractAnnotationValueVisitor7.java ! src/share/classes/javax/lang/model/util/AbstractTypeVisitor8.java ! src/share/classes/javax/lang/model/util/ElementKindVisitor8.java ! test/tools/javac/StringsInSwitch/StringSwitches.java ! test/tools/javac/api/T6395981.java ! test/tools/javac/defaultMethods/defaultMethodExecution/DefaultMethodRegressionTests.java ! test/tools/javac/diags/examples/DuplicateAnnotation.java ! test/tools/javac/lambda/methodReferenceExecution/MethodReferenceTestKinds.java ! test/tools/javac/lambda/methodReferenceExecution/MethodReferenceTestSueCase1.java ! test/tools/javac/lambda/methodReferenceExecution/MethodReferenceTestSueCase2.java ! test/tools/javac/lambda/methodReferenceExecution/MethodReferenceTestSueCase4.java ! test/tools/javac/lambdaShapes/org/openjdk/tests/separate/AttributeInjector.java ! test/tools/javac/lambdaShapes/org/openjdk/tests/separate/ClassFile.java ! test/tools/javac/lambdaShapes/org/openjdk/tests/separate/ClassFilePreprocessor.java ! test/tools/javac/lambdaShapes/org/openjdk/tests/separate/ClassToInterfaceConverter.java ! test/tools/javac/lambdaShapes/org/openjdk/tests/separate/Compiler.java ! test/tools/javac/lambdaShapes/org/openjdk/tests/separate/DirectedClassLoader.java ! test/tools/javac/lambdaShapes/org/openjdk/tests/separate/SourceModel.java ! test/tools/javac/lambdaShapes/org/openjdk/tests/separate/TestHarness.java ! test/tools/javac/lambdaShapes/org/openjdk/tests/vm/DefaultMethodsTest.java ! test/tools/javac/lambdaShapes/org/openjdk/tests/vm/FDSeparateCompilationTest.java ! test/tools/javac/nativeHeaders/javahComparison/CompareTest.java ! test/tools/javac/processing/model/util/deprecation/TestDeprecation.java Changeset: 47f71d7c124f Author: katleman Date: 2012-12-26 14:25 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/langtools/rev/47f71d7c124f Merge Changeset: 7d5032c2d747 Author: katleman Date: 2012-12-27 12:15 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/langtools/rev/7d5032c2d747 Added tag jdk8-b70 for changeset 47f71d7c124f ! .hgtags Changeset: 467e4d9281bc Author: lana Date: 2012-12-28 18:39 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/langtools/rev/467e4d9281bc Merge ! test/tools/javac/processing/model/util/deprecation/TestDeprecation.java Changeset: 1d8438db45f2 Author: lana Date: 2013-01-01 17:50 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/langtools/rev/1d8438db45f2 Merge Changeset: 67349641cf9e Author: wmdietl Date: 2013-01-01 21:33 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/langtools/rev/67349641cf9e Automated merge with http://hg.openjdk.java.net/jdk8/tl/langtools ! .hgtags - test/tools/javac/typeAnnotations/newlocations/BasicTest.java - test/tools/javac/typeAnnotations/newlocations/BasicTest.out From wdietl at gmail.com Tue Jan 1 21:38:03 2013 From: wdietl at gmail.com (wdietl at gmail.com) Date: Wed, 02 Jan 2013 05:38:03 +0000 Subject: hg: type-annotations/type-annotations: 11 new changesets Message-ID: <20130102053804.A779A474A4@hg.openjdk.java.net> Changeset: 8e36a0fabf58 Author: ohrstrom Date: 2012-12-18 09:57 +0100 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/rev/8e36a0fabf58 8004145: New improved hgforest.sh, ctrl-c now properly terminates mercurial processes. Reviewed-by: ohair, erikj + common/bin/hgforest.sh ! get_source.sh Changeset: 51d3b65b8093 Author: erikj Date: 2012-12-18 17:54 +0100 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/rev/51d3b65b8093 8001901: build-infra: Fix "misbehaving" which command on Solaris Summary: Removed all uses of which in configure on solaris. Reviewed-by: ohair ! common/autoconf/basics.m4 ! common/autoconf/generated-configure.sh Changeset: 6ee8080a6efe Author: katleman Date: 2012-12-19 13:36 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/rev/6ee8080a6efe Merge Changeset: 32148e971ac8 Author: katleman Date: 2012-12-20 09:17 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/rev/32148e971ac8 Added tag jdk8-b69 for changeset 6ee8080a6efe ! .hgtags Changeset: 6b93e7a4401d Author: dholmes Date: 2012-12-20 01:44 -0500 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/rev/6b93e7a4401d 7190137: Add support for JVM_VARIANT minimal1 Summary: Allow configuration of minimal1 as a target VM along with client and server Reviewed-by: ohair, erikj ! common/autoconf/generated-configure.sh ! common/autoconf/jdk-options.m4 ! common/autoconf/spec.gmk.in ! common/autoconf/toolchain.m4 Changeset: cd06b2ea58dd Author: katleman Date: 2012-12-20 16:22 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/rev/cd06b2ea58dd 8004982: JDK8 source with GPL header errors Reviewed-by: ohair ! common/makefiles/RMICompilation.gmk Changeset: 105a25ffa4a4 Author: katleman Date: 2012-12-26 14:23 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/rev/105a25ffa4a4 Merge Changeset: 3fb32a5a2388 Author: katleman Date: 2012-12-27 12:14 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/rev/3fb32a5a2388 Added tag jdk8-b70 for changeset 105a25ffa4a4 ! .hgtags Changeset: 51ad2a343420 Author: lana Date: 2012-12-28 18:31 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/rev/51ad2a343420 Merge Changeset: b845a2494261 Author: lana Date: 2013-01-01 12:47 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/rev/b845a2494261 Merge Changeset: 8feb00446f21 Author: wmdietl Date: 2013-01-01 21:36 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/rev/8feb00446f21 Automated merge with http://hg.openjdk.java.net/jdk8/tl/ ! .hgtags From wdietl at gmail.com Tue Jan 1 21:40:55 2013 From: wdietl at gmail.com (wdietl at gmail.com) Date: Wed, 02 Jan 2013 05:40:55 +0000 Subject: hg: type-annotations/type-annotations/corba: 3 new changesets Message-ID: <20130102054059.2C8AD474A6@hg.openjdk.java.net> Changeset: 603cceb495c8 Author: katleman Date: 2012-12-20 09:17 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/corba/rev/603cceb495c8 Added tag jdk8-b69 for changeset 22ddcac208a8 ! .hgtags Changeset: 8171d23e914d Author: katleman Date: 2012-12-27 12:14 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/corba/rev/8171d23e914d Added tag jdk8-b70 for changeset 603cceb495c8 ! .hgtags Changeset: 957088f1965a Author: wmdietl Date: 2013-01-01 21:40 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/corba/rev/957088f1965a Automated merge with http://hg.openjdk.java.net/jdk8/tl/corba ! .hgtags From wdietl at gmail.com Tue Jan 1 21:41:30 2013 From: wdietl at gmail.com (wdietl at gmail.com) Date: Wed, 02 Jan 2013 05:41:30 +0000 Subject: hg: type-annotations/type-annotations/jaxws: 3 new changesets Message-ID: <20130102054140.A18A7474A7@hg.openjdk.java.net> Changeset: 3b1c2733d47e Author: katleman Date: 2012-12-20 09:18 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jaxws/rev/3b1c2733d47e Added tag jdk8-b69 for changeset 756323c99011 ! .hgtags Changeset: f577a39c9fb3 Author: katleman Date: 2012-12-27 12:15 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jaxws/rev/f577a39c9fb3 Added tag jdk8-b70 for changeset 3b1c2733d47e ! .hgtags Changeset: b13705738098 Author: wmdietl Date: 2013-01-01 21:41 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jaxws/rev/b13705738098 Automated merge with http://hg.openjdk.java.net/jdk8/tl/jaxws ! .hgtags From wdietl at gmail.com Tue Jan 1 21:40:20 2013 From: wdietl at gmail.com (wdietl at gmail.com) Date: Wed, 02 Jan 2013 05:40:20 +0000 Subject: hg: type-annotations/type-annotations/hotspot: 48 new changesets Message-ID: <20130102054158.B7ED3474A8@hg.openjdk.java.net> Changeset: 4a2ed49abd51 Author: amurillo Date: 2012-12-07 10:55 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/4a2ed49abd51 8004724: new hotspot build - hs25-b13 Reviewed-by: jcoomes ! make/hotspot_version Changeset: 442f942757c0 Author: johnc Date: 2012-10-01 09:28 -0700 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/442f942757c0 8000244: G1: Ergonomically set MarkStackSize and use virtual space for global marking stack Summary: Set the value of MarkStackSize to a value based on the number of parallel marking threads with a reasonable minimum. Expand the marking stack if we have to restart marking due to an overflow up to a reasonable maximum. Allocate the underlying space for the marking stack from virtual memory. Reviewed-by: jmasa, brutisso ! 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/runtime/arguments.cpp Changeset: a14c5698a162 Author: johnc Date: 2012-12-07 16:08 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/a14c5698a162 Merge Changeset: 2aa953165ade Author: brutisso Date: 2012-12-13 10:09 +0100 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/2aa953165ade 8004661: Comment and function name java_lang_String::toHash is wrong Summary: renamed to hash_code Reviewed-by: dholmes, coleenp, brutisso Contributed-by: erik.helin at oracle.com ! src/share/vm/classfile/javaClasses.cpp ! src/share/vm/classfile/javaClasses.hpp ! src/share/vm/classfile/symbolTable.cpp Changeset: db8a7163c682 Author: stefank Date: 2012-12-13 09:28 +0100 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/db8a7163c682 8004674: Add necessary .inline.hpp files to fix non-PCH build Reviewed-by: stefank, coleenp Contributed-by: volker.simonis at gmail.com ! src/share/vm/gc_implementation/parallelScavenge/adjoiningVirtualSpaces.cpp ! src/share/vm/gc_implementation/shared/gcStats.cpp Changeset: 4459ef2189f5 Author: stefank Date: 2012-12-13 09:06 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/4459ef2189f5 Merge Changeset: fd74228fd5ca Author: jiangli Date: 2012-12-11 12:41 -0500 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/fd74228fd5ca 8004076: Move _max_locals and _size_of_parameters to ConstMethod for better sharing. Summary: Move _max_locals and _size_of_parameters to ConstMethod for better sharing. Reviewed-by: coleenp, minqi, jrose ! agent/src/share/classes/sun/jvm/hotspot/oops/ConstMethod.java ! agent/src/share/classes/sun/jvm/hotspot/oops/Method.java ! src/cpu/sparc/vm/cppInterpreter_sparc.cpp ! src/cpu/sparc/vm/methodHandles_sparc.cpp ! src/cpu/sparc/vm/templateInterpreter_sparc.cpp ! src/cpu/sparc/vm/templateTable_sparc.cpp ! src/cpu/x86/vm/cppInterpreter_x86.cpp ! src/cpu/x86/vm/methodHandles_x86.cpp ! src/cpu/x86/vm/templateInterpreter_x86_32.cpp ! src/cpu/x86/vm/templateInterpreter_x86_64.cpp ! src/share/vm/oops/constMethod.hpp ! src/share/vm/oops/method.hpp ! src/share/vm/runtime/vmStructs.cpp Changeset: 807f1d348f7b Author: collins Date: 2012-12-14 11:45 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/807f1d348f7b Merge Changeset: b6c9c0109a60 Author: amurillo Date: 2012-12-14 14:19 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/b6c9c0109a60 Merge Changeset: cb8a4e04bc8c Author: amurillo Date: 2012-12-14 14:19 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/cb8a4e04bc8c Added tag hs25-b13 for changeset b6c9c0109a60 ! .hgtags Changeset: 8b4810c80f5d Author: katleman Date: 2012-12-20 09:17 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/8b4810c80f5d Added tag jdk8-b69 for changeset cb8a4e04bc8c ! .hgtags Changeset: 1f323009c3ea Author: amurillo Date: 2012-12-14 14:27 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/1f323009c3ea 8005036: new hotspot build - hs25-b14 Reviewed-by: jcoomes ! make/hotspot_version Changeset: 892acf0431ef Author: dcubed Date: 2012-12-14 10:06 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/892acf0431ef 7153050: remove crufty '_g' support from HotSpot repo makefiles Summary: Phase 1 is removing '_g' support from the Makefiles. Reviewed-by: dcubed, sspitsyn, coleenp, tbell Contributed-by: ron.durbin at oracle.com ! make/bsd/Makefile ! make/bsd/makefiles/buildtree.make ! make/bsd/makefiles/debug.make ! make/bsd/makefiles/dtrace.make ! make/bsd/makefiles/fastdebug.make ! make/bsd/makefiles/gcc.make ! make/bsd/makefiles/jsig.make ! make/bsd/makefiles/jvmg.make ! make/bsd/makefiles/optimized.make ! make/bsd/makefiles/product.make ! make/bsd/makefiles/saproc.make ! make/bsd/makefiles/vm.make ! make/linux/Makefile ! make/linux/makefiles/buildtree.make ! make/linux/makefiles/debug.make ! make/linux/makefiles/fastdebug.make ! make/linux/makefiles/gcc.make ! make/linux/makefiles/jsig.make ! make/linux/makefiles/jvmg.make ! make/linux/makefiles/optimized.make ! make/linux/makefiles/product.make ! make/linux/makefiles/saproc.make ! make/linux/makefiles/vm.make ! make/solaris/Makefile ! make/solaris/makefiles/buildtree.make ! make/solaris/makefiles/debug.make ! make/solaris/makefiles/dtrace.make ! make/solaris/makefiles/fastdebug.make ! make/solaris/makefiles/gcc.make ! make/solaris/makefiles/jsig.make ! make/solaris/makefiles/jvmg.make ! make/solaris/makefiles/optimized.make ! make/solaris/makefiles/product.make ! make/solaris/makefiles/saproc.make ! make/solaris/makefiles/vm.make ! make/windows/build.make ! make/windows/projectfiles/compiler2/ADLCompiler.dsp ! make/windows/projectfiles/tiered/ADLCompiler.dsp Changeset: 30866cd626b0 Author: coleenp Date: 2012-12-12 11:39 -0500 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/30866cd626b0 8004883: NPG: clean up anonymous class fix Summary: Add klass_holder() to return either mirror or class_loader depending on if the class is anonymous or not. Reviewed-by: stefank, jrose ! src/share/vm/asm/codeBuffer.cpp ! src/share/vm/classfile/classLoaderData.cpp ! src/share/vm/classfile/classLoaderData.hpp ! src/share/vm/compiler/compileBroker.cpp ! src/share/vm/oops/instanceKlass.hpp ! src/share/vm/oops/klass.hpp Changeset: 18712b1caf7a Author: rkennke Date: 2012-12-12 21:40 -0500 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/18712b1caf7a 8004898: library_call.cpp build error after 7172640 with GCC 4.7.2 Summary: fix opto/library_call.cpp compilation errors Reviewed-by: twisti, coleenp ! src/share/vm/opto/library_call.cpp Changeset: 8580f22db905 Author: coleenp Date: 2012-12-14 16:43 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/8580f22db905 Merge Changeset: 3f84e17b6bca Author: zgu Date: 2012-12-17 13:14 -0500 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/3f84e17b6bca 8004802: jcmd VM.native_memory baseline=false crashes VM Summary: NMT has to check option's value also to determine which command to execute Reviewed-by: acorn, coleenp, hseigel ! src/share/vm/services/nmtDCmd.cpp Changeset: 805aa223d540 Author: zgu Date: 2012-12-17 10:40 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/805aa223d540 Merge Changeset: 594b9b2119ed Author: minqi Date: 2012-12-19 16:10 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/594b9b2119ed Merge Changeset: 0c535211ef13 Author: bharadwaj Date: 2012-12-07 18:13 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/0c535211ef13 8004668: Build failure for Zero target Summary: fixed build failure for Zero target Reviewed-by: twisti, kvn ! src/cpu/zero/vm/assembler_zero.cpp Changeset: a70c88896791 Author: kvn Date: 2012-12-13 17:27 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/a70c88896791 8004713: Stackoverflowerror thrown when thread stack straddles 0x80000000 Summary: use unsigned comparison when checking for stack overflow Reviewed-by: kvn, twisti Contributed-by: paul.nauman at oracle.com ! src/cpu/sparc/vm/templateInterpreter_sparc.cpp Changeset: 1b1e16471e46 Author: stefank Date: 2012-12-12 22:41 +0100 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/1b1e16471e46 8005002: Crash because of a raw oop in ClassLoaderData::add_dependency Summary: Move the handelization of 'last' to a point before the GC might enter. Reviewed-by: dholmes, sspitsyn, coleenp ! src/share/vm/classfile/classLoaderData.cpp Changeset: 5c0931d15474 Author: twisti Date: 2012-12-14 12:06 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/5c0931d15474 8003238: JSR 292: intermittent exception failure with java/lang/invoke/CallSiteTest.java Reviewed-by: jrose, kvn ! src/share/vm/prims/methodHandles.cpp Changeset: 3c433d080bae Author: twisti Date: 2012-12-14 12:11 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/3c433d080bae Merge Changeset: 18d56ca3e901 Author: twisti Date: 2012-12-17 11:00 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/18d56ca3e901 8004548: remove unused AbstractAssembler::print(Label&) Reviewed-by: kvn, twisti Contributed-by: Bharadwaj Yadavalli ! src/cpu/sparc/vm/macroAssembler_sparc.cpp ! src/cpu/sparc/vm/macroAssembler_sparc.hpp ! src/cpu/sparc/vm/macroAssembler_sparc.inline.hpp ! src/cpu/x86/vm/macroAssembler_x86.hpp ! src/cpu/zero/vm/assembler_zero.cpp ! src/cpu/zero/vm/assembler_zero.hpp ! src/share/vm/asm/assembler.cpp ! src/share/vm/asm/assembler.hpp Changeset: ad5dd04754ee Author: roland Date: 2012-12-18 14:55 +0100 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/ad5dd04754ee 8005031: Some cleanup in c2 to prepare for incremental inlining support Summary: collection of small changes to prepare for incremental inlining. Reviewed-by: twisti, kvn ! src/share/vm/ci/ciField.cpp ! src/share/vm/compiler/compilerOracle.cpp ! src/share/vm/opto/addnode.cpp ! src/share/vm/opto/bytecodeInfo.cpp ! src/share/vm/opto/callGenerator.cpp ! src/share/vm/opto/callGenerator.hpp ! src/share/vm/opto/callnode.cpp ! src/share/vm/opto/cfgnode.cpp ! src/share/vm/opto/compile.cpp ! src/share/vm/opto/compile.hpp ! src/share/vm/opto/doCall.cpp ! src/share/vm/opto/graphKit.cpp ! src/share/vm/opto/library_call.cpp ! src/share/vm/opto/stringopts.cpp Changeset: eb409f2f146e Author: vlivanov Date: 2012-12-18 06:52 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/eb409f2f146e 8003135: HotSpot inlines and hoists the Thread.currentThread().isInterrupted() out of the loop Summary: Make the load of TLS._osthread._interrupted flag in Thread.isInterrupted(Z)Z intrinsic effectively volatile. Reviewed-by: kvn, jrose ! src/share/vm/opto/library_call.cpp Changeset: 620e502e3f47 Author: vlivanov Date: 2012-12-18 08:19 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/620e502e3f47 Merge ! src/share/vm/opto/library_call.cpp Changeset: c4bd2eccea46 Author: twisti Date: 2012-12-18 10:47 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/c4bd2eccea46 8004536: replace AbstractAssembler emit_word with emit_int16 Reviewed-by: jrose, kvn, twisti Contributed-by: Morris Meyer ! src/cpu/x86/vm/assembler_x86.cpp ! src/share/vm/asm/assembler.hpp Changeset: 1e41b0bc58a0 Author: kvn Date: 2012-12-18 17:37 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/1e41b0bc58a0 8004318: JEP-171: Support Unsafe fences intrinsics Summary: Add three memory-ordering intrinsics to the sun.misc.Unsafe class. Reviewed-by: twisti, kvn Contributed-by: Aleksey Shipilev ! src/share/vm/c1/c1_GraphBuilder.cpp ! src/share/vm/c1/c1_LIRGenerator.cpp ! src/share/vm/classfile/vmSymbols.hpp ! src/share/vm/opto/library_call.cpp ! src/share/vm/prims/unsafe.cpp Changeset: 65c8342f726a Author: twisti Date: 2012-12-19 14:44 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/65c8342f726a 8005033: clear high word for integer pop count on SPARC Reviewed-by: kvn, twisti Contributed-by: Richard Reingruber ! src/cpu/sparc/vm/sparc.ad + test/compiler/8005033/Test8005033.java Changeset: 2c7f594145dc Author: kvn Date: 2012-12-19 15:40 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/2c7f594145dc 8004835: Improve AES intrinsics on x86 Summary: Enable AES intrinsics on non-AVX cpus, group together aes instructions in crypto stubs. Reviewed-by: roland, twisti ! src/cpu/x86/vm/assembler_x86.cpp ! src/cpu/x86/vm/macroAssembler_x86.cpp ! src/cpu/x86/vm/stubGenerator_x86_32.cpp ! src/cpu/x86/vm/stubGenerator_x86_64.cpp ! src/cpu/x86/vm/vm_version_x86.cpp ! test/compiler/7184394/TestAESBase.java ! test/compiler/7184394/TestAESMain.java Changeset: 2d6c433b1f38 Author: kvn Date: 2012-12-19 19:21 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/2d6c433b1f38 8004741: Missing compiled exception handle table entry for multidimensional array allocation Summary: Added missing exception path for multidimensional array allocation and use Throwable type instead of OutOfMemoryError for allocation's exception. Reviewed-by: twisti ! src/share/vm/opto/graphKit.cpp ! src/share/vm/opto/parse3.cpp ! src/share/vm/opto/runtime.cpp ! src/share/vm/opto/runtime.hpp ! src/share/vm/runtime/globals.hpp ! src/share/vm/runtime/thread.cpp + test/compiler/8004741/Test8004741.java Changeset: a46457045d66 Author: kvn Date: 2012-12-20 14:17 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/a46457045d66 8004330: Add missing Unsafe entry points for addAndGet() family Summary: Fix java names for getAndSet intrinsics Reviewed-by: kvn Contributed-by: aleksey.shipilev at oracle.com ! src/share/vm/classfile/vmSymbols.hpp Changeset: d02120b7a34f Author: twisti Date: 2012-12-20 18:53 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/d02120b7a34f 8004250: replace AbstractAssembler a_byte/a_long with emit_int8/emit_int32 Reviewed-by: jrose, kvn, twisti Contributed-by: Morris Meyer ! src/cpu/sparc/vm/c1_CodeStubs_sparc.cpp ! src/cpu/x86/vm/assembler_x86.cpp ! src/cpu/x86/vm/c1_CodeStubs_x86.cpp ! src/cpu/x86/vm/macroAssembler_x86.cpp ! src/cpu/zero/vm/assembler_zero.cpp ! src/os_cpu/solaris_x86/vm/assembler_solaris_x86.cpp ! src/os_cpu/windows_x86/vm/assembler_windows_x86.cpp ! src/share/vm/asm/assembler.cpp ! src/share/vm/asm/assembler.hpp Changeset: c52660592f37 Author: roland Date: 2012-12-21 01:39 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/c52660592f37 Merge ! src/cpu/sparc/vm/templateInterpreter_sparc.cpp ! src/share/vm/classfile/classLoaderData.cpp ! src/share/vm/opto/library_call.cpp Changeset: 0b3d19153cc6 Author: johnc Date: 2012-12-12 12:07 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/0b3d19153cc6 8001028: Improve GC option handling Summary: If there are not enough native resources to create the ReferenceHandler or Finalizer Java threads, the VM will attempt to throw an OOME before the java.lang.Class class has been initialized. This can result in assertion failures and other crashes. Move the initialization of the java.lang.Class class to just before the initialization of the java.lang.ref.Finalizer class. Reviewed-by: jwilhelm, dholmes, coleenp ! src/share/vm/runtime/thread.cpp Changeset: 730cc4ddd550 Author: brutisso Date: 2012-12-17 08:49 +0100 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/730cc4ddd550 7173959: Jvm crashed during coherence exabus (tmb) testing Summary: Mapping of aligned memory needs to be MT safe. Also reviewed by: vitalyd at gmail.com Reviewed-by: dholmes, coleenp, zgu ! src/os/posix/vm/os_posix.cpp ! src/os/windows/vm/os_windows.cpp ! src/share/vm/runtime/os.hpp ! src/share/vm/runtime/virtualspace.cpp Changeset: 32164d89fe9c Author: brutisso Date: 2012-12-17 15:25 +0100 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/32164d89fe9c 8004845: Catch incorrect usage of new and delete during compile time for value objects and stack objects Summary: Makes the "new" and "delete" operator of _ValueObj and StackObj private Reviewed-by: dholmes, coleenp Contributed-by: erik.helin at oracle.com ! src/share/vm/memory/allocation.hpp ! src/share/vm/opto/node.cpp ! src/share/vm/services/memBaseline.hpp ! src/share/vm/utilities/workgroup.hpp ! src/share/vm/utilities/yieldingWorkgroup.hpp Changeset: c71879335291 Author: stefank Date: 2012-12-18 10:40 +0100 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/c71879335291 8005108: NPG: MetaspaceAux::used_in_bytes(), capacity_in_bytes() and reserved_in_bytes() return inconsistent numbers Summary: Reverted the changes to these functions from JDK-8000662 Reviewed-by: brutisso, jmasa ! src/share/vm/memory/metaspace.cpp ! src/share/vm/memory/metaspace.hpp Changeset: 345bd97a77be Author: brutisso Date: 2012-12-20 05:31 +0100 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/345bd97a77be 8004691: Add a jtreg test that exercises the ExecuteInternalVMTests flag Reviewed-by: stefank, brutisso, kvn, ctornqvi Contributed-by: erik.helin at oracle.com + test/sanity/ExecuteInternalVMTests.java Changeset: 69627aa9ab10 Author: jwilhelm Date: 2012-12-21 16:33 +0100 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/69627aa9ab10 Merge ! src/share/vm/runtime/thread.cpp Changeset: 990bbd393c23 Author: amurillo Date: 2012-12-21 10:17 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/990bbd393c23 Merge Changeset: 6a1fc440b396 Author: amurillo Date: 2012-12-21 10:17 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/6a1fc440b396 Added tag hs25-b14 for changeset 990bbd393c23 ! .hgtags Changeset: 79f492f184d0 Author: katleman Date: 2012-12-20 16:24 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/79f492f184d0 8004982: JDK8 source with GPL header errors Reviewed-by: ohair ! agent/src/share/classes/sun/jvm/hotspot/ci/ciArrayKlass.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/ciKlass.java ! agent/src/share/classes/sun/jvm/hotspot/ci/ciMetadata.java ! agent/src/share/classes/sun/jvm/hotspot/ci/ciObjArrayKlass.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/ciVirtualCallData.java ! agent/src/share/classes/sun/jvm/hotspot/classfile/ClassLoaderData.java ! agent/src/share/classes/sun/jvm/hotspot/memory/LoaderConstraintTable.java ! agent/src/share/classes/sun/jvm/hotspot/oops/BitData.java ! agent/src/share/classes/sun/jvm/hotspot/oops/ProfileData.java ! agent/src/share/classes/sun/jvm/hotspot/oops/RetData.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/utilities/GenericGrowableArray.java ! agent/src/share/classes/sun/jvm/hotspot/utilities/GrowableArray.java ! agent/src/share/native/sadis.c ! src/share/vm/classfile/classLoaderData.hpp ! src/share/vm/memory/metaspaceCounters.cpp ! src/share/vm/memory/metaspaceCounters.hpp ! src/share/vm/runtime/os_ext.hpp ! src/share/vm/services/diagnosticArgument.cpp ! src/share/vm/services/diagnosticCommand_ext.hpp ! src/share/vm/services/memReporter.cpp ! src/share/vm/services/memReporter.hpp ! test/runtime/7158804/Test7158804.sh Changeset: e94068d4ff52 Author: katleman Date: 2012-12-26 14:23 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/e94068d4ff52 Merge ! src/share/vm/classfile/classLoaderData.hpp Changeset: 0847210f8548 Author: katleman Date: 2012-12-27 12:14 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/0847210f8548 Added tag jdk8-b70 for changeset e94068d4ff52 ! .hgtags Changeset: cdfa9cd301f0 Author: wmdietl Date: 2013-01-01 21:40 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/cdfa9cd301f0 Automated merge with http://hg.openjdk.java.net/jdk8/tl/hotspot ! .hgtags From wdietl at gmail.com Tue Jan 1 21:42:12 2013 From: wdietl at gmail.com (wdietl at gmail.com) Date: Wed, 02 Jan 2013 05:42:12 +0000 Subject: hg: type-annotations/type-annotations/jaxp: 8 new changesets Message-ID: <20130102054235.3BFEC474A9@hg.openjdk.java.net> Changeset: 15b32367b23c Author: joehw Date: 2012-12-18 21:11 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jaxp/rev/15b32367b23c 8003261: static field is public but not final Summary: add final to fVersion field, and make it a non-compile time constant. Reviewed-by: hawtin, lancea, dholmes, chegar ! src/com/sun/org/apache/xerces/internal/impl/Version.java Changeset: d4aea0225e80 Author: joehw Date: 2012-12-27 18:17 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jaxp/rev/d4aea0225e80 8005473: Warnings compiling jaxp Summary: clean up compiling warnings. Reviewed-by: weijun, chegar, forax ! src/com/sun/org/apache/xalan/internal/xslt/EnvironmentCheck.java ! src/javax/xml/transform/FactoryFinder.java ! src/javax/xml/validation/SchemaFactoryFinder.java ! src/javax/xml/xpath/XPathFactoryFinder.java Changeset: 27421008f050 Author: katleman Date: 2012-12-20 09:18 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jaxp/rev/27421008f050 Added tag jdk8-b69 for changeset 789a855de959 ! .hgtags Changeset: a72c8391cdd6 Author: katleman Date: 2012-12-20 16:23 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jaxp/rev/a72c8391cdd6 8004982: JDK8 source with GPL header errors Reviewed-by: ohair ! src/com/sun/org/apache/xalan/internal/XalanConstants.java ! src/com/sun/org/apache/xalan/internal/utils/FactoryImpl.java Changeset: 6ec9edffc286 Author: katleman Date: 2012-12-26 14:23 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jaxp/rev/6ec9edffc286 Merge Changeset: 63815efd132f Author: katleman Date: 2012-12-27 12:15 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jaxp/rev/63815efd132f Added tag jdk8-b70 for changeset 6ec9edffc286 ! .hgtags Changeset: 499be952a291 Author: lana Date: 2012-12-28 18:31 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jaxp/rev/499be952a291 Merge Changeset: fb88d1ed953e Author: wmdietl Date: 2013-01-01 21:41 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jaxp/rev/fb88d1ed953e Automated merge with http://hg.openjdk.java.net/jdk8/tl/jaxp ! .hgtags From wdietl at gmail.com Tue Jan 1 21:38:48 2013 From: wdietl at gmail.com (wdietl at gmail.com) Date: Wed, 02 Jan 2013 05:38:48 +0000 Subject: hg: type-annotations/type-annotations/jdk: 27 new changesets Message-ID: <20130102054430.7210F474AA@hg.openjdk.java.net> Changeset: 4ea0ac8e02d2 Author: erikj Date: 2012-12-19 09:46 +0100 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/4ea0ac8e02d2 8004803: build-infra: Cannot use icedtea as boot for closed build. Summary: Set bootclasspath to javac and not the running jvm Reviewed-by: ohair ! makefiles/CreateJars.gmk Changeset: a8012d8d7e9c Author: katleman Date: 2012-12-19 13:38 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/a8012d8d7e9c Merge Changeset: 4d5db5c038b4 Author: katleman Date: 2012-12-20 09:18 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/4d5db5c038b4 Added tag jdk8-b69 for changeset a8012d8d7e9c ! .hgtags Changeset: ad6097d547e1 Author: kvn Date: 2012-12-18 17:47 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/ad6097d547e1 8004318: JEP-171: Support Unsafe fences intrinsics Summary: Add three memory-ordering intrinsics to the sun.misc.Unsafe class. Reviewed-by: twisti, kvn Contributed-by: Aleksey Shipilev ! src/share/classes/sun/misc/Unsafe.java Changeset: 12fa4d7ecaf5 Author: twisti Date: 2012-12-20 11:16 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/12fa4d7ecaf5 8005345: JSR 292: JDK performance tweaks Reviewed-by: kvn, jrose ! src/share/classes/java/lang/invoke/InvokerBytecodeGenerator.java ! src/share/classes/java/lang/invoke/LambdaForm.java ! src/share/classes/java/lang/invoke/MethodHandleImpl.java ! src/share/classes/sun/invoke/util/ValueConversions.java Changeset: 8cf5b18488d1 Author: dl Date: 2012-12-20 12:24 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/8cf5b18488d1 8004330: Add missing Unsafe entry points for addAndGet() family Summary: Add Unsafe addAndGet() methods which have intrinsics in Hotspot (7023898) Reviewed-by: alanb, kvn ! src/share/classes/sun/misc/Unsafe.java Changeset: 6b41b40526c6 Author: amurillo Date: 2012-12-21 10:27 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/6b41b40526c6 Merge Changeset: 1ad29569d6e9 Author: erikj Date: 2012-12-20 13:05 +0100 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/1ad29569d6e9 8005178: build-infra: Dependency on libfdlibm on mac is broken Reviewed-by: tbell, ohair ! makefiles/CompileNativeLibraries.gmk Changeset: a68090f0dc1a Author: katleman Date: 2012-12-20 16:24 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/a68090f0dc1a 8004982: JDK8 source with GPL header errors Reviewed-by: ohair ! src/macosx/native/sun/font/CCharToGlyphMapper.m ! src/share/classes/java/util/function/BinaryOperator.java ! src/share/classes/java/util/function/Block.java ! src/share/classes/java/util/function/DoubleBlock.java ! src/share/classes/java/util/function/Function.java ! src/share/classes/java/util/function/IntBlock.java ! src/share/classes/java/util/function/LongBlock.java ! src/share/classes/java/util/function/Predicate.java ! src/share/classes/sun/java2d/pipe/ParallelogramPipe.java ! src/share/classes/sun/tools/jcmd/JCmd.java ! src/share/native/java/util/zip/zlib-1.2.5/gzlib.c ! src/solaris/native/common/jdk_util_md.h ! src/solaris/native/sun/tools/attach/BsdVirtualMachine.c ! src/windows/classes/java/net/DualStackPlainDatagramSocketImpl.java ! src/windows/native/common/jdk_util_md.h ! test/com/sun/java/swing/plaf/windows/WindowsRadioButtonUI/7089914/bug7089914.java ! test/java/awt/Focus/6981400/Test1.java ! test/java/awt/Focus/6981400/Test2.java ! test/java/awt/Focus/6981400/Test3.java ! test/java/awt/Frame/ResizeAfterSetFont/ResizeAfterSetFont.java ! test/java/awt/JAWT/JAWT.sh ! test/java/awt/JAWT/Makefile.cygwin ! test/java/awt/JAWT/Makefile.unix ! test/java/awt/JAWT/Makefile.win ! test/java/awt/JAWT/MyCanvas.java ! test/java/awt/JAWT/myfile.c ! test/java/awt/JAWT/myfile.cpp ! test/java/awt/TextArea/DisposeTest/TestDispose.java ! test/java/awt/TextArea/TextAreaCaretVisibilityTest/bug7129742.java ! test/java/awt/TextField/DisposeTest/TestDispose.java ! test/java/lang/Integer/Unsigned.java ! test/java/lang/Long/Unsigned.java ! test/java/lang/Math/CubeRootTests.java ! test/java/lang/Math/Expm1Tests.java ! test/java/lang/Math/HyperbolicTests.java ! test/java/lang/Math/Log10Tests.java ! test/java/lang/Math/Log1pTests.java ! test/java/lang/Math/Tests.java ! test/java/lang/StringBuffer/TestSynchronization.java ! test/java/lang/invoke/remote/RemoteExample.java ! test/java/math/BigDecimal/FloatDoubleValueTests.java ! test/java/math/BigDecimal/StrippingZerosTest.java ! test/java/net/Inet4Address/PingThis.java ! test/java/net/ProxySelector/MultiThreadedSystemProxies.java ! test/java/security/Signature/VerifyRangeCheckOverflow.java ! test/java/util/AbstractCollection/ToArrayTest.java ! test/java/util/Map/EntryHashCode.java ! test/java/util/concurrent/FutureTask/DoneTimedGetLoops.java ! test/java/util/logging/LoggerResourceBundleRace.java ! test/java/util/logging/LoggingDeadlock2.java ! test/java/util/logging/LoggingDeadlock3.java ! test/java/util/logging/SimpleFormatterFormat.java ! test/java/util/spi/ResourceBundleControlProvider/providersrc/XmlRB.xml ! test/java/util/spi/ResourceBundleControlProvider/providersrc/XmlRB_ja.xml ! test/javax/swing/JComponent/7154030/bug7154030.java ! test/javax/swing/JTabbedPane/4310381/bug4310381.java ! test/javax/swing/JTable/4235420/bug4235420.java ! test/javax/swing/JTable/6788484/bug6788484.java ! test/javax/swing/JTable/7055065/bug7055065.java ! test/javax/swing/JTable/7188612/JTableAccessibleGetLocationOnScreen.java ! test/javax/swing/JTextArea/7049024/bug7049024.java ! test/javax/swing/border/Test7022041.java ! test/javax/swing/text/DefaultCaret/6938583/bug6938583.java ! test/sun/management/AgentCMETest.java ! test/sun/management/jmxremote/startstop/JMXStartStopTest.sh ! test/sun/nio/ch/SelProvider.java ! test/sun/rmi/rmic/classpath/RMICClassPathTest.java ! test/sun/security/krb5/auto/ReplayCache.java ! test/sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/HttpsProxyStackOverflow.java ! test/sun/tools/jps/jps-V_2.sh ! test/tools/jar/JarBackSlash.java ! test/tools/launcher/UnicodeTest.java Changeset: 9dc1990c7d90 Author: yhuang Date: 2012-12-20 18:53 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/9dc1990c7d90 7195759: ISO 4217 Amendment 154 Reviewed-by: naoto ! src/share/classes/java/util/CurrencyData.properties ! src/share/classes/java/util/LocaleISOData.java ! src/share/classes/sun/util/resources/CurrencyNames.properties ! test/java/util/Currency/ValidateISO4217.java ! test/java/util/Currency/tablea1.txt ! test/sun/text/resources/LocaleData ! test/sun/text/resources/LocaleDataTest.java Changeset: cbf255324369 Author: yhuang Date: 2012-12-23 19:11 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/cbf255324369 Merge - src/share/lib/security/java.security - test/java/rmi/server/Unmarshal/checkUnmarshalOnStopThread/CheckUnmarshall.java ! test/sun/text/resources/LocaleData ! test/sun/text/resources/LocaleDataTest.java Changeset: a996b57e5541 Author: katleman Date: 2012-12-26 14:24 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/a996b57e5541 Merge Changeset: 8d7651351cfe Author: katleman Date: 2012-12-27 12:15 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/8d7651351cfe Added tag jdk8-b70 for changeset a996b57e5541 ! .hgtags Changeset: a988c23b8553 Author: jgodinez Date: 2012-12-20 14:43 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/a988c23b8553 7180359: Assertion in awt_Win32GraphicsDevice.cpp when running specjbb in jprt Reviewed-by: bae, prr ! src/windows/native/sun/windows/awt_Debug.cpp Changeset: 2cf07dbdee64 Author: bae Date: 2012-12-24 14:03 +0400 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/2cf07dbdee64 7124245: [lcms] ColorConvertOp to color space CS_GRAY apparently converts orange to 244,244,0 Reviewed-by: prr ! src/share/classes/sun/java2d/cmm/lcms/LCMS.java ! src/share/classes/sun/java2d/cmm/lcms/LCMSImageLayout.java ! src/share/classes/sun/java2d/cmm/lcms/LCMSTransform.java ! src/share/native/sun/java2d/cmm/lcms/LCMS.c + test/sun/java2d/cmm/ColorConvertOp/GrayTest.java Changeset: 3c1c0b7abe51 Author: bae Date: 2012-12-24 14:22 +0400 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/3c1c0b7abe51 8005402: Need to provide benchmarks for color management Reviewed-by: jgodinez, prr ! src/share/demo/java2d/J2DBench/build.xml ! src/share/demo/java2d/J2DBench/src/j2dbench/J2DBench.java + src/share/demo/java2d/J2DBench/src/j2dbench/tests/cmm/CMMTests.java + src/share/demo/java2d/J2DBench/src/j2dbench/tests/cmm/ColorConversionTests.java + src/share/demo/java2d/J2DBench/src/j2dbench/tests/cmm/ColorConvertOpTests.java + src/share/demo/java2d/J2DBench/src/j2dbench/tests/cmm/DataConversionTests.java + src/share/demo/java2d/J2DBench/src/j2dbench/tests/cmm/ProfileTests.java Changeset: 1316d6d0900e Author: lana Date: 2012-12-28 18:28 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/1316d6d0900e Merge Changeset: c25ea633b4de Author: malenkov Date: 2012-12-17 16:58 +0400 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/c25ea633b4de 8005065: [findbugs] reference to mutable array in JavaBeans Reviewed-by: alexsch ! src/share/classes/java/beans/DefaultPersistenceDelegate.java ! src/share/classes/java/beans/EventSetDescriptor.java ! src/share/classes/java/beans/MethodDescriptor.java ! src/share/classes/java/beans/Statement.java + test/java/beans/Introspector/Test8005065.java Changeset: a78cb3c5d434 Author: neugens Date: 2012-12-17 17:43 +0100 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/a78cb3c5d434 8005018: X11: focus problems with openjdk 1.7.0 under gnome3 when selected keyboard is not the first in keyboard list Summary: Don't consider extraenous bits when checking button mask, so that grabWindowRef on the window is not confused and released correctly Reviewed-by: art, anthony ! src/solaris/classes/sun/awt/X11/XBaseWindow.java ! src/solaris/classes/sun/awt/X11/XConstants.java ! src/solaris/classes/sun/awt/X11/XToolkit.java ! src/solaris/classes/sun/awt/X11/XWindow.java ! src/solaris/classes/sun/awt/X11/XWindowPeer.java ! src/solaris/classes/sun/awt/X11/XlibUtil.java Changeset: 985b523712c8 Author: kshefov Date: 2012-12-18 15:17 +0000 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/985b523712c8 7104594: [macosx] Test closed/javax/swing/JFrame/4962534/bug4962534 expects Metal L&F by default Reviewed-by: yan, alexsch + test/javax/swing/JFrame/4962534/bug4962534.html + test/javax/swing/JFrame/4962534/bug4962534.java Changeset: 90ad9e922042 Author: lana Date: 2012-12-18 16:14 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/90ad9e922042 Merge - src/share/lib/security/java.security - test/java/rmi/server/Unmarshal/checkUnmarshalOnStopThread/CheckUnmarshall.java Changeset: 7082a96c02d2 Author: alexp Date: 2012-12-21 19:11 +0400 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/7082a96c02d2 8003982: new test javax/swing/AncestorNotifier/7193219/bug7193219.java failed on macosx Reviewed-by: anthony, alexsch ! test/javax/swing/AncestorNotifier/7193219/bug7193219.java Changeset: 14269f504837 Author: dcherepanov Date: 2012-12-27 16:08 +0400 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/14269f504837 8001161: mac: EmbeddedFrame doesn't become active window Reviewed-by: ant ! src/macosx/classes/sun/lwawt/macosx/CEmbeddedFrame.java Changeset: cf2bcb293f0b Author: lana Date: 2012-12-28 18:30 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/cf2bcb293f0b Merge Changeset: 2a5af0f766d0 Author: lana Date: 2012-12-28 18:36 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/2a5af0f766d0 Merge - make/jdk/asm/Makefile ! makefiles/CreateJars.gmk ! test/sun/management/jmxremote/startstop/JMXStartStopTest.sh Changeset: 38b9a7646093 Author: lana Date: 2013-01-01 17:49 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/38b9a7646093 Merge ! makefiles/CreateJars.gmk Changeset: 049a625c4f61 Author: wmdietl Date: 2013-01-01 21:38 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/049a625c4f61 Automated merge with http://hg.openjdk.java.net/jdk8/tl/jdk ! .hgtags From wdietl at gmail.com Tue Jan 1 21:50:39 2013 From: wdietl at gmail.com (Werner Dietl) Date: Tue, 1 Jan 2013 21:50:39 -0800 Subject: Storing annotations on exception parameters In-Reply-To: <50B57667.6020403@oracle.com> References: <50B57667.6020403@oracle.com> Message-ID: Thanks for the pointer, Jon! I implemented this feature in this changeset: http://hg.openjdk.java.net/type-annotations/type-annotations/langtools/rev/0cb5302df6a3 I also implemented storage of annotations on resource variables. There are no test cases for local and resource variable storage in the tools/javac/annotations/typeAnnotations/referenceinfos/ directory. I think adding some tests would be good, but a bit painful. As always, comments and more test cases very welcome. Happy 2013! cu, WMD. On Tue, Nov 27, 2012 at 6:26 PM, Jonathan Gibbons wrote: > On 11/27/2012 05:49 PM, Werner Dietl wrote: >> >> As discussed on the type-annotations-spec-experts list (see >> >> http://mail.openjdk.java.net/pipermail/type-annotations-spec-experts/2012-November/000038.html) >> Section 3.3.8 of the JSR 308 specification will stay unchanged. >> >> For local variables, method: >> >> com.sun.tools.javac.jvm.Code.fillLocalVarPosition(LocalVar) >> >> determines the necessary information. >> >> Could somebody point me to a place where I could determine the >> exception table index for an exception parameter? >> I found method >> >> com.sun.tools.javac.jvm.Gen.genCatch(JCCatch, Env, int, >> int, List) >> >> but I didn't see an exception table index there. >> >> Thanks, >> cu, WMD. >> > > Werner, > > I believe the data structure you should be looking at is this one in > Code.java > > /** A buffer for expression catch data. Each enter is a vector > * of four unsigned shorts. > */ > ListBuffer catchInfo = new ListBuffer(); > > And this method: > > /** Add a catch clause to code. > */ > public void addCatch( > char startPc, char endPc, char handlerPc, char catchType) { > catchInfo.append(new char[]{startPc, endPc, handlerPc, > catchType}); > } > > So, on the face of it, the index in the catchInfo array is the value you > want. But life is never that simple, since there's this method too: > > public void compressCatchTable() { > > which can eliminate some entries. You may need to search catchInfo for the > handler you need. > > -- Jon -- http://www.google.com/profiles/wdietl From jonathan.gibbons at oracle.com Wed Jan 2 15:34:28 2013 From: jonathan.gibbons at oracle.com (Jonathan Gibbons) Date: Wed, 02 Jan 2013 15:34:28 -0800 Subject: receiver annotations on a constructor Message-ID: <50E4C404.7050001@oracle.com> I'm looking at javadoc code for annotations on a receiver. Is it meaningful to talk about such annotations (on a receiver) for a constructor? -- Jon From alex.buckley at oracle.com Wed Jan 2 15:46:46 2013 From: alex.buckley at oracle.com (Alex Buckley) Date: Wed, 02 Jan 2013 15:46:46 -0800 Subject: receiver annotations on a constructor In-Reply-To: <50E4C404.7050001@oracle.com> References: <50E4C404.7050001@oracle.com> Message-ID: <50E4C6E6.7060606@oracle.com> On 1/2/2013 3:34 PM, Jonathan Gibbons wrote: > I'm looking at javadoc code for annotations on a receiver. > > Is it meaningful to talk about such annotations (on a receiver) for a > constructor? Yes. If the constructor is in an inner class, there are n receivers for each of the n lexically enclosing instances of the object under construction. Only the innermost receiver (the 1st lexically enclosing instance) may be annotated due to a deliberate limitation in the 'this' pseudo-parameter. In the spec at [1], see section 2.1 items 4 and 5 - it is actually quite straightforward. Alex [1] http://mail.openjdk.java.net/pipermail/type-annotations-spec-experts/2012-December/000046.html From jonathan.gibbons at oracle.com Wed Jan 2 15:58:39 2013 From: jonathan.gibbons at oracle.com (Jonathan Gibbons) Date: Wed, 02 Jan 2013 15:58:39 -0800 Subject: receiver annotations on a constructor In-Reply-To: <50E4C6E6.7060606@oracle.com> References: <50E4C404.7050001@oracle.com> <50E4C6E6.7060606@oracle.com> Message-ID: <50E4C9AF.409@oracle.com> On 01/02/2013 03:46 PM, Alex Buckley wrote: > On 1/2/2013 3:34 PM, Jonathan Gibbons wrote: >> I'm looking at javadoc code for annotations on a receiver. >> >> Is it meaningful to talk about such annotations (on a receiver) for a >> constructor? > > Yes. If the constructor is in an inner class, there are n receivers > for each of the n lexically enclosing instances of the object under > construction. Only the innermost receiver (the 1st lexically enclosing > instance) may be annotated due to a deliberate limitation in the > 'this' pseudo-parameter. In the spec at [1], see section 2.1 items 4 > and 5 - it is actually quite straightforward. > > Alex > > [1] > http://mail.openjdk.java.net/pipermail/type-annotations-spec-experts/2012-December/000046.html Thanks. -- Jon From jonathan.gibbons at oracle.com Wed Jan 2 16:47:20 2013 From: jonathan.gibbons at oracle.com (Jonathan Gibbons) Date: Wed, 02 Jan 2013 16:47:20 -0800 Subject: problem with all type annotations on method parameters Message-ID: <50E4D518.4000908@oracle.com> It seems there may be a problem with when type annotations are processed on a method declaration. If I read the code correctly, type annotations are separated from decl annotations by the code in TypeAnnotations.organizeTypeAnnotations. (TypeAnnotations is itself a weird class; more on that later). TypeAnnotations.organizeTypeAnnotations is called from Attr.attribClassBody, which is (obviously) called during Attr. This is too late, as far as javadoc is concerned, which expects evrything it needs (i.e. all signature info for classes, methods and fields) to be completed by the end of Enter/MemberEnter. javadoc does not run the Attr phase, and so javadoc is not seeing many type annotations. The processing of type annotations, and the separation of type and decl annotations therefore needs to be done earlier. It is also somewhat strange to have TypeAnnotations use its own internal TreeScanner, making it seem like an extra compiler-phase triggered within Attr. It would seem that, at a minimum, we need to separate the processing needed for any block of code (method body, initialization block, etc) from the processing needed for class and member declarations. Finally, TypeAnnotations does not follow the typical javac architectural methodology. It is written as a public class containing a single public static method, and as such, as to be passed contextual info like Symtab, Names and Log. It would be more obvious to make the class available from a Context in the standard way. -- Jon P.S. I also note the following comment at line 320, which might indicate a blocker for progress on javadoc. // TODO: method receiver type annotations don't work. There is a strange // interaction with arrays. From wdietl at gmail.com Wed Jan 2 17:56:03 2013 From: wdietl at gmail.com (Werner Dietl) Date: Wed, 2 Jan 2013 17:56:03 -0800 Subject: problem with all type annotations on method parameters In-Reply-To: <50E4D518.4000908@oracle.com> References: <50E4D518.4000908@oracle.com> Message-ID: Thanks for these comments, Jon! On Wed, Jan 2, 2013 at 4:47 PM, Jonathan Gibbons wrote: > It seems there may be a problem with when type annotations are processed on > a method declaration. > > If I read the code correctly, type annotations are separated from decl > annotations by the code in TypeAnnotations.organizeTypeAnnotations. > (TypeAnnotations is itself a weird class; more on that later). > > TypeAnnotations.organizeTypeAnnotations is called from Attr.attribClassBody, > which is (obviously) called during Attr. This is too late, as far as javadoc > is concerned, which expects evrything it needs (i.e. all signature info for > classes, methods and fields) to be completed by the end of > Enter/MemberEnter. javadoc does not run the Attr phase, and so javadoc is > not seeing many type annotations. The processing of type annotations, and > the separation of type and decl annotations therefore needs to be done > earlier. > > It is also somewhat strange to have TypeAnnotations use its own internal > TreeScanner, making it seem like an extra compiler-phase triggered within > Attr. It would seem that, at a minimum, we need to separate the processing > needed for any block of code (method body, initialization block, etc) from > the processing needed for class and member declarations. I can introduce this separation again. There are unfortunately no test cases for the annotations in Types. Is there a way we could test this, independently of javadoc? > Finally, TypeAnnotations does not follow the typical javac architectural > methodology. It is written as a public class containing a single public > static method, and as such, as to be passed contextual info like Symtab, > Names and Log. It would be more obvious to make the class available from a > Context in the standard way. As there is only exactly one call of that single public method, it seemed easier to just make it callable instead of requiring creating a new instance first. I'll see how to improve this. > P.S. I also note the following comment at line 320, which might indicate a > blocker for progress on javadoc. > // TODO: method receiver type annotations don't work. There > is a strange > // interaction with arrays. This is an old comment and I'm not sure it is still valid. I will investigate. cu, WMD. -- http://www.google.com/profiles/wdietl From jonathan.gibbons at oracle.com Wed Jan 2 19:44:18 2013 From: jonathan.gibbons at oracle.com (Jonathan Gibbons) Date: Wed, 02 Jan 2013 19:44:18 -0800 Subject: problem with all type annotations on method parameters In-Reply-To: References: <50E4D518.4000908@oracle.com> Message-ID: <50E4FE92.1020104@oracle.com> On 01/02/2013 05:56 PM, Werner Dietl wrote: > I can introduce this separation again. > There are unfortunately no test cases for the annotations in Types. Is > there a way we could test this, independently of javadoc? It's high on my list, for variety of reasons, to have a "debug printer" for ASTs. We could use that as the basis for a series of tests to validate the structure of the AST -- and semantic info like annotations -- at various points through the compilation pipeline. As for testing separately of javadoc, all we need to do is to validate the data structures after Enter/MemberEnter. It also seems to be that the problems would be visible during "regular" annotation processing, which occurs before Attr has been called. -- Jon From jonathan.gibbons at oracle.com Wed Jan 2 19:47:33 2013 From: jonathan.gibbons at oracle.com (Jonathan Gibbons) Date: Wed, 02 Jan 2013 19:47:33 -0800 Subject: problem with all type annotations on method parameters In-Reply-To: References: <50E4D518.4000908@oracle.com> Message-ID: <50E4FF55.4090607@oracle.com> On 01/02/2013 05:56 PM, Werner Dietl wrote: >> >Finally, TypeAnnotations does not follow the typical javac architectural >> >methodology. It is written as a public class containing a single public >> >static method, and as such, as to be passed contextual info like Symtab, >> >Names and Log. It would be more obvious to make the class available from a >> >Context in the standard way. > As there is only exactly one call of that single public method, it > seemed easier to just make it callable instead of requiring creating a > new instance first. > I'll see how to improve this. > > I think it's more a case of fixing the other issues first, and this one is likely to sort itself out. I suspect we will need more than one entry point into this code, for the various types of decls, and for blocks of code. Once we have multiple entry points, a more conventional presentation will be more natural. -- Jon From jonathan.gibbons at oracle.com Wed Jan 2 19:48:19 2013 From: jonathan.gibbons at oracle.com (Jonathan Gibbons) Date: Wed, 02 Jan 2013 19:48:19 -0800 Subject: problem with all type annotations on method parameters In-Reply-To: References: <50E4D518.4000908@oracle.com> Message-ID: <50E4FF83.6070502@oracle.com> On 01/02/2013 05:56 PM, Werner Dietl wrote: > This is an old comment and I'm not sure it is still valid. > I will investigate. > > cu, WMD. There's certainly a number of TODO and commented out methods in this and in JavacTypes. -- Jon From jonathan.gibbons at oracle.com Wed Jan 2 20:17:56 2013 From: jonathan.gibbons at oracle.com (Jonathan Gibbons) Date: Wed, 02 Jan 2013 20:17:56 -0800 Subject: problem with all type annotations on method parameters In-Reply-To: References: <50E4D518.4000908@oracle.com> <50E4FE92.1020104@oracle.com> Message-ID: <50E50674.3040103@oracle.com> On 01/02/2013 08:11 PM, Werner Dietl wrote: > On Wed, Jan 2, 2013 at 7:44 PM, Jonathan Gibbons > wrote: >> On 01/02/2013 05:56 PM, Werner Dietl wrote: >>> I can introduce this separation again. >>> There are unfortunately no test cases for the annotations in Types. Is >>> there a way we could test this, independently of javadoc? >> >> It's high on my list, for variety of reasons, to have a "debug printer" >> for ASTs. We could use that as the basis for a series of tests to validate >> the structure of the AST -- and semantic info like annotations -- at various >> points through the compilation pipeline. >> >> As for testing separately of javadoc, all we need to do is to validate the >> data >> structures after Enter/MemberEnter. > A standard "debug printer" way to compare this information would be > great and would ensure that the information in Type is valid after > various phases. I'll work on this tomorrow. I did something similar for the DocTree API, so I can cut-n-paste the ideas. > > >> It also seems to be that the problems would be visible during "regular" >> annotation >> processing, which occurs before Attr has been called. > There is no "regular" annotation processor that looks at type annotations yet. Yeah, I was just pointing out that if you were to write tests that leveraged the anno proc framework, they would see the issues too. > The Checker Framework runs after Attr and therefore I didn't run into > any issues. > I think a "debug printer" would be the preferable way to test this and > I'll wait to hear from you before adding any tests. Agreed on debug printer. I envisage a test strategy based on test classes containing type annos in all positions, and a custom tester to validate the AST for each of these classes. > > I agree with your other two points, that is, I'll see what the new > interface will look like and I'll clean up all TODOs and commented > code. > > cu, WMD. > From jonathan.gibbons at oracle.com Thu Jan 3 15:42:05 2013 From: jonathan.gibbons at oracle.com (Jonathan Gibbons) Date: Thu, 03 Jan 2013 15:42:05 -0800 Subject: AnnotatedExpr suggestion Message-ID: <50E6174D.6090905@oracle.com> Low priority suggestion: The following in JCNewArray is mildly icky. public List dims; // type annotations on dimensions public List> dimAnnotations; Would it make sense to introduce JCAnnotatedExpression so that that reduces to public List dims; -- Jon From wdietl at gmail.com Fri Jan 4 16:37:17 2013 From: wdietl at gmail.com (Werner Dietl) Date: Fri, 4 Jan 2013 16:37:17 -0800 Subject: AnnotatedExpr suggestion In-Reply-To: <50E6174D.6090905@oracle.com> References: <50E6174D.6090905@oracle.com> Message-ID: On Thu, Jan 3, 2013 at 3:42 PM, Jonathan Gibbons wrote: > Low priority suggestion: > > The following in JCNewArray is mildly icky. > > > public List dims; > // type annotations on dimensions > public List> dimAnnotations; > > Would it make sense to introduce JCAnnotatedExpression so that that reduces > to > public List dims; I would find JCAnnotatedExpression confusing. JSR 308 is only about type annotations and annotations on expressions might at some point be added. What kind of expressions are stored in dims? Is there a more specific type we could use, e.g. are they all JCArrayTypeTree instances? cu, WMD. -- http://www.google.com/profiles/wdietl From jonathan.gibbons at oracle.com Fri Jan 4 16:56:25 2013 From: jonathan.gibbons at oracle.com (Jonathan Gibbons) Date: Fri, 04 Jan 2013 16:56:25 -0800 Subject: AnnotatedExpr suggestion In-Reply-To: References: <50E6174D.6090905@oracle.com> Message-ID: <50E77A39.70100@oracle.com> Good point -- then the suggested name is wrong. Maybe a better suggestion would be JCDimension, which contains a List (for the annotations of that dimension) and a JCExpression (for the "size" of that dimension). Then JCNewArray would have a List. -- Jon On 01/04/2013 04:37 PM, Werner Dietl wrote: > On Thu, Jan 3, 2013 at 3:42 PM, Jonathan Gibbons > wrote: >> Low priority suggestion: >> >> The following in JCNewArray is mildly icky. >> >> >> public List dims; >> // type annotations on dimensions >> public List> dimAnnotations; >> >> Would it make sense to introduce JCAnnotatedExpression so that that reduces >> to >> public List dims; > I would find JCAnnotatedExpression confusing. JSR 308 is only about > type annotations and annotations on expressions might at some point be > added. > > What kind of expressions are stored in dims? Is there a more specific > type we could use, e.g. are they all JCArrayTypeTree instances? > > cu, WMD. > From wdietl at gmail.com Mon Jan 7 00:28:35 2013 From: wdietl at gmail.com (Werner Dietl) Date: Mon, 7 Jan 2013 00:28:35 -0800 Subject: problem with all type annotations on method parameters In-Reply-To: <50E50674.3040103@oracle.com> References: <50E4D518.4000908@oracle.com> <50E4FE92.1020104@oracle.com> <50E50674.3040103@oracle.com> Message-ID: Jon, Joel, all, I've put a patch here: homes.cs.washington.edu/~wmdietl/tmp/tas-in-memberenter.diff I have trouble with the interaction with repeating annotations and had to add a second, very imaginatively named, typesQ2 queue to Annotate. If I use the existing typesQ or the repeatedQ for this purpose in MemberEnter, repeating annotations don't work. The reason is that first we need to package up the repeating annotations and only afterward should we determine their positions. When we did this in Attr, it looks like repeating annotations were already packaged up. Do you see a nicer solution than introducing the typesQ2? Maybe there is a better place for the call in MemberEnter? What would be a better name instead of typesQ2? I kept TypeAnnotations simple and now have two methods: organizeTypeAnnotationsBodies and organizeTypeAnnotationsSignatures, which are called from Attr and MemberEnter, respectively. Does this interface look OK or should I change it to instantiate a TypeAnnotations object and then call a method on it? I made a few other fixes to javadoc and it looks like javadoc sees AnnotatedTypes. However, I don't see annotations in the HTML output. Do you have some modifications for javadoc to see type annotations? Best regards, cu, WMD. On Wed, Jan 2, 2013 at 8:17 PM, Jonathan Gibbons wrote: > On 01/02/2013 08:11 PM, Werner Dietl wrote: >> >> On Wed, Jan 2, 2013 at 7:44 PM, Jonathan Gibbons >> wrote: >>> >>> On 01/02/2013 05:56 PM, Werner Dietl wrote: >>>> >>>> I can introduce this separation again. >>>> There are unfortunately no test cases for the annotations in Types. Is >>>> there a way we could test this, independently of javadoc? >>> >>> >>> It's high on my list, for variety of reasons, to have a "debug printer" >>> for ASTs. We could use that as the basis for a series of tests to >>> validate >>> the structure of the AST -- and semantic info like annotations -- at >>> various >>> points through the compilation pipeline. >>> >>> As for testing separately of javadoc, all we need to do is to validate >>> the >>> data >>> structures after Enter/MemberEnter. >> >> A standard "debug printer" way to compare this information would be >> great and would ensure that the information in Type is valid after >> various phases. > > > I'll work on this tomorrow. I did something similar for the DocTree > API, so I can cut-n-paste the ideas. > > >> >> >>> It also seems to be that the problems would be visible during "regular" >>> annotation >>> processing, which occurs before Attr has been called. >> >> There is no "regular" annotation processor that looks at type annotations >> yet. > > > Yeah, I was just pointing out that if you were to write tests that > leveraged the anno proc framework, they would see the issues too. > > >> The Checker Framework runs after Attr and therefore I didn't run into >> any issues. >> I think a "debug printer" would be the preferable way to test this and >> I'll wait to hear from you before adding any tests. > > Agreed on debug printer. I envisage a test strategy based on > test classes containing type annos in all positions, and a custom > tester to validate the AST for each of these classes. > > >> >> I agree with your other two points, that is, I'll see what the new >> interface will look like and I'll clean up all TODOs and commented >> code. >> >> cu, WMD. >> > -- http://www.google.com/profiles/wdietl From wdietl at gmail.com Mon Jan 7 14:17:29 2013 From: wdietl at gmail.com (Werner Dietl) Date: Mon, 7 Jan 2013 14:17:29 -0800 Subject: AnnotatedExpr suggestion In-Reply-To: <50E77A39.70100@oracle.com> References: <50E6174D.6090905@oracle.com> <50E77A39.70100@oracle.com> Message-ID: I like the JCDimension suggestion. I see two options: 1. Always use JCDimension (a pair of annotations and size expression) and JCNewArray would use a List 2. Introduce a JCAnnotatedDimension, which is a JCExpression, and JCNewArray continues to use a List; the expressions are either the size expression directly or an JCAnnotatedDimension indirection. Option 1 would be more consistent, but adds an additional node for the common case of un-annotated array dimensions. If this memory overhead is no concern, I think option 1 would be nicer. cu, WMD. On Fri, Jan 4, 2013 at 4:56 PM, Jonathan Gibbons wrote: > Good point -- then the suggested name is wrong. > > Maybe a better suggestion would be JCDimension, which contains a > List (for the annotations of that dimension) and a > JCExpression (for the "size" of that dimension). Then JCNewArray would have > a List. > > -- Jon > > > On 01/04/2013 04:37 PM, Werner Dietl wrote: >> >> On Thu, Jan 3, 2013 at 3:42 PM, Jonathan Gibbons >> wrote: >>> >>> Low priority suggestion: >>> >>> The following in JCNewArray is mildly icky. >>> >>> >>> public List dims; >>> // type annotations on dimensions >>> public List> dimAnnotations; >>> >>> Would it make sense to introduce JCAnnotatedExpression so that that >>> reduces >>> to >>> public List dims; >> >> I would find JCAnnotatedExpression confusing. JSR 308 is only about >> type annotations and annotations on expressions might at some point be >> added. >> >> What kind of expressions are stored in dims? Is there a more specific >> type we could use, e.g. are they all JCArrayTypeTree instances? >> >> cu, WMD. >> > -- http://www.google.com/profiles/wdietl From wdietl at gmail.com Mon Jan 7 19:45:43 2013 From: wdietl at gmail.com (Werner Dietl) Date: Mon, 7 Jan 2013 19:45:43 -0800 Subject: problem with all type annotations on method parameters In-Reply-To: References: <50E4D518.4000908@oracle.com> <50E4FE92.1020104@oracle.com> <50E50674.3040103@oracle.com> Message-ID: Jon, after what phase do we want the type annotation positions to be valid? I currently separate declaration and type annotations for expression locations at the end of Attr, which is too late for some semantic checks that happen earlier in Attr. I want to split up the organizeTypeAnnotations methods back into two methods: one to separate declaration and type annotations and one to determine type annotation positions. After MemberEnter, I would say we just need the separation of declaration and type annotations. During Attr we also only need the separation. Only once Attr is finished with a class do we set the type annotation positions. Or should we do this even later? Comments? cu, WMD. On Mon, Jan 7, 2013 at 12:28 AM, Werner Dietl wrote: > Jon, Joel, all, > > I've put a patch here: > > homes.cs.washington.edu/~wmdietl/tmp/tas-in-memberenter.diff > > I have trouble with the interaction with repeating annotations and had > to add a second, very imaginatively named, typesQ2 queue to Annotate. > If I use the existing typesQ or the repeatedQ for this purpose in > MemberEnter, repeating annotations don't work. > The reason is that first we need to package up the repeating > annotations and only afterward should we determine their positions. > When we did this in Attr, it looks like repeating annotations were > already packaged up. > > Do you see a nicer solution than introducing the typesQ2? Maybe there > is a better place for the call in MemberEnter? What would be a better > name instead of typesQ2? > > I kept TypeAnnotations simple and now have two methods: > organizeTypeAnnotationsBodies and organizeTypeAnnotationsSignatures, > which are called from Attr and MemberEnter, respectively. > Does this interface look OK or should I change it to instantiate a > TypeAnnotations object and then call a method on it? > > I made a few other fixes to javadoc and it looks like javadoc sees > AnnotatedTypes. However, I don't see annotations in the HTML output. > Do you have some modifications for javadoc to see type annotations? > > Best regards, > cu, WMD. > > > On Wed, Jan 2, 2013 at 8:17 PM, Jonathan Gibbons > wrote: >> On 01/02/2013 08:11 PM, Werner Dietl wrote: >>> >>> On Wed, Jan 2, 2013 at 7:44 PM, Jonathan Gibbons >>> wrote: >>>> >>>> On 01/02/2013 05:56 PM, Werner Dietl wrote: >>>>> >>>>> I can introduce this separation again. >>>>> There are unfortunately no test cases for the annotations in Types. Is >>>>> there a way we could test this, independently of javadoc? >>>> >>>> >>>> It's high on my list, for variety of reasons, to have a "debug printer" >>>> for ASTs. We could use that as the basis for a series of tests to >>>> validate >>>> the structure of the AST -- and semantic info like annotations -- at >>>> various >>>> points through the compilation pipeline. >>>> >>>> As for testing separately of javadoc, all we need to do is to validate >>>> the >>>> data >>>> structures after Enter/MemberEnter. >>> >>> A standard "debug printer" way to compare this information would be >>> great and would ensure that the information in Type is valid after >>> various phases. >> >> >> I'll work on this tomorrow. I did something similar for the DocTree >> API, so I can cut-n-paste the ideas. >> >> >>> >>> >>>> It also seems to be that the problems would be visible during "regular" >>>> annotation >>>> processing, which occurs before Attr has been called. >>> >>> There is no "regular" annotation processor that looks at type annotations >>> yet. >> >> >> Yeah, I was just pointing out that if you were to write tests that >> leveraged the anno proc framework, they would see the issues too. >> >> >>> The Checker Framework runs after Attr and therefore I didn't run into >>> any issues. >>> I think a "debug printer" would be the preferable way to test this and >>> I'll wait to hear from you before adding any tests. >> >> Agreed on debug printer. I envisage a test strategy based on >> test classes containing type annos in all positions, and a custom >> tester to validate the AST for each of these classes. >> >> >>> >>> I agree with your other two points, that is, I'll see what the new >>> interface will look like and I'll clean up all TODOs and commented >>> code. >>> >>> cu, WMD. >>> >> > > > > -- > http://www.google.com/profiles/wdietl -- http://www.google.com/profiles/wdietl From steve.sides at oracle.com Tue Jan 8 15:45:55 2013 From: steve.sides at oracle.com (Steve Sides) Date: Tue, 08 Jan 2013 15:45:55 -0800 Subject: webrev for type-annotations, repeating type-annotations test In-Reply-To: References: <50E6174D.6090905@oracle.com> Message-ID: <50ECAFB3.5060707@oracle.com> This test supercedes the test in the previous review request (which was via mail). http://cr.openjdk.java.net/~ssides/8005085/ In writing a test for repeating type annotations I found it could cover several scenarios in one test, so this coverage mixed target types on type usages and type parameters as well as repeating type annotations in those usages. Due to http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=8005681 a few scenarios are commented out. In addition to any other changes or suggestions, we may want for that to be fixed so the whole test can be considered. This also include the previous refactoring of the classfile tests into a helper, ClassfileTestHelper.java. This makes the tests much simpler looking and easier to add new tests. I'd appreciate any comments or suggestions. -steve From alex.buckley at oracle.com Wed Jan 9 12:32:01 2013 From: alex.buckley at oracle.com (Alex Buckley) Date: Wed, 09 Jan 2013 12:32:01 -0800 Subject: webrev for type-annotations, repeating type-annotations test In-Reply-To: <50ECAFB3.5060707@oracle.com> References: <50E6174D.6090905@oracle.com> <50ECAFB3.5060707@oracle.com> Message-ID: <50EDD3C1.4080903@oracle.com> Hi Steve, Thanks for publishing this webrev. (And congrats on becoming an Author in this project!) CombinationsTargetTest is pretty complicated. Could you please give a description and examples of the combinations it generates? DeadCode, NewTypeArguments, TypeCasts, and Wildcards all use static fields in their superclass (ClassfileTestHelper) to communicate expected results to ClassfileTestHelper.countAnnotations(). Is it necessary to use static fields for this purpose? 8005681 is interesting. You're saying that "new @Foo @Foo @Bar @Bar C()" causes all four annotations to be dropped? Werner cannot access JBS, so it would be helpful if you could send test cases to this list. Alex On 1/8/2013 3:45 PM, Steve Sides wrote: > This test supercedes the test in the previous review request (which was > via mail). > http://cr.openjdk.java.net/~ssides/8005085/ > > In writing a test for repeating type annotations I found it could cover > several scenarios in one test, so this coverage > mixed target types on type usages and type parameters as well as > repeating type annotations in those usages. > > Due to http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=8005681 a few > scenarios are commented out. > In addition to any other changes or suggestions, we may want for that to > be fixed so the whole test can be considered. > > This also include the previous refactoring of the classfile tests into a > helper, ClassfileTestHelper.java. > This makes the tests much simpler looking and easier to add new tests. > > I'd appreciate any comments or suggestions. > > -steve From steve.sides at oracle.com Wed Jan 9 15:27:16 2013 From: steve.sides at oracle.com (Steve Sides) Date: Wed, 09 Jan 2013 15:27:16 -0800 Subject: webrev for type-annotations, repeating type-annotations test In-Reply-To: <50EDD3C1.4080903@oracle.com> References: <50E6174D.6090905@oracle.com> <50ECAFB3.5060707@oracle.com> <50EDD3C1.4080903@oracle.com> Message-ID: <50EDFCD4.9000503@oracle.com> I see the bug shows up in bugs.sun.com but the attached test case does not. :( However, I think I already sent a test case to Werner. static fields are probably not necessary. I was just following other test helpers. :) I will get an example posted. If a test case fails, it leaves behind the test code, so it's actually easier to see what happens when something fails then when it all passes. I found another one. A type annotation on the 2nd type in a union type of a multicatch crashes javac. I attached a test case to this mail. Basically, something like catch(@A E1 | @A E2 e) {} causes javac to crash. The stack trace from the test is below. If I put it on the first one it is okay, but anything on the 2nd crashes. It will eventually show up as 8005959 on bugs.sun.com. -steve stacktrace: An exception has occurred in the compiler (1.8.0-ea). Please file a bug at the Java Developer Connection (http://java.sun.com/webapps/bugreport) after checking the Bug Parade for duplicates. Include your program and the following diagnostic in your report. Thank you. java.lang.AssertionError: Unresolved frame: E1 | @C() E2 of kind: UNION_TYPE Looking for tree: @C() E2 at com.sun.tools.javac.util.Assert.error(Assert.java:133) at com.sun.tools.javac.code.TypeAnnotations$TypeAnnotationPositions.resolveFrame(TypeAnnotations.java:582) at com.sun.tools.javac.code.TypeAnnotations$TypeAnnotationPositions.resolveFrame(TypeAnnotations.java:551) at com.sun.tools.javac.code.TypeAnnotations$TypeAnnotationPositions.findPosition(TypeAnnotations.java:763) at com.sun.tools.javac.code.TypeAnnotations$TypeAnnotationPositions.visitAnnotatedType(TypeAnnotations.java:701) at com.sun.tools.javac.tree.JCTree$JCAnnotatedType.accept(JCTree.java:2281) at com.sun.tools.javac.tree.TreeScanner.scan(TreeScanner.java:49) at com.sun.tools.javac.code.TypeAnnotations$TypeAnnotationPositions.scan(TypeAnnotations.java:92) at com.sun.tools.javac.tree.TreeScanner.scan(TreeScanner.java:57) at com.sun.tools.javac.tree.TreeScanner.visitTypeUnion(TreeScanner.java:290) at com.sun.tools.javac.tree.JCTree$JCTypeUnion.accept(JCTree.java:2072) at com.sun.tools.javac.tree.TreeScanner.scan(TreeScanner.java:49) at com.sun.tools.javac.code.TypeAnnotations$TypeAnnotationPositions.scan(TypeAnnotations.java:92) at com.sun.tools.javac.tree.TreeScanner.visitVarDef(TreeScanner.java:96) at com.sun.tools.javac.code.TypeAnnotations$TypeAnnotationPositions.visitVarDef(TypeAnnotations.java:694) at com.sun.tools.javac.tree.JCTree$JCVariableDecl.accept(JCTree.java:792) at com.sun.tools.javac.tree.TreeScanner.scan(TreeScanner.java:49) at com.sun.tools.javac.code.TypeAnnotations$TypeAnnotationPositions.scan(TypeAnnotations.java:92) at com.sun.tools.javac.tree.TreeScanner.visitCatch(TreeScanner.java:157) at com.sun.tools.javac.tree.JCTree$JCCatch.accept(JCTree.java:1145) at com.sun.tools.javac.tree.TreeScanner.scan(TreeScanner.java:49) at com.sun.tools.javac.code.TypeAnnotations$TypeAnnotationPositions.scan(TypeAnnotations.java:92) at com.sun.tools.javac.tree.TreeScanner.scan(TreeScanner.java:57) at com.sun.tools.javac.tree.TreeScanner.visitTry(TreeScanner.java:152) at com.sun.tools.javac.tree.JCTree$JCTry.accept(JCTree.java:1112) at com.sun.tools.javac.tree.TreeScanner.scan(TreeScanner.java:49) at com.sun.tools.javac.code.TypeAnnotations$TypeAnnotationPositions.scan(TypeAnnotations.java:92) at com.sun.tools.javac.tree.TreeScanner.scan(TreeScanner.java:57) at com.sun.tools.javac.tree.TreeScanner.visitBlock(TreeScanner.java:104) at com.sun.tools.javac.tree.JCTree$JCBlock.accept(JCTree.java:848) at com.sun.tools.javac.tree.TreeScanner.scan(TreeScanner.java:49) at com.sun.tools.javac.code.TypeAnnotations$TypeAnnotationPositions.scan(TypeAnnotations.java:92) at com.sun.tools.javac.tree.TreeScanner.visitMethodDef(TreeScanner.java:91) at com.sun.tools.javac.code.TypeAnnotations$TypeAnnotationPositions.visitMethodDef(TypeAnnotations.java:655) at com.sun.tools.javac.tree.JCTree$JCMethodDecl.accept(JCTree.java:735) at com.sun.tools.javac.tree.TreeScanner.scan(TreeScanner.java:49) at com.sun.tools.javac.code.TypeAnnotations$TypeAnnotationPositions.scan(TypeAnnotations.java:92) at com.sun.tools.javac.tree.TreeScanner.scan(TreeScanner.java:57) at com.sun.tools.javac.tree.TreeScanner.visitClassDef(TreeScanner.java:80) at com.sun.tools.javac.tree.JCTree$JCClassDecl.accept(JCTree.java:650) at com.sun.tools.javac.tree.TreeScanner.scan(TreeScanner.java:49) at com.sun.tools.javac.code.TypeAnnotations$TypeAnnotationPositions.scan(TypeAnnotations.java:92) at com.sun.tools.javac.code.TypeAnnotations.organizeTypeAnnotations(TypeAnnotations.java:63) at com.sun.tools.javac.comp.Attr.attribClassBody(Attr.java:4036) at com.sun.tools.javac.comp.Attr.attribClass(Attr.java:3902) at com.sun.tools.javac.comp.Attr.attribClass(Attr.java:3836) at com.sun.tools.javac.comp.Attr.attrib(Attr.java:3810) at com.sun.tools.javac.main.JavaCompiler.attribute(JavaCompiler.java:1254) at com.sun.tools.javac.main.JavaCompiler.compile2(JavaCompiler.java:907) at com.sun.tools.javac.main.JavaCompiler.compile(JavaCompiler.java:866) at com.sun.tools.javac.main.Main.compile(Main.java:506) at com.sun.tools.javac.main.Main.compile(Main.java:365) at com.sun.tools.javac.main.Main.compile(Main.java:354) at com.sun.tools.javac.main.Main.compile(Main.java:345) at com.sun.tools.javac.Main.compile(Main.java:94) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:477) at com.sun.javatest.regtest.RegressionCompileCommand.run(RegressionCompileCommand.java:247) at com.sun.javatest.regtest.CompileAction.runCompile(CompileAction.java:556) at com.sun.javatest.regtest.CompileAction.runSameJVM(CompileAction.java:395) at com.sun.javatest.regtest.CompileAction.run(CompileAction.java:250) at com.sun.javatest.regtest.RegressionScript.run(RegressionScript.java:146) at com.sun.javatest.Script.run(Script.java:228) at com.sun.javatest.DefaultTestRunner.runTest(DefaultTestRunner.java:174) at com.sun.javatest.DefaultTestRunner.access$100(DefaultTestRunner.java:43) at com.sun.javatest.DefaultTestRunner$1.run(DefaultTestRunner.java:66) On 1/9/2013 12:32 PM, Alex Buckley wrote: > Hi Steve, > > Thanks for publishing this webrev. (And congrats on becoming an Author > in this project!) > > CombinationsTargetTest is pretty complicated. Could you please give a > description and examples of the combinations it generates? > > DeadCode, NewTypeArguments, TypeCasts, and Wildcards all use static > fields in their superclass (ClassfileTestHelper) to communicate > expected results to ClassfileTestHelper.countAnnotations(). Is it > necessary to use static fields for this purpose? > > 8005681 is interesting. You're saying that "new @Foo @Foo @Bar @Bar > C()" causes all four annotations to be dropped? Werner cannot access > JBS, so it would be helpful if you could send test cases to this list. > > Alex > > On 1/8/2013 3:45 PM, Steve Sides wrote: >> This test supercedes the test in the previous review request (which was >> via mail). >> http://cr.openjdk.java.net/~ssides/8005085/ >> >> In writing a test for repeating type annotations I found it could cover >> several scenarios in one test, so this coverage >> mixed target types on type usages and type parameters as well as >> repeating type annotations in those usages. >> >> Due to http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=8005681 a few >> scenarios are commented out. >> In addition to any other changes or suggestions, we may want for that to >> be fixed so the whole test can be considered. >> >> This also include the previous refactoring of the classfile tests into a >> helper, ClassfileTestHelper.java. >> This makes the tests much simpler looking and easier to add new tests. >> >> I'd appreciate any comments or suggestions. >> >> -steve -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: TypeAnnoOnUnion.java Url: http://mail.openjdk.java.net/pipermail/type-annotations-dev/attachments/20130109/f887c27e/TypeAnnoOnUnion.java From jonathan.gibbons at oracle.com Wed Jan 9 15:45:07 2013 From: jonathan.gibbons at oracle.com (Jonathan Gibbons) Date: Wed, 09 Jan 2013 15:45:07 -0800 Subject: webrev for type-annotations, repeating type-annotations test In-Reply-To: <50EDFCD4.9000503@oracle.com> References: <50E6174D.6090905@oracle.com> <50ECAFB3.5060707@oracle.com> <50EDD3C1.4080903@oracle.com> <50EDFCD4.9000503@oracle.com> Message-ID: <50EE0103.3060205@oracle.com> On 01/09/2013 03:27 PM, Steve Sides wrote: > > static fields are probably not necessary. I was just following other > test helpers. :) Yeah, precedents are good, except when they're not. In this case, mutable static fields are the spawn of the devil. Or something like that ;-) If you see other helpers making excessive use of "static", please point it out. -- Jon From steve.sides at oracle.com Wed Jan 9 17:00:10 2013 From: steve.sides at oracle.com (Steve Sides) Date: Wed, 09 Jan 2013 17:00:10 -0800 Subject: webrev for type-annotations, repeating type-annotations test In-Reply-To: <50EDD3C1.4080903@oracle.com> References: <50E6174D.6090905@oracle.com> <50ECAFB3.5060707@oracle.com> <50EDD3C1.4080903@oracle.com> Message-ID: <50EE129A.3000302@oracle.com> I posted a second webrev, http://cr.openjdk.java.net/~ssides/8005085/webrev.02/ with a webrevComment.txt file and removed the statics. :) -steve On 1/9/2013 12:32 PM, Alex Buckley wrote: > Hi Steve, > > Thanks for publishing this webrev. (And congrats on becoming an Author > in this project!) > > CombinationsTargetTest is pretty complicated. Could you please give a > description and examples of the combinations it generates? > > DeadCode, NewTypeArguments, TypeCasts, and Wildcards all use static > fields in their superclass (ClassfileTestHelper) to communicate > expected results to ClassfileTestHelper.countAnnotations(). Is it > necessary to use static fields for this purpose? > > 8005681 is interesting. You're saying that "new @Foo @Foo @Bar @Bar > C()" causes all four annotations to be dropped? Werner cannot access > JBS, so it would be helpful if you could send test cases to this list. > > Alex > > On 1/8/2013 3:45 PM, Steve Sides wrote: >> This test supercedes the test in the previous review request (which was >> via mail). >> http://cr.openjdk.java.net/~ssides/8005085/ >> >> In writing a test for repeating type annotations I found it could cover >> several scenarios in one test, so this coverage >> mixed target types on type usages and type parameters as well as >> repeating type annotations in those usages. >> >> Due to http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=8005681 a few >> scenarios are commented out. >> In addition to any other changes or suggestions, we may want for that to >> be fixed so the whole test can be considered. >> >> This also include the previous refactoring of the classfile tests into a >> helper, ClassfileTestHelper.java. >> This makes the tests much simpler looking and easier to add new tests. >> >> I'd appreciate any comments or suggestions. >> >> -steve From wdietl at gmail.com Wed Jan 9 18:57:04 2013 From: wdietl at gmail.com (Werner Dietl) Date: Wed, 9 Jan 2013 18:57:04 -0800 Subject: Type annotations in multicatch Message-ID: > I found another one. A type annotation on the 2nd type in a union type of a > multicatch crashes javac. > I attached a test case to this mail. Basically, something like > > catch(@A E1 | @A E2 e) {} > > causes javac to crash. The stack trace from the test is below. > If I put it on the first one it is okay, but anything on the 2nd crashes. > It will eventually show up as 8005959 on bugs.sun.com. Thanks for this test case, Steve! I can't reproduce the crash in my current setup, but I see why it would happen in trunk. It looks like there is only one exception table entry for a multicatch. Therefore, it seems to me that only storing the exception table index is not enough to distinguish between multiple annotations in a multicatch. Does the JSR 308 spec need some addition in Sec. 3.3.8? Or am I not looking at the exception table correctly? Thanks, cu, WMD. > stacktrace: > > An exception has occurred in the compiler (1.8.0-ea). Please file a bug at > the Java Developer Connection (http://java.sun.com/webapps/bugreport) after > checking the Bug Parade for duplicates. Include your program and the > following diagnostic in your report. Thank you. > java.lang.AssertionError: Unresolved frame: E1 | @C() E2 of kind: UNION_TYPE > Looking for tree: @C() E2 > at com.sun.tools.javac.util.Assert.error(Assert.java:133) > at > com.sun.tools.javac.code.TypeAnnotations$TypeAnnotationPositions.resolveFrame(TypeAnnotations.java:582) > at > com.sun.tools.javac.code.TypeAnnotations$TypeAnnotationPositions.resolveFrame(TypeAnnotations.java:551) > at > com.sun.tools.javac.code.TypeAnnotations$TypeAnnotationPositions.findPosition(TypeAnnotations.java:763) > at > com.sun.tools.javac.code.TypeAnnotations$TypeAnnotationPositions.visitAnnotatedType(TypeAnnotations.java:701) > at > com.sun.tools.javac.tree.JCTree$JCAnnotatedType.accept(JCTree.java:2281) > at com.sun.tools.javac.tree.TreeScanner.scan(TreeScanner.java:49) > at > com.sun.tools.javac.code.TypeAnnotations$TypeAnnotationPositions.scan(TypeAnnotations.java:92) > at com.sun.tools.javac.tree.TreeScanner.scan(TreeScanner.java:57) > at > com.sun.tools.javac.tree.TreeScanner.visitTypeUnion(TreeScanner.java:290) > at > com.sun.tools.javac.tree.JCTree$JCTypeUnion.accept(JCTree.java:2072) > at com.sun.tools.javac.tree.TreeScanner.scan(TreeScanner.java:49) > at > com.sun.tools.javac.code.TypeAnnotations$TypeAnnotationPositions.scan(TypeAnnotations.java:92) > at > com.sun.tools.javac.tree.TreeScanner.visitVarDef(TreeScanner.java:96) > at > com.sun.tools.javac.code.TypeAnnotations$TypeAnnotationPositions.visitVarDef(TypeAnnotations.java:694) > at > com.sun.tools.javac.tree.JCTree$JCVariableDecl.accept(JCTree.java:792) > at com.sun.tools.javac.tree.TreeScanner.scan(TreeScanner.java:49) > at > com.sun.tools.javac.code.TypeAnnotations$TypeAnnotationPositions.scan(TypeAnnotations.java:92) > at > com.sun.tools.javac.tree.TreeScanner.visitCatch(TreeScanner.java:157) > at com.sun.tools.javac.tree.JCTree$JCCatch.accept(JCTree.java:1145) > at com.sun.tools.javac.tree.TreeScanner.scan(TreeScanner.java:49) > at > com.sun.tools.javac.code.TypeAnnotations$TypeAnnotationPositions.scan(TypeAnnotations.java:92) > at com.sun.tools.javac.tree.TreeScanner.scan(TreeScanner.java:57) > at > com.sun.tools.javac.tree.TreeScanner.visitTry(TreeScanner.java:152) > at com.sun.tools.javac.tree.JCTree$JCTry.accept(JCTree.java:1112) > at com.sun.tools.javac.tree.TreeScanner.scan(TreeScanner.java:49) > at > com.sun.tools.javac.code.TypeAnnotations$TypeAnnotationPositions.scan(TypeAnnotations.java:92) > at com.sun.tools.javac.tree.TreeScanner.scan(TreeScanner.java:57) > at > com.sun.tools.javac.tree.TreeScanner.visitBlock(TreeScanner.java:104) > at com.sun.tools.javac.tree.JCTree$JCBlock.accept(JCTree.java:848) > at com.sun.tools.javac.tree.TreeScanner.scan(TreeScanner.java:49) > at > com.sun.tools.javac.code.TypeAnnotations$TypeAnnotationPositions.scan(TypeAnnotations.java:92) > at > com.sun.tools.javac.tree.TreeScanner.visitMethodDef(TreeScanner.java:91) > at > com.sun.tools.javac.code.TypeAnnotations$TypeAnnotationPositions.visitMethodDef(TypeAnnotations.java:655) > at > com.sun.tools.javac.tree.JCTree$JCMethodDecl.accept(JCTree.java:735) > at com.sun.tools.javac.tree.TreeScanner.scan(TreeScanner.java:49) > at > com.sun.tools.javac.code.TypeAnnotations$TypeAnnotationPositions.scan(TypeAnnotations.java:92) > at com.sun.tools.javac.tree.TreeScanner.scan(TreeScanner.java:57) > at > com.sun.tools.javac.tree.TreeScanner.visitClassDef(TreeScanner.java:80) > at > com.sun.tools.javac.tree.JCTree$JCClassDecl.accept(JCTree.java:650) > at com.sun.tools.javac.tree.TreeScanner.scan(TreeScanner.java:49) > at > com.sun.tools.javac.code.TypeAnnotations$TypeAnnotationPositions.scan(TypeAnnotations.java:92) > at > com.sun.tools.javac.code.TypeAnnotations.organizeTypeAnnotations(TypeAnnotations.java:63) > at com.sun.tools.javac.comp.Attr.attribClassBody(Attr.java:4036) > at com.sun.tools.javac.comp.Attr.attribClass(Attr.java:3902) > at com.sun.tools.javac.comp.Attr.attribClass(Attr.java:3836) > at com.sun.tools.javac.comp.Attr.attrib(Attr.java:3810) > at > com.sun.tools.javac.main.JavaCompiler.attribute(JavaCompiler.java:1254) > at > com.sun.tools.javac.main.JavaCompiler.compile2(JavaCompiler.java:907) > at > com.sun.tools.javac.main.JavaCompiler.compile(JavaCompiler.java:866) > at com.sun.tools.javac.main.Main.compile(Main.java:506) > at com.sun.tools.javac.main.Main.compile(Main.java:365) > at com.sun.tools.javac.main.Main.compile(Main.java:354) > at com.sun.tools.javac.main.Main.compile(Main.java:345) > at com.sun.tools.javac.Main.compile(Main.java:94) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:477) > at > com.sun.javatest.regtest.RegressionCompileCommand.run(RegressionCompileCommand.java:247) > at > com.sun.javatest.regtest.CompileAction.runCompile(CompileAction.java:556) > at > com.sun.javatest.regtest.CompileAction.runSameJVM(CompileAction.java:395) > at > com.sun.javatest.regtest.CompileAction.run(CompileAction.java:250) > at > com.sun.javatest.regtest.RegressionScript.run(RegressionScript.java:146) > at com.sun.javatest.Script.run(Script.java:228) > at > com.sun.javatest.DefaultTestRunner.runTest(DefaultTestRunner.java:174) > at > com.sun.javatest.DefaultTestRunner.access$100(DefaultTestRunner.java:43) > at > com.sun.javatest.DefaultTestRunner$1.run(DefaultTestRunner.java:66) > > > On 1/9/2013 12:32 PM, Alex Buckley wrote: >> >> Hi Steve, >> >> Thanks for publishing this webrev. (And congrats on becoming an Author in >> this project!) >> >> CombinationsTargetTest is pretty complicated. Could you please give a >> description and examples of the combinations it generates? >> >> DeadCode, NewTypeArguments, TypeCasts, and Wildcards all use static fields >> in their superclass (ClassfileTestHelper) to communicate expected results to >> ClassfileTestHelper.countAnnotations(). Is it necessary to use static fields >> for this purpose? >> >> 8005681 is interesting. You're saying that "new @Foo @Foo @Bar @Bar C()" >> causes all four annotations to be dropped? Werner cannot access JBS, so it >> would be helpful if you could send test cases to this list. >> >> Alex >> >> On 1/8/2013 3:45 PM, Steve Sides wrote: >>> >>> This test supercedes the test in the previous review request (which was >>> via mail). >>> http://cr.openjdk.java.net/~ssides/8005085/ >>> >>> In writing a test for repeating type annotations I found it could cover >>> several scenarios in one test, so this coverage >>> mixed target types on type usages and type parameters as well as >>> repeating type annotations in those usages. >>> >>> Due to http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=8005681 a few >>> scenarios are commented out. >>> In addition to any other changes or suggestions, we may want for that to >>> be fixed so the whole test can be considered. >>> >>> This also include the previous refactoring of the classfile tests into a >>> helper, ClassfileTestHelper.java. >>> This makes the tests much simpler looking and easier to add new tests. >>> >>> I'd appreciate any comments or suggestions. >>> >>> -steve > > -- http://www.google.com/profiles/wdietl From alex.buckley at oracle.com Thu Jan 10 13:14:47 2013 From: alex.buckley at oracle.com (Alex Buckley) Date: Thu, 10 Jan 2013 13:14:47 -0800 Subject: Type annotations in multicatch In-Reply-To: References: Message-ID: <50EF2F47.2040901@oracle.com> On 1/9/2013 6:57 PM, Werner Dietl wrote: >> I found another one. A type annotation on the 2nd type in a union type of a >> multicatch crashes javac. >> I attached a test case to this mail. Basically, something like >> >> catch(@A E1 | @A E2 e) {} >> >> causes javac to crash. The stack trace from the test is below. >> If I put it on the first one it is okay, but anything on the 2nd crashes. >> It will eventually show up as 8005959 on bugs.sun.com. > > Thanks for this test case, Steve! > > I can't reproduce the crash in my current setup, but I see why it > would happen in trunk. > It looks like there is only one exception table entry for a multicatch. > Therefore, it seems to me that only storing the exception table index > is not enough to distinguish between multiple annotations in a > multicatch. > Does the JSR 308 spec need some addition in Sec. 3.3.8? Or am I not > looking at the exception table correctly? The catch clause above will produce two entries in Code.exception_table. Their start_pc, end_pc, and handler_pc items will be identical, but their catch_type items will be different (E1 v. E2). So in Code.RuntimeInvisibleTypeAnnotations.annotations[], there should be two type_annotation entries of target_type EXCEPTION_PARAMETER. Each should point to one of the exception_table entries. Alex From alex.buckley at oracle.com Thu Jan 10 14:37:29 2013 From: alex.buckley at oracle.com (Alex Buckley) Date: Thu, 10 Jan 2013 14:37:29 -0800 Subject: webrev for type-annotations, repeating type-annotations test In-Reply-To: <50EE129A.3000302@oracle.com> References: <50E6174D.6090905@oracle.com> <50ECAFB3.5060707@oracle.com> <50EDD3C1.4080903@oracle.com> <50EE129A.3000302@oracle.com> Message-ID: <50EF42A9.7040409@oracle.com> Hi Steve, It seems to me there is still quite a lot of code duplication in ClassfileTestHelper for the 3-arg and 4-arg versions of test(). The writeup of CombinationsTargetTest is helpful, especially the sample output. It shows there is a lot going on: i) annotation types which are declaration-site v. use-site v. decl-and-use-site, and ii) annotations which occur once v. multiple times v. jointly with other annotations. Two questions: 1. Could you expand "4) inside method bodies" to make clear what locations are tested with type annotations? 2. Is it possible to "limit" the test generation of CombinationsTargetTest to just (say) use-site annotations occurring once in cast expressions ? If a "simple" scenario like that is easy to run and verify, it would give confidence that complex scenarios like the sample output are correct. Alex On 1/9/2013 5:00 PM, Steve Sides wrote: > I posted a second webrev, > http://cr.openjdk.java.net/~ssides/8005085/webrev.02/ > with a webrevComment.txt file and removed the statics. :) > > -steve > > On 1/9/2013 12:32 PM, Alex Buckley wrote: >> Hi Steve, >> >> Thanks for publishing this webrev. (And congrats on becoming an Author >> in this project!) >> >> CombinationsTargetTest is pretty complicated. Could you please give a >> description and examples of the combinations it generates? >> >> DeadCode, NewTypeArguments, TypeCasts, and Wildcards all use static >> fields in their superclass (ClassfileTestHelper) to communicate >> expected results to ClassfileTestHelper.countAnnotations(). Is it >> necessary to use static fields for this purpose? >> >> 8005681 is interesting. You're saying that "new @Foo @Foo @Bar @Bar >> C()" causes all four annotations to be dropped? Werner cannot access >> JBS, so it would be helpful if you could send test cases to this list. >> >> Alex >> >> On 1/8/2013 3:45 PM, Steve Sides wrote: >>> This test supercedes the test in the previous review request (which was >>> via mail). >>> http://cr.openjdk.java.net/~ssides/8005085/ >>> >>> In writing a test for repeating type annotations I found it could cover >>> several scenarios in one test, so this coverage >>> mixed target types on type usages and type parameters as well as >>> repeating type annotations in those usages. >>> >>> Due to http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=8005681 a few >>> scenarios are commented out. >>> In addition to any other changes or suggestions, we may want for that to >>> be fixed so the whole test can be considered. >>> >>> This also include the previous refactoring of the classfile tests into a >>> helper, ClassfileTestHelper.java. >>> This makes the tests much simpler looking and easier to add new tests. >>> >>> I'd appreciate any comments or suggestions. >>> >>> -steve > From wdietl at gmail.com Thu Jan 10 14:53:08 2013 From: wdietl at gmail.com (Werner Dietl) Date: Thu, 10 Jan 2013 14:53:08 -0800 Subject: Type annotations in multicatch In-Reply-To: <50EF2F47.2040901@oracle.com> References: <50EF2F47.2040901@oracle.com> Message-ID: Thanks for the clarification, Alex! So far I only looked at the start_pc and didn't notice that the entries differed in catch_type; see methods com.sun.tools.javac.jvm.Code.fillExceptionParameterPositions and findExceptionIndex. I will have to investigate how I can keep track of the annotation position. The Code.LocalVar that I currently use doesn't seem to have enough information - this is only one local variable for the multicatch. cu, WMD. On Thu, Jan 10, 2013 at 1:14 PM, Alex Buckley wrote: > On 1/9/2013 6:57 PM, Werner Dietl wrote: >>> >>> I found another one. A type annotation on the 2nd type in a union type of >>> a >>> multicatch crashes javac. >>> I attached a test case to this mail. Basically, something like >>> >>> catch(@A E1 | @A E2 e) {} >>> >>> causes javac to crash. The stack trace from the test is below. >>> If I put it on the first one it is okay, but anything on the 2nd crashes. >>> It will eventually show up as 8005959 on bugs.sun.com. >> >> >> Thanks for this test case, Steve! >> >> I can't reproduce the crash in my current setup, but I see why it >> would happen in trunk. >> It looks like there is only one exception table entry for a multicatch. >> Therefore, it seems to me that only storing the exception table index >> is not enough to distinguish between multiple annotations in a >> multicatch. >> Does the JSR 308 spec need some addition in Sec. 3.3.8? Or am I not >> looking at the exception table correctly? > > > The catch clause above will produce two entries in Code.exception_table. > Their start_pc, end_pc, and handler_pc items will be identical, but their > catch_type items will be different (E1 v. E2). > > So in Code.RuntimeInvisibleTypeAnnotations.annotations[], there should be > two type_annotation entries of target_type EXCEPTION_PARAMETER. Each should > point to one of the exception_table entries. > > Alex -- http://www.google.com/profiles/wdietl From alex.buckley at oracle.com Thu Jan 10 14:56:48 2013 From: alex.buckley at oracle.com (Alex Buckley) Date: Thu, 10 Jan 2013 14:56:48 -0800 Subject: Type annotations in multicatch In-Reply-To: References: <50EF2F47.2040901@oracle.com> Message-ID: <50EF4730.4020306@oracle.com> On 1/10/2013 2:53 PM, Werner Dietl wrote: > Thanks for the clarification, Alex! > So far I only looked at the start_pc and didn't notice that the > entries differed in catch_type; For this trivial program: public class Exc { static class MyException extends Exception {} static class MyException2 extends Exception {} public static void main(String[] a) { try { throw new Exception(); } catch (MyException | MyException2 e) {} catch (Exception e2) {} } } I get: Code: 0: new #2 // class java/lang/Exception 3: dup 4: invokespecial #3 // Method java/lang/Exception."":()V 7: athrow 8: astore_1 9: goto 13 12: astore_1 13: return Exception table: from to target type 0 8 8 Class Exc$MyException 0 8 8 Class Exc$MyException2 0 8 12 Class java/lang/Exception Two exception_table entries for the same try block, with different catch_type's. Alex From steve.sides at oracle.com Thu Jan 10 15:40:19 2013 From: steve.sides at oracle.com (Steve Sides) Date: Thu, 10 Jan 2013 15:40:19 -0800 Subject: webrev for type-annotations, repeating type-annotations test In-Reply-To: <50EF42A9.7040409@oracle.com> References: <50E6174D.6090905@oracle.com> <50ECAFB3.5060707@oracle.com> <50EDD3C1.4080903@oracle.com> <50EE129A.3000302@oracle.com> <50EF42A9.7040409@oracle.com> Message-ID: <50EF5163.5020607@oracle.com> On 1/10/2013 2:37 PM, Alex Buckley wrote: > Hi Steve, > > It seems to me there is still quite a lot of code duplication in > ClassfileTestHelper for the 3-arg and 4-arg versions of test(). But it's only in one file now! :) It was previously in each test. I stared at this for a while. I will try to factor it down a bit. It should be possible. > > The writeup of CombinationsTargetTest is helpful, especially the > sample output. It shows there is a lot going on: i) annotation types > which are declaration-site v. use-site v. decl-and-use-site, and ii) > annotations which occur once v. multiple times v. jointly with other > annotations. Two questions: > > 1. Could you expand "4) inside method bodies" to make clear what > locations are tested with type annotations? Do you want I should add this to the comments or put it in comment in the test? Each code scenario could have a comment blurb listing usages. > > 2. Is it possible to "limit" the test generation of > CombinationsTargetTest to just (say) use-site annotations occurring > once in cast expressions ? If a "simple" scenario like that is easy to > run and verify, it would give confidence that complex scenarios like > the sample output are correct. I can, but that will have to follow a little later after this mail. FWIW, I did find the bug for double annotations on new,array,cast using this test. It failed as noted in the webrevComment.txt file. Once it fails, i can see there is a mismatch in the number of expected annotations, and I started narrowing it down...it wasn't that difficult. This test case, http://cr.openjdk.java.net/~ssides/tests/TypeAnnoContainers.java, is essentially a smaller version of the whole thing. The output of that is METHOD: m1, RuntimeVisibleTypeAnnotations: 3 METHOD: m1, RuntimeInvisibleTypeAnnotations: 3 METHOD: m2, RuntimeVisibleTypeAnnotations: 3 METHOD: m2, RuntimeInvisibleTypeAnnotations: 3 all : 12, expected :18 visibles : 6, expected :9 invisibles : 6, expected :9 Exception in thread "main" java.lang.RuntimeException: Did not find expected type annotations. at TypeAnnoContainers.report(TypeAnnoContainers.java:56) at TypeAnnoContainers.run(TypeAnnoContainers.java:100) at TypeAnnoContainers.main(TypeAnnoContainers.java:46) By looking at the code and the output above, you can easily identify which numbers are off. There are some things which makes this easier to narrow down in that it shows the number of annotation per class,method,field(in this case method). I have a utility, CountAnnotations.java, which came out of that, but I did not build that in to the larger test. I could try to do that so you can get the above type of output for a test failure, but I'm not sure the test is structured so as to lend itself to that. FWIW, I posted that file at http://cr.openjdk.java.net/~ssides/tests/CountAnnotations.java -steve > > Alex > > On 1/9/2013 5:00 PM, Steve Sides wrote: >> I posted a second webrev, >> http://cr.openjdk.java.net/~ssides/8005085/webrev.02/ >> with a webrevComment.txt file and removed the statics. :) >> >> -steve >> >> On 1/9/2013 12:32 PM, Alex Buckley wrote: >>> Hi Steve, >>> >>> Thanks for publishing this webrev. (And congrats on becoming an Author >>> in this project!) >>> >>> CombinationsTargetTest is pretty complicated. Could you please give a >>> description and examples of the combinations it generates? >>> >>> DeadCode, NewTypeArguments, TypeCasts, and Wildcards all use static >>> fields in their superclass (ClassfileTestHelper) to communicate >>> expected results to ClassfileTestHelper.countAnnotations(). Is it >>> necessary to use static fields for this purpose? >>> >>> 8005681 is interesting. You're saying that "new @Foo @Foo @Bar @Bar >>> C()" causes all four annotations to be dropped? Werner cannot access >>> JBS, so it would be helpful if you could send test cases to this list. >>> >>> Alex >>> >>> On 1/8/2013 3:45 PM, Steve Sides wrote: >>>> This test supercedes the test in the previous review request (which >>>> was >>>> via mail). >>>> http://cr.openjdk.java.net/~ssides/8005085/ >>>> >>>> In writing a test for repeating type annotations I found it could >>>> cover >>>> several scenarios in one test, so this coverage >>>> mixed target types on type usages and type parameters as well as >>>> repeating type annotations in those usages. >>>> >>>> Due to http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=8005681 a >>>> few >>>> scenarios are commented out. >>>> In addition to any other changes or suggestions, we may want for >>>> that to >>>> be fixed so the whole test can be considered. >>>> >>>> This also include the previous refactoring of the classfile tests >>>> into a >>>> helper, ClassfileTestHelper.java. >>>> This makes the tests much simpler looking and easier to add new tests. >>>> >>>> I'd appreciate any comments or suggestions. >>>> >>>> -steve >> From alex.buckley at oracle.com Thu Jan 10 17:17:47 2013 From: alex.buckley at oracle.com (Alex Buckley) Date: Thu, 10 Jan 2013 17:17:47 -0800 Subject: webrev for type-annotations, repeating type-annotations test In-Reply-To: <50EF5163.5020607@oracle.com> References: <50E6174D.6090905@oracle.com> <50ECAFB3.5060707@oracle.com> <50EDD3C1.4080903@oracle.com> <50EE129A.3000302@oracle.com> <50EF42A9.7040409@oracle.com> <50EF5163.5020607@oracle.com> Message-ID: <50EF683B.6020105@oracle.com> On 1/10/2013 3:40 PM, Steve Sides wrote: >> The writeup of CombinationsTargetTest is helpful, especially the >> sample output. It shows there is a lot going on: i) annotation types >> which are declaration-site v. use-site v. decl-and-use-site, and ii) >> annotations which occur once v. multiple times v. jointly with other >> annotations. Two questions: >> >> 1. Could you expand "4) inside method bodies" to make clear what >> locations are tested with type annotations? > Do you want I should add this to the comments or put it in comment in > the test? > Each code scenario could have a comment blurb listing usages. Just the comments. Giving the line numbers of the test which generate annotations for certain locations would be good too. BTW the opening line is: "CombinationsTargetTest.java tests type annotations with combinations of target types on ..." - the term "target types" is not entirely clear and I think @Target is relevant. > FWIW, I did find the bug for double annotations on new,array,cast using > this test. It failed as noted in the webrevComment.txt file. > Once it fails, i can see there is a mismatch in the number of expected > annotations, and I started narrowing it down...it wasn't that difficult. > > This test case, > http://cr.openjdk.java.net/~ssides/tests/TypeAnnoContainers.java, is > essentially a smaller version of the whole thing. Right, thanks for posting that. Alex From mernst at cs.washington.edu Sat Jan 12 04:51:26 2013 From: mernst at cs.washington.edu (Michael Ernst) Date: Sat, 12 Jan 2013 04:51:26 -0800 (PST) Subject: JSR 308 implementation: information needs Message-ID: <20130112.045126.1004439002794367408.mernst@cs.washington.edu> Alex- Thanks for suggesting that we make an explicit list of to-do items. Here are some specific things that we could use from Oracle, the lack of which has slowed us down. 1. We need a reply to Werner's Dec 31 message about introducing Type.AnnotatedType, to know whether that is the right direction or whether Jon wants to investigate alternatives: http://mail.openjdk.java.net/pipermail/type-annotations-dev/2012-December/000358.html 2. We need a reply to Werner's messages of January 7 about when type annotation positions are determined, again to know in what direction to take the code. http://mail.openjdk.java.net/pipermail/type-annotations-dev/2013-January/000379.html http://mail.openjdk.java.net/pipermail/type-annotations-dev/2013-January/000381.html 3. We could use details about javac's translation of lambda, which will greatly help us implement the (vague) JSR 308 spec for bytecode representation of lambda type arguments that you and I agreed on in our January 10 phone call. 4. Joel hasn't committed anything to the type-annotations forest yet, so we don't know much about his status. It would be good to either have more insight or (even better!) to have assurance that this won't affect schedule, no matter what happens. 5. We need a schedule for when Jon plans to generate the one big changeset to push to TL. When has he allocated time for that, and how much time has he allocated? Thanks very much! -Mike From jonathan.gibbons at oracle.com Sat Jan 12 08:38:24 2013 From: jonathan.gibbons at oracle.com (Jonathan Gibbons) Date: Sat, 12 Jan 2013 08:38:24 -0800 Subject: JSR 308 implementation: information needs In-Reply-To: <20130112.045126.1004439002794367408.mernst@cs.washington.edu> References: <20130112.045126.1004439002794367408.mernst@cs.washington.edu> Message-ID: <50F19180.1000308@oracle.com> On 01/12/2013 04:51 AM, Michael Ernst wrote: > 5. We need a schedule for when Jon plans to generate the one big changeset > to push to TL. When has he allocated time for that, and how much time has > he allocated? I've been waiting for confirmation that the code is ready to be pushed. -- Jon From jonathan.gibbons at oracle.com Sat Jan 12 08:39:14 2013 From: jonathan.gibbons at oracle.com (Jonathan Gibbons) Date: Sat, 12 Jan 2013 08:39:14 -0800 Subject: JSR 308 implementation: information needs In-Reply-To: <20130112.045126.1004439002794367408.mernst@cs.washington.edu> References: <20130112.045126.1004439002794367408.mernst@cs.washington.edu> Message-ID: <50F191B2.5030701@oracle.com> On 01/12/2013 04:51 AM, Michael Ernst wrote: > 1. We need a reply to Werner's Dec 31 message about introducing > Type.AnnotatedType, to know whether that is the right direction or whether > Jon wants to investigate alternatives: > http://mail.openjdk.java.net/pipermail/type-annotations-dev/2012-December/000358.html > > 2. We need a reply to Werner's messages of January 7 about when type annotation > positions are determined, again to know in what direction to take the code. > http://mail.openjdk.java.net/pipermail/type-annotations-dev/2013-January/000379.html > http://mail.openjdk.java.net/pipermail/type-annotations-dev/2013-January/000381.html I'll work on these this weekend. -- Jon From joel.franck at oracle.com Mon Jan 14 11:23:02 2013 From: joel.franck at oracle.com (=?iso-8859-1?Q?Joel_Borggr=E9n-Franck?=) Date: Mon, 14 Jan 2013 20:23:02 +0100 Subject: JSR 308 implementation: information needs In-Reply-To: <20130112.045126.1004439002794367408.mernst@cs.washington.edu> References: <20130112.045126.1004439002794367408.mernst@cs.washington.edu> Message-ID: <8586F535-51BE-41DC-8054-A93A0996010B@oracle.com> On Jan 12, 2013, at 1:51 PM, Michael Ernst wrote: > > 4. Joel hasn't committed anything to the type-annotations forest yet, so we > don't know much about his status. It would be good to either have more > insight or (even better!) to have assurance that this won't affect > schedule, no matter what happens. As far as I know I can't push to that forrest. However it does not really matter because: 1) Me and Eric will finish the model changes and either send them to Werner so he can push, or push directly to jdk8/tl/langtools after you have integrated type annotations. 2) The changes to core reflection will go in through jdk8/tl/jdk after being posted for review on core-libs-dev which is where the public review should happen. It is my understanding that none of your changes depend on the above. The core reflection changes requires a type annotation capable javac, so they must go in after type annotations have been pushed to tl/langtools. cheers /Joel From jonathan.gibbons at oracle.com Mon Jan 14 14:59:32 2013 From: jonathan.gibbons at oracle.com (Jonathan Gibbons) Date: Mon, 14 Jan 2013 14:59:32 -0800 Subject: Creating a clone of a javac.code.Type In-Reply-To: References: <50DD760F.20807@oracle.com> Message-ID: <50F48DD4.5030208@oracle.com> On 12/31/2012 01:43 AM, Werner Dietl wrote: > Please let me know what you think of this significant change and > whether this is the direction you wanted things to go. Yes, I think this is the direction that we need to go. I think using an AnnotatedType that augments an underlyingType with annotations is in general preferable to being able to store annotations on types, partly from the storage point of view, and partly from the cloning issue that we ran into. At least in the first patch, I didn't see an override on Type.getTag. It is not clear to me that all of the methods should just delegate to underlyingType and ignore the annotations. For example, what about AnnotatedType.map -- should that not map any types in the annotations as well? -- Jon From steve.sides at oracle.com Mon Jan 14 15:00:12 2013 From: steve.sides at oracle.com (Steve Sides) Date: Mon, 14 Jan 2013 15:00:12 -0800 Subject: test for repeating type-annotations on new,cast,array In-Reply-To: <50EF683B.6020105@oracle.com> References: <50E6174D.6090905@oracle.com> <50ECAFB3.5060707@oracle.com> <50EDD3C1.4080903@oracle.com> <50EE129A.3000302@oracle.com> <50EF42A9.7040409@oracle.com> <50EF5163.5020607@oracle.com> <50EF683B.6020105@oracle.com> Message-ID: <50F48DFC.7080006@oracle.com> It it helps, here's more comprehensive test of 8005681[1], repeating type annotations on new, cast and array. http://cr.openjdk.java.net/~ssides/tests/TestNewCastArray.java [1] http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=8005681 From jonathan.gibbons at oracle.com Mon Jan 14 15:06:38 2013 From: jonathan.gibbons at oracle.com (Jonathan Gibbons) Date: Mon, 14 Jan 2013 15:06:38 -0800 Subject: problem with all type annotations on method parameters In-Reply-To: References: <50E4D518.4000908@oracle.com> <50E4FE92.1020104@oracle.com> <50E50674.3040103@oracle.com> Message-ID: <50F48F7E.2060508@oracle.com> javac is not a queue-based life form. Generally speaking, we need to overhaul (rewrite) the increasing complex code for analyzing annotations, and replace the series of queues by a more lazy completion-like mechanism, as seen in the rest of javac. But, for now, we probably have to live with these queues. How much do you need to determine annotation positions early? It seems to me that early on (i.e. MemberEnter) we need to differentiate between decl annotations and type annotations, but that determining positions for use in the .class file can be done a whole lot later. -- Jon On 01/07/2013 12:28 AM, Werner Dietl wrote: > Jon, Joel, all, > > I've put a patch here: > > homes.cs.washington.edu/~wmdietl/tmp/tas-in-memberenter.diff > > I have trouble with the interaction with repeating annotations and had > to add a second, very imaginatively named, typesQ2 queue to Annotate. > If I use the existing typesQ or the repeatedQ for this purpose in > MemberEnter, repeating annotations don't work. > The reason is that first we need to package up the repeating > annotations and only afterward should we determine their positions. > When we did this in Attr, it looks like repeating annotations were > already packaged up. > > Do you see a nicer solution than introducing the typesQ2? Maybe there > is a better place for the call in MemberEnter? What would be a better > name instead of typesQ2? > > I kept TypeAnnotations simple and now have two methods: > organizeTypeAnnotationsBodies and organizeTypeAnnotationsSignatures, > which are called from Attr and MemberEnter, respectively. > Does this interface look OK or should I change it to instantiate a > TypeAnnotations object and then call a method on it? > > I made a few other fixes to javadoc and it looks like javadoc sees > AnnotatedTypes. However, I don't see annotations in the HTML output. > Do you have some modifications for javadoc to see type annotations? > > Best regards, > cu, WMD. > > > On Wed, Jan 2, 2013 at 8:17 PM, Jonathan Gibbons > wrote: >> On 01/02/2013 08:11 PM, Werner Dietl wrote: >>> On Wed, Jan 2, 2013 at 7:44 PM, Jonathan Gibbons >>> wrote: >>>> On 01/02/2013 05:56 PM, Werner Dietl wrote: >>>>> I can introduce this separation again. >>>>> There are unfortunately no test cases for the annotations in Types. Is >>>>> there a way we could test this, independently of javadoc? >>>> >>>> It's high on my list, for variety of reasons, to have a "debug printer" >>>> for ASTs. We could use that as the basis for a series of tests to >>>> validate >>>> the structure of the AST -- and semantic info like annotations -- at >>>> various >>>> points through the compilation pipeline. >>>> >>>> As for testing separately of javadoc, all we need to do is to validate >>>> the >>>> data >>>> structures after Enter/MemberEnter. >>> A standard "debug printer" way to compare this information would be >>> great and would ensure that the information in Type is valid after >>> various phases. >> >> I'll work on this tomorrow. I did something similar for the DocTree >> API, so I can cut-n-paste the ideas. >> >> >>> >>>> It also seems to be that the problems would be visible during "regular" >>>> annotation >>>> processing, which occurs before Attr has been called. >>> There is no "regular" annotation processor that looks at type annotations >>> yet. >> >> Yeah, I was just pointing out that if you were to write tests that >> leveraged the anno proc framework, they would see the issues too. >> >> >>> The Checker Framework runs after Attr and therefore I didn't run into >>> any issues. >>> I think a "debug printer" would be the preferable way to test this and >>> I'll wait to hear from you before adding any tests. >> Agreed on debug printer. I envisage a test strategy based on >> test classes containing type annos in all positions, and a custom >> tester to validate the AST for each of these classes. >> >> >>> I agree with your other two points, that is, I'll see what the new >>> interface will look like and I'll clean up all TODOs and commented >>> code. >>> >>> cu, WMD. >>> > > From jonathan.gibbons at oracle.com Mon Jan 14 15:26:28 2013 From: jonathan.gibbons at oracle.com (Jonathan Gibbons) Date: Mon, 14 Jan 2013 15:26:28 -0800 Subject: problem with all type annotations on method parameters In-Reply-To: References: <50E4D518.4000908@oracle.com> <50E4FE92.1020104@oracle.com> <50E50674.3040103@oracle.com> Message-ID: <50F49424.8040506@oracle.com> On 01/07/2013 07:45 PM, Werner Dietl wrote: > Jon, > > after what phase do we want the type annotation positions to be valid? Sometime after Attr, I would think -- I assume no-one needs the positions any sooner. How does the determination of type positions interact with tree rewriting in Lowe and TransTypes? > > I currently separate declaration and type annotations for expression > locations at the end of Attr, which is too late for some semantic > checks that happen earlier in Attr. > I want to split up the organizeTypeAnnotations methods back into two > methods: one to separate declaration and type annotations and one to > determine type annotation positions. That sounds right/good to me. By the time anno processing begins (i.e. after Enter+MemberEnter+Annotate, before Attr) both the internal javac model and the external javax.lang.model model should be able to correctly report both type annos and decl annos on signatures. > > After MemberEnter, I would say we just need the separation of > declaration and type annotations. > During Attr we also only need the separation. > > Only once Attr is finished with a class do we set the type annotation > positions. Or should we do this even later? Don't do today what you can put off till tomorrow ;-) Attr and Flow are primarily about analyzing a program for correctness. The latter phases (Lower, TransTypes, Gen) are about preparing a class to be written to a class file. So, it seems to me that type anno positions are part of the info needed for a class file and should therefore be done more like at Gen time, unless there is a need to do it earlier. > > Comments? > > cu, WMD. From alex.buckley at oracle.com Mon Jan 14 16:09:00 2013 From: alex.buckley at oracle.com (Alex Buckley) Date: Mon, 14 Jan 2013 16:09:00 -0800 Subject: JSR 308 implementation: information needs In-Reply-To: <20130112.045126.1004439002794367408.mernst@cs.washington.edu> References: <20130112.045126.1004439002794367408.mernst@cs.washington.edu> Message-ID: <50F49E1C.7040501@oracle.com> On 1/12/2013 4:51 AM, Michael Ernst wrote: > 3. We could use details about javac's translation of lambda, which will > greatly help us implement the (vague) JSR 308 spec for bytecode > representation of lambda type arguments that you and I agreed on in our > January 10 phone call. I spoke with Brian Goetz about the four interesting annotation locations: 1. The type of a formal parameter of a lambda expression. { @Foo int x -> ... } 2. The "receiver" type of a method/ctor reference expression. List<@Foo String>::size ArrayList<@Foo String>::new 3. A type argument to the member of a method/ctor reference expression Arrays::<@Foo String>sort MyClass::<@Foo Integer>new 4. A type in a statement/expression in the body of a lambda expression ... = { -> @Foo int x = 1; }; For the lambda expression in 1 and the reference expression in 2/3, javac generates a single instruction whose execution will produce an object representing the lambda expression / method reference expression. The single instruction happens to be an invokedynamic with static arguments comprising two method handles and a method type - but none of that is guaranteed to be stable. The only stable fact - and this is likely to be true across compilers - is that a single instruction represents the "creation point" of a higher-order expression. The offset of that instruction should be stored in a target_info. For 4, the lambda body will be compiled to a method in some class of some package. Exactly which method is not relevant - type annotations in the lambda body should be compiled as if they were type annotations in the method body. Again, the "creation point" of the lambda expression is a single instruction, whose offset should appear in target_info. Alex From mernst at cs.washington.edu Tue Jan 15 13:24:35 2013 From: mernst at cs.washington.edu (Michael Ernst) Date: Tue, 15 Jan 2013 13:24:35 -0800 (PST) Subject: JSR 308 implementation: lambda In-Reply-To: <50F49E1C.7040501@oracle.com> References: <20130112.045126.1004439002794367408.mernst@cs.washington.edu> <50F49E1C.7040501@oracle.com> Message-ID: <20130115.132435.1894690171967793023.mernst@cs.washington.edu> Alex- I'm a bit uneasy about attaching formal parameter annotations for a lambda on the invokedynamic bytecode. The formal parameter annotations for any other method don't go on the call, but where the formal parameter is defined (in the method declaration). The compiler will somehow translate the formal parameter into a variable or expression. The spec could simply say that wherever such a variable or expression appears, it should have the same annotation as was on the lambda's formal parameter declaration. This is similar to what the spec says about other code constructs that are subject to optimization. -Mike > Subject: Re: JSR 308 implementation: information needs > From: Alex Buckley > To: type-annotations-dev > Date: Mon, 14 Jan 2013 16:09:00 -0800 > > On 1/12/2013 4:51 AM, Michael Ernst wrote: > > 3. We could use details about javac's translation of lambda, which will > > greatly help us implement the (vague) JSR 308 spec for bytecode > > representation of lambda type arguments that you and I agreed on in our > > January 10 phone call. > > I spoke with Brian Goetz about the four interesting annotation locations: > > 1. The type of a formal parameter of a lambda expression. > > { @Foo int x -> ... } > > 2. The "receiver" type of a method/ctor reference expression. > > List<@Foo String>::size > ArrayList<@Foo String>::new > > 3. A type argument to the member of a method/ctor reference expression > > Arrays::<@Foo String>sort > MyClass::<@Foo Integer>new > > 4. A type in a statement/expression in the body of a lambda expression > > ... = { -> @Foo int x = 1; }; > > For the lambda expression in 1 and the reference expression in 2/3, javac > generates a single instruction whose execution will produce an object > representing the lambda expression / method reference expression. The > single instruction happens to be an invokedynamic with static arguments > comprising two method handles and a method type - but none of that is > guaranteed to be stable. The only stable fact - and this is likely to be > true across compilers - is that a single instruction represents the > "creation point" of a higher-order expression. The offset of that > instruction should be stored in a target_info. > > For 4, the lambda body will be compiled to a method in some class of some > package. Exactly which method is not relevant - type annotations in the > lambda body should be compiled as if they were type annotations in the > method body. Again, the "creation point" of the lambda expression is a > single instruction, whose offset should appear in target_info. > > Alex From alex.buckley at oracle.com Tue Jan 15 14:00:43 2013 From: alex.buckley at oracle.com (Alex Buckley) Date: Tue, 15 Jan 2013 14:00:43 -0800 Subject: JSR 308 implementation: lambda In-Reply-To: <20130115.132435.1894690171967793023.mernst@cs.washington.edu> References: <20130112.045126.1004439002794367408.mernst@cs.washington.edu> <50F49E1C.7040501@oracle.com> <20130115.132435.1894690171967793023.mernst@cs.washington.edu> Message-ID: <50F5D18B.90905@oracle.com> The invokedynamic causes _creation_ of the lambda expression, not the _invocation_ of the lambda expression's body. The object resulting from lambda expression creation may or may not ever be used to achieve an invocation of the lambda expression's body. Still, you're right that a lambda expression converts to a method _somewhere_, and the formal parameters of that method are related in a compiler-specific way to the formal parameters of the lambda expression. An annotation on the type of a formal parameter of the lambda expression could become an annotation on the type of the corresponding formal parameter of the method, true. You use the word "declaration" below; but only the type, not the declaration, of a formal parameter of a lambda expression is to be annotatable. You also use the word "optimization"; that word has no meaning in the context of compiling lambda expressions, since compiling lambda expressions is _nothing like_ compiling other Java language constructs. Alex On 1/15/2013 1:24 PM, Michael Ernst wrote: > Alex- > > I'm a bit uneasy about attaching formal parameter annotations for a lambda > on the invokedynamic bytecode. The formal parameter annotations for any > other method don't go on the call, but where the formal parameter is > defined (in the method declaration). The compiler will somehow translate > the formal parameter into a variable or expression. The spec could simply > say that wherever such a variable or expression appears, it should have the > same annotation as was on the lambda's formal parameter declaration. This > is similar to what the spec says about other code constructs that are > subject to optimization. > > -Mike > > >> Subject: Re: JSR 308 implementation: information needs >> From: Alex Buckley >> To: type-annotations-dev >> Date: Mon, 14 Jan 2013 16:09:00 -0800 >> >> On 1/12/2013 4:51 AM, Michael Ernst wrote: >>> 3. We could use details about javac's translation of lambda, which will >>> greatly help us implement the (vague) JSR 308 spec for bytecode >>> representation of lambda type arguments that you and I agreed on in our >>> January 10 phone call. >> >> I spoke with Brian Goetz about the four interesting annotation locations: >> >> 1. The type of a formal parameter of a lambda expression. >> >> { @Foo int x -> ... } >> >> 2. The "receiver" type of a method/ctor reference expression. >> >> List<@Foo String>::size >> ArrayList<@Foo String>::new >> >> 3. A type argument to the member of a method/ctor reference expression >> >> Arrays::<@Foo String>sort >> MyClass::<@Foo Integer>new >> >> 4. A type in a statement/expression in the body of a lambda expression >> >> ... = { -> @Foo int x = 1; }; >> >> For the lambda expression in 1 and the reference expression in 2/3, javac >> generates a single instruction whose execution will produce an object >> representing the lambda expression / method reference expression. The >> single instruction happens to be an invokedynamic with static arguments >> comprising two method handles and a method type - but none of that is >> guaranteed to be stable. The only stable fact - and this is likely to be >> true across compilers - is that a single instruction represents the >> "creation point" of a higher-order expression. The offset of that >> instruction should be stored in a target_info. >> >> For 4, the lambda body will be compiled to a method in some class of some >> package. Exactly which method is not relevant - type annotations in the >> lambda body should be compiled as if they were type annotations in the >> method body. Again, the "creation point" of the lambda expression is a >> single instruction, whose offset should appear in target_info. >> >> Alex From steve.sides at oracle.com Tue Jan 15 15:54:35 2013 From: steve.sides at oracle.com (Steve Sides) Date: Tue, 15 Jan 2013 15:54:35 -0800 Subject: webrev.03 for type-annotations test Message-ID: <50F5EC3B.4010303@oracle.com> I've posted a 3rd revision for tests for (repeated)type-annotations on type usages. [1] I updated the webrevComment if you'd like further description of test and changes. [2] Revisions for 1/15/13: 1. Broke scenarios from 2 into 9 (more fine grained evaluation). 2. Moved tests which fail to CombinationsTargetTest2.java(so there are two test new test files). 3. Refactored the test helper to reduce duplicated code. 4. Added sample generated code for each test scenario. 5. Turned on verbose which shows how many annotations are on each element. [1] http://cr.openjdk.java.net/~ssides/8005085/webrev.03/ [2] http://cr.openjdk.java.net/~ssides/8005085/webrev.03/webrevComment.txt thx, steve From steve.sides at oracle.com Wed Jan 16 14:40:32 2013 From: steve.sides at oracle.com (Steve Sides) Date: Wed, 16 Jan 2013 14:40:32 -0800 Subject: bug in attribution of annotations in anonymous classes Message-ID: <50F72C60.4040209@oracle.com> Hi Werner, While writing tests, I looking at type-annotations on type usage in anonymous classes and found what looks like a bug. When compiling the code below, the field 'data' has 2 RuntimeVisibleTypeAnnotations, while the field in the anonymous class, 'data2', has3 RuntimeVisibleTypeAnnotations. If there are 2 (such as @A @B data2) it has 6 (rather than 4). The same is true for methods. Test cases are attached. Can you check this out? 8<- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - class testclass { @C String data = "test"; void mtest( testclass t){ } public void test() { mtest( new testclass() { @D String data2 = "test"; }); } } @Retention(RUNTIME) @Target({TYPE_USE,FIELD}) @interface C { } @Retention(RUNTIME) @Target({TYPE_USE,FIELD}) @interface D { 8<- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - thanks, steve -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: TestAnonInnerMethod.java Url: http://mail.openjdk.java.net/pipermail/type-annotations-dev/attachments/20130116/4991de8a/TestAnonInnerMethod.java -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: TestAnonInnerField.java Url: http://mail.openjdk.java.net/pipermail/type-annotations-dev/attachments/20130116/4991de8a/TestAnonInnerField.java From wdietl at gmail.com Wed Jan 16 21:29:10 2013 From: wdietl at gmail.com (wdietl at gmail.com) Date: Thu, 17 Jan 2013 05:29:10 +0000 Subject: hg: type-annotations/type-annotations/langtools: 13 new changesets Message-ID: <20130117052952.0065A4733F@hg.openjdk.java.net> Changeset: 91c6b833d672 Author: wmdietl Date: 2013-01-16 20:50 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/langtools/rev/91c6b833d672 Add the missing hashCode methods that should come with equals methods. ! src/share/classes/com/sun/tools/classfile/TypeAnnotation.java ! src/share/classes/com/sun/tools/javac/code/TypeAnnotationPosition.java Changeset: 5ca628f4b6de Author: wmdietl Date: 2013-01-16 20:51 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/langtools/rev/5ca628f4b6de Consistently use chars instead of length one string literals. ! src/share/classes/com/sun/tools/javac/code/Printer.java Changeset: d46c53cf20a5 Author: wmdietl Date: 2013-01-16 20:53 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/langtools/rev/d46c53cf20a5 Correctly output annotated varargs. ! src/share/classes/com/sun/tools/javac/code/Type.java Changeset: 38d7fb9413aa Author: wmdietl Date: 2013-01-16 20:53 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/langtools/rev/38d7fb9413aa Add an annotation queue to come after repeating annotations. ! src/share/classes/com/sun/tools/javac/comp/Annotate.java Changeset: fcb9c2f66452 Author: wmdietl Date: 2013-01-16 20:54 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/langtools/rev/fcb9c2f66452 Only create an annotated type parameter if there are annotations. ! src/share/classes/com/sun/tools/javac/comp/Attr.java Changeset: 0d8543e19b5c Author: wmdietl Date: 2013-01-16 20:55 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/langtools/rev/0d8543e19b5c Organize type annotations after MemberEnter. ! src/share/classes/com/sun/tools/javac/comp/MemberEnter.java Changeset: d2a2dabc8586 Author: wmdietl Date: 2013-01-16 20:56 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/langtools/rev/d2a2dabc8586 More places to handle annotated types. ! src/share/classes/com/sun/tools/javadoc/AnnotatedTypeImpl.java ! src/share/classes/com/sun/tools/javadoc/TypeMaker.java Changeset: ff155b1b66fe Author: wmdietl Date: 2013-01-16 21:00 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/langtools/rev/ff155b1b66fe Support to only organize type annotations that appear in the signature, to be used in MemberEnter. Many small bugfixes. ! src/share/classes/com/sun/tools/javac/code/TypeAnnotations.java Changeset: 06a08f30943a Author: wmdietl Date: 2013-01-16 21:01 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/langtools/rev/06a08f30943a Formatting fix. ! test/tools/javac/annotations/typeAnnotations/failures/CantAnnotateStaticClass.java Changeset: d0fd2711c7e0 Author: wmdietl Date: 2013-01-16 21:06 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/langtools/rev/d0fd2711c7e0 Expand on test case. This test also illustrates how the AnnotatedType is created earlier for array types and later for other types. This results in inconsistent error messages and should be fixed (or the output adapted). ! test/tools/javac/annotations/typeAnnotations/failures/LintCast.java ! test/tools/javac/annotations/typeAnnotations/failures/LintCast.out Changeset: 3ba8ed810e90 Author: wmdietl Date: 2013-01-16 21:13 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/langtools/rev/3ba8ed810e90 Use Outer/Inner classes instead of Map/Entry, which should fail because of static nesting. Add test case for class nested within method. ! test/tools/javac/annotations/typeAnnotations/referenceinfos/Driver.java ! test/tools/javac/annotations/typeAnnotations/referenceinfos/NestedTypes.java Changeset: 484a1694402b Author: wmdietl Date: 2013-01-16 21:13 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/langtools/rev/484a1694402b Add tests for multicatch. ! test/tools/javac/annotations/typeAnnotations/newlocations/ExceptionParameters.java ! test/tools/javac/annotations/typeAnnotations/referenceinfos/ExceptionParameters.java Changeset: b97997dddcf4 Author: wmdietl Date: 2013-01-16 21:21 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/langtools/rev/b97997dddcf4 Improvements and extension to testing infrastructure for type annotations. Provided by Steve Sides, see mailing list discussions and http://cr.openjdk.java.net/~ssides/8005085/webrev.03/ + test/tools/javac/annotations/typeAnnotations/classfile/ClassfileTestHelper.java + test/tools/javac/annotations/typeAnnotations/classfile/CombinationsTargetTest1.java + test/tools/javac/annotations/typeAnnotations/classfile/CombinationsTargetTest2.java ! test/tools/javac/annotations/typeAnnotations/classfile/DeadCode.java ! test/tools/javac/annotations/typeAnnotations/classfile/NewTypeArguments.java ! test/tools/javac/annotations/typeAnnotations/classfile/TypeCasts.java ! test/tools/javac/annotations/typeAnnotations/classfile/Wildcards.java From wdietl at gmail.com Wed Jan 16 21:33:56 2013 From: wdietl at gmail.com (Werner Dietl) Date: Wed, 16 Jan 2013 21:33:56 -0800 Subject: webrev.03 for type-annotations test In-Reply-To: <50F5EC3B.4010303@oracle.com> References: <50F5EC3B.4010303@oracle.com> Message-ID: Hi Steve, thanks for this revised test case! I've just pushed it: http://hg.openjdk.java.net/type-annotations/type-annotations/langtools/rev/b97997dddcf4 I pushed my current status, but still have a few outstanding issues. I will write up concrete questions later today or tomorrow. Cheers, cu, WMD. On Tue, Jan 15, 2013 at 3:54 PM, Steve Sides wrote: > I've posted a 3rd revision for tests for (repeated)type-annotations on type > usages. [1] > I updated the webrevComment if you'd like further description of test and > changes. [2] > > Revisions for 1/15/13: > 1. Broke scenarios from 2 into 9 (more fine grained evaluation). > 2. Moved tests which fail to CombinationsTargetTest2.java(so there are two > test new test files). > 3. Refactored the test helper to reduce duplicated code. > 4. Added sample generated code for each test scenario. > 5. Turned on verbose which shows how many annotations are on each element. > > [1] http://cr.openjdk.java.net/~ssides/8005085/webrev.03/ > [2] http://cr.openjdk.java.net/~ssides/8005085/webrev.03/webrevComment.txt > > thx, > > steve > -- http://www.google.com/profiles/wdietl From wdietl at gmail.com Wed Jan 16 22:01:17 2013 From: wdietl at gmail.com (wdietl at gmail.com) Date: Thu, 17 Jan 2013 06:01:17 +0000 Subject: hg: type-annotations/type-annotations/langtools: 29 new changesets Message-ID: <20130117060229.0CCC347342@hg.openjdk.java.net> Changeset: 0e17c3c23e3b Author: bpatel Date: 2013-01-04 23:06 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/langtools/rev/0e17c3c23e3b 8004891: Check for abstract method in javadoc does not conform to the language model Reviewed-by: jjg ! src/share/classes/com/sun/tools/doclets/formats/html/AbstractMemberWriter.java ! src/share/classes/com/sun/tools/javadoc/MethodDocImpl.java + test/com/sun/javadoc/testAbstractMethod/TestAbstractMethod.java + test/com/sun/javadoc/testAbstractMethod/pkg/A.java + test/com/sun/javadoc/testAbstractMethod/pkg/B.java + test/com/sun/javadoc/testAbstractMethod/pkg/C.java Changeset: 8c0c63a6e3b7 Author: bpatel Date: 2013-01-05 00:55 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/langtools/rev/8c0c63a6e3b7 8005092: javadoc should check for synthesized bit on an annotation Reviewed-by: jjg ! src/share/classes/com/sun/javadoc/AnnotationDesc.java ! src/share/classes/com/sun/tools/doclets/formats/html/HtmlDocletWriter.java ! src/share/classes/com/sun/tools/javadoc/AnnotationDescImpl.java + test/com/sun/javadoc/testRepeatedAnnotations/TestRepeatedAnnotations.java + test/com/sun/javadoc/testRepeatedAnnotations/pkg/C.java + test/com/sun/javadoc/testRepeatedAnnotations/pkg/ContaineeRegDoc.java + test/com/sun/javadoc/testRepeatedAnnotations/pkg/ContaineeSynthDoc.java + test/com/sun/javadoc/testRepeatedAnnotations/pkg/ContainerRegDoc.java + test/com/sun/javadoc/testRepeatedAnnotations/pkg/ContainerRegNotDoc.java + test/com/sun/javadoc/testRepeatedAnnotations/pkg/ContainerSynthDoc.java + test/com/sun/javadoc/testRepeatedAnnotations/pkg/D.java + test/com/sun/javadoc/testRepeatedAnnotations/pkg/NonSynthDocContainer.java + test/com/sun/javadoc/testRepeatedAnnotations/pkg/RegArryDoc.java + test/com/sun/javadoc/testRepeatedAnnotations/pkg/RegContaineeDoc.java + test/com/sun/javadoc/testRepeatedAnnotations/pkg/RegContaineeNotDoc.java + test/com/sun/javadoc/testRepeatedAnnotations/pkg/RegContainerDoc.java + test/com/sun/javadoc/testRepeatedAnnotations/pkg/RegContainerNotDoc.java + test/com/sun/javadoc/testRepeatedAnnotations/pkg/RegDoc.java + test/com/sun/javadoc/testRepeatedAnnotations/pkg1/C.java + test/com/sun/javadoc/testRepeatedAnnotations/pkg1/ContaineeNotDoc.java + test/com/sun/javadoc/testRepeatedAnnotations/pkg1/ContaineeSynthDoc.java + test/com/sun/javadoc/testRepeatedAnnotations/pkg1/ContainerSynthNotDoc.java + test/com/sun/javadoc/testRepeatedAnnotations/pkg1/ContainerValDoc.java + test/com/sun/javadoc/testRepeatedAnnotations/pkg1/ContainerValNotDoc.java + test/com/sun/javadoc/testRepeatedAnnotations/pkg1/RegContaineeDoc.java + test/com/sun/javadoc/testRepeatedAnnotations/pkg1/RegContaineeNotDoc.java + test/com/sun/javadoc/testRepeatedAnnotations/pkg1/RegContainerValDoc.java + test/com/sun/javadoc/testRepeatedAnnotations/pkg1/RegContainerValNotDoc.java Changeset: a9cb93cca229 Author: jjh Date: 2013-01-07 17:51 +0000 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/langtools/rev/a9cb93cca229 8005647: langtools/test/tools/javap/MethodParameters.java fails on windows Summary: Fix javap to not output \r\r\n Reviewed-by: jjg ! src/share/classes/com/sun/tools/javap/ClassWriter.java ! test/tools/javac/MethodParameters.java ! test/tools/javap/MethodParameters.java Changeset: 38d3d1027f5a Author: mcimadamore Date: 2013-01-08 10:15 +0100 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/langtools/rev/38d3d1027f5a 8005243: Restructure method check code to allow pluggable checkers Summary: Add interface to perform a method check - to be implemented by helper classes Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/comp/Infer.java ! src/share/classes/com/sun/tools/javac/comp/Resolve.java Changeset: db91d860156a Author: mcimadamore Date: 2013-01-08 10:16 +0100 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/langtools/rev/db91d860156a 8005179: Cleanup Resolve.AmbiguityError Summary: Linearize nested ambiguity errors Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/comp/Resolve.java ! test/tools/javac/lambda/TargetType21.java ! test/tools/javac/lambda/TargetType21.out Changeset: d07340b61e6a Author: mcimadamore Date: 2013-01-08 10:17 +0100 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/langtools/rev/d07340b61e6a 8005184: Restructure DeferredAttr to allow pluggable deferred type completers Summary: Add hooks to generalize deferred type completion via custom helper objects Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/comp/DeferredAttr.java Changeset: 954541f13717 Author: vromero Date: 2013-01-08 13:47 +0000 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/langtools/rev/954541f13717 8005167: execution time of combo tests in javac should be improved Reviewed-by: jjg, jjh ! test/tools/javac/Diagnostics/6769027/T6769027.java ! test/tools/javac/T7093325.java ! test/tools/javac/cast/intersection/IntersectionTypeCastTest.java ! test/tools/javac/defaultMethods/super/TestDefaultSuperCall.java ! test/tools/javac/failover/CheckAttributedTree.java ! test/tools/javac/generics/diamond/7046778/DiamondAndInnerClassTest.java ! test/tools/javac/generics/rawOverride/7062745/GenericOverrideTest.java ! test/tools/javac/lambda/FunctionalInterfaceConversionTest.java ! test/tools/javac/lambda/LambdaParserTest.java ! test/tools/javac/lambda/MethodReferenceParserTest.java ! test/tools/javac/lambda/TestInvokeDynamic.java ! test/tools/javac/lambda/mostSpecific/StructuralMostSpecificTest.java ! test/tools/javac/lambda/typeInference/combo/TypeInferenceComboTest.java + test/tools/javac/lib/JavacTestingAbstractThreadedTest.java ! test/tools/javac/multicatch/7030606/DisjunctiveTypeWellFormednessTest.java ! test/tools/javac/varargs/7042566/T7042566.java ! test/tools/javac/varargs/warning/Warn4.java ! test/tools/javac/varargs/warning/Warn5.java Changeset: d2eb08b3f64f Author: jjg Date: 2013-01-09 10:26 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/langtools/rev/d2eb08b3f64f 8005644: set default max errs and max warns Reviewed-by: darcy ! src/share/classes/com/sun/tools/javadoc/Messager.java + test/tools/javadoc/MaxWarns.java Changeset: 7612fe48be90 Author: darcy Date: 2013-01-09 20:02 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/langtools/rev/7612fe48be90 8004730: Add language model support for parameter reflection Reviewed-by: abuckley ! src/share/classes/javax/lang/model/element/Element.java ! src/share/classes/javax/lang/model/element/VariableElement.java ! src/share/classes/javax/lang/model/element/package-info.java Changeset: d462da465da6 Author: jjg Date: 2013-01-10 14:09 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/langtools/rev/d462da465da6 8006037: extra space in javac -help for -J and @ options Reviewed-by: darcy ! src/share/classes/com/sun/tools/javac/main/Option.java + test/tools/javac/main/Option_J_At_Test.java Changeset: 7d2f628f04f1 Author: jjg Date: 2013-01-10 15:48 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/langtools/rev/7d2f628f04f1 8006033: bug in Pretty.toSimpleString Reviewed-by: darcy ! src/share/classes/com/sun/tools/javac/tree/Pretty.java + test/tools/javac/tree/PrettySimpleStringTest.java Changeset: fc4cb1577ad6 Author: jjg Date: 2013-01-10 19:38 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/langtools/rev/fc4cb1577ad6 8004834: Add doclint support into javadoc Reviewed-by: darcy ! src/share/classes/com/sun/tools/doclets/formats/html/ConfigurationImpl.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/Configuration.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/resources/doclets.properties ! src/share/classes/com/sun/tools/doclets/internal/toolkit/util/MessageRetriever.java ! src/share/classes/com/sun/tools/javac/comp/Enter.java ! src/share/classes/com/sun/tools/javadoc/DocEnv.java ! src/share/classes/com/sun/tools/javadoc/DocImpl.java ! src/share/classes/com/sun/tools/javadoc/JavadocMemberEnter.java ! src/share/classes/com/sun/tools/javadoc/RootDocImpl.java ! test/com/sun/javadoc/5093723/T5093723.java ! test/com/sun/javadoc/testBadSourceFile/TestBadSourceFile.java ! test/com/sun/javadoc/testHtmlDefinitionListTag/TestHtmlDefinitionListTag.java ! test/com/sun/javadoc/testNewLanguageFeatures/TestNewLanguageFeatures.java ! test/com/sun/javadoc/testReturnTag/TestReturnTag.java ! test/com/sun/javadoc/testTagInheritence/TestTagInheritence.java ! test/com/sun/javadoc/testTagMisuse/TestTagMisuse.java ! test/com/sun/javadoc/testValueTag/TestValueTag.java ! test/com/sun/javadoc/testWarnBadParamNames/TestWarnBadParamNames.java ! test/com/sun/javadoc/testWarnings/TestWarnings.java ! test/tools/javadoc/6958836/Test.java ! test/tools/javadoc/6964914/Test.java ! test/tools/javadoc/6964914/TestStdDoclet.java ! test/tools/javadoc/MaxWarns.java ! test/tools/javadoc/T6551367.java + test/tools/javadoc/doclint/DocLintTest.java Changeset: 9f42a06a49c0 Author: jfranck Date: 2013-01-14 19:52 +0100 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/langtools/rev/9f42a06a49c0 7193719: Support repeating annotations in javax.lang.model Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/code/Symbol.java ! src/share/classes/com/sun/tools/javac/model/JavacElements.java ! src/share/classes/javax/lang/model/element/Element.java Changeset: df694c775e8a Author: jjg Date: 2013-01-14 13:50 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/langtools/rev/df694c775e8a 8006119: update javac to follow latest spec for repeatable annotations Reviewed-by: darcy ! src/share/classes/com/sun/tools/javac/code/Annotations.java ! src/share/classes/com/sun/tools/javac/code/Symtab.java ! src/share/classes/com/sun/tools/javac/comp/Annotate.java ! src/share/classes/com/sun/tools/javac/comp/Attr.java ! src/share/classes/com/sun/tools/javac/comp/Check.java ! src/share/classes/com/sun/tools/javac/model/JavacElements.java ! src/share/classes/com/sun/tools/javac/resources/compiler.properties ! test/com/sun/javadoc/testRepeatedAnnotations/pkg/ContaineeSynthDoc.java ! test/com/sun/javadoc/testRepeatedAnnotations/pkg/ContainerSynthDoc.java ! test/com/sun/javadoc/testRepeatedAnnotations/pkg1/ContaineeSynthDoc.java ! test/com/sun/javadoc/testRepeatedAnnotations/pkg1/ContainerSynthNotDoc.java ! test/tools/javac/annotations/repeatingAnnotations/BaseAnnoAsContainerAnno.java ! test/tools/javac/annotations/repeatingAnnotations/BaseAnnoAsContainerAnno.out ! test/tools/javac/annotations/repeatingAnnotations/BasicRepeatingAnnotations.java ! test/tools/javac/annotations/repeatingAnnotations/CheckTargets.java ! test/tools/javac/annotations/repeatingAnnotations/ClassReaderDefault.java ! test/tools/javac/annotations/repeatingAnnotations/ContainerHasRepeatedContained.java ! test/tools/javac/annotations/repeatingAnnotations/CyclicAnnotation.java ! test/tools/javac/annotations/repeatingAnnotations/CyclicAnnotation.out ! test/tools/javac/annotations/repeatingAnnotations/DefaultCasePresent.java ! test/tools/javac/annotations/repeatingAnnotations/DelayRepeatedContainer.java ! test/tools/javac/annotations/repeatingAnnotations/DocumentedContainerAnno.java ! test/tools/javac/annotations/repeatingAnnotations/DocumentedContainerAnno.out ! test/tools/javac/annotations/repeatingAnnotations/InheritedContainerAnno.java ! test/tools/javac/annotations/repeatingAnnotations/InheritedContainerAnno.out ! test/tools/javac/annotations/repeatingAnnotations/InvalidTarget.java - test/tools/javac/annotations/repeatingAnnotations/MissingContainedBy.java ! test/tools/javac/annotations/repeatingAnnotations/MissingContainer.java ! test/tools/javac/annotations/repeatingAnnotations/MissingContainer.out - test/tools/javac/annotations/repeatingAnnotations/MissingContainerFor.java ! test/tools/javac/annotations/repeatingAnnotations/MissingDefaultCase1.java ! test/tools/javac/annotations/repeatingAnnotations/MissingDefaultCase1.out ! test/tools/javac/annotations/repeatingAnnotations/MissingDefaultCase2.java ! test/tools/javac/annotations/repeatingAnnotations/MissingDefaultCase2.out ! test/tools/javac/annotations/repeatingAnnotations/MissingValueMethod.java ! test/tools/javac/annotations/repeatingAnnotations/MissingValueMethod.out ! test/tools/javac/annotations/repeatingAnnotations/MultiLevelRepeatableAnno.java ! test/tools/javac/annotations/repeatingAnnotations/MultipleAnnoMixedOrder.java ! test/tools/javac/annotations/repeatingAnnotations/NestedContainers.java ! test/tools/javac/annotations/repeatingAnnotations/NoRepeatableAnno.out ! test/tools/javac/annotations/repeatingAnnotations/RepMemberAnno.java ! test/tools/javac/annotations/repeatingAnnotations/RepSelfMemberAnno.java ! test/tools/javac/annotations/repeatingAnnotations/RepeatingAndContainerPresent.java ! test/tools/javac/annotations/repeatingAnnotations/RepeatingTargetNotAllowed.java ! test/tools/javac/annotations/repeatingAnnotations/RepeatingTargetNotAllowed.out ! test/tools/javac/annotations/repeatingAnnotations/SelfRepeatingAnnotations.java ! test/tools/javac/annotations/repeatingAnnotations/SingleRepeatingAndContainer.java - test/tools/javac/annotations/repeatingAnnotations/UseWrongContainedBy.java - test/tools/javac/annotations/repeatingAnnotations/UseWrongContainerFor.java + test/tools/javac/annotations/repeatingAnnotations/UseWrongRepeatable.java - test/tools/javac/annotations/repeatingAnnotations/WrongContainedBy.java - test/tools/javac/annotations/repeatingAnnotations/WrongContainerFor.java ! test/tools/javac/annotations/repeatingAnnotations/WrongReturnTypeForValue.java ! test/tools/javac/annotations/repeatingAnnotations/WrongReturnTypeForValue.out ! test/tools/javac/annotations/repeatingAnnotations/combo/BasicSyntaxCombo.java ! test/tools/javac/annotations/repeatingAnnotations/combo/DeprecatedAnnoCombo.java ! test/tools/javac/annotations/repeatingAnnotations/combo/DocumentedAnnoCombo.java ! test/tools/javac/annotations/repeatingAnnotations/combo/Helper.java ! test/tools/javac/annotations/repeatingAnnotations/combo/InheritedAnnoCombo.java ! test/tools/javac/annotations/repeatingAnnotations/combo/RetentionAnnoCombo.java ! test/tools/javac/diags/examples.not-yet.txt - test/tools/javac/diags/examples/ContainedByDocumentedMismatch.java - test/tools/javac/diags/examples/ContainedByInheritedMismatch.java - test/tools/javac/diags/examples/ContainedByNoValue.java - test/tools/javac/diags/examples/ContainedByNonDefault.java - test/tools/javac/diags/examples/ContainedByRetentionMismatch.java - test/tools/javac/diags/examples/ContainedByTargetMismatch.java - test/tools/javac/diags/examples/ContainedByWrongValueType.java ! test/tools/javac/diags/examples/InvalidDuplicateAnnotation.java + test/tools/javac/diags/examples/RepeatableDocumentedMismatch.java + test/tools/javac/diags/examples/RepeatableInheritedMismatch.java + test/tools/javac/diags/examples/RepeatableNoValue.java + test/tools/javac/diags/examples/RepeatableNonDefault.java + test/tools/javac/diags/examples/RepeatableRetentionMismatch.java + test/tools/javac/diags/examples/RepeatableTargetMismatch.java + test/tools/javac/diags/examples/RepeatableWrongValueType.java ! test/tools/javac/diags/examples/RepeatingAnnotationAndContainer.java - test/tools/javac/diags/examples/WrongContainedBy.java - test/tools/javac/diags/examples/WrongContainerFor.java Changeset: d54b4a091450 Author: jjg Date: 2013-01-14 14:17 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/langtools/rev/d54b4a091450 8006241: Test DocRootSlash.java fails Reviewed-by: darcy ! test/com/sun/javadoc/DocRootSlash/DocRootSlash.java Changeset: f805b5e3c9d1 Author: chegar Date: 2013-01-15 20:38 +0000 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/langtools/rev/f805b5e3c9d1 8006344: Broken javadoc link in javax.lang.model.element.Element Reviewed-by: lancea, alanb, jfranck ! src/share/classes/javax/lang/model/element/Element.java Changeset: bc1023e0e533 Author: jjg Date: 2013-01-15 13:03 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/langtools/rev/bc1023e0e533 8006224: Doclint NPE for attribute with no value Reviewed-by: darcy ! src/share/classes/com/sun/tools/doclint/Checker.java ! src/share/classes/com/sun/tools/doclint/resources/doclint.properties + test/tools/doclint/AnchorTest.java + test/tools/doclint/AnchorTest.out Changeset: f785dcac17b7 Author: mcimadamore Date: 2013-01-16 16:27 +0000 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/langtools/rev/f785dcac17b7 8005854: Add support for array constructor references Summary: Support constructor references of the kind int[]::new Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/comp/Check.java ! src/share/classes/com/sun/tools/javac/comp/LambdaToMethod.java ! src/share/classes/com/sun/tools/javac/comp/Resolve.java ! src/share/classes/com/sun/tools/javac/tree/JCTree.java + test/tools/javac/lambda/MethodReference59.java + test/tools/javac/lambda/MethodReference60.java + test/tools/javac/lambda/MethodReference60.out Changeset: 7aa2025bbb7b Author: mcimadamore Date: 2013-01-16 16:30 +0000 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/langtools/rev/7aa2025bbb7b 8005299: Add FunctionalInterface checking to javac Summary: Javac should check that types annotated with @FunctionalInterface are indeed functional interfaces Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/code/Symtab.java ! src/share/classes/com/sun/tools/javac/code/Types.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/diags/examples.not-yet.txt + test/tools/javac/diags/examples/BadFunctionalIntfAnno.java ! test/tools/javac/lambda/BadConv03.out ! test/tools/javac/lambda/BadLambdaPos.out ! test/tools/javac/lambda/BadTargetType.out + test/tools/javac/lambda/FunctionalInterfaceAnno.java + test/tools/javac/lambda/FunctionalInterfaceAnno.out ! test/tools/javac/lambda/Intersection01.out ! test/tools/javac/lambda/LambdaConv09.out ! test/tools/javac/lambda/LambdaExpr10.out ! test/tools/javac/lambda/MethodReference04.out ! test/tools/javac/lambda/TargetType17.out ! test/tools/javac/lambda/TargetType43.out ! test/tools/javac/lambda/funcInterfaces/LambdaTest2_neg1.out ! test/tools/javac/lambda/funcInterfaces/NonSAM1.out ! test/tools/javac/lambda/funcInterfaces/NonSAM3.out ! test/tools/javac/lambda/lambdaExpression/AbstractClass_neg.out ! test/tools/javac/lambda/lambdaExpression/InvalidExpression5.out Changeset: 1afdf1f1472b Author: mcimadamore Date: 2013-01-16 17:40 +0000 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/langtools/rev/1afdf1f1472b 8005964: Regression: difference in error recovery after ambiguity causes JCK test failure Summary: Wrong implementation of ResolveError.access in AmbiguityError Reviewed-by: jjh ! src/share/classes/com/sun/tools/javac/comp/Resolve.java Changeset: 6b6311a8c9cc Author: jjg Date: 2013-01-16 10:29 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/langtools/rev/6b6311a8c9cc 8006236: doclint: structural issue hidden Reviewed-by: darcy ! src/share/classes/com/sun/tools/doclint/Checker.java + test/tools/doclint/EndTagsTest.java + test/tools/doclint/EndTagsTest.out Changeset: 6f0986ed9b7e Author: katleman Date: 2013-01-03 12:44 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/langtools/rev/6f0986ed9b7e Added tag jdk8-b71 for changeset 467e4d9281bc ! .hgtags Changeset: 45fed5cfd1c3 Author: katleman Date: 2013-01-10 09:56 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/langtools/rev/45fed5cfd1c3 Added tag jdk8-b72 for changeset 6f0986ed9b7e ! .hgtags Changeset: 8d0baee36c71 Author: lana Date: 2013-01-10 15:53 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/langtools/rev/8d0baee36c71 Merge Changeset: 63b20bde7cd6 Author: lana Date: 2013-01-16 12:14 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/langtools/rev/63b20bde7cd6 Merge Changeset: 8b749558767b Author: darcy Date: 2013-01-16 13:22 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/langtools/rev/8b749558767b 8006283: Change to Class.cast() in javax.lang.model implementation for repeating annotations Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/model/JavacElements.java Changeset: 916143318f10 Author: jjg Date: 2013-01-16 20:41 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/langtools/rev/916143318f10 8006228: Doclint doesn't detect {@code nested inline} Reviewed-by: darcy ! src/share/classes/com/sun/tools/doclint/Checker.java ! src/share/classes/com/sun/tools/doclint/resources/doclint.properties + test/tools/doclint/LiteralTest.java + test/tools/doclint/LiteralTest.out Changeset: acece84bb376 Author: wmdietl Date: 2013-01-16 21:48 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/langtools/rev/acece84bb376 Automated merge with http://hg.openjdk.java.net/jdk8/tl/langtools ! .hgtags ! src/share/classes/com/sun/tools/doclets/formats/html/HtmlDocletWriter.java ! src/share/classes/com/sun/tools/javac/code/Annotations.java ! src/share/classes/com/sun/tools/javac/code/Symbol.java ! src/share/classes/com/sun/tools/javac/code/Types.java ! src/share/classes/com/sun/tools/javac/comp/Annotate.java ! src/share/classes/com/sun/tools/javac/comp/Attr.java ! src/share/classes/com/sun/tools/javac/comp/Check.java ! src/share/classes/com/sun/tools/javac/comp/Enter.java ! src/share/classes/com/sun/tools/javac/comp/Infer.java ! src/share/classes/com/sun/tools/javac/comp/Resolve.java ! src/share/classes/com/sun/tools/javac/model/JavacElements.java ! src/share/classes/com/sun/tools/javac/resources/compiler.properties ! src/share/classes/com/sun/tools/javac/tree/JCTree.java ! src/share/classes/com/sun/tools/javac/tree/Pretty.java ! src/share/classes/com/sun/tools/javac/util/RichDiagnosticFormatter.java ! test/tools/javac/diags/examples.not-yet.txt ! test/tools/javac/failover/CheckAttributedTree.java - test/tools/javac/typeAnnotations/newlocations/BasicTest.java - test/tools/javac/typeAnnotations/newlocations/BasicTest.out Changeset: 4f98d15435f6 Author: wmdietl Date: 2013-01-16 22:00 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/langtools/rev/4f98d15435f6 Fix simple issue caused by merge. ! src/share/classes/com/sun/tools/javac/code/TypeAnnotations.java From wdietl at gmail.com Wed Jan 16 22:05:02 2013 From: wdietl at gmail.com (wdietl at gmail.com) Date: Thu, 17 Jan 2013 06:05:02 +0000 Subject: hg: type-annotations/type-annotations/jaxws: 3 new changesets Message-ID: <20130117060514.3159647346@hg.openjdk.java.net> Changeset: d9707230294d Author: katleman Date: 2013-01-03 12:44 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jaxws/rev/d9707230294d Added tag jdk8-b71 for changeset f577a39c9fb3 ! .hgtags Changeset: c606f644a5d9 Author: katleman Date: 2013-01-10 09:55 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jaxws/rev/c606f644a5d9 Added tag jdk8-b72 for changeset d9707230294d ! .hgtags Changeset: e07150a8ab59 Author: wmdietl Date: 2013-01-16 22:04 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jaxws/rev/e07150a8ab59 Automated merge with http://hg.openjdk.java.net/jdk8/tl/jaxws ! .hgtags From wdietl at gmail.com Wed Jan 16 22:03:10 2013 From: wdietl at gmail.com (wdietl at gmail.com) Date: Thu, 17 Jan 2013 06:03:10 +0000 Subject: hg: type-annotations/type-annotations/hotspot: 40 new changesets Message-ID: <20130117060438.2326F47344@hg.openjdk.java.net> Changeset: d5cb5830f570 Author: katleman Date: 2013-01-03 12:44 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/d5cb5830f570 Added tag jdk8-b71 for changeset 0847210f8548 ! .hgtags Changeset: 11619f33cd68 Author: katleman Date: 2013-01-10 09:55 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/11619f33cd68 Added tag jdk8-b72 for changeset d5cb5830f570 ! .hgtags Changeset: cd962e15c08e Author: amurillo Date: 2012-12-21 10:27 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/cd962e15c08e 8005382: new hotspot build - hs25-b15 Reviewed-by: jcoomes ! make/hotspot_version Changeset: e51c9860cf66 Author: jmasa Date: 2012-12-03 15:09 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/e51c9860cf66 8005082: NPG: Add specialized Metachunk sizes for reflection and anonymous classloaders Reviewed-by: johnc, coleenp ! src/share/vm/classfile/classLoaderData.cpp ! src/share/vm/memory/binaryTreeDictionary.cpp ! src/share/vm/memory/collectorPolicy.cpp ! src/share/vm/memory/metachunk.cpp ! src/share/vm/memory/metachunk.hpp ! src/share/vm/memory/metaspace.cpp ! src/share/vm/memory/metaspace.hpp ! src/share/vm/runtime/globals.hpp Changeset: 1de1b145f6bc Author: jmasa Date: 2012-12-26 15:05 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/1de1b145f6bc 8005486: NPG: Incorrect assertion in ChunkManager::list_index() Reviewed-by: coleenp ! src/share/vm/memory/metaspace.cpp Changeset: b735136e0d82 Author: johnc Date: 2013-01-02 11:32 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/b735136e0d82 8004132: SerialGC: ValidateMarkSweep broken when running GCOld Summary: Remove bit-rotten ValidateMarkSweep functionality and flag. Reviewed-by: johnc, jmasa Contributed-by: tamao ! src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.cpp ! src/share/vm/gc_implementation/g1/g1MarkSweep.cpp ! src/share/vm/gc_implementation/parallelScavenge/psMarkSweepDecorator.cpp ! src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp ! src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.hpp ! src/share/vm/gc_implementation/shared/markSweep.cpp ! src/share/vm/gc_implementation/shared/markSweep.hpp ! src/share/vm/gc_implementation/shared/markSweep.inline.hpp ! src/share/vm/memory/genMarkSweep.cpp ! src/share/vm/memory/space.cpp ! src/share/vm/memory/space.hpp ! src/share/vm/runtime/globals.hpp ! src/share/vm/utilities/debug.cpp Changeset: 37f7535e5f18 Author: johnc Date: 2012-12-21 11:45 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/37f7535e5f18 8001424: G1: Rename certain G1-specific flags Summary: Rename G1DefaultMinNewGenPercent, G1DefaultMaxNewGenPercent, and G1OldCSetRegionLiveThresholdPercent to G1NewSizePercent, G1MaxNewSizePercent, and G1MixedGCLiveThresholdPercent respectively. The previous names are no longer accepted. Reviewed-by: brutisso, ysr ! src/share/vm/gc_implementation/g1/collectionSetChooser.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: d275c3dc73e6 Author: johnc Date: 2013-01-03 16:28 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/d275c3dc73e6 8004816: G1: Kitchensink failures after marking stack changes Summary: Reset the marking state, including the mark stack overflow flag, in the event of a marking stack overflow during serial reference processing. Reviewed-by: jmasa ! src/share/vm/gc_implementation/g1/concurrentMark.cpp ! src/share/vm/gc_implementation/g1/concurrentMark.hpp ! src/share/vm/gc_implementation/g1/concurrentMarkThread.cpp Changeset: ca0a78017dc7 Author: brutisso Date: 2012-12-30 08:47 +0100 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/ca0a78017dc7 8005396: Use ParNew with only one thread instead of DefNew as default for CMS on single CPU machines Reviewed-by: jmasa, jcoomes ! src/share/vm/gc_implementation/concurrentMarkSweep/cmsCollectorPolicy.cpp ! src/share/vm/gc_implementation/parNew/parNewGeneration.cpp ! src/share/vm/gc_implementation/parNew/parNewGeneration.hpp ! src/share/vm/memory/collectorPolicy.cpp ! src/share/vm/memory/tenuredGeneration.cpp ! src/share/vm/runtime/arguments.cpp Changeset: e0ab18eafbde Author: brutisso Date: 2013-01-04 11:10 +0100 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/e0ab18eafbde 8003820: Deprecate untested and rarely used GC combinations Summary: Log warning messages for DefNew+CMS and ParNew+SerialOld Reviewed-by: ysr, jwilhelm, jcoomes ! src/share/vm/runtime/arguments.cpp ! src/share/vm/runtime/arguments.hpp Changeset: c98b676a98b4 Author: brutisso Date: 2013-01-04 21:33 +0100 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/c98b676a98b4 8003822: Deprecate the incremental mode of CMS Reviewed-by: johnc, jwilhelm ! src/share/vm/runtime/arguments.cpp Changeset: 6e9174173e00 Author: jmasa Date: 2013-01-04 17:04 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/6e9174173e00 8000325: Change default for CMSClassUnloadingEnabled to true Reviewed-by: stefank, ysr ! src/share/vm/runtime/globals.hpp Changeset: 0b54ffe4c2d3 Author: jmasa Date: 2013-01-04 17:04 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/0b54ffe4c2d3 8005672: Clean up some changes to GC logging with GCCause's Reviewed-by: johnc, ysr ! src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp ! src/share/vm/gc_implementation/parallelScavenge/psYoungGen.cpp ! src/share/vm/gc_interface/gcCause.hpp Changeset: 7d42f3b08300 Author: dcubed Date: 2012-12-19 10:35 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/7d42f3b08300 8005044: remove crufty '_g' support from HS runtime code Summary: Phase 2 is removing '_g' support from the Runtime code. Reviewed-by: dcubed, coleenp, hseigel Contributed-by: ron.durbin at oracle.com ! 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/share/tools/ProjectCreator/ProjectCreator.java ! src/share/vm/runtime/arguments.cpp Changeset: 35431a769282 Author: stefank Date: 2012-12-20 10:22 +0100 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/35431a769282 8004823: Add VM support for type annotation reflection Reviewed-by: dholmes, coleenp Contributed-by: joel.franck at oracle.com ! make/bsd/makefiles/mapfile-vers-debug ! make/bsd/makefiles/mapfile-vers-product ! make/linux/makefiles/mapfile-vers-debug ! make/linux/makefiles/mapfile-vers-product ! make/solaris/makefiles/mapfile-vers ! 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/vmSymbols.hpp ! src/share/vm/oops/annotations.cpp ! src/share/vm/oops/annotations.hpp ! src/share/vm/oops/instanceKlass.cpp ! src/share/vm/oops/instanceKlass.hpp ! src/share/vm/oops/method.cpp ! src/share/vm/oops/method.hpp ! src/share/vm/prims/jvm.cpp ! src/share/vm/prims/jvm.h ! src/share/vm/prims/jvmtiRedefineClasses.cpp ! src/share/vm/runtime/fieldDescriptor.cpp ! src/share/vm/runtime/fieldDescriptor.hpp ! src/share/vm/runtime/reflection.cpp Changeset: 4daebd4cc1dd Author: minqi Date: 2012-12-24 11:46 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/4daebd4cc1dd Merge ! src/os/windows/vm/os_windows.cpp ! src/share/vm/classfile/javaClasses.cpp ! src/share/vm/classfile/javaClasses.hpp ! src/share/vm/classfile/vmSymbols.hpp ! src/share/vm/oops/method.hpp ! src/share/vm/runtime/arguments.cpp Changeset: cc6a617fffd2 Author: coleenp Date: 2013-01-02 20:28 -0500 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/cc6a617fffd2 8005494: SIGSEGV in Rewriter::relocate_and_link() when testing Weblogic with CompressedOops and KlassPtrs Summary: Relocate functions with jsr's when rewriting so not repeated after reading shared archive Reviewed-by: twisti, jrose ! src/share/vm/interpreter/rewriter.cpp ! src/share/vm/interpreter/rewriter.hpp ! src/share/vm/oops/instanceKlass.cpp ! src/share/vm/oops/instanceKlass.hpp ! src/share/vm/prims/jvmtiRedefineClasses.cpp ! src/share/vm/runtime/handles.inline.hpp Changeset: 6c3f47d964f3 Author: hseigel Date: 2013-01-07 15:32 -0500 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/6c3f47d964f3 8003705: CDS failed on Windows: can not map in the CDS. Summary: Map memory only once to prevent 'already mapped' failures. Reviewed-by: acorn, zgu ! src/share/vm/memory/filemap.cpp ! src/share/vm/memory/metaspaceShared.cpp Changeset: 561148896559 Author: hseigel Date: 2013-01-08 13:38 -0500 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/561148896559 8005076: Creating a CDS archive with one alignment and running another causes a crash. Summary: Save the alignment when writing the CDS and compare it when reading the CDS. Reviewed-by: kvn, coleenp ! src/share/vm/memory/filemap.cpp ! src/share/vm/memory/filemap.hpp ! src/share/vm/runtime/arguments.cpp ! src/share/vm/runtime/globals.hpp Changeset: ade95d680b42 Author: coleenp Date: 2013-01-08 14:01 -0500 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/ade95d680b42 8004728: Add hotspot support for parameter reflection Summary: Add hotspot support for parameter reflection Reviewed-by: acorn, jrose, coleenp Contributed-by: eric.mccorkle at oracle.com ! make/bsd/makefiles/mapfile-vers-debug ! make/bsd/makefiles/mapfile-vers-product ! make/linux/makefiles/mapfile-vers-debug ! make/linux/makefiles/mapfile-vers-product ! make/solaris/makefiles/mapfile-vers ! src/share/vm/classfile/classFileParser.cpp ! src/share/vm/classfile/classFileStream.cpp ! src/share/vm/classfile/classFileStream.hpp ! src/share/vm/classfile/defaultMethods.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/constMethod.cpp ! src/share/vm/oops/constMethod.hpp ! src/share/vm/oops/method.cpp ! src/share/vm/oops/method.hpp ! src/share/vm/prims/jvm.cpp ! src/share/vm/prims/jvm.h ! src/share/vm/runtime/reflection.cpp ! src/share/vm/runtime/reflection.hpp Changeset: 185a2c979a0e Author: coleenp Date: 2013-01-08 13:44 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/185a2c979a0e Merge Changeset: ecd24264898b Author: zgu Date: 2013-01-08 14:04 -0500 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/ecd24264898b 8005048: NMT: #loaded classes needs to just show the # defined classes Summary: Count number of instance classes so that it matches class metadata size Reviewed-by: coleenp, acorn ! src/share/vm/oops/instanceKlass.cpp ! src/share/vm/oops/instanceKlass.hpp ! src/share/vm/services/memBaseline.cpp ! src/share/vm/services/memRecorder.cpp ! src/share/vm/services/memRecorder.hpp ! src/share/vm/services/memSnapshot.cpp ! src/share/vm/services/memSnapshot.hpp ! src/share/vm/services/memTrackWorker.cpp ! src/share/vm/services/memTrackWorker.hpp ! src/share/vm/services/memTracker.cpp ! src/share/vm/services/memTracker.hpp Changeset: 37a3e8b7a1e9 Author: zgu Date: 2013-01-08 11:39 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/37a3e8b7a1e9 Merge ! src/share/vm/oops/instanceKlass.cpp ! src/share/vm/oops/instanceKlass.hpp Changeset: 0c93d4818214 Author: zgu Date: 2013-01-08 15:47 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/0c93d4818214 Merge Changeset: 1f6d10b4cc0c Author: acorn Date: 2013-01-09 18:06 -0500 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/1f6d10b4cc0c Merge ! src/share/vm/runtime/arguments.cpp ! src/share/vm/runtime/globals.hpp Changeset: 608b2e8a0063 Author: bpittore Date: 2013-01-03 15:08 -0500 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/608b2e8a0063 8004051: assert(_oprs_len[mode] < maxNumberOfOperands) failed: array overflow Summary: assert is triggered when number of register based arguments passed to a java method exceeds 16. Reviewed-by: roland, vladidan ! src/share/vm/c1/c1_LIR.hpp Changeset: 0c8717a92b2d Author: jiangli Date: 2013-01-08 13:01 -0500 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/0c8717a92b2d 8001341: SIGSEGV in methodOopDesc::fast_exception_handler_bci_for(KlassHandle,int,Thread*)+0x3e9. Summary: Use methodHandle. Reviewed-by: coleenp, acorn, twisti, sspitsyn ! src/share/vm/interpreter/interpreterRuntime.cpp ! src/share/vm/oops/method.cpp ! src/share/vm/oops/method.hpp ! src/share/vm/prims/jvmtiExport.cpp ! src/share/vm/runtime/sharedRuntime.cpp Changeset: 18c3c3fa291b Author: dlong Date: 2013-01-09 21:18 -0500 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/18c3c3fa291b Merge ! src/share/vm/oops/method.cpp ! src/share/vm/oops/method.hpp Changeset: 4c8bf5e55392 Author: brutisso Date: 2013-01-09 09:48 +0100 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/4c8bf5e55392 8005489: VM hangs during GC with ParallelGC and ParallelGCThreads=0 Summary: Print an error message and exit the VM if UseParallalGC is combined with ParllelGCThreads==0. Also reviewed by vitalyd at gmail.com. Reviewed-by: stefank, ehelin ! src/share/vm/runtime/arguments.cpp Changeset: b2fef6b220e9 Author: jmasa Date: 2013-01-10 07:32 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/b2fef6b220e9 Merge ! src/share/vm/runtime/arguments.cpp Changeset: d092d1b31229 Author: roland Date: 2012-12-23 17:08 +0100 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/d092d1b31229 8005071: Incremental inlining for JSR 292 Summary: post parse inlining driven by number of live nodes. Reviewed-by: twisti, kvn, jrose ! src/share/vm/opto/bytecodeInfo.cpp ! src/share/vm/opto/c2_globals.hpp ! src/share/vm/opto/callGenerator.cpp ! src/share/vm/opto/callGenerator.hpp ! src/share/vm/opto/callnode.cpp ! src/share/vm/opto/callnode.hpp ! src/share/vm/opto/cfgnode.cpp ! src/share/vm/opto/cfgnode.hpp ! src/share/vm/opto/compile.cpp ! src/share/vm/opto/compile.hpp ! src/share/vm/opto/doCall.cpp ! src/share/vm/opto/graphKit.cpp ! src/share/vm/opto/parse.hpp ! src/share/vm/opto/phaseX.cpp ! src/share/vm/opto/phaseX.hpp ! src/share/vm/opto/stringopts.cpp ! src/share/vm/runtime/arguments.cpp Changeset: 00af3a3a8df4 Author: kvn Date: 2013-01-03 15:09 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/00af3a3a8df4 8005522: use fast-string instructions on x86 for zeroing Summary: use 'rep stosb' instead of 'rep stosq' when fast-string operations are available. Reviewed-by: twisti, roland ! src/cpu/x86/vm/assembler_x86.cpp ! src/cpu/x86/vm/assembler_x86.hpp ! src/cpu/x86/vm/globals_x86.hpp ! src/cpu/x86/vm/macroAssembler_x86.cpp ! src/cpu/x86/vm/macroAssembler_x86.hpp ! src/cpu/x86/vm/vm_version_x86.cpp ! src/cpu/x86/vm/vm_version_x86.hpp ! src/cpu/x86/vm/x86_32.ad ! src/cpu/x86/vm/x86_64.ad ! src/share/vm/opto/memnode.cpp Changeset: e2e6bf86682c Author: kvn Date: 2013-01-03 16:30 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/e2e6bf86682c 8005544: Use 256bit YMM registers in arraycopy stubs on x86 Summary: Use YMM registers in arraycopy and array_fill stubs. Reviewed-by: roland, twisti ! src/cpu/x86/vm/assembler_x86.cpp ! src/cpu/x86/vm/assembler_x86.hpp ! src/cpu/x86/vm/macroAssembler_x86.cpp ! src/cpu/x86/vm/stubGenerator_x86_32.cpp ! src/cpu/x86/vm/stubGenerator_x86_64.cpp Changeset: ffa87474d7a4 Author: twisti Date: 2013-01-07 14:08 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/ffa87474d7a4 8004537: replace AbstractAssembler emit_long with emit_int32 Reviewed-by: jrose, kvn, twisti Contributed-by: Morris Meyer ! src/cpu/sparc/vm/assembler_sparc.hpp ! src/cpu/sparc/vm/assembler_sparc.inline.hpp ! src/cpu/sparc/vm/cppInterpreter_sparc.cpp ! src/cpu/sparc/vm/macroAssembler_sparc.cpp ! src/cpu/sparc/vm/templateInterpreter_sparc.cpp ! src/cpu/x86/vm/assembler_x86.cpp ! src/cpu/x86/vm/macroAssembler_x86.cpp ! src/share/vm/asm/assembler.hpp Changeset: 038dd2875b94 Author: kvn Date: 2013-01-08 11:30 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/038dd2875b94 8005419: Improve intrinsics code performance on x86 by using AVX2 Summary: use 256bit vpxor,vptest instructions in String.compareTo() and equals() intrinsics. Reviewed-by: twisti ! src/cpu/x86/vm/assembler_x86.cpp ! src/cpu/x86/vm/assembler_x86.hpp ! src/cpu/x86/vm/macroAssembler_x86.cpp ! src/cpu/x86/vm/macroAssembler_x86.hpp + test/compiler/8005419/Test8005419.java Changeset: 5698813d45eb Author: twisti Date: 2013-01-09 15:37 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/5698813d45eb 8005418: JSR 292: virtual dispatch bug in 292 impl Reviewed-by: jrose, kvn ! src/share/vm/opto/callGenerator.cpp ! src/share/vm/opto/compile.hpp ! src/share/vm/opto/doCall.cpp ! src/share/vm/opto/parse.hpp ! src/share/vm/opto/parse1.cpp Changeset: f1c06dcee0b5 Author: kvn Date: 2013-01-10 10:00 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/f1c06dcee0b5 Merge ! src/share/vm/runtime/arguments.cpp Changeset: 1e129851479e Author: amurillo Date: 2013-01-11 01:43 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/1e129851479e Merge Changeset: b5e6bec76f4a Author: amurillo Date: 2013-01-11 01:43 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/b5e6bec76f4a Added tag hs25-b15 for changeset 1e129851479e ! .hgtags Changeset: 176ea3fb60a4 Author: wmdietl Date: 2013-01-16 22:03 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/176ea3fb60a4 Automated merge with http://hg.openjdk.java.net/jdk8/tl/hotspot ! .hgtags From wdietl at gmail.com Wed Jan 16 22:04:24 2013 From: wdietl at gmail.com (wdietl at gmail.com) Date: Thu, 17 Jan 2013 06:04:24 +0000 Subject: hg: type-annotations/type-annotations/corba: 3 new changesets Message-ID: <20130117060429.B9CC547343@hg.openjdk.java.net> Changeset: cb40427f4714 Author: katleman Date: 2013-01-03 12:44 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/corba/rev/cb40427f4714 Added tag jdk8-b71 for changeset 8171d23e914d ! .hgtags Changeset: 191afde59e7b Author: katleman Date: 2013-01-10 09:55 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/corba/rev/191afde59e7b Added tag jdk8-b72 for changeset cb40427f4714 ! .hgtags Changeset: e892aaaca83e Author: wmdietl Date: 2013-01-16 22:04 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/corba/rev/e892aaaca83e Automated merge with http://hg.openjdk.java.net/jdk8/tl/corba ! .hgtags From wdietl at gmail.com Wed Jan 16 22:04:45 2013 From: wdietl at gmail.com (wdietl at gmail.com) Date: Thu, 17 Jan 2013 06:04:45 +0000 Subject: hg: type-annotations/type-annotations: 6 new changesets Message-ID: <20130117060446.8D3C247345@hg.openjdk.java.net> Changeset: 1129fb75f611 Author: jjg Date: 2013-01-10 19:36 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/rev/1129fb75f611 8004834: Add doclint support into javadoc Reviewed-by: erikj, tbell ! common/makefiles/javadoc/Javadoc.gmk Changeset: c1be681d80a1 Author: katleman Date: 2013-01-03 12:44 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/rev/c1be681d80a1 Added tag jdk8-b71 for changeset 51ad2a343420 ! .hgtags Changeset: f03f90a4308d Author: katleman Date: 2013-01-10 09:55 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/rev/f03f90a4308d Added tag jdk8-b72 for changeset c1be681d80a1 ! .hgtags Changeset: 93b9664f97ee Author: lana Date: 2013-01-10 15:49 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/rev/93b9664f97ee Merge Changeset: cecfba251e4a Author: lana Date: 2013-01-16 11:58 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/rev/cecfba251e4a Merge Changeset: 202408034ea6 Author: wmdietl Date: 2013-01-16 22:04 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/rev/202408034ea6 Automated merge with http://hg.openjdk.java.net/jdk8/tl/ ! .hgtags From wdietl at gmail.com Wed Jan 16 22:05:32 2013 From: wdietl at gmail.com (wdietl at gmail.com) Date: Thu, 17 Jan 2013 06:05:32 +0000 Subject: hg: type-annotations/type-annotations/jaxp: 5 new changesets Message-ID: <20130117060552.EA02A47347@hg.openjdk.java.net> Changeset: 47738fa4d411 Author: dbuck Date: 2013-01-10 20:26 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jaxp/rev/47738fa4d411 8003147: port fix for BCEL bug 39695 Summary: Added support for Local Variable Type Table so that BCEL library can be used to modify methods with generics-related debug data without violating class file format Reviewed-by: lancea ! src/com/sun/org/apache/bcel/internal/Constants.java ! src/com/sun/org/apache/bcel/internal/classfile/Attribute.java ! src/com/sun/org/apache/bcel/internal/classfile/DescendingVisitor.java ! src/com/sun/org/apache/bcel/internal/classfile/EmptyVisitor.java + src/com/sun/org/apache/bcel/internal/classfile/LocalVariableTypeTable.java ! src/com/sun/org/apache/bcel/internal/classfile/Visitor.java ! src/com/sun/org/apache/bcel/internal/generic/MethodGen.java Changeset: bdf2af722a6b Author: katleman Date: 2013-01-03 12:44 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jaxp/rev/bdf2af722a6b Added tag jdk8-b71 for changeset 499be952a291 ! .hgtags Changeset: 84946404d1e1 Author: katleman Date: 2013-01-10 09:55 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jaxp/rev/84946404d1e1 Added tag jdk8-b72 for changeset bdf2af722a6b ! .hgtags Changeset: 06827097cdd3 Author: lana Date: 2013-01-16 12:06 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jaxp/rev/06827097cdd3 Merge Changeset: d9b4fef80132 Author: wmdietl Date: 2013-01-16 22:05 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jaxp/rev/d9b4fef80132 Automated merge with http://hg.openjdk.java.net/jdk8/tl/jaxp ! .hgtags From wdietl at gmail.com Wed Jan 16 22:01:49 2013 From: wdietl at gmail.com (wdietl at gmail.com) Date: Thu, 17 Jan 2013 06:01:49 +0000 Subject: hg: type-annotations/type-annotations/jdk: 51 new changesets Message-ID: <20130117061213.C799A47348@hg.openjdk.java.net> Changeset: cc78ceb99284 Author: jgish Date: 2012-12-28 16:56 -0500 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/cc78ceb99284 8005118: Javadoc styles are inconsistent Summary: use a common javadoc style in the String classes Reviewed-by: darcy ! src/share/classes/java/lang/AbstractStringBuilder.java ! src/share/classes/java/lang/String.java ! src/share/classes/java/lang/StringBuffer.java ! src/share/classes/java/lang/StringBuilder.java ! src/share/classes/java/lang/StringIndexOutOfBoundsException.java Changeset: 21708d15553b Author: chegar Date: 2013-01-03 10:00 +0000 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/21708d15553b 8005634: tools/launcher/VersionCheck.java fails version check on jdeps Summary: add jdeps to the list of tools that do not support '-version' Reviewed-by: mchung ! test/tools/launcher/VersionCheck.java Changeset: 438d37d16417 Author: chegar Date: 2013-01-04 11:18 +0000 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/438d37d16417 8005659: Add tools/pack200/AttributeTests.java to exclude list (ProblemList.txt) until pack200 updated to support method parameters Reviewed-by: mchung, ksrini ! test/ProblemList.txt Changeset: 6d814b2f9112 Author: chegar Date: 2013-01-04 11:34 +0000 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/6d814b2f9112 8005638: Less secure Authentication schemes should work when more secure schemes are not available Reviewed-by: alanb ! src/share/classes/sun/net/www/protocol/http/AuthenticationHeader.java Changeset: 92c3b24a8e9a Author: smarks Date: 2013-01-04 16:10 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/92c3b24a8e9a 8005683: ProblemList.txt updates (01/2013) Reviewed-by: mchung, alanb Contributed-by: amy.lu at oracle.com ! test/ProblemList.txt Changeset: 0c89465b656a Author: chegar Date: 2013-01-05 17:06 +0000 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/0c89465b656a 8005709: Add at since tags to new FJP getCommonPoolParallelism and commonPool Reviewed-by: dl ! src/share/classes/java/util/concurrent/ForkJoinPool.java Changeset: 1d9638ba5202 Author: ksrini Date: 2013-01-07 09:58 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/1d9638ba5202 8004547: Extend JavaFX launcher support to allow full JavaFX launch feature set Reviewed-by: mchung, kcr, ksrini Contributed-by: david.dehaven at oracle.com ! src/share/classes/sun/launcher/LauncherHelper.java ! src/share/classes/sun/launcher/resources/launcher.properties ! test/tools/launcher/FXLauncherTest.java Changeset: dbc692ea3f0a Author: bchristi Date: 2013-01-07 13:19 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/dbc692ea3f0a 8003228: (props) sun.jnu.encoding should be set to UTF-8 [macosx] Summary: Hard-code sun.jnu.encoding to UTF-8 on Mac Reviewed-by: naoto ! src/share/native/java/lang/System.c ! src/solaris/native/java/lang/java_props_md.c + test/java/util/Properties/MacJNUEncoding/ExpectedEncoding.java + test/java/util/Properties/MacJNUEncoding/MacJNUEncoding.sh Changeset: 797e8a3dcd51 Author: smarks Date: 2013-01-07 18:09 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/797e8a3dcd51 7187882: TEST_BUG: java/rmi/activation/checkusage/CheckUsage.java fails intermittently Summary: Tighten up JavaVM test library API, and adjust tests to match. Reviewed-by: mchung, dmocek ! test/ProblemList.txt ! test/java/rmi/activation/Activatable/shutdownGracefully/ShutdownGracefully.java ! test/java/rmi/activation/checkusage/CheckUsage.java ! test/java/rmi/registry/altSecurityManager/AltSecurityManager.java ! test/java/rmi/registry/checkusage/CheckUsage.java ! test/java/rmi/registry/reexport/Reexport.java ! test/java/rmi/testlibrary/JavaVM.java ! test/java/rmi/testlibrary/RMID.java ! test/java/rmi/transport/checkFQDN/CheckFQDN.java ! test/java/rmi/transport/checkLeaseInfoLeak/CheckLeaseLeak.java ! test/sun/rmi/runtime/Log/4504153/Test4504153.java ! test/sun/rmi/runtime/Log/6409194/NoConsoleOutput.java ! test/sun/rmi/transport/tcp/DeadCachedConnection.java Changeset: 98935c514de4 Author: weijun Date: 2013-01-08 14:54 +0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/98935c514de4 8005447: default principal should act as anyone Reviewed-by: valeriep ! src/share/classes/sun/security/jgss/krb5/InitSecContextToken.java ! src/share/classes/sun/security/jgss/krb5/Krb5AcceptCredential.java ! src/share/classes/sun/security/jgss/krb5/Krb5Context.java ! src/share/classes/sun/security/jgss/krb5/Krb5MechFactory.java ! src/share/classes/sun/security/jgss/krb5/Krb5Util.java + src/share/classes/sun/security/jgss/krb5/ServiceCreds.java ! src/share/classes/sun/security/jgss/krb5/SubjectComber.java ! src/share/classes/sun/security/krb5/KrbApReq.java ! src/share/classes/sun/security/krb5/internal/ktab/KeyTab.java ! src/share/classes/sun/security/ssl/krb5/Krb5ProxyImpl.java + test/sun/security/krb5/ServiceCredsCombination.java + test/sun/security/krb5/auto/AcceptPermissions.java ! test/sun/security/krb5/auto/CleanState.java ! test/sun/security/krb5/auto/Context.java + test/sun/security/krb5/auto/DiffNameSameKey.java ! test/sun/security/krb5/auto/DynamicKeytab.java ! test/sun/security/krb5/auto/KDC.java ! test/sun/security/krb5/auto/KeyTabCompat.java + test/sun/security/krb5/auto/TwoOrThree.java Changeset: d29a7ce28189 Author: dxu Date: 2013-01-08 20:37 +0000 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/d29a7ce28189 8002306: (se) Selector.open fails if invoked with thread interrupt status set [win] Reviewed-by: alanb ! src/windows/classes/sun/nio/ch/PipeImpl.java + test/java/nio/channels/Pipe/PipeInterrupt.java Changeset: 46e6a4b7ca26 Author: valeriep Date: 2013-01-07 11:11 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/46e6a4b7ca26 6996769: support AEAD cipher Summary: Added implementation for GCM mode under AES cipher Reviewed-by: weijun ! src/share/classes/com/sun/crypto/provider/AESCipher.java ! src/share/classes/com/sun/crypto/provider/CipherCore.java ! src/share/classes/com/sun/crypto/provider/CipherTextStealing.java ! src/share/classes/com/sun/crypto/provider/FeedbackCipher.java + src/share/classes/com/sun/crypto/provider/GCMParameters.java + src/share/classes/com/sun/crypto/provider/GCTR.java + src/share/classes/com/sun/crypto/provider/GHASH.java + src/share/classes/com/sun/crypto/provider/GaloisCounterMode.java ! src/share/classes/com/sun/crypto/provider/SunJCE.java ! src/share/classes/javax/crypto/Cipher.java ! src/share/classes/javax/crypto/spec/GCMParameterSpec.java ! test/com/sun/crypto/provider/Cipher/AES/Test4512524.java ! test/com/sun/crypto/provider/Cipher/AES/Test4512704.java ! test/com/sun/crypto/provider/Cipher/AES/Test4517355.java ! test/com/sun/crypto/provider/Cipher/AES/Test4626070.java + test/com/sun/crypto/provider/Cipher/AES/TestGCMKeyAndIvCheck.java + test/com/sun/crypto/provider/Cipher/AES/TestKATForGCM.java ! test/javax/crypto/Cipher/GCMAPI.java Changeset: 5333a4c8cade Author: valeriep Date: 2013-01-07 14:40 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/5333a4c8cade Merge Changeset: 3c5a62290939 Author: valeriep Date: 2013-01-08 11:55 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/3c5a62290939 8004044: Lazily instantiate SunJCE.RANDOM Summary: Replace the static initialization of SunJCE.RANDOM object w/ lazy initialization Reviewed-by: mchung ! src/share/classes/com/sun/crypto/provider/AESKeyGenerator.java ! src/share/classes/com/sun/crypto/provider/BlowfishKeyGenerator.java ! src/share/classes/com/sun/crypto/provider/CipherCore.java ! src/share/classes/com/sun/crypto/provider/DESKeyGenerator.java ! src/share/classes/com/sun/crypto/provider/DESedeKeyGenerator.java ! src/share/classes/com/sun/crypto/provider/DESedeWrapCipher.java ! src/share/classes/com/sun/crypto/provider/DHKeyPairGenerator.java ! src/share/classes/com/sun/crypto/provider/DHParameterGenerator.java ! src/share/classes/com/sun/crypto/provider/HmacMD5KeyGenerator.java ! src/share/classes/com/sun/crypto/provider/HmacPKCS12PBESHA1.java ! src/share/classes/com/sun/crypto/provider/HmacSHA1KeyGenerator.java ! src/share/classes/com/sun/crypto/provider/ISO10126Padding.java ! src/share/classes/com/sun/crypto/provider/KeyGeneratorCore.java ! src/share/classes/com/sun/crypto/provider/KeyProtector.java ! src/share/classes/com/sun/crypto/provider/PBECipherCore.java ! src/share/classes/com/sun/crypto/provider/PBES1Core.java ! src/share/classes/com/sun/crypto/provider/PBES2Core.java ! src/share/classes/com/sun/crypto/provider/PBMAC1Core.java ! src/share/classes/com/sun/crypto/provider/PKCS12PBECipherCore.java ! src/share/classes/com/sun/crypto/provider/SunJCE.java Changeset: 9b6a29cb04ac Author: valeriep Date: 2013-01-08 13:06 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/9b6a29cb04ac Merge Changeset: ac5fd681a7a2 Author: darcy Date: 2013-01-08 16:08 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/ac5fd681a7a2 8005298: Add FunctionalInterface type to the core libraries Reviewed-by: mduigou + src/share/classes/java/lang/FunctionalInterface.java Changeset: 86828e84654f Author: mullan Date: 2013-01-08 19:00 -0500 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/86828e84654f 7019834: Eliminate dependency from PolicyFile to com.sun.security.auth.PrincipalComparator Summary: Add new java.security.Principal.implies method Reviewed-by: alanb ! src/share/classes/java/security/Principal.java ! src/share/classes/sun/security/provider/PolicyFile.java ! src/share/classes/sun/security/provider/PolicyParser.java ! src/share/classes/sun/security/tools/policytool/PolicyTool.java + test/java/security/Principal/Implies.java ! test/sun/security/provider/PolicyFile/Comparator.java Changeset: bf6d0bca5ea7 Author: mullan Date: 2013-01-08 19:02 -0500 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/bf6d0bca5ea7 Merge - make/jdk/asm/Makefile - src/share/classes/sun/awt/TextureSizeConstraining.java - src/share/lib/security/java.security - test/java/rmi/server/Unmarshal/checkUnmarshalOnStopThread/CheckUnmarshall.java Changeset: f0ed9ef84637 Author: mullan Date: 2013-01-09 08:59 -0500 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/f0ed9ef84637 Merge Changeset: 4c8b37f159f9 Author: mchung Date: 2013-01-09 16:58 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/4c8b37f159f9 7103957: NegativeArraySizeException while initializing class IntegerCache Reviewed-by: darcy, mchung Contributed-by: brian.burkhalter at oracle.com ! src/share/classes/java/lang/Integer.java Changeset: 4176e6cc499e Author: darcy Date: 2013-01-09 20:20 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/4176e6cc499e 8005713: Simplify library support for repeating annotations in java.lang.annotation Reviewed-by: abuckley + src/share/classes/java/lang/annotation/Repeatable.java Changeset: c622df692bfb Author: bchristi Date: 2013-01-10 10:21 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/c622df692bfb 8005962: TEST_BUG: java/util/Properties/MacJNUEncoding can fail in certain environments Summary: Test script now sets LC_ALL, other small changes, relocate test Reviewed-by: naoto, alanb + test/java/lang/System/MacJNUEncoding/ExpectedEncoding.java + test/java/lang/System/MacJNUEncoding/MacJNUEncoding.sh - test/java/util/Properties/MacJNUEncoding/ExpectedEncoding.java - test/java/util/Properties/MacJNUEncoding/MacJNUEncoding.sh Changeset: 13ff1089e625 Author: jgish Date: 2013-01-10 15:09 -0500 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/13ff1089e625 8005582: java/lang/Runtime/exec/WinCommand.java intermittent test failures Summary: Remove file-deletion code at cleanup which conflicts with jtreg cleanup Reviewed-by: chegar ! test/java/lang/Runtime/exec/WinCommand.java Changeset: 3e906ccad412 Author: chegar Date: 2013-01-10 21:52 +0000 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/3e906ccad412 8006007: j.u.c.atomic classes should use intrinsic getAndXXX provided by 7023898 Reviewed-by: dl, shade ! src/share/classes/java/util/concurrent/atomic/AtomicBoolean.java ! src/share/classes/java/util/concurrent/atomic/AtomicInteger.java ! src/share/classes/java/util/concurrent/atomic/AtomicIntegerArray.java ! src/share/classes/java/util/concurrent/atomic/AtomicIntegerFieldUpdater.java ! src/share/classes/java/util/concurrent/atomic/AtomicLong.java ! src/share/classes/java/util/concurrent/atomic/AtomicLongArray.java ! src/share/classes/java/util/concurrent/atomic/AtomicLongFieldUpdater.java ! src/share/classes/java/util/concurrent/atomic/AtomicReference.java ! src/share/classes/java/util/concurrent/atomic/AtomicReferenceArray.java ! src/share/classes/java/util/concurrent/atomic/AtomicReferenceFieldUpdater.java Changeset: c6e8a518c3cd Author: jjg Date: 2013-01-10 19:36 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/c6e8a518c3cd 8004834: Add doclint support into javadoc Reviewed-by: erikj, tbell ! make/docs/Makefile Changeset: c9308137ad9e Author: jjg Date: 2013-01-10 19:37 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/c9308137ad9e Merge - test/java/util/Properties/MacJNUEncoding/ExpectedEncoding.java - test/java/util/Properties/MacJNUEncoding/MacJNUEncoding.sh Changeset: 86c563dc70ca Author: darcy Date: 2013-01-10 21:12 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/86c563dc70ca 8006062: Add @Repeatable to repeating annotations regression tests in JDK repo Reviewed-by: jjg ! test/java/lang/annotation/repeatingAnnotations/subpackage/Containee.java ! test/java/lang/annotation/repeatingAnnotations/subpackage/InheritedContainee.java Changeset: 0ca2e39a110d Author: alanb Date: 2013-01-11 12:27 +0000 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/0ca2e39a110d 8005566: (fs) test/java/nio/file/Files/Misc.java failing (sol) Reviewed-by: chegar ! src/solaris/classes/sun/nio/fs/SolarisAclFileAttributeView.java ! test/java/nio/file/Files/Misc.java Changeset: 7da291690aa0 Author: alanb Date: 2013-01-11 20:19 +0000 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/7da291690aa0 8005978: shell tests need to use the $COMPILEJDK for javac, jar and other tools Reviewed-by: chegar ! test/ProblemList.txt ! test/com/sun/management/HotSpotDiagnosticMXBean/DumpHeap.sh ! test/com/sun/management/UnixOperatingSystemMXBean/GetMaxFileDescriptorCount.sh ! test/com/sun/management/UnixOperatingSystemMXBean/GetOpenFileDescriptorCount.sh ! test/java/io/FileOutputStream/FileOpen.sh ! test/java/io/Serializable/class/run.sh ! test/java/io/Serializable/evolution/RenamePackage/run.sh ! test/java/io/Serializable/maskSyntheticModifier/run.sh ! test/java/io/Serializable/packageAccess/run.sh ! test/java/io/Serializable/resolveClass/consTest/run.sh ! test/java/io/Serializable/resolveClass/deserializeButton/run.sh ! test/java/io/Serializable/superclassDataLoss/run.sh ! test/java/io/Serializable/unnamedPackageSwitch/run.sh ! test/java/lang/Class/getEnclosingClass/build.sh ! test/java/lang/ClassLoader/Assert.sh ! test/java/lang/ClassLoader/deadlock/TestCrossDelegate.sh ! test/java/lang/ClassLoader/deadlock/TestOneWayDelegate.sh ! test/java/lang/System/MacJNUEncoding/MacJNUEncoding.sh ! test/java/lang/Thread/UncaughtExceptions.sh ! test/java/lang/annotation/loaderLeak/LoaderLeak.sh ! test/java/lang/instrument/AppendToBootstrapClassPathSetUp.sh ! test/java/lang/instrument/AppendToClassPathSetUp.sh ! test/java/lang/instrument/BootClassPath/BootClassPathTest.sh ! test/java/lang/instrument/MakeJAR.sh ! test/java/lang/instrument/MakeJAR2.sh ! test/java/lang/instrument/MakeJAR3.sh ! test/java/lang/instrument/MakeJAR4.sh ! test/java/lang/instrument/ManifestTest.sh ! test/java/lang/instrument/ParallelTransformerLoader.sh ! test/java/lang/instrument/PremainClass/NoPremainAgent.sh ! test/java/lang/instrument/PremainClass/PremainClassTest.sh ! test/java/lang/instrument/PremainClass/ZeroArgPremainAgent.sh ! test/java/lang/instrument/RedefineBigClass.sh ! test/java/lang/instrument/RedefineClassWithNativeMethod.sh ! test/java/lang/instrument/RedefineMethodAddInvoke.sh ! test/java/lang/instrument/RedefineSetUp.sh ! test/java/lang/instrument/RetransformBigClass.sh ! test/java/lang/instrument/appendToClassLoaderSearch/CircularityErrorTest.sh ! test/java/lang/instrument/appendToClassLoaderSearch/ClassUnloadTest.sh ! test/java/lang/instrument/appendToClassLoaderSearch/CommonSetup.sh ! test/java/lang/instrument/appendToClassLoaderSearch/run_tests.sh ! test/java/net/Authenticator/B4933582.sh ! test/java/net/URL/B5086147.sh ! test/java/net/URL/runconstructor.sh ! test/java/net/URLClassLoader/B5077773.sh ! test/java/net/URLClassLoader/closetest/build.sh ! test/java/net/URLClassLoader/getresourceasstream/test.sh ! test/java/net/URLClassLoader/sealing/checksealed.sh ! test/java/net/URLConnection/6212146/test.sh ! test/java/net/URLConnection/UNCTest.sh ! test/java/nio/charset/spi/basic.sh ! test/java/rmi/activation/Activatable/extLoadedImpl/ext.sh ! test/java/rmi/registry/readTest/readTest.sh ! test/java/security/Security/ClassLoaderDeadlock/ClassLoaderDeadlock.sh ! test/java/security/Security/ClassLoaderDeadlock/Deadlock2.sh ! test/java/security/Security/signedfirst/Dyn.sh ! test/java/security/Security/signedfirst/Static.sh ! test/java/security/cert/CertificateFactory/slowstream.sh ! test/java/util/Formatter/Basic.sh ! test/java/util/Locale/LocaleProviders.sh ! test/java/util/PluggableLocale/ExecTest.sh ! test/java/util/ServiceLoader/basic.sh ! test/java/util/TimeZone/TimeZoneDatePermissionCheck.sh ! test/java/util/prefs/PrefsSpi.sh ! test/javax/crypto/SecretKeyFactory/FailOverTest.sh ! test/javax/script/CommonSetup.sh ! test/javax/script/ProviderTest.sh ! test/javax/security/auth/Subject/doAs/Test.sh ! test/lib/security/java.policy/Ext_AllPolicy.sh ! test/sun/management/jmxremote/bootstrap/PasswordFilePermissionTest.sh ! test/sun/management/jmxremote/bootstrap/SSLConfigFilePermissionTest.sh ! test/sun/management/jmxremote/startstop/JMXStartStopTest.sh ! test/sun/net/www/MarkResetTest.sh ! test/sun/net/www/http/HttpClient/RetryPost.sh ! test/sun/net/www/protocol/jar/B5105410.sh ! test/sun/net/www/protocol/jar/jarbug/run.sh ! test/sun/security/krb5/config/dns.sh ! test/sun/security/krb5/runNameEquals.sh ! test/sun/security/mscapi/IsSunMSCAPIAvailable.sh ! test/sun/security/pkcs11/KeyStore/Basic.sh ! test/sun/security/pkcs11/KeyStore/ClientAuth.sh ! test/sun/security/pkcs11/KeyStore/Solaris.sh ! test/sun/security/pkcs11/Provider/ConfigQuotedString.sh ! test/sun/security/pkcs11/Provider/Login.sh ! test/sun/security/provider/PolicyFile/GrantAllPermToExtWhenNoPolicy.sh ! test/sun/security/provider/PolicyFile/getinstance/getinstance.sh ! test/sun/security/ssl/com/sun/net/ssl/internal/ssl/EngineArgs/DebugReportsOneExtraByte.sh ! test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLSocketImpl/NotifyHandshakeTest.sh ! test/sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/PostThruProxy.sh ! test/sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/PostThruProxyWithAuth.sh ! test/sun/security/tools/keytool/autotest.sh ! test/sun/security/tools/keytool/printssl.sh ! test/sun/security/tools/keytool/readjar.sh ! test/sun/security/tools/keytool/standard.sh ! test/sun/security/util/Oid/S11N.sh ! test/sun/security/validator/certreplace.sh ! test/sun/security/validator/samedn.sh ! test/tools/launcher/ClassPathWildCard.sh ! test/tools/launcher/MultipleJRE.sh Changeset: bc1f16f5566f Author: darcy Date: 2013-01-11 15:39 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/bc1f16f5566f 7131459: [Fmt-De] DecimalFormat produces wrong format() results when close to a tie Reviewed-by: darcy Contributed-by: olivier.lagneau at oracle.com ! src/share/classes/java/text/DigitList.java ! src/share/classes/sun/misc/FloatingDecimal.java + test/java/text/Format/DecimalFormat/TieRoundingTest.java Changeset: 6f6246aced89 Author: sherman Date: 2013-01-11 22:43 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/6f6246aced89 8005466: JAR file entry hash table uses too much memory (zlib_util.c) Summary: realign the fields of jzcell struct Reviewed-by: sherman Contributed-by: ioi.lam at oracle.com ! src/share/native/java/util/zip/zip_util.h Changeset: 8009c7e3899e Author: sherman Date: 2013-01-11 22:45 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/8009c7e3899e Merge Changeset: 7db04ae3378f Author: chegar Date: 2013-01-13 22:09 +0000 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/7db04ae3378f 8006153: HTTP protocol handler authenication should use Base64 API Reviewed-by: chegar, alanb Contributed-by: Mark Sheppard ! src/share/classes/sun/net/www/protocol/http/BasicAuthentication.java ! src/share/classes/sun/net/www/protocol/http/NegotiateAuthentication.java Changeset: 1109bfff4e92 Author: dholmes Date: 2013-01-13 19:57 -0500 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/1109bfff4e92 8005232: (JEP-149) Class Instance size reduction Summary: Moved the fields for cached reflection objects into a seperate ReflectionData object to reduce dynamic footprint. Reviewed-by: dholmes, mchung, shade Contributed-by: Peter Levart ! src/share/classes/java/lang/Class.java Changeset: 1d7a6adf499f Author: naoto Date: 2013-01-14 11:09 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/1d7a6adf499f 7162007: Clean up i18n related caches Reviewed-by: okutsu, ohair ! make/java/java/FILES_java.gmk ! src/share/classes/java/text/DateFormatSymbols.java ! src/share/classes/java/text/DecimalFormat.java ! src/share/classes/java/text/DecimalFormatSymbols.java ! src/share/classes/java/text/NumberFormat.java ! src/share/classes/java/util/Locale.java ! src/share/classes/java/util/TimeZone.java ! src/share/classes/sun/text/resources/zh/CollationData_zh_HK.java ! src/share/classes/sun/text/resources/zh/FormatData_zh_HK.java ! src/share/classes/sun/util/locale/provider/AuxLocaleProviderAdapter.java ! src/share/classes/sun/util/locale/provider/BreakIteratorProviderImpl.java ! src/share/classes/sun/util/locale/provider/CalendarDataProviderImpl.java ! src/share/classes/sun/util/locale/provider/CalendarNameProviderImpl.java ! src/share/classes/sun/util/locale/provider/CollatorProviderImpl.java ! src/share/classes/sun/util/locale/provider/CurrencyNameProviderImpl.java ! src/share/classes/sun/util/locale/provider/JRELocaleProviderAdapter.java ! src/share/classes/sun/util/locale/provider/LocaleNameProviderImpl.java ! src/share/classes/sun/util/locale/provider/LocaleProviderAdapter.java ! src/share/classes/sun/util/locale/provider/LocaleResources.java + src/share/classes/sun/util/locale/provider/ResourceBundleBasedAdapter.java ! src/share/classes/sun/util/locale/provider/TimeZoneNameProviderImpl.java ! src/share/classes/sun/util/locale/provider/TimeZoneNameUtility.java ! src/share/classes/sun/util/resources/LocaleData.java ! src/share/classes/sun/util/resources/zh/CurrencyNames_zh_HK.java ! src/share/classes/sun/util/resources/zh/CurrencyNames_zh_SG.java ! src/share/classes/sun/util/resources/zh/LocaleNames_zh_HK.java ! src/share/classes/sun/util/resources/zh/TimeZoneNames_zh_HK.java ! test/java/util/PluggableLocale/BreakIteratorProviderTest.java ! test/java/util/PluggableLocale/CollatorProviderTest.java ! test/java/util/PluggableLocale/CurrencyNameProviderTest.java ! test/java/util/PluggableLocale/DateFormatProviderTest.java ! test/java/util/PluggableLocale/DateFormatSymbolsProviderTest.java ! test/java/util/PluggableLocale/DecimalFormatSymbolsProviderTest.java ! test/java/util/PluggableLocale/LocaleNameProviderTest.java ! test/java/util/PluggableLocale/NumberFormatProviderTest.java ! test/java/util/PluggableLocale/TimeZoneNameProviderTest.java Changeset: dcb64d498d5b Author: ksrini Date: 2013-01-14 15:46 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/dcb64d498d5b 8005252: pack200 should support MethodParameters Reviewed-by: jrose ! src/share/classes/com/sun/java/util/jar/pack/Attribute.java ! src/share/classes/com/sun/java/util/jar/pack/BandStructure.java ! src/share/classes/com/sun/java/util/jar/pack/Constants.java ! src/share/classes/com/sun/java/util/jar/pack/PackageReader.java ! src/share/classes/com/sun/java/util/jar/pack/PackageWriter.java ! src/share/native/com/sun/java/util/jar/pack/bands.cpp ! src/share/native/com/sun/java/util/jar/pack/bands.h ! src/share/native/com/sun/java/util/jar/pack/constants.h ! src/share/native/com/sun/java/util/jar/pack/main.cpp ! src/share/native/com/sun/java/util/jar/pack/unpack.cpp ! test/ProblemList.txt ! test/tools/pack200/AttributeTests.java ! test/tools/pack200/pack200-verifier/src/xmlkit/ClassReader.java Changeset: edb7e34a0531 Author: xuelei Date: 2013-01-14 18:31 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/edb7e34a0531 8006265: Add test SSLEngineDeadlock.java to ProblemList Reviewed-by: weijun ! test/ProblemList.txt Changeset: a40052a54801 Author: uta Date: 2013-01-15 14:26 +0400 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/a40052a54801 8005250: Downgrade normative references to ${java.home}/lib folder from Java client code. Summary: Javadoc was changed in accordance with CCC-8005250 request. Reviewed-by: alanb, amenkov ! src/share/classes/java/awt/datatransfer/SystemFlavorMap.java ! src/share/classes/javax/imageio/spi/IIORegistry.java ! src/share/classes/javax/sound/midi/MidiSystem.java ! src/share/classes/javax/sound/sampled/AudioSystem.java ! src/share/classes/javax/swing/UIManager.java Changeset: 4b012af44f24 Author: chegar Date: 2013-01-15 11:44 +0000 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/4b012af44f24 8005406: HTTP server implementation should use Base64 API Reviewed-by: khazra, alanb, chegar Contributed-by: Mark Sheppard ! src/share/classes/com/sun/net/httpserver/BasicAuthenticator.java ! src/share/classes/sun/net/www/protocol/http/BasicAuthentication.java Changeset: 44d6cabc9a3f Author: robm Date: 2013-01-15 19:58 +0000 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/44d6cabc9a3f 8005618: TEST_BUG: java/lang/ProcessBuilder/Basic.java failing intermittently Reviewed-by: alanb, martin, dholmes ! test/java/lang/ProcessBuilder/Basic.java Changeset: 9d8ef6174cfd Author: dl Date: 2013-01-16 10:14 +0000 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/9d8ef6174cfd 8005926: Merge ThreadLocalRandom state into java.lang.Thread Reviewed-by: shade, chegar ! src/share/classes/java/lang/Thread.java ! src/share/classes/java/util/concurrent/ThreadLocalRandom.java Changeset: a546d8897e0d Author: dl Date: 2013-01-16 12:09 +0000 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/a546d8897e0d 8001666: Add lambda-compatible atomics and accumulators to the ActomicXXX classes Reviewed-by: dl, chegar, darcy, goetz Contributed-by: dl at cs.oswego.edu, chris.hegarty at oracle.com ! src/share/classes/java/util/concurrent/atomic/AtomicInteger.java ! src/share/classes/java/util/concurrent/atomic/AtomicIntegerArray.java ! src/share/classes/java/util/concurrent/atomic/AtomicIntegerFieldUpdater.java ! src/share/classes/java/util/concurrent/atomic/AtomicLong.java ! src/share/classes/java/util/concurrent/atomic/AtomicLongArray.java ! src/share/classes/java/util/concurrent/atomic/AtomicLongFieldUpdater.java ! src/share/classes/java/util/concurrent/atomic/AtomicReference.java ! src/share/classes/java/util/concurrent/atomic/AtomicReferenceArray.java ! src/share/classes/java/util/concurrent/atomic/AtomicReferenceFieldUpdater.java Changeset: c7d54f93d3e5 Author: juh Date: 2013-01-16 09:51 -0500 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/c7d54f93d3e5 8005389: Backout fix for JDK-6500133 Reviewed-by: mullan ! src/share/classes/sun/security/x509/URIName.java ! test/sun/security/x509/URIName/Parse.java Changeset: f7f77bdf248b Author: juh Date: 2013-01-16 13:35 -0500 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/f7f77bdf248b 8005939: sun/security/x509/{X509CRLImplX509CertImpl}/Verify.java fail in confusing way when some providers not present Reviewed-by: mullan, weijun ! test/sun/security/x509/X509CRLImpl/Verify.java ! test/sun/security/x509/X509CertImpl/Verify.java Changeset: 32a57e645e01 Author: katleman Date: 2013-01-03 12:44 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/32a57e645e01 Added tag jdk8-b71 for changeset 2a5af0f766d0 ! .hgtags Changeset: c9a914b11436 Author: katleman Date: 2013-01-10 09:55 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/c9a914b11436 Added tag jdk8-b72 for changeset 32a57e645e01 ! .hgtags Changeset: d54922883f4c Author: alexsch Date: 2013-01-09 16:52 +0400 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/d54922883f4c 8005019: JTable passes row index instead of length when inserts selection interval Reviewed-by: serb, denis ! src/share/classes/javax/swing/JTable.java + test/javax/swing/JTable/8005019/bug8005019.java Changeset: b2c425d7e5be Author: lana Date: 2013-01-10 15:49 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/b2c425d7e5be Merge Changeset: 733885f57e14 Author: lana Date: 2013-01-10 15:52 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/733885f57e14 Merge Changeset: 9fed48caac80 Author: lana Date: 2013-01-16 12:07 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/9fed48caac80 Merge Changeset: a888150794c9 Author: wmdietl Date: 2013-01-16 22:01 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/a888150794c9 Automated merge with http://hg.openjdk.java.net/jdk8/tl/jdk ! .hgtags ! src/share/classes/java/lang/Class.java From steve.sides at oracle.com Thu Jan 17 01:05:42 2013 From: steve.sides at oracle.com (Steve Sides) Date: Thu, 17 Jan 2013 01:05:42 -0800 Subject: webrev.03 for type-annotations test In-Reply-To: References: <50F5EC3B.4010303@oracle.com> Message-ID: <50F7BEE6.1010803@oracle.com> Thanks, Werner. While they run correctly as is, I noticed I left these tests a little "dirty". :) In the process of rearranging them I had added some imports that are not needed. When you have time, this removes those unneeded imports: http://cr.openjdk.java.net/~ssides/8005085/webrev.04/ Will you be pulling in the @Repeatable change? When that happens, these will need to be updated. thanks, steve On 1/16/2013 9:33 PM, Werner Dietl wrote: > Hi Steve, > > thanks for this revised test case! I've just pushed it: > > http://hg.openjdk.java.net/type-annotations/type-annotations/langtools/rev/b97997dddcf4 > > I pushed my current status, but still have a few outstanding issues. > I will write up concrete questions later today or tomorrow. > > Cheers, > cu, WMD. > > On Tue, Jan 15, 2013 at 3:54 PM, Steve Sides wrote: >> I've posted a 3rd revision for tests for (repeated)type-annotations on type >> usages. [1] >> I updated the webrevComment if you'd like further description of test and >> changes. [2] >> >> Revisions for 1/15/13: >> 1. Broke scenarios from 2 into 9 (more fine grained evaluation). >> 2. Moved tests which fail to CombinationsTargetTest2.java(so there are two >> test new test files). >> 3. Refactored the test helper to reduce duplicated code. >> 4. Added sample generated code for each test scenario. >> 5. Turned on verbose which shows how many annotations are on each element. >> >> [1] http://cr.openjdk.java.net/~ssides/8005085/webrev.03/ >> [2] http://cr.openjdk.java.net/~ssides/8005085/webrev.03/webrevComment.txt >> >> thx, >> >> steve >> > > From wdietl at gmail.com Thu Jan 17 02:16:07 2013 From: wdietl at gmail.com (Werner Dietl) Date: Thu, 17 Jan 2013 02:16:07 -0800 Subject: [non-308] Scoping problem with Resolve and javac 6 vs. 7 vs. Eclipse Message-ID: Since pulling in the latest jdk8/tl changesets, I'm having a build problem in Eclipse in javac.comp.Resolve line 760. The command-line build succeeds, which made me curious. I reduced the issue to the attached file. With a javac 1.6.0_24 compiler I get: ScopingBug.java:18: cannot find symbol symbol: method foo(java.lang.String,int) With javac 1.7.0_09 this compiles and runs. The test could be minimized some more to only illustrate the scoping problem; I expanded it to make it executable and the compiled program runs correctly. The Eclipse 3.7.2 compiler in 1.7 compliance level raises an "not applicable" error for the call of foo. Is this a known issue for javac 6 and Eclipse? Or is javac 7 wrong? The work-around is easy: don't do the ugly overloading. Could we apply such a workaround in Resolve to make my Eclipse-build happy? To make the example even more interesting, change line 15 to: Itf i = new Itf() { that is, instead of using the class Clazz use the interface Itf. I would have assumed that this doesn't make a difference. However, now javac 7 fails with the same error as Eclipse: ScopingBug.java:18: error: method foo in class cannot be applied to given types; foo(s, 5); ^ required: String found: String,int reason: actual and formal argument lists differ in length Is this behavior intended? Thanks, cu, WMD. -- http://www.google.com/profiles/wdietl -------------- next part -------------- A non-text attachment was scrubbed... Name: ScopingBug.java Type: application/octet-stream Size: 563 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/type-annotations-dev/attachments/20130117/c1155922/ScopingBug.java From wdietl at gmail.com Thu Jan 17 02:22:10 2013 From: wdietl at gmail.com (wdietl at gmail.com) Date: Thu, 17 Jan 2013 10:22:10 +0000 Subject: hg: type-annotations/type-annotations/langtools: More cleanups from Steve. Message-ID: <20130117102215.BDF764735B@hg.openjdk.java.net> Changeset: 0a3884f6d521 Author: wmdietl Date: 2013-01-17 02:21 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/langtools/rev/0a3884f6d521 More cleanups from Steve. See: http://cr.openjdk.java.net/~ssides/8005085/webrev.04/ ! test/tools/javac/annotations/typeAnnotations/classfile/CombinationsTargetTest1.java ! test/tools/javac/annotations/typeAnnotations/classfile/CombinationsTargetTest2.java From wdietl at gmail.com Thu Jan 17 02:23:40 2013 From: wdietl at gmail.com (Werner Dietl) Date: Thu, 17 Jan 2013 02:23:40 -0800 Subject: webrev.03 for type-annotations test In-Reply-To: <50F7BEE6.1010803@oracle.com> References: <50F5EC3B.4010303@oracle.com> <50F7BEE6.1010803@oracle.com> Message-ID: > While they run correctly as is, I noticed I left these tests a little > "dirty". :) > In the process of rearranging them I had added some imports that are not > needed. > > When you have time, this removes those unneeded imports: > http://cr.openjdk.java.net/~ssides/8005085/webrev.04/ No problem. I just pushed these changes. > Will you be pulling in the @Repeatable change? > When that happens, these will need to be updated. I did pull in jdk8/tl earlier today, which included @Repeatable, if I saw that correctly. cu, WMD. > On 1/16/2013 9:33 PM, Werner Dietl wrote: >> >> Hi Steve, >> >> thanks for this revised test case! I've just pushed it: >> >> >> http://hg.openjdk.java.net/type-annotations/type-annotations/langtools/rev/b97997dddcf4 >> >> I pushed my current status, but still have a few outstanding issues. >> I will write up concrete questions later today or tomorrow. >> >> Cheers, >> cu, WMD. >> >> On Tue, Jan 15, 2013 at 3:54 PM, Steve Sides >> wrote: >>> >>> I've posted a 3rd revision for tests for (repeated)type-annotations on >>> type >>> usages. [1] >>> I updated the webrevComment if you'd like further description of test and >>> changes. [2] >>> >>> Revisions for 1/15/13: >>> 1. Broke scenarios from 2 into 9 (more fine grained evaluation). >>> 2. Moved tests which fail to CombinationsTargetTest2.java(so there are >>> two >>> test new test files). >>> 3. Refactored the test helper to reduce duplicated code. >>> 4. Added sample generated code for each test scenario. >>> 5. Turned on verbose which shows how many annotations are on each >>> element. >>> >>> [1] http://cr.openjdk.java.net/~ssides/8005085/webrev.03/ >>> [2] >>> http://cr.openjdk.java.net/~ssides/8005085/webrev.03/webrevComment.txt >>> >>> thx, >>> >>> steve >>> >> >> > -- http://www.google.com/profiles/wdietl From maurizio.cimadamore at oracle.com Thu Jan 17 02:24:25 2013 From: maurizio.cimadamore at oracle.com (Maurizio Cimadamore) Date: Thu, 17 Jan 2013 10:24:25 +0000 Subject: [non-308] Scoping problem with Resolve and javac 6 vs. 7 vs. Eclipse In-Reply-To: References: Message-ID: <50F7D159.2010301@oracle.com> Hi Werner, this behavior is correct, method lookup begins by choosing the class in which to search the method. Such a class is the class defining at least a method with the same name as the one to be found, starting from the innermost class. If no match is found, the search continue in the next enclosing scope. Here you have that the class to search for 'foo' is the inner class, as the inner class has a member method named 'foo'. Unfortunately, the inner class' foo method is not the one you want to call. To solve the problem, note that you can always access the enclosing class version of the method by doing this: ScopingBug.this.foo(s, 5); I hope this helps. Maurizio On 17/01/13 10:16, Werner Dietl wrote: > Since pulling in the latest jdk8/tl changesets, I'm having a build > problem in Eclipse in javac.comp.Resolve line 760. > The command-line build succeeds, which made me curious. > > I reduced the issue to the attached file. > > With a javac 1.6.0_24 compiler I get: > > ScopingBug.java:18: cannot find symbol > symbol: method foo(java.lang.String,int) > > With javac 1.7.0_09 this compiles and runs. The test could be > minimized some more to only illustrate the scoping problem; I expanded > it to make it executable and the compiled program runs correctly. > > The Eclipse 3.7.2 compiler in 1.7 compliance level raises an "not > applicable" error for the call of foo. > > Is this a known issue for javac 6 and Eclipse? Or is javac 7 wrong? > > The work-around is easy: don't do the ugly overloading. Could we apply > such a workaround in Resolve to make my Eclipse-build happy? > > To make the example even more interesting, change line 15 to: > > Itf i = new Itf() { > > that is, instead of using the class Clazz use the interface Itf. > I would have assumed that this doesn't make a difference. However, now > javac 7 fails with the same error as Eclipse: > > ScopingBug.java:18: error: method foo in class cannot > be applied to given types; > foo(s, 5); > ^ > required: String > found: String,int > reason: actual and formal argument lists differ in length > > Is this behavior intended? > > Thanks, > cu, WMD. > From wdietl at gmail.com Thu Jan 17 02:36:12 2013 From: wdietl at gmail.com (Werner Dietl) Date: Thu, 17 Jan 2013 02:36:12 -0800 Subject: [non-308] Scoping problem with Resolve and javac 6 vs. 7 vs. Eclipse In-Reply-To: <50F7D159.2010301@oracle.com> References: <50F7D159.2010301@oracle.com> Message-ID: Thanks for the quick reply, Maurizio! On Thu, Jan 17, 2013 at 2:24 AM, Maurizio Cimadamore wrote: > Hi Werner, > this behavior is correct, method lookup begins by choosing the class in > which to search the method. Such a class is the class defining at least a > method with the same name as the one to be found, starting from the > innermost class. If no match is found, the search continue in the next > enclosing scope. Here you have that the class to search for 'foo' is the > inner class, as the inner class has a member method named 'foo'. > Unfortunately, the inner class' foo method is not the one you want to call. I'm not quite sure I understand your explanation. You are saying that the attached program should fail, right? However, compiling it with javac 1.7.0_09 works and executes correctly. Your explanation makes sense when the anonymous inner class instantiation is changed to "new Itf() {", where I get the same error message from Eclipse and javac 1.7.0. > To solve the problem, note that you can always access the enclosing class > version of the method by doing this: > > ScopingBug.this.foo(s, 5); Unfortunately, we cannot do this in Resolve line 760, because method "report" that is being called is from an anonymous inner class. Renaming the method would solve this. cu, WMD. > On 17/01/13 10:16, Werner Dietl wrote: >> >> Since pulling in the latest jdk8/tl changesets, I'm having a build >> problem in Eclipse in javac.comp.Resolve line 760. >> The command-line build succeeds, which made me curious. >> >> I reduced the issue to the attached file. >> >> With a javac 1.6.0_24 compiler I get: >> >> ScopingBug.java:18: cannot find symbol >> symbol: method foo(java.lang.String,int) >> >> With javac 1.7.0_09 this compiles and runs. The test could be >> minimized some more to only illustrate the scoping problem; I expanded >> it to make it executable and the compiled program runs correctly. >> >> The Eclipse 3.7.2 compiler in 1.7 compliance level raises an "not >> applicable" error for the call of foo. >> >> Is this a known issue for javac 6 and Eclipse? Or is javac 7 wrong? >> >> The work-around is easy: don't do the ugly overloading. Could we apply >> such a workaround in Resolve to make my Eclipse-build happy? >> >> To make the example even more interesting, change line 15 to: >> >> Itf i = new Itf() { >> >> that is, instead of using the class Clazz use the interface Itf. >> I would have assumed that this doesn't make a difference. However, now >> javac 7 fails with the same error as Eclipse: >> >> ScopingBug.java:18: error: method foo in class cannot >> be applied to given types; >> foo(s, 5); >> ^ >> required: String >> found: String,int >> reason: actual and formal argument lists differ in length >> >> Is this behavior intended? >> >> Thanks, >> cu, WMD. >> > -- http://www.google.com/profiles/wdietl From maurizio.cimadamore at oracle.com Thu Jan 17 02:44:24 2013 From: maurizio.cimadamore at oracle.com (Maurizio Cimadamore) Date: Thu, 17 Jan 2013 10:44:24 +0000 Subject: [non-308] Scoping problem with Resolve and javac 6 vs. 7 vs. Eclipse In-Reply-To: References: <50F7D159.2010301@oracle.com> Message-ID: <50F7D608.2060900@oracle.com> You are right about the fact that the original example erroneously pass in JDK 7 - this has been fixed in the JDK 8 repo. I.e. your code doesn't compile (regardless of Clazz/Itf) with JDK 8. Maurizio On 17/01/13 10:36, Werner Dietl wrote: > Thanks for the quick reply, Maurizio! > > On Thu, Jan 17, 2013 at 2:24 AM, Maurizio Cimadamore > wrote: >> Hi Werner, >> this behavior is correct, method lookup begins by choosing the class in >> which to search the method. Such a class is the class defining at least a >> method with the same name as the one to be found, starting from the >> innermost class. If no match is found, the search continue in the next >> enclosing scope. Here you have that the class to search for 'foo' is the >> inner class, as the inner class has a member method named 'foo'. >> Unfortunately, the inner class' foo method is not the one you want to call. > I'm not quite sure I understand your explanation. You are saying that > the attached program should fail, right? > However, compiling it with javac 1.7.0_09 works and executes correctly. > > Your explanation makes sense when the anonymous inner class > instantiation is changed to "new Itf() {", where I get the same error > message from Eclipse and javac 1.7.0. > > >> To solve the problem, note that you can always access the enclosing class >> version of the method by doing this: >> >> ScopingBug.this.foo(s, 5); > Unfortunately, we cannot do this in Resolve line 760, because method > "report" that is being called is from an anonymous inner class. > Renaming the method would solve this. > > cu, WMD. > > >> On 17/01/13 10:16, Werner Dietl wrote: >>> Since pulling in the latest jdk8/tl changesets, I'm having a build >>> problem in Eclipse in javac.comp.Resolve line 760. >>> The command-line build succeeds, which made me curious. >>> >>> I reduced the issue to the attached file. >>> >>> With a javac 1.6.0_24 compiler I get: >>> >>> ScopingBug.java:18: cannot find symbol >>> symbol: method foo(java.lang.String,int) >>> >>> With javac 1.7.0_09 this compiles and runs. The test could be >>> minimized some more to only illustrate the scoping problem; I expanded >>> it to make it executable and the compiled program runs correctly. >>> >>> The Eclipse 3.7.2 compiler in 1.7 compliance level raises an "not >>> applicable" error for the call of foo. >>> >>> Is this a known issue for javac 6 and Eclipse? Or is javac 7 wrong? >>> >>> The work-around is easy: don't do the ugly overloading. Could we apply >>> such a workaround in Resolve to make my Eclipse-build happy? >>> >>> To make the example even more interesting, change line 15 to: >>> >>> Itf i = new Itf() { >>> >>> that is, instead of using the class Clazz use the interface Itf. >>> I would have assumed that this doesn't make a difference. However, now >>> javac 7 fails with the same error as Eclipse: >>> >>> ScopingBug.java:18: error: method foo in class cannot >>> be applied to given types; >>> foo(s, 5); >>> ^ >>> required: String >>> found: String,int >>> reason: actual and formal argument lists differ in length >>> >>> Is this behavior intended? >>> >>> Thanks, >>> cu, WMD. >>> > > From wdietl at gmail.com Thu Jan 17 02:48:51 2013 From: wdietl at gmail.com (Werner Dietl) Date: Thu, 17 Jan 2013 02:48:51 -0800 Subject: [non-308] Scoping problem with Resolve and javac 6 vs. 7 vs. Eclipse In-Reply-To: <50F7D608.2060900@oracle.com> References: <50F7D159.2010301@oracle.com> <50F7D608.2060900@oracle.com> Message-ID: On Thu, Jan 17, 2013 at 2:44 AM, Maurizio Cimadamore wrote: > You are right about the fact that the original example erroneously pass in > JDK 7 - this has been fixed in the JDK 8 repo. I.e. your code doesn't > compile (regardless of Clazz/Itf) with JDK 8. OK. So that means that the JDK 8 Resolve wouldn't compile with JDK 8 :-) cu, WMD. > On 17/01/13 10:36, Werner Dietl wrote: >> >> Thanks for the quick reply, Maurizio! >> >> On Thu, Jan 17, 2013 at 2:24 AM, Maurizio Cimadamore >> wrote: >>> >>> Hi Werner, >>> this behavior is correct, method lookup begins by choosing the class in >>> which to search the method. Such a class is the class defining at least a >>> method with the same name as the one to be found, starting from the >>> innermost class. If no match is found, the search continue in the next >>> enclosing scope. Here you have that the class to search for 'foo' is the >>> inner class, as the inner class has a member method named 'foo'. >>> Unfortunately, the inner class' foo method is not the one you want to >>> call. >> >> I'm not quite sure I understand your explanation. You are saying that >> the attached program should fail, right? >> However, compiling it with javac 1.7.0_09 works and executes correctly. >> >> Your explanation makes sense when the anonymous inner class >> instantiation is changed to "new Itf() {", where I get the same error >> message from Eclipse and javac 1.7.0. >> >> >>> To solve the problem, note that you can always access the enclosing class >>> version of the method by doing this: >>> >>> ScopingBug.this.foo(s, 5); >> >> Unfortunately, we cannot do this in Resolve line 760, because method >> "report" that is being called is from an anonymous inner class. >> Renaming the method would solve this. >> >> cu, WMD. >> >> >>> On 17/01/13 10:16, Werner Dietl wrote: >>>> >>>> Since pulling in the latest jdk8/tl changesets, I'm having a build >>>> problem in Eclipse in javac.comp.Resolve line 760. >>>> The command-line build succeeds, which made me curious. >>>> >>>> I reduced the issue to the attached file. >>>> >>>> With a javac 1.6.0_24 compiler I get: >>>> >>>> ScopingBug.java:18: cannot find symbol >>>> symbol: method foo(java.lang.String,int) >>>> >>>> With javac 1.7.0_09 this compiles and runs. The test could be >>>> minimized some more to only illustrate the scoping problem; I expanded >>>> it to make it executable and the compiled program runs correctly. >>>> >>>> The Eclipse 3.7.2 compiler in 1.7 compliance level raises an "not >>>> applicable" error for the call of foo. >>>> >>>> Is this a known issue for javac 6 and Eclipse? Or is javac 7 wrong? >>>> >>>> The work-around is easy: don't do the ugly overloading. Could we apply >>>> such a workaround in Resolve to make my Eclipse-build happy? >>>> >>>> To make the example even more interesting, change line 15 to: >>>> >>>> Itf i = new Itf() { >>>> >>>> that is, instead of using the class Clazz use the interface Itf. >>>> I would have assumed that this doesn't make a difference. However, now >>>> javac 7 fails with the same error as Eclipse: >>>> >>>> ScopingBug.java:18: error: method foo in class cannot >>>> be applied to given types; >>>> foo(s, 5); >>>> ^ >>>> required: String >>>> found: String,int >>>> reason: actual and formal argument lists differ in length >>>> >>>> Is this behavior intended? >>>> >>>> Thanks, >>>> cu, WMD. >>>> >> >> > -- http://www.google.com/profiles/wdietl From maurizio.cimadamore at oracle.com Thu Jan 17 02:51:21 2013 From: maurizio.cimadamore at oracle.com (Maurizio Cimadamore) Date: Thu, 17 Jan 2013 10:51:21 +0000 Subject: [non-308] Scoping problem with Resolve and javac 6 vs. 7 vs. Eclipse In-Reply-To: References: <50F7D159.2010301@oracle.com> <50F7D608.2060900@oracle.com> Message-ID: <50F7D7A9.4080502@oracle.com> On 17/01/13 10:48, Werner Dietl wrote: > On Thu, Jan 17, 2013 at 2:44 AM, Maurizio Cimadamore > wrote: >> You are right about the fact that the original example erroneously pass in >> JDK 7 - this has been fixed in the JDK 8 repo. I.e. your code doesn't >> compile (regardless of Clazz/Itf) with JDK 8. > OK. So that means that the JDK 8 Resolve wouldn't compile with JDK 8 :-) I don't think so - since the build always use the latest compiler (built with a bootstrap javac) to build the compiler bits. Where is the code that you are say it shouldn't compile? Maurizio > cu, WMD. > > >> On 17/01/13 10:36, Werner Dietl wrote: >>> Thanks for the quick reply, Maurizio! >>> >>> On Thu, Jan 17, 2013 at 2:24 AM, Maurizio Cimadamore >>> wrote: >>>> Hi Werner, >>>> this behavior is correct, method lookup begins by choosing the class in >>>> which to search the method. Such a class is the class defining at least a >>>> method with the same name as the one to be found, starting from the >>>> innermost class. If no match is found, the search continue in the next >>>> enclosing scope. Here you have that the class to search for 'foo' is the >>>> inner class, as the inner class has a member method named 'foo'. >>>> Unfortunately, the inner class' foo method is not the one you want to >>>> call. >>> I'm not quite sure I understand your explanation. You are saying that >>> the attached program should fail, right? >>> However, compiling it with javac 1.7.0_09 works and executes correctly. >>> >>> Your explanation makes sense when the anonymous inner class >>> instantiation is changed to "new Itf() {", where I get the same error >>> message from Eclipse and javac 1.7.0. >>> >>> >>>> To solve the problem, note that you can always access the enclosing class >>>> version of the method by doing this: >>>> >>>> ScopingBug.this.foo(s, 5); >>> Unfortunately, we cannot do this in Resolve line 760, because method >>> "report" that is being called is from an anonymous inner class. >>> Renaming the method would solve this. >>> >>> cu, WMD. >>> >>> >>>> On 17/01/13 10:16, Werner Dietl wrote: >>>>> Since pulling in the latest jdk8/tl changesets, I'm having a build >>>>> problem in Eclipse in javac.comp.Resolve line 760. >>>>> The command-line build succeeds, which made me curious. >>>>> >>>>> I reduced the issue to the attached file. >>>>> >>>>> With a javac 1.6.0_24 compiler I get: >>>>> >>>>> ScopingBug.java:18: cannot find symbol >>>>> symbol: method foo(java.lang.String,int) >>>>> >>>>> With javac 1.7.0_09 this compiles and runs. The test could be >>>>> minimized some more to only illustrate the scoping problem; I expanded >>>>> it to make it executable and the compiled program runs correctly. >>>>> >>>>> The Eclipse 3.7.2 compiler in 1.7 compliance level raises an "not >>>>> applicable" error for the call of foo. >>>>> >>>>> Is this a known issue for javac 6 and Eclipse? Or is javac 7 wrong? >>>>> >>>>> The work-around is easy: don't do the ugly overloading. Could we apply >>>>> such a workaround in Resolve to make my Eclipse-build happy? >>>>> >>>>> To make the example even more interesting, change line 15 to: >>>>> >>>>> Itf i = new Itf() { >>>>> >>>>> that is, instead of using the class Clazz use the interface Itf. >>>>> I would have assumed that this doesn't make a difference. However, now >>>>> javac 7 fails with the same error as Eclipse: >>>>> >>>>> ScopingBug.java:18: error: method foo in class cannot >>>>> be applied to given types; >>>>> foo(s, 5); >>>>> ^ >>>>> required: String >>>>> found: String,int >>>>> reason: actual and formal argument lists differ in length >>>>> >>>>> Is this behavior intended? >>>>> >>>>> Thanks, >>>>> cu, WMD. >>>>> >>> > > From wdietl at gmail.com Thu Jan 17 02:57:41 2013 From: wdietl at gmail.com (Werner Dietl) Date: Thu, 17 Jan 2013 02:57:41 -0800 Subject: [non-308] Scoping problem with Resolve and javac 6 vs. 7 vs. Eclipse In-Reply-To: <50F7D7A9.4080502@oracle.com> References: <50F7D159.2010301@oracle.com> <50F7D608.2060900@oracle.com> <50F7D7A9.4080502@oracle.com> Message-ID: >>> You are right about the fact that the original example erroneously pass >>> in >>> JDK 7 - this has been fixed in the JDK 8 repo. I.e. your code doesn't >>> compile (regardless of Clazz/Itf) with JDK 8. >> >> OK. So that means that the JDK 8 Resolve wouldn't compile with JDK 8 :-) > > I don't think so - since the build always use the latest compiler (built > with a bootstrap javac) to build the compiler bits. Where is the code that > you are say it shouldn't compile? langtools/src/share/classes/com/sun/tools/javac/comp/Resolve.java line 761 in TL (line 760 in type-annotations). The call to "report" is of the same form as the ScopingBug example or not? The call is forbidden for me in Eclipse and it sounds like Eclipse's behavior is correct in this case. cu, WMD. >>> On 17/01/13 10:36, Werner Dietl wrote: >>>> >>>> Thanks for the quick reply, Maurizio! >>>> >>>> On Thu, Jan 17, 2013 at 2:24 AM, Maurizio Cimadamore >>>> wrote: >>>>> >>>>> Hi Werner, >>>>> this behavior is correct, method lookup begins by choosing the class in >>>>> which to search the method. Such a class is the class defining at least >>>>> a >>>>> method with the same name as the one to be found, starting from the >>>>> innermost class. If no match is found, the search continue in the next >>>>> enclosing scope. Here you have that the class to search for 'foo' is >>>>> the >>>>> inner class, as the inner class has a member method named 'foo'. >>>>> Unfortunately, the inner class' foo method is not the one you want to >>>>> call. >>>> >>>> I'm not quite sure I understand your explanation. You are saying that >>>> the attached program should fail, right? >>>> However, compiling it with javac 1.7.0_09 works and executes correctly. >>>> >>>> Your explanation makes sense when the anonymous inner class >>>> instantiation is changed to "new Itf() {", where I get the same error >>>> message from Eclipse and javac 1.7.0. >>>> >>>> >>>>> To solve the problem, note that you can always access the enclosing >>>>> class >>>>> version of the method by doing this: >>>>> >>>>> ScopingBug.this.foo(s, 5); >>>> >>>> Unfortunately, we cannot do this in Resolve line 760, because method >>>> "report" that is being called is from an anonymous inner class. >>>> Renaming the method would solve this. >>>> >>>> cu, WMD. >>>> >>>> >>>>> On 17/01/13 10:16, Werner Dietl wrote: >>>>>> >>>>>> Since pulling in the latest jdk8/tl changesets, I'm having a build >>>>>> problem in Eclipse in javac.comp.Resolve line 760. >>>>>> The command-line build succeeds, which made me curious. >>>>>> >>>>>> I reduced the issue to the attached file. >>>>>> >>>>>> With a javac 1.6.0_24 compiler I get: >>>>>> >>>>>> ScopingBug.java:18: cannot find symbol >>>>>> symbol: method foo(java.lang.String,int) >>>>>> >>>>>> With javac 1.7.0_09 this compiles and runs. The test could be >>>>>> minimized some more to only illustrate the scoping problem; I expanded >>>>>> it to make it executable and the compiled program runs correctly. >>>>>> >>>>>> The Eclipse 3.7.2 compiler in 1.7 compliance level raises an "not >>>>>> applicable" error for the call of foo. >>>>>> >>>>>> Is this a known issue for javac 6 and Eclipse? Or is javac 7 wrong? >>>>>> >>>>>> The work-around is easy: don't do the ugly overloading. Could we apply >>>>>> such a workaround in Resolve to make my Eclipse-build happy? >>>>>> >>>>>> To make the example even more interesting, change line 15 to: >>>>>> >>>>>> Itf i = new Itf() { >>>>>> >>>>>> that is, instead of using the class Clazz use the interface Itf. >>>>>> I would have assumed that this doesn't make a difference. However, now >>>>>> javac 7 fails with the same error as Eclipse: >>>>>> >>>>>> ScopingBug.java:18: error: method foo in class cannot >>>>>> be applied to given types; >>>>>> foo(s, 5); >>>>>> ^ >>>>>> required: String >>>>>> found: String,int >>>>>> reason: actual and formal argument lists differ in length >>>>>> >>>>>> Is this behavior intended? >>>>>> >>>>>> Thanks, >>>>>> cu, WMD. >>>>>> >>>> >> >> > -- http://www.google.com/profiles/wdietl From maurizio.cimadamore at oracle.com Thu Jan 17 03:10:04 2013 From: maurizio.cimadamore at oracle.com (Maurizio Cimadamore) Date: Thu, 17 Jan 2013 11:10:04 +0000 Subject: [non-308] Scoping problem with Resolve and javac 6 vs. 7 vs. Eclipse In-Reply-To: References: <50F7D159.2010301@oracle.com> <50F7D608.2060900@oracle.com> <50F7D7A9.4080502@oracle.com> Message-ID: <50F7DC0C.90803@oracle.com> On 17/01/13 10:57, Werner Dietl wrote: >>>> You are right about the fact that the original example erroneously pass >>>> in >>>> JDK 7 - this has been fixed in the JDK 8 repo. I.e. your code doesn't >>>> compile (regardless of Clazz/Itf) with JDK 8. >>> OK. So that means that the JDK 8 Resolve wouldn't compile with JDK 8 :-) >> I don't think so - since the build always use the latest compiler (built >> with a bootstrap javac) to build the compiler bits. Where is the code that >> you are say it shouldn't compile? > langtools/src/share/classes/com/sun/tools/javac/comp/Resolve.java line > 761 in TL (line 760 in type-annotations). > The call to "report" is of the same form as the ScopingBug example or not? > The call is forbidden for me in Eclipse and it sounds like Eclipse's > behavior is correct in this case. The problem seems to be caused by varargs - i.e. if the outer method is a varargs, javac will let the call compile - that's why Resolve works. This is a bug. Please go ahead and refactor the outer Resolve method. Revised example: interface Itf { void foo(String s); } class Clazz implements Itf { public void foo(String s) {} } class ScopingBug { Object o = new Object() { private void foo(String p, Object... o) { System.out.println("Called foo"); } public String toString() { Itf i = new Clazz() { @Override public void foo(String s) { foo(s, 5); } }; i.foo("xx"); return "yyy"; } }; } Maurizio > > cu, WMD. > > > >>>> On 17/01/13 10:36, Werner Dietl wrote: >>>>> Thanks for the quick reply, Maurizio! >>>>> >>>>> On Thu, Jan 17, 2013 at 2:24 AM, Maurizio Cimadamore >>>>> wrote: >>>>>> Hi Werner, >>>>>> this behavior is correct, method lookup begins by choosing the class in >>>>>> which to search the method. Such a class is the class defining at least >>>>>> a >>>>>> method with the same name as the one to be found, starting from the >>>>>> innermost class. If no match is found, the search continue in the next >>>>>> enclosing scope. Here you have that the class to search for 'foo' is >>>>>> the >>>>>> inner class, as the inner class has a member method named 'foo'. >>>>>> Unfortunately, the inner class' foo method is not the one you want to >>>>>> call. >>>>> I'm not quite sure I understand your explanation. You are saying that >>>>> the attached program should fail, right? >>>>> However, compiling it with javac 1.7.0_09 works and executes correctly. >>>>> >>>>> Your explanation makes sense when the anonymous inner class >>>>> instantiation is changed to "new Itf() {", where I get the same error >>>>> message from Eclipse and javac 1.7.0. >>>>> >>>>> >>>>>> To solve the problem, note that you can always access the enclosing >>>>>> class >>>>>> version of the method by doing this: >>>>>> >>>>>> ScopingBug.this.foo(s, 5); >>>>> Unfortunately, we cannot do this in Resolve line 760, because method >>>>> "report" that is being called is from an anonymous inner class. >>>>> Renaming the method would solve this. >>>>> >>>>> cu, WMD. >>>>> >>>>> >>>>>> On 17/01/13 10:16, Werner Dietl wrote: >>>>>>> Since pulling in the latest jdk8/tl changesets, I'm having a build >>>>>>> problem in Eclipse in javac.comp.Resolve line 760. >>>>>>> The command-line build succeeds, which made me curious. >>>>>>> >>>>>>> I reduced the issue to the attached file. >>>>>>> >>>>>>> With a javac 1.6.0_24 compiler I get: >>>>>>> >>>>>>> ScopingBug.java:18: cannot find symbol >>>>>>> symbol: method foo(java.lang.String,int) >>>>>>> >>>>>>> With javac 1.7.0_09 this compiles and runs. The test could be >>>>>>> minimized some more to only illustrate the scoping problem; I expanded >>>>>>> it to make it executable and the compiled program runs correctly. >>>>>>> >>>>>>> The Eclipse 3.7.2 compiler in 1.7 compliance level raises an "not >>>>>>> applicable" error for the call of foo. >>>>>>> >>>>>>> Is this a known issue for javac 6 and Eclipse? Or is javac 7 wrong? >>>>>>> >>>>>>> The work-around is easy: don't do the ugly overloading. Could we apply >>>>>>> such a workaround in Resolve to make my Eclipse-build happy? >>>>>>> >>>>>>> To make the example even more interesting, change line 15 to: >>>>>>> >>>>>>> Itf i = new Itf() { >>>>>>> >>>>>>> that is, instead of using the class Clazz use the interface Itf. >>>>>>> I would have assumed that this doesn't make a difference. However, now >>>>>>> javac 7 fails with the same error as Eclipse: >>>>>>> >>>>>>> ScopingBug.java:18: error: method foo in class cannot >>>>>>> be applied to given types; >>>>>>> foo(s, 5); >>>>>>> ^ >>>>>>> required: String >>>>>>> found: String,int >>>>>>> reason: actual and formal argument lists differ in length >>>>>>> >>>>>>> Is this behavior intended? >>>>>>> >>>>>>> Thanks, >>>>>>> cu, WMD. >>>>>>> >>> > > From joel.franck at oracle.com Thu Jan 17 08:23:54 2013 From: joel.franck at oracle.com (=?iso-8859-1?Q?Joel_Borggr=E9n-Franck?=) Date: Thu, 17 Jan 2013 17:23:54 +0100 Subject: Request for review: 8004698: Implement Core Reflection for Type Annotations Message-ID: <44120FFD-DAF6-4222-B184-AF5BA475D08E@oracle.com> Hi, Here is a webrev for core reflection support for type annotations: http://cr.openjdk.java.net/~jfranck/8004698/webrev.00/ This code is based on the tl/jdk repository, but in order to run the tests you need a javac with type annotations support and also a recent copy of the VM that includes this change set: http://hg.openjdk.java.net/hsx/hotspot-main/hotspot/rev/35431a769282 (This also means this code can't be pushed until all supporting pieces are in place.) Type annotations are still a bit of a moving target so there will be follow up work on this. There is no caching of annotations in this version and I am not sure how we want to do the space/time trade of for type annotations. cheers /Joel From steve.sides at oracle.com Thu Jan 17 10:08:49 2013 From: steve.sides at oracle.com (Steve Sides) Date: Thu, 17 Jan 2013 10:08:49 -0800 Subject: bug in attribution of annotations in anonymous classes In-Reply-To: <50F72C60.4040209@oracle.com> References: <50F72C60.4040209@oracle.com> Message-ID: <50F83E31.5090708@oracle.com> Hi Werner, Two things. First, that test case I attached looks a little suspicious. It may not be expected the correct counts. However, I do still see extra annotations on anonymous classes. I'll have to give that test a better look. Second, should type-annotations in lambda expressions be working? I do not see any written to the classfile. -steve On 1/16/2013 2:40 PM, Steve Sides wrote: > Hi Werner, > While writing tests, I looking at type-annotations on type usage in > anonymous classes and found what looks like a bug. > When compiling the code below, the field 'data' has 2 > RuntimeVisibleTypeAnnotations, while the field in the anonymous class, > 'data2', has3 RuntimeVisibleTypeAnnotations. > If there are 2 (such as @A @B data2) it has 6 (rather than 4). The > same is true for methods. Test cases are attached. > > Can you check this out? > > 8<- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - > > class testclass { > @C String data = "test"; > void mtest( testclass t){ } > public void test() { > mtest( new testclass() { > @D String data2 = "test"; > }); > } > } > > @Retention(RUNTIME) > @Target({TYPE_USE,FIELD}) > @interface C { } > > @Retention(RUNTIME) > @Target({TYPE_USE,FIELD}) > @interface D { > > 8<- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - > > thanks, > steve From wdietl at gmail.com Thu Jan 17 11:30:07 2013 From: wdietl at gmail.com (Werner Dietl) Date: Thu, 17 Jan 2013 11:30:07 -0800 Subject: bug in attribution of annotations in anonymous classes In-Reply-To: <50F83E31.5090708@oracle.com> References: <50F72C60.4040209@oracle.com> <50F83E31.5090708@oracle.com> Message-ID: Hi Steve, > First, that test case I attached looks a little suspicious. It may not be > expected the correct counts. > However, I do still see extra annotations on anonymous classes. > I'll have to give that test a better look. Sorry, I haven't gotten to look at anonymous classes yet. > Second, should type-annotations in lambda expressions be working? > I do not see any written to the classfile. I don't expect anything related to type annotations and lambda to currently work. I've added very basic support, but the EG is still discussing the final storage format. cu, WMD. > On 1/16/2013 2:40 PM, Steve Sides wrote: >> >> Hi Werner, >> While writing tests, I looking at type-annotations on type usage in >> anonymous classes and found what looks like a bug. >> When compiling the code below, the field 'data' has 2 >> RuntimeVisibleTypeAnnotations, while the field in the anonymous class, >> 'data2', has3 RuntimeVisibleTypeAnnotations. >> If there are 2 (such as @A @B data2) it has 6 (rather than 4). The same is >> true for methods. Test cases are attached. >> >> Can you check this out? >> >> 8<- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - >> >> class testclass { >> @C String data = "test"; >> void mtest( testclass t){ } >> public void test() { >> mtest( new testclass() { >> @D String data2 = "test"; >> }); >> } >> } >> >> @Retention(RUNTIME) >> @Target({TYPE_USE,FIELD}) >> @interface C { } >> >> @Retention(RUNTIME) >> @Target({TYPE_USE,FIELD}) >> @interface D { >> >> 8<- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - >> >> thanks, >> steve > > -- http://www.google.com/profiles/wdietl From steve.sides at oracle.com Thu Jan 17 11:42:31 2013 From: steve.sides at oracle.com (Steve Sides) Date: Thu, 17 Jan 2013 11:42:31 -0800 Subject: bug in attribution of annotations in anonymous classes In-Reply-To: References: <50F72C60.4040209@oracle.com> <50F83E31.5090708@oracle.com> Message-ID: <50F85427.50200@oracle.com> On 1/17/2013 11:30 AM, Werner Dietl wrote: > Hi Steve, > >> First, that test case I attached looks a little suspicious. It may not be >> expected the correct counts. >> However, I do still see extra annotations on anonymous classes. >> I'll have to give that test a better look. > Sorry, I haven't gotten to look at anonymous classes yet. Good. Gives me more time to fix that test. > > >> Second, should type-annotations in lambda expressions be working? >> I do not see any written to the classfile. > I don't expect anything related to type annotations and lambda to > currently work. I've added very basic support, but the EG is still > discussing the final storage format. Yep. Currently, I can put them there, and it all compiles, but they are otherwise ignored. thx, -steve > > cu, WMD. > > >> On 1/16/2013 2:40 PM, Steve Sides wrote: >>> Hi Werner, >>> While writing tests, I looking at type-annotations on type usage in >>> anonymous classes and found what looks like a bug. >>> When compiling the code below, the field 'data' has 2 >>> RuntimeVisibleTypeAnnotations, while the field in the anonymous class, >>> 'data2', has3 RuntimeVisibleTypeAnnotations. >>> If there are 2 (such as @A @B data2) it has 6 (rather than 4). The same is >>> true for methods. Test cases are attached. >>> >>> Can you check this out? >>> >>> 8<- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - >>> >>> class testclass { >>> @C String data = "test"; >>> void mtest( testclass t){ } >>> public void test() { >>> mtest( new testclass() { >>> @D String data2 = "test"; >>> }); >>> } >>> } >>> >>> @Retention(RUNTIME) >>> @Target({TYPE_USE,FIELD}) >>> @interface C { } >>> >>> @Retention(RUNTIME) >>> @Target({TYPE_USE,FIELD}) >>> @interface D { >>> >>> 8<- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - >>> >>> thanks, >>> steve >> > > From steve.sides at oracle.com Fri Jan 18 11:14:33 2013 From: steve.sides at oracle.com (Steve Sides) Date: Fri, 18 Jan 2013 11:14:33 -0800 Subject: @Repeatable changes Message-ID: <50F99F19.80405@oracle.com> Hi, We got the @Repeatable changes. Several tests are failing. Most seem to fail because they still use the old method. A typical error message: ----------direct:(3/257)---------- DuplicateTypeAnnotation.java:11:17: compiler.err.duplicate.annotation.missing.container: A, java.lang.annotation.Repeatable DuplicateTypeAnnotation.java:11:20: compiler.err.duplicate.annotation.missing.container: A, java.lang.annotation.Repeatable 2 errors However, there's also case which crash javac. If a repeatable annotations has TYPE_USE and FIELD as @Targets and it's put on a field, javac crashes with this assertion, java.lang.AssertionError: Can't annotate already annotated type: (@A :: java.lang.Integer); adding: @A sample and output below. -steve 8<- - - Test.java - - - - - - - - - - - - - - import java.lang.annotation.*; import static java.lang.annotation.RetentionPolicy.*; import static java.lang.annotation.ElementType.*; // (repeating) type annotations at class level. class Test { Test(){} @A Integer i1 = 0; // crash FIELD // type usage in method body @B @B String test() { return null;} // ok on METHOD } @Retention(CLASS) @Target({TYPE_USE,FIELD}) @Repeatable( AC.class ) @interface A { } @Retention(CLASS) @Target({TYPE_USE,FIELD}) @interface AC { A[] value(); } @Retention(CLASS) @Target({TYPE_USE,METHOD}) @Repeatable( BC.class ) @interface B { } @Retention(CLASS) @Target({TYPE_USE,METHOD}) @interface BC { B[] value(); } 8<- - - compiler output - - - - - - - - - - - - - - An exception has occurred in the compiler (1.8.0-ea). Please file a bug at the Java Developer Connection (http://java.sun.com/webapps/bugreport) after checking the Bug Parade for duplicates. Include your program and the following diagnostic in your report. Thank you. java.lang.AssertionError: Can't annotate already annotated type: (@A :: java.lang.Integer); adding: @A at com.sun.tools.javac.util.Assert.error(Assert.java:133) at com.sun.tools.javac.util.Assert.check(Assert.java:94) at com.sun.tools.javac.code.Type$AnnotatedType.(Type.java:1505) at com.sun.tools.javac.code.TypeAnnotations$TypeAnnotationPositions$1.visitAnnotatedType(TypeAnnotations.java:410) at com.sun.tools.javac.code.TypeAnnotations$TypeAnnotationPositions$1.visitAnnotatedType(TypeAnnotations.java:389) at com.sun.tools.javac.code.Type$AnnotatedType.accept(Type.java:1527) at com.sun.tools.javac.code.TypeAnnotations$TypeAnnotationPositions.typeWithAnnotations(TypeAnnotations.java:470) at com.sun.tools.javac.code.TypeAnnotations$TypeAnnotationPositions.typeWithAnnotations(TypeAnnotations.java:353) at com.sun.tools.javac.code.TypeAnnotations$TypeAnnotationPositions.separateAnnotationsKinds(TypeAnnotations.java:189) at com.sun.tools.javac.code.TypeAnnotations$TypeAnnotationPositions.visitVarDef(TypeAnnotations.java:917) at com.sun.tools.javac.tree.JCTree$JCVariableDecl.accept(JCTree.java:792) at com.sun.tools.javac.tree.TreeScanner.scan(TreeScanner.java:49) at com.sun.tools.javac.code.TypeAnnotations$TypeAnnotationPositions.scan(TypeAnnotations.java:135) at com.sun.tools.javac.tree.TreeScanner.scan(TreeScanner.java:57) at com.sun.tools.javac.code.TypeAnnotations$TypeAnnotationPositions.visitClassDef(TypeAnnotations.java:842) at com.sun.tools.javac.tree.JCTree$JCClassDecl.accept(JCTree.java:650) at com.sun.tools.javac.tree.TreeScanner.scan(TreeScanner.java:49) at com.sun.tools.javac.code.TypeAnnotations$TypeAnnotationPositions.scan(TypeAnnotations.java:135) at com.sun.tools.javac.code.TypeAnnotations.organizeTypeAnnotationsBodies(TypeAnnotations.java:102) at com.sun.tools.javac.comp.Attr.attribClassBody(Attr.java:4039) at com.sun.tools.javac.comp.Attr.attribClass(Attr.java:3918) at com.sun.tools.javac.comp.Attr.attribClass(Attr.java:3852) at com.sun.tools.javac.comp.Attr.attrib(Attr.java:3826) at com.sun.tools.javac.main.JavaCompiler.attribute(JavaCompiler.java:1254) at com.sun.tools.javac.main.JavaCompiler.compile2(JavaCompiler.java:907) at com.sun.tools.javac.main.JavaCompiler.compile(JavaCompiler.java:866) at com.sun.tools.javac.main.Main.compile(Main.java:506) at com.sun.tools.javac.main.Main.compile(Main.java:365) at com.sun.tools.javac.main.Main.compile(Main.java:354) at com.sun.tools.javac.main.Main.compile(Main.java:345) at com.sun.tools.javac.Main.compile(Main.java:76) at com.sun.tools.javac.Main.main(Main.java:61) From jonathan.gibbons at oracle.com Fri Jan 18 16:16:06 2013 From: jonathan.gibbons at oracle.com (Jonathan Gibbons) Date: Fri, 18 Jan 2013 16:16:06 -0800 Subject: test failures Message-ID: <50F9E5C6.2080407@oracle.com> Werner, I see there are a number of failures when I run the langtools jtreg tests in the type-annotations forest. What is the current state with regards to addressing these issues? -- Jon From wdietl at gmail.com Fri Jan 18 16:33:54 2013 From: wdietl at gmail.com (wdietl at gmail.com) Date: Sat, 19 Jan 2013 00:33:54 +0000 Subject: hg: type-annotations/type-annotations/jdk: 6 new changesets Message-ID: <20130119003534.7FD66473E6@hg.openjdk.java.net> Changeset: 787c7c1c210f Author: sherman Date: 2013-01-17 12:49 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/787c7c1c210f 8006090: Formatter asserts with -esa Summary: removed the offending assert Reviewed-by: alanb, darcy Contributed-by: brian.burkhalter at oracle.com ! src/share/classes/java/util/Formatter.java ! test/ProblemList.txt Changeset: e8414d69692c Author: khazra Date: 2013-01-17 14:50 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/e8414d69692c 7171415: java.net.URI.equals/hashCode not consistent for some URIs Summary: Rewrite URI.hashCode() to consider encoded characters, also reviewed by vitalyd at gmail.com, schlosna at gmail.com Reviewed-by: chegar ! src/share/classes/java/net/URI.java ! test/java/net/URI/Test.java Changeset: 79fed1733d4a Author: jgish Date: 2013-01-17 15:09 -0500 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/79fed1733d4a 8006534: CLONE - TestLibrary.getUnusedRandomPort() fails intermittently-doesn't retry enough times Summary: Increase number of retries to twice the number of ports in the reserved range Reviewed-by: mduigou ! test/java/rmi/testlibrary/TestLibrary.java Changeset: f88e963960ae Author: jzavgren Date: 2013-01-18 17:34 +0000 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/f88e963960ae 8005120: Compiler warnings in socket transport native code Reviewed-by: chegar, dsamersoff ! src/share/transport/socket/socketTransport.c ! src/share/transport/socket/sysSocket.h ! src/solaris/transport/socket/socket_md.c ! src/windows/transport/socket/socket_md.c Changeset: 06da87777d0e Author: alanb Date: 2013-01-18 18:48 +0000 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/06da87777d0e 6939260: (fs) BasicFileAttributes.lastModifiedTime() should return last modified time with higher precision Reviewed-by: chegar ! src/solaris/classes/sun/nio/fs/UnixFileAttributes.java ! src/solaris/native/sun/nio/fs/UnixNativeDispatcher.c ! test/java/nio/file/attribute/BasicFileAttributeView/Basic.java Changeset: 8e9aa4ac02fa Author: wmdietl Date: 2013-01-18 16:33 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/8e9aa4ac02fa Automated merge with http://hg.openjdk.java.net/jdk8/tl/jdk From wdietl at gmail.com Fri Jan 18 16:39:29 2013 From: wdietl at gmail.com (wdietl at gmail.com) Date: Sat, 19 Jan 2013 00:39:29 +0000 Subject: hg: type-annotations/type-annotations/langtools: 10 new changesets Message-ID: <20130119003957.F0128473E7@hg.openjdk.java.net> Changeset: d07506dc4a7d Author: wmdietl Date: 2013-01-17 12:33 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/langtools/rev/d07506dc4a7d Simple rename of a method to work around a scoping problem. Upstream will work on a nicer solution. ! src/share/classes/com/sun/tools/javac/comp/Resolve.java Changeset: 2d2b2be57c78 Author: mcimadamore Date: 2013-01-17 18:15 +0000 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/langtools/rev/2d2b2be57c78 8005852: Treatment of '_' as identifier Summary: warn when '_' is found in an identifier position Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/parser/JavacParser.java ! src/share/classes/com/sun/tools/javac/parser/Tokens.java ! src/share/classes/com/sun/tools/javac/resources/compiler.properties ! test/tools/javac/lambda/LambdaParserTest.java Changeset: 75c4577c38e4 Author: wmdietl Date: 2013-01-17 12:51 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/langtools/rev/75c4577c38e4 Automated merge with http://hg.openjdk.java.net/jdk8/tl/langtools ! src/share/classes/com/sun/tools/javac/parser/JavacParser.java ! src/share/classes/com/sun/tools/javac/resources/compiler.properties - test/tools/javac/typeAnnotations/newlocations/BasicTest.java - test/tools/javac/typeAnnotations/newlocations/BasicTest.out Changeset: 0d6d63a3f32e Author: wmdietl Date: 2013-01-18 13:07 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/langtools/rev/0d6d63a3f32e Change ContainedBy to Repeatable. ! test/tools/javac/annotations/typeAnnotations/failures/common/arrays/DuplicateTypeAnnotation.out ! test/tools/javac/annotations/typeAnnotations/failures/common/innertypeparams/DuplicateTypeAnnotation.out ! test/tools/javac/annotations/typeAnnotations/failures/common/newarray/DuplicateTypeAnnotation.out ! test/tools/javac/annotations/typeAnnotations/failures/common/parambounds/DuplicateTypeAnnotation.out ! test/tools/javac/annotations/typeAnnotations/failures/common/receiver/DuplicateTypeAnnotation.out ! test/tools/javac/annotations/typeAnnotations/failures/common/rest/DuplicateTypeAnnotation.out ! test/tools/javac/annotations/typeAnnotations/failures/common/typeArgs/DuplicateTypeAnnotation.out ! test/tools/javac/annotations/typeAnnotations/failures/common/typeparams/DuplicateTypeAnnotation.out ! test/tools/javac/annotations/typeAnnotations/failures/common/wildcards/DuplicateTypeAnnotation.out ! test/tools/javac/annotations/typeAnnotations/newlocations/RepeatingTypeAnnotations.java ! test/tools/javac/annotations/typeAnnotations/newlocations/RepeatingTypeAnnotations.out Changeset: b7593d260c12 Author: wmdietl Date: 2013-01-18 13:08 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/langtools/rev/b7593d260c12 Change ContainedBy to Repeatable. ! test/tools/javac/annotations/typeAnnotations/referenceinfos/Driver.java Changeset: 71adceaa8fa8 Author: wmdietl Date: 2013-01-18 13:10 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/langtools/rev/71adceaa8fa8 Fix problem with unsigned bytes and conversion to int. Improve formatting. ! src/share/classes/com/sun/tools/classfile/TypeAnnotation.java ! src/share/classes/com/sun/tools/javac/code/TargetType.java ! src/share/classes/com/sun/tools/javac/jvm/ClassReader.java Changeset: 4d6c707bfbaf Author: wmdietl Date: 2013-01-18 16:32 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/langtools/rev/4d6c707bfbaf Compute INNER_TYPE based on the logical nesting of the types, not on the syntactic nesting of the elements. This makes a difference for static classes and interfaces within other classes. Adapt test cases. ! src/share/classes/com/sun/tools/javac/code/TypeAnnotations.java ! test/tools/javac/annotations/typeAnnotations/referenceinfos/MethodReturns.java ! test/tools/javac/annotations/typeAnnotations/referenceinfos/MethodTypeParam.java ! test/tools/javac/annotations/typeAnnotations/referenceinfos/NestedTypes.java Changeset: 22e417cdddee Author: ohrstrom Date: 2013-01-18 00:16 +0100 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/langtools/rev/22e417cdddee 8004658: Add internal smart javac wrapper to solve JEP 139 Reviewed-by: jjg ! make/build.properties ! make/build.xml + src/share/classes/com/sun/tools/sjavac/BuildState.java + src/share/classes/com/sun/tools/sjavac/CleanProperties.java + src/share/classes/com/sun/tools/sjavac/CompileChunk.java + src/share/classes/com/sun/tools/sjavac/CompileJavaPackages.java + src/share/classes/com/sun/tools/sjavac/CompileProperties.java + src/share/classes/com/sun/tools/sjavac/CopyFile.java + src/share/classes/com/sun/tools/sjavac/JavacState.java + src/share/classes/com/sun/tools/sjavac/Log.java + src/share/classes/com/sun/tools/sjavac/Main.java + src/share/classes/com/sun/tools/sjavac/Module.java + src/share/classes/com/sun/tools/sjavac/Package.java + src/share/classes/com/sun/tools/sjavac/ProblemException.java + src/share/classes/com/sun/tools/sjavac/Source.java + src/share/classes/com/sun/tools/sjavac/Transformer.java + src/share/classes/com/sun/tools/sjavac/Util.java + src/share/classes/com/sun/tools/sjavac/comp/Dependencies.java + src/share/classes/com/sun/tools/sjavac/comp/JavaCompilerWithDeps.java + src/share/classes/com/sun/tools/sjavac/comp/PubapiVisitor.java + src/share/classes/com/sun/tools/sjavac/comp/ResolveWithDeps.java + src/share/classes/com/sun/tools/sjavac/comp/SmartFileManager.java + src/share/classes/com/sun/tools/sjavac/comp/SmartFileObject.java + src/share/classes/com/sun/tools/sjavac/comp/SmartWriter.java + src/share/classes/com/sun/tools/sjavac/server/CompilerPool.java + src/share/classes/com/sun/tools/sjavac/server/CompilerThread.java + src/share/classes/com/sun/tools/sjavac/server/JavacServer.java + src/share/classes/com/sun/tools/sjavac/server/PortFile.java + src/share/classes/com/sun/tools/sjavac/server/SysInfo.java + test/tools/sjavac/SJavac.java Changeset: 3d84ae209919 Author: mcimadamore Date: 2013-01-18 15:38 +0000 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/langtools/rev/3d84ae209919 8006561: Langtools test failure: missing diags/examples Summary: forgot to hg add tests Reviewed-by: jjg + test/tools/javac/diags/examples/UnderscoreAsIdentifier.java + test/tools/javac/lambda/WarnUnderscoreAsIdent.java + test/tools/javac/lambda/WarnUnderscoreAsIdent.out Changeset: 1f33c9175980 Author: wmdietl Date: 2013-01-18 16:33 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/langtools/rev/1f33c9175980 Automated merge with http://hg.openjdk.java.net/jdk8/tl/langtools ! make/build.properties ! make/build.xml - test/tools/javac/typeAnnotations/newlocations/BasicTest.java - test/tools/javac/typeAnnotations/newlocations/BasicTest.out From wdietl at gmail.com Fri Jan 18 17:22:05 2013 From: wdietl at gmail.com (wdietl at gmail.com) Date: Sat, 19 Jan 2013 01:22:05 +0000 Subject: hg: type-annotations/type-annotations/langtools: Renumber TargetTypes and rename METHOD_PARAMETER to METHOD_FORMAL_PARAMETER. Message-ID: <20130119012208.EC03E473E9@hg.openjdk.java.net> Changeset: 5e55ab26d239 Author: wmdietl Date: 2013-01-18 17:21 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/langtools/rev/5e55ab26d239 Renumber TargetTypes and rename METHOD_PARAMETER to METHOD_FORMAL_PARAMETER. ! src/share/classes/com/sun/tools/classfile/ClassWriter.java ! src/share/classes/com/sun/tools/classfile/TypeAnnotation.java ! src/share/classes/com/sun/tools/javac/code/TargetType.java ! src/share/classes/com/sun/tools/javac/code/TypeAnnotationPosition.java ! src/share/classes/com/sun/tools/javac/code/TypeAnnotations.java ! src/share/classes/com/sun/tools/javac/jvm/ClassReader.java ! src/share/classes/com/sun/tools/javac/jvm/ClassWriter.java ! src/share/classes/com/sun/tools/javap/AnnotationWriter.java ! test/tools/javac/annotations/typeAnnotations/referenceinfos/ClassTypeParam.java ! test/tools/javac/annotations/typeAnnotations/referenceinfos/Constructors.java ! test/tools/javac/annotations/typeAnnotations/referenceinfos/FromSpecification.java ! test/tools/javac/annotations/typeAnnotations/referenceinfos/MethodParameters.java ! test/tools/javac/annotations/typeAnnotations/referenceinfos/MethodTypeParam.java ! test/tools/javac/annotations/typeAnnotations/referenceinfos/NestedTypes.java ! test/tools/javac/annotations/typeAnnotations/referenceinfos/ReferenceInfoUtil.java ! test/tools/javac/annotations/typeAnnotations/referenceinfos/RepeatingTypeAnnotations.java From wdietl at gmail.com Fri Jan 18 17:28:20 2013 From: wdietl at gmail.com (Werner Dietl) Date: Fri, 18 Jan 2013 17:28:20 -0800 Subject: test failures In-Reply-To: <50F9E5C6.2080407@oracle.com> References: <50F9E5C6.2080407@oracle.com> Message-ID: Hi Jon, let me give you an update of what currently works and what I want to do over the next few days. Running all langtools jtreg tests, I currently only see a few problems. CombinationsTargetTest1.java and CombinationsTargetTest2.java fail on repeated annotations in method bodies. Joel said he will look at fixing those. ExceptionParameters.java fails for multicatch. I didn't find a way to connect the information I have at TA resolution to the exception table yet. Please let me know if you have suggestions. I don't understand the failure of tools/javac/processing/model/TestSymtabItems.java and the output is not very clear to me. Could you explain the failure? I see some failures com "FunctionalInterface", but they might be caused by me not having rebuilt the whole JDK recently enough. Javadoc doesn't work yet and therefore com/sun/javadoc/typeAnnotations/smoke/TestSmoke.java fails. Building up AnnotatedType will be needed for javadoc. It is also used by this test: tools/javac/annotations/typeAnnotations/failures/CantAnnotateStaticClass.java I only get 6 out of 8 expected errors. I am not sure why the last two don't show up. I tried integrating AnnotatedType more widely, but am running into problems. I think it would be best if somebody more familiar with XXXType and type resolution takes a closer look. I fixed a few inconsistencies in counting nested types and also performed the renumbering of TargeType constants. I think the bytecode corresponds to the specification, up to Lambda and Multicatch. The other good news is that I've updated the Checker Framework to work with the new bytecode format. All test cases but 2 work. The two failures are related to the new intersection types, which I haven't integrated yet. Overall, I think the current implementation is stable, usable, and fit for integration into TL. There are a few things open. I will focus on cleanups over the next few days and leave bigger changes for after M6 integration. Does this sound like the right approach? Please do let me know if there are specific issues you want me to have a look at before the push to TL. Cheers, cu, WMD. On Fri, Jan 18, 2013 at 4:16 PM, Jonathan Gibbons wrote: > Werner, > > I see there are a number of failures when I run the langtools jtreg tests in > the type-annotations forest. > > What is the current state with regards to addressing these issues? > > -- Jon -- http://www.google.com/profiles/wdietl From wdietl at gmail.com Fri Jan 18 17:30:13 2013 From: wdietl at gmail.com (Werner Dietl) Date: Fri, 18 Jan 2013 17:30:13 -0800 Subject: @Repeatable changes In-Reply-To: <50F99F19.80405@oracle.com> References: <50F99F19.80405@oracle.com> Message-ID: Hi Steve, > We got the @Repeatable changes. Several tests are failing. Most seem to > fail because they still use the old method. A typical error message: These should all be fixed by now. > However, there's also case which crash javac. If a repeatable annotations > has TYPE_USE and FIELD as @Targets and it's put on a field, javac crashes > with this assertion, > > java.lang.AssertionError: Can't annotate already annotated type: (@A :: > java.lang.Integer); adding: @A > > sample and output below. Thanks for this test! I will work on resolving it. cu, WMD. > 8<- - - Test.java - - - - - - - - - - - - - - > import java.lang.annotation.*; > import static java.lang.annotation.RetentionPolicy.*; > import static java.lang.annotation.ElementType.*; > > // (repeating) type annotations at class level. > class Test { > Test(){} > @A Integer i1 = 0; // crash FIELD > // type usage in method body > @B @B String test() { return null;} // ok on METHOD > } > > @Retention(CLASS) > @Target({TYPE_USE,FIELD}) > @Repeatable( AC.class ) > @interface A { } > > @Retention(CLASS) > @Target({TYPE_USE,FIELD}) > @interface AC { A[] value(); } > > @Retention(CLASS) > @Target({TYPE_USE,METHOD}) > @Repeatable( BC.class ) > @interface B { } > > @Retention(CLASS) > @Target({TYPE_USE,METHOD}) > @interface BC { B[] value(); } > > 8<- - - compiler output - - - - - - - - - - - - - - > > An exception has occurred in the compiler (1.8.0-ea). Please file a bug at > the Java Developer Connection (http://java.sun.com/webapps/bugreport) after > checking the Bug Parade for duplicates. Include your program and the > following diagnostic in your report. Thank you. > java.lang.AssertionError: Can't annotate already annotated type: (@A :: > java.lang.Integer); adding: @A > at com.sun.tools.javac.util.Assert.error(Assert.java:133) > at com.sun.tools.javac.util.Assert.check(Assert.java:94) > at > com.sun.tools.javac.code.Type$AnnotatedType.(Type.java:1505) > at > com.sun.tools.javac.code.TypeAnnotations$TypeAnnotationPositions$1.visitAnnotatedType(TypeAnnotations.java:410) > at > com.sun.tools.javac.code.TypeAnnotations$TypeAnnotationPositions$1.visitAnnotatedType(TypeAnnotations.java:389) > at > com.sun.tools.javac.code.Type$AnnotatedType.accept(Type.java:1527) > at > com.sun.tools.javac.code.TypeAnnotations$TypeAnnotationPositions.typeWithAnnotations(TypeAnnotations.java:470) > at > com.sun.tools.javac.code.TypeAnnotations$TypeAnnotationPositions.typeWithAnnotations(TypeAnnotations.java:353) > at > com.sun.tools.javac.code.TypeAnnotations$TypeAnnotationPositions.separateAnnotationsKinds(TypeAnnotations.java:189) > at > com.sun.tools.javac.code.TypeAnnotations$TypeAnnotationPositions.visitVarDef(TypeAnnotations.java:917) > at > com.sun.tools.javac.tree.JCTree$JCVariableDecl.accept(JCTree.java:792) > at com.sun.tools.javac.tree.TreeScanner.scan(TreeScanner.java:49) > at > com.sun.tools.javac.code.TypeAnnotations$TypeAnnotationPositions.scan(TypeAnnotations.java:135) > at com.sun.tools.javac.tree.TreeScanner.scan(TreeScanner.java:57) > at > com.sun.tools.javac.code.TypeAnnotations$TypeAnnotationPositions.visitClassDef(TypeAnnotations.java:842) > at > com.sun.tools.javac.tree.JCTree$JCClassDecl.accept(JCTree.java:650) > at com.sun.tools.javac.tree.TreeScanner.scan(TreeScanner.java:49) > at > com.sun.tools.javac.code.TypeAnnotations$TypeAnnotationPositions.scan(TypeAnnotations.java:135) > at > com.sun.tools.javac.code.TypeAnnotations.organizeTypeAnnotationsBodies(TypeAnnotations.java:102) > at com.sun.tools.javac.comp.Attr.attribClassBody(Attr.java:4039) > at com.sun.tools.javac.comp.Attr.attribClass(Attr.java:3918) > at com.sun.tools.javac.comp.Attr.attribClass(Attr.java:3852) > at com.sun.tools.javac.comp.Attr.attrib(Attr.java:3826) > at > com.sun.tools.javac.main.JavaCompiler.attribute(JavaCompiler.java:1254) > at > com.sun.tools.javac.main.JavaCompiler.compile2(JavaCompiler.java:907) > at > com.sun.tools.javac.main.JavaCompiler.compile(JavaCompiler.java:866) > at com.sun.tools.javac.main.Main.compile(Main.java:506) > at com.sun.tools.javac.main.Main.compile(Main.java:365) > at com.sun.tools.javac.main.Main.compile(Main.java:354) > at com.sun.tools.javac.main.Main.compile(Main.java:345) > at com.sun.tools.javac.Main.compile(Main.java:76) > at com.sun.tools.javac.Main.main(Main.java:61) > > -- http://www.google.com/profiles/wdietl From jonathan.gibbons at oracle.com Fri Jan 18 17:51:18 2013 From: jonathan.gibbons at oracle.com (Jonathan Gibbons) Date: Fri, 18 Jan 2013 17:51:18 -0800 Subject: test failures In-Reply-To: References: <50F9E5C6.2080407@oracle.com> Message-ID: <50F9FC16.4060302@oracle.com> On 01/18/2013 05:28 PM, Werner Dietl wrote: > Overall, I think the current implementation is stable, usable, and fit > for integration into TL. I'll go through your issues in more detail, but there is a general rule of no test failures when pushing a changeset. -- Jon From jonathan.gibbons at oracle.com Fri Jan 18 18:05:19 2013 From: jonathan.gibbons at oracle.com (Jonathan Gibbons) Date: Fri, 18 Jan 2013 18:05:19 -0800 Subject: test failures In-Reply-To: References: <50F9E5C6.2080407@oracle.com> Message-ID: <50F9FF5F.8000101@oracle.com> On 01/18/2013 05:28 PM, Werner Dietl wrote: > ExceptionParameters.java fails for multicatch. I didn't find a way to > connect the information I have at TA resolution to the exception table > yet. Please let me know if you have suggestions. Is this an indication that you're trying to compute type annotation positions too early? -- Jon From wdietl at gmail.com Fri Jan 18 18:33:48 2013 From: wdietl at gmail.com (Werner Dietl) Date: Fri, 18 Jan 2013 18:33:48 -0800 Subject: test failures In-Reply-To: <50F9FF5F.8000101@oracle.com> References: <50F9E5C6.2080407@oracle.com> <50F9FF5F.8000101@oracle.com> Message-ID: >> ExceptionParameters.java fails for multicatch. I didn't find a way to >> connect the information I have at TA resolution to the exception table >> yet. Please let me know if you have suggestions. > > Is this an indication that you're trying to compute type annotation > positions too early? I don't think so. In Code.fillExceptionParameterPositions() I only have the local variable for the exception. That local variable has all type annotations attached and the exception table contains type information to resolve. However, the attached type annotations don't currently store to which of the types of the multicatch they were attached to - that's exactly what we are trying to fill in. Earlier, in TypeAnnotations.resolveFrame, I have the attributed AST and go through each type annotation. However, I cannot store the type of the exception within the type annotation - type annotations only store indices. So I have one piece of the puzzle in TypeAnnotations and another in Code and I'm not sure how to connect the two. I can imagine adding a initial index to store the offset within the multicatch and then in Code using that to refine the exception table index. However, that would assume a certain ordering of the exception table. I'm not sure I'm explaining the problem well. Let me know if I should try again. cu, WMD. -- http://www.google.com/profiles/wdietl From jonathan.gibbons at oracle.com Fri Jan 18 20:35:42 2013 From: jonathan.gibbons at oracle.com (Jonathan Gibbons) Date: Fri, 18 Jan 2013 20:35:42 -0800 Subject: test failures In-Reply-To: References: <50F9E5C6.2080407@oracle.com> <50F9FF5F.8000101@oracle.com> Message-ID: <50FA229E.9080800@oracle.com> On 01/18/2013 06:33 PM, Werner Dietl wrote: > I don't think so. > In Code.fillExceptionParameterPositions() I only have the local > variable for the exception. That local variable has all type > annotations attached and the exception table contains type information > to resolve. > However, the attached type annotations don't currently store to which > of the types of the multicatch they were attached to - that's exactly > what we are trying to fill in. > > Earlier, in TypeAnnotations.resolveFrame, I have the attributed AST > and go through each type annotation. However, I cannot store the type > of the exception within the type annotation - type annotations only > store indices. The key here appears to be "earlier". I'll take a look at the t-a forest and see where you do the work to determine type anno positions, and where multi-catch is handled, then get back to you with additional feedback and suggestions. -- jon From wdietl at gmail.com Sun Jan 20 00:24:42 2013 From: wdietl at gmail.com (wdietl at gmail.com) Date: Sun, 20 Jan 2013 08:24:42 +0000 Subject: hg: type-annotations/type-annotations/langtools: Ensure that the field type is only processed once, when in "sigOnly" mode. Message-ID: <20130120082453.5BE7F47404@hg.openjdk.java.net> Changeset: da5a2f00191d Author: wmdietl Date: 2013-01-20 00:23 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/langtools/rev/da5a2f00191d Ensure that the field type is only processed once, when in "sigOnly" mode. ! src/share/classes/com/sun/tools/javac/code/TypeAnnotations.java + test/tools/javac/annotations/typeAnnotations/failures/TypeAndField.java From wdietl at gmail.com Sun Jan 20 00:32:06 2013 From: wdietl at gmail.com (Werner Dietl) Date: Sun, 20 Jan 2013 00:32:06 -0800 Subject: @Repeatable changes In-Reply-To: <50F99F19.80405@oracle.com> References: <50F99F19.80405@oracle.com> Message-ID: Hi Steve, I fixed this issue and added a simple test case: http://hg.openjdk.java.net/type-annotations/type-annotations/langtools/rev/da5a2f00191d Please do let me know which test cases fail in type-annotations and of any other issues you may find. Thanks, cu, WMD. On Fri, Jan 18, 2013 at 11:14 AM, Steve Sides wrote: > Hi, > We got the @Repeatable changes. Several tests are failing. Most seem to > fail because they still use the old method. A typical error message: > > ----------direct:(3/257)---------- > DuplicateTypeAnnotation.java:11:17: > compiler.err.duplicate.annotation.missing.container: A, > java.lang.annotation.Repeatable > DuplicateTypeAnnotation.java:11:20: > compiler.err.duplicate.annotation.missing.container: A, > java.lang.annotation.Repeatable > 2 errors > > However, there's also case which crash javac. If a repeatable annotations > has TYPE_USE and FIELD as @Targets and it's put on a field, javac crashes > with this assertion, > > java.lang.AssertionError: Can't annotate already annotated type: (@A :: > java.lang.Integer); adding: @A > > sample and output below. > > -steve > > 8<- - - Test.java - - - - - - - - - - - - - - > import java.lang.annotation.*; > import static java.lang.annotation.RetentionPolicy.*; > import static java.lang.annotation.ElementType.*; > > // (repeating) type annotations at class level. > class Test { > Test(){} > @A Integer i1 = 0; // crash FIELD > // type usage in method body > @B @B String test() { return null;} // ok on METHOD > } > > @Retention(CLASS) > @Target({TYPE_USE,FIELD}) > @Repeatable( AC.class ) > @interface A { } > > @Retention(CLASS) > @Target({TYPE_USE,FIELD}) > @interface AC { A[] value(); } > > @Retention(CLASS) > @Target({TYPE_USE,METHOD}) > @Repeatable( BC.class ) > @interface B { } > > @Retention(CLASS) > @Target({TYPE_USE,METHOD}) > @interface BC { B[] value(); } > > 8<- - - compiler output - - - - - - - - - - - - - - > > An exception has occurred in the compiler (1.8.0-ea). Please file a bug at > the Java Developer Connection (http://java.sun.com/webapps/bugreport) after > checking the Bug Parade for duplicates. Include your program and the > following diagnostic in your report. Thank you. > java.lang.AssertionError: Can't annotate already annotated type: (@A :: > java.lang.Integer); adding: @A > at com.sun.tools.javac.util.Assert.error(Assert.java:133) > at com.sun.tools.javac.util.Assert.check(Assert.java:94) > at > com.sun.tools.javac.code.Type$AnnotatedType.(Type.java:1505) > at > com.sun.tools.javac.code.TypeAnnotations$TypeAnnotationPositions$1.visitAnnotatedType(TypeAnnotations.java:410) > at > com.sun.tools.javac.code.TypeAnnotations$TypeAnnotationPositions$1.visitAnnotatedType(TypeAnnotations.java:389) > at > com.sun.tools.javac.code.Type$AnnotatedType.accept(Type.java:1527) > at > com.sun.tools.javac.code.TypeAnnotations$TypeAnnotationPositions.typeWithAnnotations(TypeAnnotations.java:470) > at > com.sun.tools.javac.code.TypeAnnotations$TypeAnnotationPositions.typeWithAnnotations(TypeAnnotations.java:353) > at > com.sun.tools.javac.code.TypeAnnotations$TypeAnnotationPositions.separateAnnotationsKinds(TypeAnnotations.java:189) > at > com.sun.tools.javac.code.TypeAnnotations$TypeAnnotationPositions.visitVarDef(TypeAnnotations.java:917) > at > com.sun.tools.javac.tree.JCTree$JCVariableDecl.accept(JCTree.java:792) > at com.sun.tools.javac.tree.TreeScanner.scan(TreeScanner.java:49) > at > com.sun.tools.javac.code.TypeAnnotations$TypeAnnotationPositions.scan(TypeAnnotations.java:135) > at com.sun.tools.javac.tree.TreeScanner.scan(TreeScanner.java:57) > at > com.sun.tools.javac.code.TypeAnnotations$TypeAnnotationPositions.visitClassDef(TypeAnnotations.java:842) > at > com.sun.tools.javac.tree.JCTree$JCClassDecl.accept(JCTree.java:650) > at com.sun.tools.javac.tree.TreeScanner.scan(TreeScanner.java:49) > at > com.sun.tools.javac.code.TypeAnnotations$TypeAnnotationPositions.scan(TypeAnnotations.java:135) > at > com.sun.tools.javac.code.TypeAnnotations.organizeTypeAnnotationsBodies(TypeAnnotations.java:102) > at com.sun.tools.javac.comp.Attr.attribClassBody(Attr.java:4039) > at com.sun.tools.javac.comp.Attr.attribClass(Attr.java:3918) > at com.sun.tools.javac.comp.Attr.attribClass(Attr.java:3852) > at com.sun.tools.javac.comp.Attr.attrib(Attr.java:3826) > at > com.sun.tools.javac.main.JavaCompiler.attribute(JavaCompiler.java:1254) > at > com.sun.tools.javac.main.JavaCompiler.compile2(JavaCompiler.java:907) > at > com.sun.tools.javac.main.JavaCompiler.compile(JavaCompiler.java:866) > at com.sun.tools.javac.main.Main.compile(Main.java:506) > at com.sun.tools.javac.main.Main.compile(Main.java:365) > at com.sun.tools.javac.main.Main.compile(Main.java:354) > at com.sun.tools.javac.main.Main.compile(Main.java:345) > at com.sun.tools.javac.Main.compile(Main.java:76) > at com.sun.tools.javac.Main.main(Main.java:61) > > -- http://www.google.com/profiles/wdietl From wdietl at gmail.com Mon Jan 21 00:44:40 2013 From: wdietl at gmail.com (wdietl at gmail.com) Date: Mon, 21 Jan 2013 08:44:40 +0000 Subject: hg: type-annotations/type-annotations/langtools: 8 new changesets Message-ID: <20130121084505.54D7D47418@hg.openjdk.java.net> Changeset: fdc5fff3dd42 Author: wmdietl Date: 2013-01-20 16:05 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/langtools/rev/fdc5fff3dd42 Remove out-of-date comment in the parser and add tests to ensure that old/C-style annotations on arrays (after the identifier/parameter list) work. ! src/share/classes/com/sun/tools/javac/parser/JavacParser.java ! test/tools/javac/annotations/typeAnnotations/newlocations/Fields.java ! test/tools/javac/annotations/typeAnnotations/newlocations/MethodReturnType.java ! test/tools/javac/annotations/typeAnnotations/referenceinfos/Fields.java ! test/tools/javac/annotations/typeAnnotations/referenceinfos/MethodReturns.java Changeset: f78527dd4957 Author: wmdietl Date: 2013-01-20 16:19 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/langtools/rev/f78527dd4957 Remove more out-of-date comments. ! src/share/classes/com/sun/tools/javac/parser/JavacParser.java Changeset: bac6b23f066f Author: wmdietl Date: 2013-01-20 17:37 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/langtools/rev/bac6b23f066f Clean up description of insertAnnotationsToMostInner. ! src/share/classes/com/sun/tools/javac/parser/JavacParser.java Changeset: 32b44464cfa3 Author: wmdietl Date: 2013-01-20 17:52 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/langtools/rev/32b44464cfa3 Ignore AnnotatedType in subtype test. Remove previous way of achieving this, largely reducing the number of differences. ! src/share/classes/com/sun/tools/javac/code/Types.java Changeset: 7866ff1acedc Author: wmdietl Date: 2013-01-20 21:32 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/langtools/rev/7866ff1acedc The types in the subtype test can be both null. Compare for equality once before to cover this strange case. ! src/share/classes/com/sun/tools/javac/code/Types.java Changeset: 70c86f557dcf Author: wmdietl Date: 2013-01-20 21:37 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/langtools/rev/70c86f557dcf Move common code to TreeInfo. Remove dead code. ! src/share/classes/com/sun/tools/javac/comp/Check.java ! src/share/classes/com/sun/tools/javac/parser/JavacParser.java ! src/share/classes/com/sun/tools/javac/tree/TreeInfo.java Changeset: f319d26cae27 Author: wmdietl Date: 2013-01-20 21:41 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/langtools/rev/f319d26cae27 Use Assert.checkNonNull instead of throwing an AssertionError. ! src/share/classes/com/sun/tools/javac/comp/Check.java Changeset: 87f5bd47ed52 Author: wmdietl Date: 2013-01-20 22:31 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/langtools/rev/87f5bd47ed52 Annotations on class literals are no longer allowed, remove dead code that handled them. ! src/share/classes/com/sun/tools/javac/jvm/Gen.java From jonathan.gibbons at oracle.com Mon Jan 21 08:29:18 2013 From: jonathan.gibbons at oracle.com (Jonathan Gibbons) Date: Mon, 21 Jan 2013 08:29:18 -0800 Subject: test failures In-Reply-To: References: <50F9E5C6.2080407@oracle.com> Message-ID: <50FD6CDE.6060604@oracle.com> On 01/18/2013 05:28 PM, Werner Dietl wrote: > I tried integrating AnnotatedType more widely, but am running into > problems. I think it would be best if somebody more familiar with > XXXType and type resolution takes a closer look. Werner, Joel and I had a discussion on this, earlier this morning. We believe that we can get away without using the delegation model of AnnotatedType, and can instead use the anonymous subtype model used by javac.code.Type.constType(). In other words, the proposal is to put a method called annotatedType(??) on Type, where ?? stands for the annotations to be added. This will return a new Type such that Type.getAnnotations will return the appropriate list. The default impl of Type.getAnnotations will return an empty list. This approach should integrate better into the existing type system, as no new TypeKinds are added -- we just use anonymous subtypes of existing types to override default "return empty list" impls. Joel has said he will try and have a patch for this by the end of today (his time). We agreed he would be a good person to work on this because he also understands the requirements of the javax.lang.model API and can take that into account here. The only (minor) complexity with this approach is that the same technique of anonymous subtypes is also used for constant values. But, our sense is that the complexity is manageable, and less than I initially feared, since most types do not support constant values anyway. -- Jon From wdietl at gmail.com Mon Jan 21 10:17:50 2013 From: wdietl at gmail.com (Werner Dietl) Date: Mon, 21 Jan 2013 10:17:50 -0800 Subject: test failures In-Reply-To: <50FD6CDE.6060604@oracle.com> References: <50F9E5C6.2080407@oracle.com> <50FD6CDE.6060604@oracle.com> Message-ID: Jon, Joel, thanks for looking into this alternative! I'm curious how this will look. Let me know how I can help. cu, WMD. On Mon, Jan 21, 2013 at 8:29 AM, Jonathan Gibbons wrote: > On 01/18/2013 05:28 PM, Werner Dietl wrote: >> >> I tried integrating AnnotatedType more widely, but am running into >> problems. I think it would be best if somebody more familiar with >> XXXType and type resolution takes a closer look. > > > Werner, > > Joel and I had a discussion on this, earlier this morning. > > We believe that we can get away without using the delegation model > of AnnotatedType, and can instead use the anonymous subtype model > used by javac.code.Type.constType(). In other words, the proposal > is to put a method called annotatedType(??) on Type, where ?? stands > for the annotations to be added. This will return a new Type such that > Type.getAnnotations will return the appropriate list. The default impl > of Type.getAnnotations will return an empty list. > > This approach should integrate better into the existing type system, > as no new TypeKinds are added -- we just use anonymous subtypes > of existing types to override default "return empty list" impls. > > Joel has said he will try and have a patch for this by the end of today > (his time). We agreed he would be a good person to work on this > because he also understands the requirements of the javax.lang.model > API and can take that into account here. > > The only (minor) complexity with this approach is that the same technique > of anonymous subtypes is also used for constant values. But, our sense > is that the complexity is manageable, and less than I initially feared, > since > most types do not support constant values anyway. > > -- Jon -- http://www.google.com/profiles/wdietl From jonathan.gibbons at oracle.com Mon Jan 21 10:25:07 2013 From: jonathan.gibbons at oracle.com (Jonathan Gibbons) Date: Mon, 21 Jan 2013 10:25:07 -0800 Subject: test failures In-Reply-To: References: <50F9E5C6.2080407@oracle.com> <50FD6CDE.6060604@oracle.com> Message-ID: <50FD8803.4020701@oracle.com> Werner, Once the webrev comes in from Joel, I'm hoping we can both jump on it and put it through its paces. My hope is that if we can pull this off, we won't disturb the underlying javac Type model. -- Jon On 01/21/2013 10:17 AM, Werner Dietl wrote: > Jon, Joel, > > thanks for looking into this alternative! > I'm curious how this will look. Let me know how I can help. > > cu, WMD. > > On Mon, Jan 21, 2013 at 8:29 AM, Jonathan Gibbons > wrote: >> On 01/18/2013 05:28 PM, Werner Dietl wrote: >>> I tried integrating AnnotatedType more widely, but am running into >>> problems. I think it would be best if somebody more familiar with >>> XXXType and type resolution takes a closer look. >> >> Werner, >> >> Joel and I had a discussion on this, earlier this morning. >> >> We believe that we can get away without using the delegation model >> of AnnotatedType, and can instead use the anonymous subtype model >> used by javac.code.Type.constType(). In other words, the proposal >> is to put a method called annotatedType(??) on Type, where ?? stands >> for the annotations to be added. This will return a new Type such that >> Type.getAnnotations will return the appropriate list. The default impl >> of Type.getAnnotations will return an empty list. >> >> This approach should integrate better into the existing type system, >> as no new TypeKinds are added -- we just use anonymous subtypes >> of existing types to override default "return empty list" impls. >> >> Joel has said he will try and have a patch for this by the end of today >> (his time). We agreed he would be a good person to work on this >> because he also understands the requirements of the javax.lang.model >> API and can take that into account here. >> >> The only (minor) complexity with this approach is that the same technique >> of anonymous subtypes is also used for constant values. But, our sense >> is that the complexity is manageable, and less than I initially feared, >> since >> most types do not support constant values anyway. >> >> -- Jon > > From wdietl at gmail.com Mon Jan 21 15:15:24 2013 From: wdietl at gmail.com (wdietl at gmail.com) Date: Mon, 21 Jan 2013 23:15:24 +0000 Subject: hg: type-annotations/type-annotations: 29 new changesets Message-ID: <20130121231526.63A0D4743C@hg.openjdk.java.net> Changeset: 4090847a5444 Author: katleman Date: 2013-01-16 11:59 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/rev/4090847a5444 Added tag jdk8-b73 for changeset 93b9664f97ee ! .hgtags Changeset: 77f062a41850 Author: erikj Date: 2012-12-27 20:15 +0100 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/rev/77f062a41850 8001942: build-infra: General permission problems on Windows/cygwin Summary: Added sanity check for file permissions in configure Reviewed-by: tbell, ohair ! common/autoconf/basics.m4 ! common/autoconf/generated-configure.sh Changeset: d2c1f80118de Author: erikj Date: 2012-12-27 20:18 +0100 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/rev/d2c1f80118de 8005540: build-infra: Improve incremental build speed on windows by caching find results Reviewed-by: ohair ! common/makefiles/IdlCompilation.gmk ! common/makefiles/JavaCompilation.gmk ! common/makefiles/MakeBase.gmk ! common/makefiles/NativeCompilation.gmk Changeset: d5f3a6f60d51 Author: erikj Date: 2012-12-27 20:55 +0100 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/rev/d5f3a6f60d51 8005548: build-infra: Fix docs target on windows Summary: Fix path sep variable Reviewed-by: tbell ! common/makefiles/javadoc/Javadoc.gmk Changeset: ef6adbf511cc Author: erikj Date: 2012-12-28 09:51 +0100 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/rev/ef6adbf511cc 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile Reviewed-by: ohair, tbell ! NewMakefile.gmk ! common/autoconf/Makefile.in ! common/autoconf/generated-configure.sh + common/makefiles/Jprt.gmk ! common/makefiles/Main.gmk ! common/makefiles/MakeHelpers.gmk ! common/makefiles/Makefile Changeset: 2d9bb72b4e34 Author: erikj Date: 2012-12-30 12:15 +0100 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/rev/2d9bb72b4e34 8004490: build-infra: mac: hotspot is always built in product, regardless of --with-debug-level setting Reviewed-by: tbell ! common/autoconf/generated-configure.sh ! common/autoconf/jdk-options.m4 Changeset: abc8078e070b Author: erikj Date: 2013-01-01 14:13 +0100 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/rev/abc8078e070b 8001895: build-infra: Make JDK_BUILD_NUMBER and MILESTONE customizable Summary: Added configure params Reviewed-by: ohair ! common/autoconf/generated-configure.sh ! common/autoconf/jdk-options.m4 ! common/autoconf/spec.gmk.in ! common/autoconf/version.numbers Changeset: 14d7ebe42c8d Author: erikj Date: 2013-01-02 11:29 +0100 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/rev/14d7ebe42c8d 8005347: build-infra: Verify 'gnumake source' at the top level works ok Reviewed-by: tbell, ohair, dholmes ! common/autoconf/basics.m4 - common/autoconf/closed.version.numbers ! common/autoconf/generated-configure.sh ! common/autoconf/jdk-options.m4 ! common/autoconf/spec.gmk.in = common/autoconf/version-numbers < common/autoconf/version.numbers Changeset: 348a881c6da0 Author: erikj Date: 2013-01-02 15:36 +0100 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/rev/348a881c6da0 8005355: build-infra: Java security signing (need a top-level make target). Reviewed-by: tbell, ohair ! common/autoconf/spec.gmk.in ! common/makefiles/Main.gmk Changeset: befbad2e4d87 Author: erikj Date: 2013-01-03 20:54 +0100 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/rev/befbad2e4d87 8005635: build-infra: Support building install in jprt Reviewed-by: ohair Contributed-by: tim.bell at oracle.com, erik.joelsson at oracle.com ! common/autoconf/generated-configure.sh ! common/autoconf/spec.gmk.in ! common/bin/compare.sh ! common/bin/compare_exceptions.sh.incl ! common/makefiles/Jprt.gmk ! common/src/fixpath.c Changeset: 39194e004ade Author: erikj Date: 2013-01-04 11:31 +0100 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/rev/39194e004ade 8005575: build-infra: Three JCK tests fails on Solaris with new RE Autoconf-Based build Reviewed-by: ohair ! common/autoconf/compare.sh.in ! common/bin/compare.sh Changeset: 9263657c2756 Author: erikj Date: 2013-01-04 16:56 +0100 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/rev/9263657c2756 8005692: build-infra: Target "all" should do the right thing Reviewed-by: tbell ! common/makefiles/Main.gmk Changeset: c874a8a27933 Author: erikj Date: 2013-01-04 17:05 +0100 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/rev/c874a8a27933 8005597: build-infra: bridgeBuild broken for pure openjdk build Reviewed-by: tbell ! common/makefiles/Jprt.gmk Changeset: 7b9c42f14281 Author: erikj Date: 2013-01-04 17:08 +0100 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/rev/7b9c42f14281 8005654: build-infra: Create sec-bin.zip Reviewed-by: tbell ! common/bin/compare.sh ! common/makefiles/JavaCompilation.gmk Changeset: 2597feac57c0 Author: erikj Date: 2013-01-04 22:43 +0100 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/rev/2597feac57c0 8005723: build-infra: in new infra build, sec-windows-bin-zip and jgss-windows-*-bin.zip are missing Reviewed-by: tbell ! common/bin/compare.sh ! common/bin/compare_exceptions.sh.incl Changeset: 5cf7750c8c43 Author: ohair Date: 2013-01-04 21:04 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/rev/5cf7750c8c43 8004229: build-infra: Umbrella for switch of default "make" to new makefiles Reviewed-by: erikj, tbell ! Makefile ! make/jprt.properties Changeset: 7a3c6ffdf1fb Author: tbell Date: 2013-01-07 14:01 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/rev/7a3c6ffdf1fb 8005442: autogen.sh sets DATE_WHEN_GENERATED to empty string on Solaris version 11 or later Reviewed-by: ohair ! common/autoconf/autogen.sh Changeset: 64a9ebad39fe Author: katleman Date: 2013-01-08 13:14 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/rev/64a9ebad39fe Merge - common/autoconf/closed.version.numbers - common/autoconf/version.numbers Changeset: b284980b7d9a Author: tbell Date: 2013-01-08 16:23 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/rev/b284980b7d9a 8005794: in new infra, how do we change java -version? Summary: Added configure parameter --with-user-release-suffix Reviewed-by: ohair, tbell ! common/autoconf/generated-configure.sh ! common/autoconf/jdk-options.m4 Changeset: db3984e4eb97 Author: erikj Date: 2013-01-10 12:20 +0100 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/rev/db3984e4eb97 8005858: build-infra: Add missed comparison of sec-windows-bin.zip and friends to compare.sh Reviewed-by: tbell, ohair ! common/bin/compare.sh Changeset: 6f8f7a5449f6 Author: erikj Date: 2013-01-11 10:46 +0100 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/rev/6f8f7a5449f6 8005850: build-infra: Make --enable-openjdk-only really disable custom Reviewed-by: ohair, dholmes ! common/autoconf/configure.ac ! common/autoconf/generated-configure.sh ! common/autoconf/jdk-options.m4 Changeset: b66c81dfa291 Author: ohair Date: 2013-01-14 16:38 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/rev/b66c81dfa291 8005284: build-infra: nonstandard copyright headers under common/autoconf/build-aux Reviewed-by: katleman ! common/autoconf/build-aux/autoconf-config.guess ! common/autoconf/build-aux/config.sub ! common/autoconf/build-aux/pkg.m4 Changeset: 3540aa40c868 Author: erikj Date: 2013-01-14 13:09 +0100 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/rev/3540aa40c868 8006074: build-infra: Configure fails to find SetEnv.Cmd in microsoft sdk Reviewed-by: tbell, ohair ! common/autoconf/basics_windows.m4 ! common/autoconf/generated-configure.sh Changeset: 6e822b534678 Author: erikj Date: 2013-01-14 15:30 +0100 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/rev/6e822b534678 8006100: build-infra: Bundle up the correct images in jprt Reviewed-by: tbell ! NewMakefile.gmk ! common/makefiles/Jprt.gmk Changeset: 52cce3326649 Author: erikj Date: 2013-01-15 09:50 +0100 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/rev/52cce3326649 Merge Changeset: fe1c94aca5a8 Author: katleman Date: 2013-01-15 10:06 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/rev/fe1c94aca5a8 Merge - common/autoconf/closed.version.numbers - common/autoconf/version.numbers Changeset: dc84b505b408 Author: katleman Date: 2013-01-16 22:16 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/rev/dc84b505b408 Merge - common/autoconf/closed.version.numbers - common/autoconf/version.numbers ! common/bin/compare_exceptions.sh.incl Changeset: 2e12a508d7ae Author: lana Date: 2013-01-20 23:35 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/rev/2e12a508d7ae Merge - common/autoconf/closed.version.numbers - common/autoconf/version.numbers ! common/makefiles/javadoc/Javadoc.gmk Changeset: ea53be935603 Author: wmdietl Date: 2013-01-21 15:15 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/rev/ea53be935603 Automated merge with http://hg.openjdk.java.net/jdk8/tl/ ! .hgtags From wdietl at gmail.com Mon Jan 21 15:15:16 2013 From: wdietl at gmail.com (wdietl at gmail.com) Date: Mon, 21 Jan 2013 23:15:16 +0000 Subject: hg: type-annotations/type-annotations/langtools: 10 new changesets Message-ID: <20130121231548.577234743D@hg.openjdk.java.net> Changeset: 4a3cfc970c6f Author: jjg Date: 2013-01-21 10:00 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/langtools/rev/4a3cfc970c6f 8006263: Supplementary test cases needed for doclint Reviewed-by: mcimadamore Contributed-by: peter.jensen at oracle.com ! src/share/classes/com/sun/tools/doclint/Checker.java ! src/share/classes/com/sun/tools/doclint/DocLint.java ! src/share/classes/com/sun/tools/doclint/Entity.java ! src/share/classes/com/sun/tools/doclint/HtmlTag.java + test/tools/doclint/CoverageExtras.java ! test/tools/doclint/DocLintTester.java + test/tools/doclint/html/EntitiesTest.java + test/tools/doclint/html/EntitiesTest.out + test/tools/doclint/tool/HelpTest.java + test/tools/doclint/tool/HelpTest.out + test/tools/doclint/tool/MaxDiagsTest.java + test/tools/doclint/tool/MaxDiagsTest.out + test/tools/doclint/tool/PathsTest.java + test/tools/doclint/tool/RunTest.java + test/tools/doclint/tool/StatsTest.java + test/tools/doclint/tool/StatsTest.out Changeset: 967052c425a1 Author: jjg Date: 2013-01-21 10:07 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/langtools/rev/967052c425a1 8006251: doclint: incorrect position for diagnostic for illegal text in tags Reviewed-by: mcimadamore ! src/share/classes/com/sun/tools/doclint/Checker.java ! src/share/classes/com/sun/tools/doclint/HtmlTag.java ! src/share/classes/com/sun/tools/doclint/resources/doclint.properties ! test/tools/doclint/HtmlTagsTest.java ! test/tools/doclint/HtmlTagsTest.out + test/tools/doclint/html/BlockTagsTest.java + test/tools/doclint/html/InlineTagsTest.java + test/tools/doclint/html/ListTagsTest.java + test/tools/doclint/html/OtherTagsTest.java + test/tools/doclint/html/OtherTagsTest.out + test/tools/doclint/html/TableTagsTest.java + test/tools/doclint/html/TagNotAllowed.java + test/tools/doclint/html/TagNotAllowed.out + test/tools/doclint/html/TextNotAllowed.java + test/tools/doclint/html/TextNotAllowed.out ! test/tools/doclint/tidy/ParaInPre.out ! test/tools/doclint/tidy/TextNotAllowed.out Changeset: 56c97aff46bb Author: katleman Date: 2013-01-16 12:00 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/langtools/rev/56c97aff46bb Added tag jdk8-b73 for changeset 8d0baee36c71 ! .hgtags Changeset: b450959b42ff Author: lana Date: 2013-01-20 23:39 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/langtools/rev/b450959b42ff Merge Changeset: 1985e35e97b2 Author: lana Date: 2013-01-21 11:16 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/langtools/rev/1985e35e97b2 Merge Changeset: 7873d37f5b37 Author: mcimadamore Date: 2013-01-21 20:13 +0000 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/langtools/rev/7873d37f5b37 8005244: Implement overload resolution as per latest spec EDR Summary: Add support for stuck expressions and provisional applicability Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/code/Source.java ! src/share/classes/com/sun/tools/javac/code/Types.java ! src/share/classes/com/sun/tools/javac/comp/Attr.java ! src/share/classes/com/sun/tools/javac/comp/Check.java ! src/share/classes/com/sun/tools/javac/comp/DeferredAttr.java ! src/share/classes/com/sun/tools/javac/comp/Infer.java ! src/share/classes/com/sun/tools/javac/comp/LambdaToMethod.java ! src/share/classes/com/sun/tools/javac/comp/Resolve.java ! src/share/classes/com/sun/tools/javac/comp/TransTypes.java ! src/share/classes/com/sun/tools/javac/tree/JCTree.java ! src/share/classes/com/sun/tools/javac/tree/Pretty.java ! src/share/classes/com/sun/tools/javac/tree/TreeInfo.java ! test/tools/javac/Diagnostics/6722234/T6722234d_1.out ! test/tools/javac/Diagnostics/6722234/T6722234d_2.out ! test/tools/javac/diags/examples.not-yet.txt ! test/tools/javac/diags/examples/CyclicInference.java - test/tools/javac/diags/examples/InferredDoNotConformToLower.java - test/tools/javac/diags/examples/NoUniqueMaximalInstance.java ! test/tools/javac/diags/examples/WhereIntersection.java ! test/tools/javac/generics/diamond/T6939780.out ! test/tools/javac/generics/diamond/neg/Neg05.out ! test/tools/javac/generics/diamond/neg/Neg10.java ! test/tools/javac/generics/diamond/neg/Neg10.out ! test/tools/javac/generics/inference/6315770/T6315770.out ! test/tools/javac/generics/inference/6638712/T6638712b.out ! test/tools/javac/generics/inference/6650759/T6650759m.out ! test/tools/javac/lambda/MethodReference25.java + test/tools/javac/lambda/MethodReference25.out ! test/tools/javac/lambda/MethodReference26.java - test/tools/javac/lambda/MethodReference26.out ! test/tools/javac/lambda/MethodReference43.java ! test/tools/javac/lambda/TargetType01.java + test/tools/javac/lambda/TargetType01.out ! test/tools/javac/lambda/TargetType06.java - test/tools/javac/lambda/TargetType06.out ! test/tools/javac/lambda/TargetType10.out ! test/tools/javac/lambda/TargetType11.java - test/tools/javac/lambda/TargetType11.out ! test/tools/javac/lambda/TargetType14.out ! test/tools/javac/lambda/TargetType21.java ! test/tools/javac/lambda/TargetType21.out ! test/tools/javac/lambda/TargetType26.out ! test/tools/javac/lambda/TargetType27.out ! test/tools/javac/lambda/TargetType28.out ! test/tools/javac/lambda/TargetType39.out ! test/tools/javac/lambda/TargetType45.java - test/tools/javac/lambda/TargetType45.out ! test/tools/javac/lambda/TargetType50.out + test/tools/javac/lambda/TargetType51.java + test/tools/javac/lambda/TargetType52.java + test/tools/javac/lambda/TargetType52.out ! test/tools/javac/lambda/VoidCompatibility.java - test/tools/javac/lambda/VoidCompatibility.out ! test/tools/javac/lambda/lambdaExpression/SamConversionComboTest.java ! test/tools/javac/lambda/methodReference/SamConversion.java ! test/tools/javac/lambda/methodReference/SamConversionComboTest.java ! test/tools/javac/lambda/typeInference/InferenceTest_neg5.out ! test/tools/javac/resolve/tests/PrimitiveOverReferenceVarargsAmbiguous.java Changeset: c7c41a044e7c Author: mcimadamore Date: 2013-01-21 20:14 +0000 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/langtools/rev/c7c41a044e7c 8006566: Remove transient lambda-related guards from JavacParser Summary: Remove transitional internal flag for allowing intersection types in cast Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/parser/JavacParser.java ! test/tools/javac/cast/intersection/IntersectionTypeCastTest.java ! test/tools/javac/cast/intersection/IntersectionTypeParserTest.java ! test/tools/javac/cast/intersection/model/Model01.java ! test/tools/javac/diags/examples/SecondaryBoundMustBeMarkerIntf.java ! test/tools/javac/lambda/Intersection01.java ! test/tools/javac/lambda/intersection/IntersectionTargetTypeTest.java Changeset: b12ffdfa1341 Author: mcimadamore Date: 2013-01-21 20:15 +0000 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/langtools/rev/b12ffdfa1341 8005851: Remove support for synchronized interface methods Summary: Synchronized default methods are no longer supported Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/code/Flags.java ! test/tools/javac/defaultMethods/syntax/TestDefaultMethodsSyntax.java ! test/tools/javac/lambdaShapes/org/openjdk/tests/vm/DefaultMethodsTest.java Changeset: cf84b07a82db Author: mcimadamore Date: 2013-01-21 20:19 +0000 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/langtools/rev/cf84b07a82db 8005166: Add support for static interface methods Summary: Support public static interface methods Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/code/Flags.java ! src/share/classes/com/sun/tools/javac/code/Source.java ! src/share/classes/com/sun/tools/javac/code/Symbol.java ! src/share/classes/com/sun/tools/javac/comp/Attr.java ! src/share/classes/com/sun/tools/javac/comp/Check.java ! src/share/classes/com/sun/tools/javac/parser/JavacParser.java ! src/share/classes/com/sun/tools/javac/resources/compiler.properties + test/tools/javac/defaultMethods/static/Static01.java + test/tools/javac/defaultMethods/static/Static02.java + test/tools/javac/defaultMethods/static/Static02.out + test/tools/javac/defaultMethods/static/hiding/InterfaceMethodHidingTest.java + test/tools/javac/defaultMethods/static/import/StaticImport1.java + test/tools/javac/defaultMethods/static/import/StaticImport2.java + test/tools/javac/defaultMethods/static/import/StaticImport2.out + test/tools/javac/defaultMethods/static/import/StaticImport3.java + test/tools/javac/defaultMethods/static/import/StaticImport3.out + test/tools/javac/defaultMethods/static/import/pkg/A.java + test/tools/javac/defaultMethods/static/import/pkg/B.java + test/tools/javac/defaultMethods/static/import/pkg/C.java ! test/tools/javac/defaultMethods/syntax/TestDefaultMethodsSyntax.java + test/tools/javac/diags/examples/IllegalStaticIntfMethCall.java + test/tools/javac/diags/examples/StaticIntfMethodNotSupported.java Changeset: df68bcd07ae6 Author: wmdietl Date: 2013-01-21 15:13 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/langtools/rev/df68bcd07ae6 Automated merge with http://hg.openjdk.java.net/jdk8/tl/langtools ! .hgtags ! src/share/classes/com/sun/tools/javac/code/Flags.java ! src/share/classes/com/sun/tools/javac/code/Source.java ! src/share/classes/com/sun/tools/javac/code/Symbol.java ! src/share/classes/com/sun/tools/javac/code/Types.java ! src/share/classes/com/sun/tools/javac/comp/Attr.java ! src/share/classes/com/sun/tools/javac/comp/Check.java ! src/share/classes/com/sun/tools/javac/comp/Infer.java ! src/share/classes/com/sun/tools/javac/comp/Resolve.java ! src/share/classes/com/sun/tools/javac/comp/TransTypes.java ! src/share/classes/com/sun/tools/javac/parser/JavacParser.java ! src/share/classes/com/sun/tools/javac/resources/compiler.properties ! src/share/classes/com/sun/tools/javac/tree/JCTree.java ! src/share/classes/com/sun/tools/javac/tree/Pretty.java ! src/share/classes/com/sun/tools/javac/tree/TreeInfo.java ! test/tools/javac/diags/examples.not-yet.txt - test/tools/javac/typeAnnotations/newlocations/BasicTest.java - test/tools/javac/typeAnnotations/newlocations/BasicTest.out From wdietl at gmail.com Mon Jan 21 15:15:55 2013 From: wdietl at gmail.com (wdietl at gmail.com) Date: Mon, 21 Jan 2013 23:15:55 +0000 Subject: hg: type-annotations/type-annotations/hotspot: 3 new changesets Message-ID: <20130121231606.C57594743E@hg.openjdk.java.net> Changeset: 41ccb2e737fb Author: katleman Date: 2013-01-16 11:59 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/41ccb2e737fb Added tag jdk8-b73 for changeset 11619f33cd68 ! .hgtags Changeset: 1a3e54283c54 Author: katleman Date: 2013-01-16 20:53 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/1a3e54283c54 Merge ! .hgtags Changeset: 0a9921f57521 Author: wmdietl Date: 2013-01-21 15:15 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/0a9921f57521 Automated merge with http://hg.openjdk.java.net/jdk8/tl/hotspot ! .hgtags From wdietl at gmail.com Mon Jan 21 15:19:53 2013 From: wdietl at gmail.com (wdietl at gmail.com) Date: Mon, 21 Jan 2013 23:19:53 +0000 Subject: hg: type-annotations/type-annotations/corba: 2 new changesets Message-ID: <20130121231957.B26C44743F@hg.openjdk.java.net> Changeset: 2132845cf5f7 Author: katleman Date: 2013-01-16 11:59 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/corba/rev/2132845cf5f7 Added tag jdk8-b73 for changeset 191afde59e7b ! .hgtags Changeset: b9a3440c9d4c Author: wmdietl Date: 2013-01-21 15:19 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/corba/rev/b9a3440c9d4c Automated merge with http://hg.openjdk.java.net/jdk8/tl/corba ! .hgtags From wdietl at gmail.com Mon Jan 21 15:20:18 2013 From: wdietl at gmail.com (wdietl at gmail.com) Date: Mon, 21 Jan 2013 23:20:18 +0000 Subject: hg: type-annotations/type-annotations/jaxws: 6 new changesets Message-ID: <20130121232037.6D9FF47440@hg.openjdk.java.net> Changeset: 68f508979ffe Author: katleman Date: 2013-01-16 11:59 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jaxws/rev/68f508979ffe Added tag jdk8-b73 for changeset c606f644a5d9 ! .hgtags Changeset: 51f3117e2b75 Author: erikj Date: 2013-01-04 11:31 +0100 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jaxws/rev/51f3117e2b75 8005575: build-infra: Three JCK tests fails on Solaris with new RE Autoconf-Based build Reviewed-by: ohair ! makefiles/BuildJaxws.gmk Changeset: dd7473082690 Author: katleman Date: 2013-01-08 13:14 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jaxws/rev/dd7473082690 Merge Changeset: b8fd32e44c26 Author: katleman Date: 2013-01-15 10:07 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jaxws/rev/b8fd32e44c26 Merge Changeset: 12db3c5a3393 Author: katleman Date: 2013-01-16 22:17 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jaxws/rev/12db3c5a3393 Merge Changeset: a7bb1cf46133 Author: wmdietl Date: 2013-01-21 15:20 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jaxws/rev/a7bb1cf46133 Automated merge with http://hg.openjdk.java.net/jdk8/tl/jaxws ! .hgtags From wdietl at gmail.com Mon Jan 21 15:20:59 2013 From: wdietl at gmail.com (wdietl at gmail.com) Date: Mon, 21 Jan 2013 23:20:59 +0000 Subject: hg: type-annotations/type-annotations/jaxp: 7 new changesets Message-ID: <20130121232135.838F347441@hg.openjdk.java.net> Changeset: cf0917c0d771 Author: katleman Date: 2013-01-16 11:59 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jaxp/rev/cf0917c0d771 Added tag jdk8-b73 for changeset 84946404d1e1 ! .hgtags Changeset: 278a2f60c55b Author: erikj Date: 2013-01-04 11:31 +0100 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jaxp/rev/278a2f60c55b 8005575: build-infra: Three JCK tests fails on Solaris with new RE Autoconf-Based build Reviewed-by: ohair ! makefiles/BuildJaxp.gmk Changeset: 2e4d87e6662e Author: katleman Date: 2013-01-08 13:14 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jaxp/rev/2e4d87e6662e Merge Changeset: a317d3e1bbac Author: katleman Date: 2013-01-15 10:07 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jaxp/rev/a317d3e1bbac Merge Changeset: 2087e24a4357 Author: katleman Date: 2013-01-16 22:17 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jaxp/rev/2087e24a4357 Merge Changeset: 4e049aa2495f Author: lana Date: 2013-01-20 23:37 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jaxp/rev/4e049aa2495f Merge Changeset: b99961d77907 Author: wmdietl Date: 2013-01-21 15:20 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jaxp/rev/b99961d77907 Automated merge with http://hg.openjdk.java.net/jdk8/tl/jaxp ! .hgtags From wdietl at gmail.com Mon Jan 21 15:17:59 2013 From: wdietl at gmail.com (wdietl at gmail.com) Date: Mon, 21 Jan 2013 23:17:59 +0000 Subject: hg: type-annotations/type-annotations/jdk: 29 new changesets Message-ID: <20130121232521.1CB5947442@hg.openjdk.java.net> Changeset: 33d0175ea8d9 Author: msheppar Date: 2013-01-19 08:39 +0000 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/33d0175ea8d9 8006568: HTTP protocol handler NLTM Authentication should use Base64 API Reviewed-by: chegar, alanb ! src/solaris/classes/sun/net/www/protocol/http/ntlm/NTLMAuthentication.java ! src/windows/classes/sun/net/www/protocol/http/ntlm/NTLMAuthSequence.java ! test/sun/net/www/protocol/http/ProxyTunnelServer.java Changeset: 78514544980d Author: lancea Date: 2013-01-19 10:11 -0500 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/78514544980d 8006139: add missing methods to javax.sql.rowset.serial.SQLInputImpl, SQLOutputImpl Reviewed-by: naoto, ulfzibis, alanb ! src/share/classes/javax/sql/rowset/serial/SQLInputImpl.java ! src/share/classes/javax/sql/rowset/serial/SQLOutputImpl.java Changeset: d3da0d29d7cd Author: lancea Date: 2013-01-19 10:53 -0500 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/d3da0d29d7cd 8005080: JDBC 4.2 Core changes Reviewed-by: naoto ! src/share/classes/java/sql/BatchUpdateException.java ! src/share/classes/java/sql/CallableStatement.java ! src/share/classes/java/sql/DatabaseMetaData.java ! src/share/classes/java/sql/Driver.java ! src/share/classes/java/sql/DriverManager.java + src/share/classes/java/sql/JDBCType.java ! src/share/classes/java/sql/PreparedStatement.java ! src/share/classes/java/sql/ResultSet.java ! src/share/classes/java/sql/SQLTimeoutException.java + src/share/classes/java/sql/SQLType.java ! src/share/classes/java/sql/Statement.java ! src/share/classes/java/sql/Types.java ! src/share/classes/java/sql/package.html ! src/share/classes/javax/sql/DataSource.java ! src/share/classes/javax/sql/XADataSource.java ! src/share/classes/javax/sql/rowset/BaseRowSet.java Changeset: 9b069da370a7 Author: wmdietl Date: 2013-01-19 15:26 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/9b069da370a7 Automated merge with http://hg.openjdk.java.net/jdk8/tl/jdk Changeset: bb2ed83676d2 Author: chegar Date: 2013-01-20 09:37 +0000 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/bb2ed83676d2 8006560: java/net/ipv6tests/B6521014.java fails intermittently Reviewed-by: khazra, wetmore ! test/java/net/ipv6tests/B6521014.java Changeset: 6ca6b6f07653 Author: okutsu Date: 2013-01-21 12:04 +0900 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/6ca6b6f07653 4745761: (cal) RFE: Support builder for constructing Calendar Reviewed-by: peytoia ! src/share/classes/java/util/Calendar.java ! src/share/classes/java/util/GregorianCalendar.java ! src/share/classes/java/util/JapaneseImperialCalendar.java + test/java/util/Calendar/Builder/BuilderTest.java ! test/java/util/Calendar/CalendarTypeTest.java Changeset: 3c1a440a1e12 Author: okutsu Date: 2013-01-21 15:41 +0900 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/3c1a440a1e12 8004489: Add support for Minguo and Hijrah calendars to CalendarNameProvider SPI 8006509: Add more calendar symbol names from CLDR Reviewed-by: peytoia ! make/tools/src/build/tools/cldrconverter/Bundle.java ! make/tools/src/build/tools/cldrconverter/CLDRConverter.java ! make/tools/src/build/tools/cldrconverter/CalendarType.java ! make/tools/src/build/tools/cldrconverter/LDMLParseHandler.java ! src/share/classes/java/util/spi/CalendarNameProvider.java ! src/share/classes/sun/text/resources/FormatData.java ! src/share/classes/sun/text/resources/ar/FormatData_ar.java ! src/share/classes/sun/text/resources/be/FormatData_be.java ! src/share/classes/sun/text/resources/bg/FormatData_bg.java ! src/share/classes/sun/text/resources/ca/FormatData_ca.java ! src/share/classes/sun/text/resources/cs/FormatData_cs.java ! src/share/classes/sun/text/resources/da/FormatData_da.java ! src/share/classes/sun/text/resources/de/FormatData_de.java ! src/share/classes/sun/text/resources/el/FormatData_el.java ! src/share/classes/sun/text/resources/es/FormatData_es.java ! src/share/classes/sun/text/resources/et/FormatData_et.java ! src/share/classes/sun/text/resources/fi/FormatData_fi.java ! src/share/classes/sun/text/resources/fr/FormatData_fr.java ! src/share/classes/sun/text/resources/hi/FormatData_hi_IN.java ! src/share/classes/sun/text/resources/hr/FormatData_hr.java ! src/share/classes/sun/text/resources/hu/FormatData_hu.java ! src/share/classes/sun/text/resources/is/FormatData_is.java ! src/share/classes/sun/text/resources/it/FormatData_it.java ! src/share/classes/sun/text/resources/iw/FormatData_iw.java ! src/share/classes/sun/text/resources/ja/FormatData_ja.java ! src/share/classes/sun/text/resources/ko/FormatData_ko.java ! src/share/classes/sun/text/resources/lt/FormatData_lt.java ! src/share/classes/sun/text/resources/lv/FormatData_lv.java ! src/share/classes/sun/text/resources/mk/FormatData_mk.java ! src/share/classes/sun/text/resources/ms/FormatData_ms.java ! src/share/classes/sun/text/resources/mt/FormatData_mt.java ! src/share/classes/sun/text/resources/nl/FormatData_nl.java ! src/share/classes/sun/text/resources/pl/FormatData_pl.java ! src/share/classes/sun/text/resources/pt/FormatData_pt.java ! src/share/classes/sun/text/resources/ro/FormatData_ro.java ! src/share/classes/sun/text/resources/ru/FormatData_ru.java ! src/share/classes/sun/text/resources/sk/FormatData_sk.java ! src/share/classes/sun/text/resources/sl/FormatData_sl.java ! src/share/classes/sun/text/resources/sr/FormatData_sr.java ! src/share/classes/sun/text/resources/sv/FormatData_sv.java ! src/share/classes/sun/text/resources/th/FormatData_th.java ! src/share/classes/sun/text/resources/tr/FormatData_tr.java ! src/share/classes/sun/text/resources/uk/FormatData_uk.java ! src/share/classes/sun/text/resources/vi/FormatData_vi.java ! src/share/classes/sun/text/resources/zh/FormatData_zh.java ! src/share/classes/sun/text/resources/zh/FormatData_zh_TW.java ! src/share/classes/sun/util/locale/provider/CalendarDataUtility.java ! src/share/classes/sun/util/locale/provider/CalendarNameProviderImpl.java ! src/share/classes/sun/util/locale/provider/LocaleResources.java + test/java/util/Calendar/CldrFormatNamesTest.java ! test/sun/text/resources/LocaleData ! test/sun/text/resources/LocaleDataTest.java Changeset: bb940b2107bd Author: juh Date: 2013-01-21 15:05 +0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/bb940b2107bd 8006092: SecurityPermission: printIdentity doesn't exist Reviewed-by: weijun ! test/sun/security/tools/policytool/UpdatePermissions.html Changeset: f21a3c273fb2 Author: dl Date: 2013-01-21 13:50 +0000 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/f21a3c273fb2 8005311: Add Scalable Updatable Variables, DoubleAccumulator, DoubleAdder, LongAccumulator, LongAdder Reviewed-by: chegar, darcy, goetz ! make/java/java/FILES_java.gmk + src/share/classes/java/util/concurrent/atomic/DoubleAccumulator.java + src/share/classes/java/util/concurrent/atomic/DoubleAdder.java + src/share/classes/java/util/concurrent/atomic/LongAccumulator.java + src/share/classes/java/util/concurrent/atomic/LongAdder.java + src/share/classes/java/util/concurrent/atomic/Striped64.java + test/java/util/concurrent/atomic/DoubleAdderDemo.java + test/java/util/concurrent/atomic/LongAdderDemo.java Changeset: de30e46250c5 Author: lancea Date: 2013-01-21 14:08 -0500 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/de30e46250c5 8006642: Fix javadoc warnings due to Integer.MAX_VALUE Reviewed-by: alanb ! src/share/classes/java/sql/BatchUpdateException.java ! src/share/classes/java/sql/PreparedStatement.java ! src/share/classes/java/sql/Statement.java Changeset: 965e89e2abd3 Author: katleman Date: 2013-01-16 12:00 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/965e89e2abd3 Added tag jdk8-b73 for changeset 733885f57e14 ! .hgtags Changeset: e91caf05f441 Author: erikj Date: 2012-12-27 20:18 +0100 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/e91caf05f441 8005540: build-infra: Improve incremental build speed on windows by caching find results Reviewed-by: ohair ! makefiles/BuildJdk.gmk ! makefiles/CompileDemos.gmk ! makefiles/CompileLaunchers.gmk ! makefiles/CompileNativeLibraries.gmk ! makefiles/CopyIntoClasses.gmk ! makefiles/CreateJars.gmk ! makefiles/GensrcProperties.gmk ! makefiles/GensrcX11Wrappers.gmk ! makefiles/Images.gmk ! makefiles/Tools.gmk Changeset: 368fa50469da Author: erikj Date: 2012-12-28 09:51 +0100 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/368fa50469da 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile Reviewed-by: ohair, tbell ! makefiles/BuildJdk.gmk Changeset: 461b069100fa Author: erikj Date: 2013-01-02 15:35 +0100 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/461b069100fa 8005355: build-infra: Java security signing (need a top-level make target). Reviewed-by: tbell, ohair ! makefiles/BuildJdk.gmk ! makefiles/CompileJavaClasses.gmk ! makefiles/CreateJars.gmk + makefiles/SignJars.gmk Changeset: 3841da683703 Author: erikj Date: 2013-01-03 20:55 +0100 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/3841da683703 8005635: build-infra: Support building install in jprt Reviewed-by: ohair Contributed-by: tim.bell at oracle.com, erik.joelsson at oracle.com ! make/common/shared/Defs-windows.gmk ! makefiles/BuildJdk.gmk ! makefiles/Bundles.gmk ! makefiles/Images.gmk ! makefiles/Tools.gmk Changeset: a8d25b689563 Author: erikj Date: 2013-01-04 16:54 +0100 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/a8d25b689563 8005694: build-infra: Cleanup of misc changes in build-infra Reviewed-by: tbell ! makefiles/CompileJavaClasses.gmk ! makefiles/CompileNativeLibraries.gmk ! makefiles/CreateJars.gmk Changeset: 3824d8469dcf Author: erikj Date: 2013-01-04 17:09 +0100 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/3824d8469dcf 8005654: build-infra: Create sec-bin.zip Reviewed-by: tbell ! makefiles/CreateJars.gmk Changeset: d98e73b7bc78 Author: erikj Date: 2013-01-04 22:43 +0100 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/d98e73b7bc78 8005723: build-infra: in new infra build, sec-windows-bin-zip and jgss-windows-*-bin.zip are missing Reviewed-by: tbell ! makefiles/CreateJars.gmk Changeset: 244e481f538b Author: katleman Date: 2013-01-08 13:15 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/244e481f538b Merge ! makefiles/CreateJars.gmk Changeset: 1868bde529b8 Author: ohrstrom Date: 2013-01-09 13:33 +0100 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/1868bde529b8 8005096: Move a few source files in swing/beaninfo and in a demo. Reviewed-by: ohair, erikj, malenkov ! make/javax/swing/beaninfo/SwingBeans.gmk - make/tools/swing-beans/beaninfo/BeanInfoUtils.java - make/tools/swing-beans/beaninfo/SwingBeanInfoBase.java + make/tools/swing-beans/javax/swing/SwingBeanInfoBase.java + make/tools/swing-beans/sun/swing/BeanInfoUtils.java ! makefiles/CompileJavaClasses.gmk ! makefiles/GensrcSwing.gmk - src/share/demo/jfc/CodePointIM/CodePointInputMethod.java - src/share/demo/jfc/CodePointIM/CodePointInputMethodDescriptor.java + src/share/demo/jfc/CodePointIM/com/sun/inputmethods/internal/codepointim/CodePointInputMethod.java + src/share/demo/jfc/CodePointIM/com/sun/inputmethods/internal/codepointim/CodePointInputMethodDescriptor.java Changeset: 2cc29d0b9eaf Author: erikj Date: 2013-01-09 16:13 +0100 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/2cc29d0b9eaf 8005903: build-infra: bad symlink: j2sdk-bundle/jdk1.8.0.jdk/Contents/MacOS/libjli.dylib Reviewed-by: tbell ! makefiles/Bundles.gmk Changeset: f92ab6dbbff8 Author: erikj Date: 2013-01-10 12:23 +0100 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/f92ab6dbbff8 8005856: build-infra: Remove special handling of base module classes header generation Reviewed-by: alanb, tbell, ohair Contributed-by: fredrik.ohrstrom at oracle.com ! makefiles/CompileJavaClasses.gmk ! src/share/classes/java/io/FileSystem.java ! src/share/classes/java/lang/Integer.java ! src/share/classes/java/lang/Long.java ! src/share/classes/java/net/SocketOptions.java ! src/share/classes/sun/nio/ch/IOStatus.java ! src/windows/classes/sun/nio/ch/PollArrayWrapper.java Changeset: 4d80ab394efa Author: erikj Date: 2013-01-15 16:50 +0100 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/4d80ab394efa 8006296: build-infra: Unsigned sunmscapi.jar is missing manifest. Reviewed-by: alanb, tbell ! makefiles/CreateJars.gmk Changeset: 6d1a3d43851d Author: katleman Date: 2013-01-15 10:08 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/6d1a3d43851d Merge - make/tools/swing-beans/beaninfo/BeanInfoUtils.java - make/tools/swing-beans/beaninfo/SwingBeanInfoBase.java - src/share/demo/jfc/CodePointIM/CodePointInputMethod.java - src/share/demo/jfc/CodePointIM/CodePointInputMethodDescriptor.java Changeset: 3eef1e0540c4 Author: erikj Date: 2013-01-16 16:40 +0100 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/3eef1e0540c4 8006385: build-infra: linux and solaris *-debuginfo-*.zip file created from the new makefile has extra HUDSON direcotry in jre/lib/i386/server Reviewed-by: tbell ! makefiles/Import.gmk Changeset: 54bbeb149525 Author: katleman Date: 2013-01-16 22:21 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/54bbeb149525 Merge - make/tools/swing-beans/beaninfo/BeanInfoUtils.java - make/tools/swing-beans/beaninfo/SwingBeanInfoBase.java ! makefiles/CompileLaunchers.gmk ! makefiles/CreateJars.gmk ! makefiles/Images.gmk ! src/share/classes/java/lang/Integer.java - src/share/demo/jfc/CodePointIM/CodePointInputMethod.java - src/share/demo/jfc/CodePointIM/CodePointInputMethodDescriptor.java Changeset: 8b1857409159 Author: lana Date: 2013-01-20 23:38 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/8b1857409159 Merge - make/tools/swing-beans/beaninfo/BeanInfoUtils.java - make/tools/swing-beans/beaninfo/SwingBeanInfoBase.java - src/share/demo/jfc/CodePointIM/CodePointInputMethod.java - src/share/demo/jfc/CodePointIM/CodePointInputMethodDescriptor.java Changeset: 7f4e3da76ec1 Author: lana Date: 2013-01-21 11:16 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/7f4e3da76ec1 Merge Changeset: 983e1fb3f866 Author: wmdietl Date: 2013-01-21 15:17 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/983e1fb3f866 Automated merge with http://hg.openjdk.java.net/jdk8/tl/jdk ! .hgtags From joel.franck at oracle.com Tue Jan 22 00:40:29 2013 From: joel.franck at oracle.com (=?ISO-8859-1?Q?Joel_Borggr=E9n-Franck?=) Date: Tue, 22 Jan 2013 09:40:29 +0100 Subject: Request for review: 8004698: Implement Core Reflection for Type Annotations In-Reply-To: <44120FFD-DAF6-4222-B184-AF5BA475D08E@oracle.com> References: <44120FFD-DAF6-4222-B184-AF5BA475D08E@oracle.com> Message-ID: <50FE507D.70009@oracle.com> Hi, New webrev: http://cr.openjdk.java.net/~jfranck/8004698/webrev.01/ - More comments in the code, more javadoc comments, hopefully better flow for enhanced readability. - I have also reduced permissions on some methods and made most of the classes immutable. cheers /Joel On 01/17/2013 05:23 PM, Joel Borggr?n-Franck wrote: > Hi, > > Here is a webrev for core reflection support for type annotations: > > http://cr.openjdk.java.net/~jfranck/8004698/webrev.00/ > > This code is based on the tl/jdk repository, but in order to run the tests you need a javac with type annotations support and also a recent copy of the VM that includes this change set: http://hg.openjdk.java.net/hsx/hotspot-main/hotspot/rev/35431a769282 (This also means this code can't be pushed until all supporting pieces are in place.) > > Type annotations are still a bit of a moving target so there will be follow up work on this. There is no caching of annotations in this version and I am not sure how we want to do the space/time trade of for type annotations. > > cheers > /Joel > From joel.franck at oracle.com Tue Jan 22 04:47:45 2013 From: joel.franck at oracle.com (=?UTF-8?B?Sm9lbCBCb3JnZ3LDqW4tRnJhbmNr?=) Date: Tue, 22 Jan 2013 13:47:45 +0100 Subject: Request for review: 8004698: Implement Core Reflection for Type Annotations In-Reply-To: References: <44120FFD-DAF6-4222-B184-AF5BA475D08E@oracle.com> Message-ID: <50FE8A71.7080204@oracle.com> Hi Peter, Thanks for your comments, see inline, On 01/19/2013 06:11 PM, Peter Levart wrote: > I see, there is a dilema how to cache type annotations. To satisfy > single-annotation-returning methods and repeating annotation logic, a > HashMap would be a logical choice, but it has much bigger footprint than > simple arrays of annotations... > I don't prioritize footprint for classes that have runtime visible type annotations. Those classes should be very few, and as a user you are making an explicit choice of adding metadata when you use runtime visible (type) annotations. So here is my list of priorities (and by un-annotated I mean without runtime visible annotations): - Unannotated classes/fields/methods should have as small as possible extra footprint, this is most important. - Classes/fields/methods without type annotations should have negligible footprint over classes/fields/methods with only regular annotations. > I experimented with an idea of using a special purpose immutable Map > implementation: > > https://github.com/plevart/jdk8-tl/blob/anno-map/jdk/src/share/classes/sun/reflect/annotation/UniqueIndex.java > > and: > > https://github.com/plevart/jdk8-tl/blob/anno-map/jdk/src/share/classes/sun/reflect/annotation/AnnotationMap.java > > This is just a preview. I still have to create some tests to see how it > compares to HashMap. Being an immutable wrapper for a single array of > annotations it has a nice feature that a reference to it can be passed to > other threads via a data race with no danger of data inconsistency, which > simplifies caching mechanisms and helps scalability. > Might even be a space-saving replacement for existing HashMaps of > annotations. Depending on performance, of course. > What do you think? Is it worth pursuing this further? > I'd be very hesitant to introduce a new hashmap like type. Especially since IMHO footprint when we actually have annotations isn't as critical as when we are annotation free. My initial approach is probably to dust of your patches for an annotations cache on Class and adopt it for type annotations, and use on Field/Method/Constructor/(TypeVar). Thank you again for your work on this! cheers /Joel > Regards, Peter > > On Jan 17, 2013 5:24 PM, "Joel Borggr?n-Franck" > wrote: > > Hi, > > Here is a webrev for core reflection support for type annotations: > > http://cr.openjdk.java.net/~jfranck/8004698/webrev.00/ > > This code is based on the tl/jdk repository, but in order to run the > tests you need a javac with type annotations support and also a recent > copy of the VM that includes this change set: > http://hg.openjdk.java.net/hsx/hotspot-main/hotspot/rev/35431a769282 > (This also means this code can't be pushed until all supporting pieces > are in place.) > > Type annotations are still a bit of a moving target so there will be > follow up work on this. There is no caching of annotations in this > version and I am not sure how we want to do the space/time trade of for > type annotations. > > cheers > /Joel > From peter.levart at gmail.com Tue Jan 22 09:01:04 2013 From: peter.levart at gmail.com (Peter Levart) Date: Tue, 22 Jan 2013 18:01:04 +0100 Subject: Request for review: 8004698: Implement Core Reflection for Type Annotations In-Reply-To: <50FE8A71.7080204@oracle.com> References: <44120FFD-DAF6-4222-B184-AF5BA475D08E@oracle.com> <50FE8A71.7080204@oracle.com> Message-ID: <50FEC5D0.4070307@gmail.com> On 01/22/2013 01:47 PM, Joel Borggr?n-Franck wrote: > Hi Peter, > > Thanks for your comments, see inline, > > On 01/19/2013 06:11 PM, Peter Levart wrote: > >> I see, there is a dilema how to cache type annotations. To satisfy >> single-annotation-returning methods and repeating annotation logic, a >> HashMap would be a logical choice, but it has much bigger footprint than >> simple arrays of annotations... >> > > I don't prioritize footprint for classes that have runtime visible > type annotations. Those classes should be very few, and as a user you > are making an explicit choice of adding metadata when you use runtime > visible (type) annotations. > > So here is my list of priorities (and by un-annotated I mean without > runtime visible annotations): > > - Unannotated classes/fields/methods should have as small as possible > extra footprint, this is most important. Hello Joel, I imagine there will be additional places where references to Map, Annotation> will be added to hold cached annotations. To satisfy your priority #1 I would consistently make sure that when there are no annotations to put into the map, a singleton Collections.emptyMap() reference is put in place. This is currently not so for regular annotations (should be corrected). I know of runtime tools that "scan" classes for particular annotations, just to find out that majority of them are without annotations. If empty instances of HashMap(16) pop-up as a result of such scan, lots of memory is wasted. > > - Classes/fields/methods without type annotations should have > negligible footprint over classes/fields/methods with only regular > annotations. You meant "Classes/fields/methods *with* type annotations should have negligible footprint over classes/fields/methods with only regular annotations", right? Regards, Peter > >> I experimented with an idea of using a special purpose immutable Map >> implementation: >> >> https://github.com/plevart/jdk8-tl/blob/anno-map/jdk/src/share/classes/sun/reflect/annotation/UniqueIndex.java >> >> >> and: >> >> https://github.com/plevart/jdk8-tl/blob/anno-map/jdk/src/share/classes/sun/reflect/annotation/AnnotationMap.java >> >> >> This is just a preview. I still have to create some tests to see how it >> compares to HashMap. Being an immutable wrapper for a single array of >> annotations it has a nice feature that a reference to it can be >> passed to >> other threads via a data race with no danger of data inconsistency, >> which >> simplifies caching mechanisms and helps scalability. >> Might even be a space-saving replacement for existing HashMaps of >> annotations. Depending on performance, of course. >> What do you think? Is it worth pursuing this further? >> > > I'd be very hesitant to introduce a new hashmap like type. Especially > since IMHO footprint when we actually have annotations isn't as > critical as when we are annotation free. > > My initial approach is probably to dust of your patches for an > annotations cache on Class and adopt it for type annotations, and use > on Field/Method/Constructor/(TypeVar). > > Thank you again for your work on this! > > cheers > /Joel > >> Regards, Peter >> >> On Jan 17, 2013 5:24 PM, "Joel Borggr?n-Franck" > > wrote: >> >> Hi, >> >> Here is a webrev for core reflection support for type annotations: >> >> http://cr.openjdk.java.net/~jfranck/8004698/webrev.00/ >> >> This code is based on the tl/jdk repository, but in order to run the >> tests you need a javac with type annotations support and also a >> recent >> copy of the VM that includes this change set: >> http://hg.openjdk.java.net/hsx/hotspot-main/hotspot/rev/35431a769282 >> (This also means this code can't be pushed until all supporting >> pieces >> are in place.) >> >> Type annotations are still a bit of a moving target so there will be >> follow up work on this. There is no caching of annotations in this >> version and I am not sure how we want to do the space/time trade >> of for >> type annotations. >> >> cheers >> /Joel >> From joel.franck at oracle.com Tue Jan 22 09:08:46 2013 From: joel.franck at oracle.com (=?iso-8859-1?Q?Joel_Borggr=E9n-Franck?=) Date: Tue, 22 Jan 2013 18:08:46 +0100 Subject: Request for review: 8004698: Implement Core Reflection for Type Annotations In-Reply-To: <50FEC5D0.4070307@gmail.com> References: <44120FFD-DAF6-4222-B184-AF5BA475D08E@oracle.com> <50FE8A71.7080204@oracle.com> <50FEC5D0.4070307@gmail.com> Message-ID: <52AF7D73-A144-4079-9EEF-9766E839E922@oracle.com> Hi, On Jan 22, 2013, at 6:01 PM, Peter Levart wrote: > On 01/22/2013 01:47 PM, Joel Borggr?n-Franck wrote: >> Hi Peter, >> >> Thanks for your comments, see inline, >> >> On 01/19/2013 06:11 PM, Peter Levart wrote: >> >>> I see, there is a dilema how to cache type annotations. To satisfy >>> single-annotation-returning methods and repeating annotation logic, a >>> HashMap would be a logical choice, but it has much bigger footprint than >>> simple arrays of annotations... >>> >> >> I don't prioritize footprint for classes that have runtime visible type annotations. Those classes should be very few, and as a user you are making an explicit choice of adding metadata when you use runtime visible (type) annotations. >> >> So here is my list of priorities (and by un-annotated I mean without runtime visible annotations): >> >> - Unannotated classes/fields/methods should have as small as possible extra footprint, this is most important. > > Hello Joel, > > I imagine there will be additional places where references to Map, Annotation> will be added to hold cached annotations. To satisfy your priority #1 I would consistently make sure that when there are no annotations to put into the map, a singleton Collections.emptyMap() reference is put in place. This is currently not so for regular annotations (should be corrected). I know of runtime tools that "scan" classes for particular annotations, just to find out that majority of them are without annotations. If empty instances of HashMap(16) pop-up as a result of such scan, lots of memory is wasted. > Good suggestion. >> >> - Classes/fields/methods without type annotations should have negligible footprint over classes/fields/methods with only regular annotations. > > You meant "Classes/fields/methods *with* type annotations should have negligible footprint over classes/fields/methods with only regular annotations", right? > No :) As I suspect class/filed/methods with runtime visible regular annotations will be 100x (or 1000x??) more common than with runtime visible type annotations the most common scenario will be 1) No annotations 2) Only regular annotations So there should be very little overhead from having no type annotations. IE in the order of an extra pointer that is null. cheers /Joel From peter.levart at gmail.com Tue Jan 22 09:27:56 2013 From: peter.levart at gmail.com (Peter Levart) Date: Tue, 22 Jan 2013 18:27:56 +0100 Subject: Request for review: 8004698: Implement Core Reflection for Type Annotations In-Reply-To: <52AF7D73-A144-4079-9EEF-9766E839E922@oracle.com> References: <44120FFD-DAF6-4222-B184-AF5BA475D08E@oracle.com> <50FE8A71.7080204@oracle.com> <50FEC5D0.4070307@gmail.com> <52AF7D73-A144-4079-9EEF-9766E839E922@oracle.com> Message-ID: <50FECC1C.4020703@gmail.com> On 01/22/2013 06:08 PM, Joel Borggr?n-Franck wrote: > Hi, > > On Jan 22, 2013, at 6:01 PM, Peter Levart wrote: > >> On 01/22/2013 01:47 PM, Joel Borggr?n-Franck wrote: >>> Hi Peter, >>> >>> Thanks for your comments, see inline, >>> >>> On 01/19/2013 06:11 PM, Peter Levart wrote: >>> >>>> I see, there is a dilema how to cache type annotations. To satisfy >>>> single-annotation-returning methods and repeating annotation logic, a >>>> HashMap would be a logical choice, but it has much bigger footprint than >>>> simple arrays of annotations... >>>> >>> I don't prioritize footprint for classes that have runtime visible type annotations. Those classes should be very few, and as a user you are making an explicit choice of adding metadata when you use runtime visible (type) annotations. >>> >>> So here is my list of priorities (and by un-annotated I mean without runtime visible annotations): >>> >>> - Unannotated classes/fields/methods should have as small as possible extra footprint, this is most important. >> Hello Joel, >> >> I imagine there will be additional places where references to Map, Annotation> will be added to hold cached annotations. To satisfy your priority #1 I would consistently make sure that when there are no annotations to put into the map, a singleton Collections.emptyMap() reference is put in place. This is currently not so for regular annotations (should be corrected). I know of runtime tools that "scan" classes for particular annotations, just to find out that majority of them are without annotations. If empty instances of HashMap(16) pop-up as a result of such scan, lots of memory is wasted. >> > Good suggestion. > >>> - Classes/fields/methods without type annotations should have negligible footprint over classes/fields/methods with only regular annotations. >> You meant "Classes/fields/methods *with* type annotations should have negligible footprint over classes/fields/methods with only regular annotations", right? >> > No :) > > As I suspect class/filed/methods with runtime visible regular annotations will be 100x (or 1000x??) more common than with runtime visible type annotations the most common scenario will be > > 1) No annotations > 2) Only regular annotations > > So there should be very little overhead from having no type annotations. IE in the order of an extra pointer that is null. Ah, I understand that sentence now ;-). ... extra pointer that is null (not cached yet) or Collections.emptyMap() (cached but empty).... Regards, Peter > > cheers > /Joel From steve.sides at oracle.com Tue Jan 22 09:54:40 2013 From: steve.sides at oracle.com (Steve Sides) Date: Tue, 22 Jan 2013 09:54:40 -0800 Subject: @Repeatable changes In-Reply-To: References: <50F99F19.80405@oracle.com> Message-ID: <50FED260.2080508@oracle.com> I noticed the bug number is 1234567. I entered a bug for this, 8006703, which can replace the placeholder, and noted the changeset and test name, etc. It will eventually appear on bug.sun.com. -steve On 1/20/2013 12:32 AM, Werner Dietl wrote: > Hi Steve, > > I fixed this issue and added a simple test case: > > http://hg.openjdk.java.net/type-annotations/type-annotations/langtools/rev/da5a2f00191d > > Please do let me know which test cases fail in type-annotations and of > any other issues you may find. > > Thanks, > cu, WMD. > > On Fri, Jan 18, 2013 at 11:14 AM, Steve Sides wrote: >> Hi, >> We got the @Repeatable changes. Several tests are failing. Most seem to >> fail because they still use the old method. A typical error message: >> >> ----------direct:(3/257)---------- >> DuplicateTypeAnnotation.java:11:17: >> compiler.err.duplicate.annotation.missing.container: A, >> java.lang.annotation.Repeatable >> DuplicateTypeAnnotation.java:11:20: >> compiler.err.duplicate.annotation.missing.container: A, >> java.lang.annotation.Repeatable >> 2 errors >> >> However, there's also case which crash javac. If a repeatable annotations >> has TYPE_USE and FIELD as @Targets and it's put on a field, javac crashes >> with this assertion, >> >> java.lang.AssertionError: Can't annotate already annotated type: (@A :: >> java.lang.Integer); adding: @A >> >> sample and output below. >> >> -steve >> >> 8<- - - Test.java - - - - - - - - - - - - - - >> import java.lang.annotation.*; >> import static java.lang.annotation.RetentionPolicy.*; >> import static java.lang.annotation.ElementType.*; >> >> // (repeating) type annotations at class level. >> class Test { >> Test(){} >> @A Integer i1 = 0; // crash FIELD >> // type usage in method body >> @B @B String test() { return null;} // ok on METHOD >> } >> >> @Retention(CLASS) >> @Target({TYPE_USE,FIELD}) >> @Repeatable( AC.class ) >> @interface A { } >> >> @Retention(CLASS) >> @Target({TYPE_USE,FIELD}) >> @interface AC { A[] value(); } >> >> @Retention(CLASS) >> @Target({TYPE_USE,METHOD}) >> @Repeatable( BC.class ) >> @interface B { } >> >> @Retention(CLASS) >> @Target({TYPE_USE,METHOD}) >> @interface BC { B[] value(); } >> >> 8<- - - compiler output - - - - - - - - - - - - - - >> >> An exception has occurred in the compiler (1.8.0-ea). Please file a bug at >> the Java Developer Connection (http://java.sun.com/webapps/bugreport) after >> checking the Bug Parade for duplicates. Include your program and the >> following diagnostic in your report. Thank you. >> java.lang.AssertionError: Can't annotate already annotated type: (@A :: >> java.lang.Integer); adding: @A >> at com.sun.tools.javac.util.Assert.error(Assert.java:133) >> at com.sun.tools.javac.util.Assert.check(Assert.java:94) >> at >> com.sun.tools.javac.code.Type$AnnotatedType.(Type.java:1505) >> at >> com.sun.tools.javac.code.TypeAnnotations$TypeAnnotationPositions$1.visitAnnotatedType(TypeAnnotations.java:410) >> at >> com.sun.tools.javac.code.TypeAnnotations$TypeAnnotationPositions$1.visitAnnotatedType(TypeAnnotations.java:389) >> at >> com.sun.tools.javac.code.Type$AnnotatedType.accept(Type.java:1527) >> at >> com.sun.tools.javac.code.TypeAnnotations$TypeAnnotationPositions.typeWithAnnotations(TypeAnnotations.java:470) >> at >> com.sun.tools.javac.code.TypeAnnotations$TypeAnnotationPositions.typeWithAnnotations(TypeAnnotations.java:353) >> at >> com.sun.tools.javac.code.TypeAnnotations$TypeAnnotationPositions.separateAnnotationsKinds(TypeAnnotations.java:189) >> at >> com.sun.tools.javac.code.TypeAnnotations$TypeAnnotationPositions.visitVarDef(TypeAnnotations.java:917) >> at >> com.sun.tools.javac.tree.JCTree$JCVariableDecl.accept(JCTree.java:792) >> at com.sun.tools.javac.tree.TreeScanner.scan(TreeScanner.java:49) >> at >> com.sun.tools.javac.code.TypeAnnotations$TypeAnnotationPositions.scan(TypeAnnotations.java:135) >> at com.sun.tools.javac.tree.TreeScanner.scan(TreeScanner.java:57) >> at >> com.sun.tools.javac.code.TypeAnnotations$TypeAnnotationPositions.visitClassDef(TypeAnnotations.java:842) >> at >> com.sun.tools.javac.tree.JCTree$JCClassDecl.accept(JCTree.java:650) >> at com.sun.tools.javac.tree.TreeScanner.scan(TreeScanner.java:49) >> at >> com.sun.tools.javac.code.TypeAnnotations$TypeAnnotationPositions.scan(TypeAnnotations.java:135) >> at >> com.sun.tools.javac.code.TypeAnnotations.organizeTypeAnnotationsBodies(TypeAnnotations.java:102) >> at com.sun.tools.javac.comp.Attr.attribClassBody(Attr.java:4039) >> at com.sun.tools.javac.comp.Attr.attribClass(Attr.java:3918) >> at com.sun.tools.javac.comp.Attr.attribClass(Attr.java:3852) >> at com.sun.tools.javac.comp.Attr.attrib(Attr.java:3826) >> at >> com.sun.tools.javac.main.JavaCompiler.attribute(JavaCompiler.java:1254) >> at >> com.sun.tools.javac.main.JavaCompiler.compile2(JavaCompiler.java:907) >> at >> com.sun.tools.javac.main.JavaCompiler.compile(JavaCompiler.java:866) >> at com.sun.tools.javac.main.Main.compile(Main.java:506) >> at com.sun.tools.javac.main.Main.compile(Main.java:365) >> at com.sun.tools.javac.main.Main.compile(Main.java:354) >> at com.sun.tools.javac.main.Main.compile(Main.java:345) >> at com.sun.tools.javac.Main.compile(Main.java:76) >> at com.sun.tools.javac.Main.main(Main.java:61) >> >> > > From wdietl at gmail.com Tue Jan 22 13:18:08 2013 From: wdietl at gmail.com (wdietl at gmail.com) Date: Tue, 22 Jan 2013 21:18:08 +0000 Subject: hg: type-annotations/type-annotations/langtools: 3 new changesets Message-ID: <20130122211818.2A21F4747C@hg.openjdk.java.net> Changeset: be443002e970 Author: mcimadamore Date: 2013-01-22 16:23 +0000 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/langtools/rev/be443002e970 8006673: TargetType52 fails because of bad golden file Summary: Fix golden file in negative test Reviewed-by: jjg ! test/tools/javac/lambda/TargetType52.out Changeset: b61e5f801f7c Author: mcimadamore Date: 2013-01-22 16:39 +0000 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/langtools/rev/b61e5f801f7c 8006684: Compiler produces java.lang.VerifyError: Bad type on operand stack Summary: Lambda desugaring generates spurious references to 'this' in static contexts Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/comp/LambdaToMethod.java + test/tools/javac/lambda/LambdaExpr21.java Changeset: 7398164a5fe6 Author: wmdietl Date: 2013-01-22 13:17 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/langtools/rev/7398164a5fe6 Automated merge with http://hg.openjdk.java.net/jdk8/tl/langtools - test/tools/javac/typeAnnotations/newlocations/BasicTest.java - test/tools/javac/typeAnnotations/newlocations/BasicTest.out From jonathan.gibbons at oracle.com Tue Jan 22 19:00:33 2013 From: jonathan.gibbons at oracle.com (Jonathan Gibbons) Date: Tue, 22 Jan 2013 19:00:33 -0800 Subject: Storing annotations on exception parameters In-Reply-To: <50B57667.6020403@oracle.com> References: <50B57667.6020403@oracle.com> Message-ID: <50FF5251.5080604@oracle.com> On 11/27/2012 06:26 PM, Jonathan Gibbons wrote: > On 11/27/2012 05:49 PM, Werner Dietl wrote: >> As discussed on the type-annotations-spec-experts list (see >> http://mail.openjdk.java.net/pipermail/type-annotations-spec-experts/2012-November/000038.html) >> >> Section 3.3.8 of the JSR 308 specification will stay unchanged. >> >> For local variables, method: >> >> com.sun.tools.javac.jvm.Code.fillLocalVarPosition(LocalVar) >> >> determines the necessary information. >> >> Could somebody point me to a place where I could determine the >> exception table index for an exception parameter? >> I found method >> >> com.sun.tools.javac.jvm.Gen.genCatch(JCCatch, Env, int, >> int, List) >> >> but I didn't see an exception table index there. >> >> Thanks, >> cu, WMD. >> > > Werner, > > I believe the data structure you should be looking at is this one in > Code.java > > /** A buffer for expression catch data. Each enter is a vector > * of four unsigned shorts. > */ > ListBuffer catchInfo = new ListBuffer(); > > And this method: > > /** Add a catch clause to code. > */ > public void addCatch( > char startPc, char endPc, char handlerPc, char catchType) { > catchInfo.append(new char[]{startPc, endPc, handlerPc, > catchType}); > } > > So, on the face of it, the index in the catchInfo array is the value > you want. But life is never that simple, since there's this method too: > > public void compressCatchTable() { > > which can eliminate some entries. You may need to search catchInfo for > the handler you need. > > -- Jon Werner, Did this earlier response help you in determining type annotation positions for multicatch catch clauses? -- Jon From wdietl at gmail.com Tue Jan 22 19:09:48 2013 From: wdietl at gmail.com (wdietl at gmail.com) Date: Wed, 23 Jan 2013 03:09:48 +0000 Subject: hg: type-annotations/type-annotations/langtools: 5 new changesets Message-ID: <20130123031004.7B2AA47499@hg.openjdk.java.net> Changeset: 34eeaa016188 Author: wmdietl Date: 2013-01-22 19:07 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/langtools/rev/34eeaa016188 Introduce Type.getAnnotations and Type.unannotatedType to allow easier access to these components of AnnotatedType and to make future evolution easier. ! src/share/classes/com/sun/tools/javac/code/Printer.java ! src/share/classes/com/sun/tools/javac/code/Type.java ! src/share/classes/com/sun/tools/javac/code/Types.java ! src/share/classes/com/sun/tools/javac/comp/Attr.java ! src/share/classes/com/sun/tools/javac/comp/MemberEnter.java ! src/share/classes/com/sun/tools/javac/jvm/ClassWriter.java Changeset: 8943b4213f59 Author: jjg Date: 2013-01-22 18:43 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/langtools/rev/8943b4213f59 8006723: sjavac test fails to compile on clean build Reviewed-by: ksrini ! test/tools/sjavac/SJavac.java + test/tools/sjavac/SJavacWrapper.java Changeset: f5b70712e0d5 Author: jjg Date: 2013-01-22 19:06 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/langtools/rev/f5b70712e0d5 8006728: temporarily workaround jtreg problems for doclint tests in othervm Reviewed-by: jjh + test/tools/doclint/html/AAA.java + test/tools/doclint/tidy/AAA.java + test/tools/doclint/tool/AAA.java Changeset: 385828dd5604 Author: jjg Date: 2013-01-22 19:07 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/langtools/rev/385828dd5604 Merge Changeset: 5816ff8917ec Author: wmdietl Date: 2013-01-22 19:08 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/langtools/rev/5816ff8917ec Automated merge with http://hg.openjdk.java.net/jdk8/tl/langtools - test/tools/javac/typeAnnotations/newlocations/BasicTest.java - test/tools/javac/typeAnnotations/newlocations/BasicTest.out From wdietl at gmail.com Tue Jan 22 19:10:26 2013 From: wdietl at gmail.com (wdietl at gmail.com) Date: Wed, 23 Jan 2013 03:10:26 +0000 Subject: hg: type-annotations/type-annotations/jdk: 3 new changesets Message-ID: <20130123031112.3AFB44749A@hg.openjdk.java.net> Changeset: 8ee6d45348ba Author: vinnie Date: 2013-01-22 23:32 +0000 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/8ee6d45348ba 6263419: No way to clean the memory for a java.security.Key Reviewed-by: mullan ! src/share/classes/java/security/PrivateKey.java ! src/share/classes/javax/crypto/SecretKey.java ! src/share/classes/javax/security/auth/Destroyable.java + test/javax/security/auth/Destroyable/KeyDestructionTest.java Changeset: c18f28312c49 Author: smarks Date: 2013-01-22 18:30 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/c18f28312c49 8005646: TEST_BUG: java/rmi/activation/ActivationSystem/unregisterGroup/UnregisterGroup leaves process running Reviewed-by: mchung ! test/java/rmi/activation/ActivationSystem/unregisterGroup/ActivateMe.java - test/java/rmi/activation/ActivationSystem/unregisterGroup/CallbackInterface.java - test/java/rmi/activation/ActivationSystem/unregisterGroup/Callback_Stub.java ! test/java/rmi/activation/ActivationSystem/unregisterGroup/UnregisterGroup.java - test/java/rmi/activation/ActivationSystem/unregisterGroup/UnregisterGroup_Stub.java ! test/java/rmi/activation/ActivationSystem/unregisterGroup/rmid.security.policy Changeset: 1442c16992e8 Author: wmdietl Date: 2013-01-22 19:10 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/1442c16992e8 Automated merge with http://hg.openjdk.java.net/jdk8/tl/jdk From wdietl at gmail.com Tue Jan 22 20:30:21 2013 From: wdietl at gmail.com (Werner Dietl) Date: Tue, 22 Jan 2013 20:30:21 -0800 Subject: Storing annotations on exception parameters In-Reply-To: <50FF5251.5080604@oracle.com> References: <50B57667.6020403@oracle.com> <50FF5251.5080604@oracle.com> Message-ID: Jon, in a separate thread you mentioned method com.sun.tools.javac.jvm.Gen.genCatch(JCCatch, Env, int, int, List) and I had a look at using that today. I now have three parts of the puzzle: In com.sun.tools.javac.code.TypeAnnotations.TypeAnnotationPositions.separateAnnotationsKinds and resolveFrame I have the AST, the type annotations, and AnnotatedTypes for the exception types. However, I don't know anything about the exception table yet and could only store a position within the multicatch. In jvm.Code.fillExceptionParameterPositions I have the local variable for the exception, all type annotations attached to it, and the exception table indices - but I don't know how the type annotations correspond to exception indices. In jvm.Gen.genCatch I have the individual multicatch types, however I'm not sure whether there is a relation to the exception indices for Code.fillExceptionParameterPositions. More severely, when I look at subCatch.type (in genCatch) the type annotations are no longer present - AnnotatedType gets "lost" very easily as it delegates all operations to the underlying type. Do you know what operations happen to the exception type between the end of com.sun.tools.javac.comp.Attr.attribClassBody (where I call TypeAnnotations.organizeTypeAnnotationsBodies and still have AnnotatedTypes) and Gen.genCatch where I only see unannotated types? Thanks, cu, WMD. On Tue, Jan 22, 2013 at 7:00 PM, Jonathan Gibbons wrote: > On 11/27/2012 06:26 PM, Jonathan Gibbons wrote: >> >> On 11/27/2012 05:49 PM, Werner Dietl wrote: >>> >>> As discussed on the type-annotations-spec-experts list (see >>> >>> http://mail.openjdk.java.net/pipermail/type-annotations-spec-experts/2012-November/000038.html) >>> Section 3.3.8 of the JSR 308 specification will stay unchanged. >>> >>> For local variables, method: >>> >>> com.sun.tools.javac.jvm.Code.fillLocalVarPosition(LocalVar) >>> >>> determines the necessary information. >>> >>> Could somebody point me to a place where I could determine the >>> exception table index for an exception parameter? >>> I found method >>> >>> com.sun.tools.javac.jvm.Gen.genCatch(JCCatch, Env, int, >>> int, List) >>> >>> but I didn't see an exception table index there. >>> >>> Thanks, >>> cu, WMD. >>> >> >> Werner, >> >> I believe the data structure you should be looking at is this one in >> Code.java >> >> /** A buffer for expression catch data. Each enter is a vector >> * of four unsigned shorts. >> */ >> ListBuffer catchInfo = new ListBuffer(); >> >> And this method: >> >> /** Add a catch clause to code. >> */ >> public void addCatch( >> char startPc, char endPc, char handlerPc, char catchType) { >> catchInfo.append(new char[]{startPc, endPc, handlerPc, >> catchType}); >> } >> >> So, on the face of it, the index in the catchInfo array is the value you >> want. But life is never that simple, since there's this method too: >> >> public void compressCatchTable() { >> >> which can eliminate some entries. You may need to search catchInfo for the >> handler you need. >> >> -- Jon > > > > Werner, > > Did this earlier response help you in determining type annotation positions > for multicatch catch clauses? > > -- Jon -- http://www.google.com/profiles/wdietl From jonathan.gibbons at oracle.com Tue Jan 22 20:48:03 2013 From: jonathan.gibbons at oracle.com (Jonathan Gibbons) Date: Tue, 22 Jan 2013 20:48:03 -0800 Subject: Storing annotations on exception parameters In-Reply-To: References: <50B57667.6020403@oracle.com> <50FF5251.5080604@oracle.com> Message-ID: <50FF6B83.3000803@oracle.com> On 01/22/2013 08:30 PM, Werner Dietl wrote: > Do you know what operations happen to the exception type between the end of > com.sun.tools.javac.comp.Attr.attribClassBody > (where I call TypeAnnotations.organizeTypeAnnotationsBodies and still > have AnnotatedTypes) > and Gen.genCatch where I only see unannotated types? Well, the tree goes through TransTypes and Lower, and in a separate thread, this morning Maurizio warned of the possibility of losing annotations during erasure (TransTypes). And if you follow the supertypes involved in the erasure visitor, Types.java, 2003 you end up soon enough at the following couple of lines in Types.defaultTypeVisitor, round about line 4199: // Pretend annotations don't exist public R visitAnnotatedType(AnnotatedType t, S s) { return visit(t.underlyingType, s); } -- Jon From jonathan.gibbons at oracle.com Tue Jan 22 20:56:24 2013 From: jonathan.gibbons at oracle.com (Jonathan Gibbons) Date: Tue, 22 Jan 2013 20:56:24 -0800 Subject: Storing annotations on exception parameters In-Reply-To: <50FF6B83.3000803@oracle.com> References: <50B57667.6020403@oracle.com> <50FF5251.5080604@oracle.com> <50FF6B83.3000803@oracle.com> Message-ID: <50FF6D78.2080508@oracle.com> On 01/22/2013 08:48 PM, Jonathan Gibbons wrote: > On 01/22/2013 08:30 PM, Werner Dietl wrote: >> Do you know what operations happen to the exception type between the >> end of >> com.sun.tools.javac.comp.Attr.attribClassBody >> (where I call TypeAnnotations.organizeTypeAnnotationsBodies and still >> have AnnotatedTypes) >> and Gen.genCatch where I only see unannotated types? > > Well, the tree goes through TransTypes and Lower, and in a separate > thread, this morning Maurizio warned of the possibility of losing > annotations during erasure (TransTypes). > > And if you follow the supertypes involved in the erasure visitor, > Types.java, 2003 > you end up soon enough at the following couple of lines in > Types.defaultTypeVisitor, > round about line 4199: > > // Pretend annotations don't exist > public R visitAnnotatedType(AnnotatedType t, S s) { return > visit(t.underlyingType, s); } > > -- Jon At a guess, I would suggest trying, in the erasure visitor, override visitAnnotatedType, separate the type-annotations from the underlying type, then compose new AnnotatedType from the erasure of the type annotations and the erasure of the underlying type. -- Jon From jonathan.gibbons at oracle.com Tue Jan 22 21:30:37 2013 From: jonathan.gibbons at oracle.com (Jonathan Gibbons) Date: Tue, 22 Jan 2013 21:30:37 -0800 Subject: type annotations in javadoc Message-ID: <50FF757D.3040709@oracle.com> Werner, Bhavesh, I'm looking at the javadoc impl for type-annotations. The following are simply notes/observations... * See TypeMaker.getType which transforms javac "Type"s into javadoc ones. * The TypeMaker.getType 67-69 sems to be redundant since it it effectively equivalent to the lines that follow * The work to create text from annotations happens, or should happen in LinkFactory.getLinkOutput, round about line 64 * There's a presumption that type annotations precede the type, which is presumably not always true * javadoc uses javadoc AnnotatedType to model javac AnnotatedType, providing methods to access the type annotations and underlying type. com.sun.javadoc.* is Yet Another Public Reflection API, along with javax.lang.model.* and java.lang.reflect.* and needs to be updated (officially). * javadoc implicitly presumes that annotated types will be available when javadoc runs, after Enter/MemberEnter. javadoc does not use Attr or anything later in the compiler pipeline. -- Jon From wdietl at gmail.com Tue Jan 22 23:44:36 2013 From: wdietl at gmail.com (wdietl at gmail.com) Date: Wed, 23 Jan 2013 07:44:36 +0000 Subject: hg: type-annotations/type-annotations: 2 new changesets Message-ID: <20130123074436.73031474BB@hg.openjdk.java.net> Changeset: 8209c91b751d Author: sherman Date: 2013-01-22 21:02 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/rev/8209c91b751d 8003680: JSR 310 Date/Time API Summary: Integration of JSR310 Date/Time API for M6 Reviewed-by: alanb, naoto, dholmes Contributed-by: scolebourne at joda.org, roger.riggs at oracle.com, richard.warburton at gmail.com, misterm at gmail.com ! common/makefiles/javadoc/CORE_PKGS.gmk ! make/jprt.properties ! test/Makefile Changeset: d0a445e9772c Author: wmdietl Date: 2013-01-22 23:34 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/rev/d0a445e9772c Automated merge with http://hg.openjdk.java.net/jdk8/tl/ From wdietl at gmail.com Tue Jan 22 23:46:40 2013 From: wdietl at gmail.com (wdietl at gmail.com) Date: Wed, 23 Jan 2013 07:46:40 +0000 Subject: hg: type-annotations/type-annotations/jdk: 2 new changesets Message-ID: <20130123074715.C5B41474BC@hg.openjdk.java.net> Changeset: 919afffa70b0 Author: sherman Date: 2013-01-22 20:59 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/919afffa70b0 8003680: JSR 310 Date/Time API Summary: Integration of JSR310 Date/Time API for M6 Reviewed-by: alanb, naoto, dholmes Contributed-by: scolebourne at joda.org, roger.riggs at oracle.com, richard.warburton at gmail.com, misterm at gmail.com ! make/docs/CORE_PKGS.gmk ! make/java/Makefile + make/java/time/Makefile ! make/jprt.properties ! make/sun/Makefile + make/sun/tzdb/Makefile ! make/tools/Makefile + make/tools/src/build/tools/tzdb/ChronoField.java + make/tools/src/build/tools/tzdb/DateTimeException.java + make/tools/src/build/tools/tzdb/LocalDate.java + make/tools/src/build/tools/tzdb/LocalDateTime.java + make/tools/src/build/tools/tzdb/LocalTime.java + make/tools/src/build/tools/tzdb/TimeDefinition.java + make/tools/src/build/tools/tzdb/TzdbZoneRulesCompiler.java + make/tools/src/build/tools/tzdb/Utils.java + make/tools/src/build/tools/tzdb/ZoneOffset.java + make/tools/src/build/tools/tzdb/ZoneOffsetTransition.java + make/tools/src/build/tools/tzdb/ZoneOffsetTransitionRule.java + make/tools/src/build/tools/tzdb/ZoneRules.java + make/tools/src/build/tools/tzdb/ZoneRulesBuilder.java + make/tools/tzdb/Makefile ! makefiles/CreateJars.gmk + makefiles/GendataTZDB.gmk ! makefiles/GenerateData.gmk ! makefiles/Tools.gmk + src/share/classes/java/time/Clock.java + src/share/classes/java/time/DateTimeException.java + src/share/classes/java/time/DayOfWeek.java + src/share/classes/java/time/Duration.java + src/share/classes/java/time/Instant.java + src/share/classes/java/time/LocalDate.java + src/share/classes/java/time/LocalDateTime.java + src/share/classes/java/time/LocalTime.java + src/share/classes/java/time/Month.java + src/share/classes/java/time/Period.java + src/share/classes/java/time/PeriodParser.java + src/share/classes/java/time/Ser.java + src/share/classes/java/time/ZoneId.java + src/share/classes/java/time/ZoneOffset.java + src/share/classes/java/time/ZoneRegion.java + src/share/classes/java/time/ZonedDateTime.java + src/share/classes/java/time/calendar/ChronoDateImpl.java + src/share/classes/java/time/calendar/HijrahChrono.java + src/share/classes/java/time/calendar/HijrahDate.java + src/share/classes/java/time/calendar/HijrahDeviationReader.java + src/share/classes/java/time/calendar/HijrahEra.java + src/share/classes/java/time/calendar/JapaneseChrono.java + src/share/classes/java/time/calendar/JapaneseDate.java + src/share/classes/java/time/calendar/JapaneseEra.java + src/share/classes/java/time/calendar/MinguoChrono.java + src/share/classes/java/time/calendar/MinguoDate.java + src/share/classes/java/time/calendar/MinguoEra.java + src/share/classes/java/time/calendar/Ser.java + src/share/classes/java/time/calendar/ThaiBuddhistChrono.java + src/share/classes/java/time/calendar/ThaiBuddhistDate.java + src/share/classes/java/time/calendar/ThaiBuddhistEra.java + src/share/classes/java/time/calendar/package-info.java + src/share/classes/java/time/format/DateTimeBuilder.java + src/share/classes/java/time/format/DateTimeFormatStyleProvider.java + src/share/classes/java/time/format/DateTimeFormatSymbols.java + src/share/classes/java/time/format/DateTimeFormatter.java + src/share/classes/java/time/format/DateTimeFormatterBuilder.java + src/share/classes/java/time/format/DateTimeFormatters.java + src/share/classes/java/time/format/DateTimeParseContext.java + src/share/classes/java/time/format/DateTimeParseException.java + src/share/classes/java/time/format/DateTimePrintContext.java + src/share/classes/java/time/format/DateTimePrintException.java + src/share/classes/java/time/format/DateTimeTextProvider.java + src/share/classes/java/time/format/FormatStyle.java + src/share/classes/java/time/format/SignStyle.java + src/share/classes/java/time/format/TextStyle.java + src/share/classes/java/time/format/package-info.java + src/share/classes/java/time/overview.html + src/share/classes/java/time/package-info.java + src/share/classes/java/time/temporal/Adjusters.java + src/share/classes/java/time/temporal/Chrono.java + src/share/classes/java/time/temporal/ChronoField.java + src/share/classes/java/time/temporal/ChronoLocalDate.java + src/share/classes/java/time/temporal/ChronoLocalDateTime.java + src/share/classes/java/time/temporal/ChronoLocalDateTimeImpl.java + src/share/classes/java/time/temporal/ChronoUnit.java + src/share/classes/java/time/temporal/ChronoZonedDateTime.java + src/share/classes/java/time/temporal/ChronoZonedDateTimeImpl.java + src/share/classes/java/time/temporal/Era.java + src/share/classes/java/time/temporal/ISOChrono.java + src/share/classes/java/time/temporal/ISOEra.java + src/share/classes/java/time/temporal/ISOFields.java + src/share/classes/java/time/temporal/JulianFields.java + src/share/classes/java/time/temporal/MonthDay.java + src/share/classes/java/time/temporal/OffsetDate.java + src/share/classes/java/time/temporal/OffsetDateTime.java + src/share/classes/java/time/temporal/OffsetTime.java + src/share/classes/java/time/temporal/Queries.java + src/share/classes/java/time/temporal/Ser.java + src/share/classes/java/time/temporal/SimplePeriod.java + src/share/classes/java/time/temporal/Temporal.java + src/share/classes/java/time/temporal/TemporalAccessor.java + src/share/classes/java/time/temporal/TemporalAdder.java + src/share/classes/java/time/temporal/TemporalAdjuster.java + src/share/classes/java/time/temporal/TemporalField.java + src/share/classes/java/time/temporal/TemporalQuery.java + src/share/classes/java/time/temporal/TemporalSubtractor.java + src/share/classes/java/time/temporal/TemporalUnit.java + src/share/classes/java/time/temporal/ValueRange.java + src/share/classes/java/time/temporal/WeekFields.java + src/share/classes/java/time/temporal/Year.java + src/share/classes/java/time/temporal/YearMonth.java + src/share/classes/java/time/temporal/package-info.java + src/share/classes/java/time/zone/Ser.java + src/share/classes/java/time/zone/TzdbZoneRulesProvider.java + src/share/classes/java/time/zone/ZoneOffsetTransition.java + src/share/classes/java/time/zone/ZoneOffsetTransitionRule.java + src/share/classes/java/time/zone/ZoneRules.java + src/share/classes/java/time/zone/ZoneRulesException.java + src/share/classes/java/time/zone/ZoneRulesProvider.java + src/share/classes/java/time/zone/package-info.java ! src/share/classes/java/util/Formatter.java ! test/Makefile + test/java/time/META-INF/services/java.time.temporal.Chrono + test/java/time/TEST.properties + test/java/time/tck/java/time/AbstractDateTimeTest.java + test/java/time/tck/java/time/AbstractTCKTest.java + test/java/time/tck/java/time/TCKClock.java + test/java/time/tck/java/time/TCKClock_Fixed.java + test/java/time/tck/java/time/TCKClock_Offset.java + test/java/time/tck/java/time/TCKClock_System.java + test/java/time/tck/java/time/TCKClock_Tick.java + test/java/time/tck/java/time/TCKDayOfWeek.java + test/java/time/tck/java/time/TCKDuration.java + test/java/time/tck/java/time/TCKInstant.java + test/java/time/tck/java/time/TCKLocalDate.java + test/java/time/tck/java/time/TCKLocalDateTime.java + test/java/time/tck/java/time/TCKLocalTime.java + test/java/time/tck/java/time/TCKMonth.java + test/java/time/tck/java/time/TCKZoneId.java + test/java/time/tck/java/time/TCKZoneOffset.java + test/java/time/tck/java/time/TCKZonedDateTime.java + test/java/time/tck/java/time/calendar/CopticChrono.java + test/java/time/tck/java/time/calendar/CopticDate.java + test/java/time/tck/java/time/calendar/CopticEra.java + test/java/time/tck/java/time/calendar/TestChronoLocalDate.java + test/java/time/tck/java/time/calendar/TestChronoLocalDateTime.java + test/java/time/tck/java/time/calendar/TestHijrahChrono.java + test/java/time/tck/java/time/calendar/TestJapaneseChrono.java + test/java/time/tck/java/time/calendar/TestMinguoChrono.java + test/java/time/tck/java/time/calendar/TestServiceLoader.java + test/java/time/tck/java/time/calendar/TestThaiBuddhistChrono.java + test/java/time/tck/java/time/format/TCKDateTimeFormatSymbols.java + test/java/time/tck/java/time/format/TCKDateTimeFormatter.java + test/java/time/tck/java/time/format/TCKDateTimeFormatterBuilder.java + test/java/time/tck/java/time/format/TCKDateTimeFormatters.java + test/java/time/tck/java/time/format/TCKDateTimePrintException.java + test/java/time/tck/java/time/format/TCKDateTimeTextPrinting.java + test/java/time/tck/java/time/format/TCKLocalizedFieldParser.java + test/java/time/tck/java/time/format/TCKLocalizedFieldPrinter.java + test/java/time/tck/java/time/temporal/TCKDateTimeAdjusters.java + test/java/time/tck/java/time/temporal/TCKISOFields.java + test/java/time/tck/java/time/temporal/TCKJulianFields.java + test/java/time/tck/java/time/temporal/TCKMonthDay.java + test/java/time/tck/java/time/temporal/TCKOffsetDate.java + test/java/time/tck/java/time/temporal/TCKOffsetDateTime.java + test/java/time/tck/java/time/temporal/TCKOffsetTime.java + test/java/time/tck/java/time/temporal/TCKSimplePeriod.java + test/java/time/tck/java/time/temporal/TCKWeekFields.java + test/java/time/tck/java/time/temporal/TCKYear.java + test/java/time/tck/java/time/temporal/TCKYearMonth.java + test/java/time/tck/java/time/temporal/TestChrono.java + test/java/time/tck/java/time/temporal/TestChronoLocalDate.java + test/java/time/tck/java/time/temporal/TestChronoLocalDateTime.java + test/java/time/tck/java/time/temporal/TestChronoZonedDateTime.java + test/java/time/tck/java/time/temporal/TestISOChrono.java + test/java/time/tck/java/time/zone/TCKFixedZoneRules.java + test/java/time/tck/java/time/zone/TCKZoneOffsetTransition.java + test/java/time/tck/java/time/zone/TCKZoneOffsetTransitionRule.java + test/java/time/tck/java/time/zone/TCKZoneRules.java + test/java/time/tck/java/time/zone/TCKZoneRulesProvider.java + test/java/time/test/java/time/AbstractTest.java + test/java/time/test/java/time/MockSimplePeriod.java + test/java/time/test/java/time/TestClock_Fixed.java + test/java/time/test/java/time/TestClock_Offset.java + test/java/time/test/java/time/TestClock_System.java + test/java/time/test/java/time/TestClock_Tick.java + test/java/time/test/java/time/TestDuration.java + test/java/time/test/java/time/TestInstant.java + test/java/time/test/java/time/TestLocalDate.java + test/java/time/test/java/time/TestLocalDateTime.java + test/java/time/test/java/time/TestLocalTime.java + test/java/time/test/java/time/TestPeriod.java + test/java/time/test/java/time/TestPeriodParser.java + test/java/time/test/java/time/TestZoneId.java + test/java/time/test/java/time/TestZoneOffset.java + test/java/time/test/java/time/TestZonedDateTime.java + test/java/time/test/java/time/format/AbstractTestPrinterParser.java + test/java/time/test/java/time/format/MockIOExceptionAppendable.java + test/java/time/test/java/time/format/TestCharLiteralParser.java + test/java/time/test/java/time/format/TestCharLiteralPrinter.java + test/java/time/test/java/time/format/TestDateTimeFormatSymbols.java + test/java/time/test/java/time/format/TestDateTimeFormatter.java + test/java/time/test/java/time/format/TestDateTimeFormatters.java + test/java/time/test/java/time/format/TestDateTimePrintException.java + test/java/time/test/java/time/format/TestDateTimeTextProvider.java + test/java/time/test/java/time/format/TestFractionPrinterParser.java + test/java/time/test/java/time/format/TestNumberParser.java + test/java/time/test/java/time/format/TestNumberPrinter.java + test/java/time/test/java/time/format/TestPadParserDecorator.java + test/java/time/test/java/time/format/TestPadPrinterDecorator.java + test/java/time/test/java/time/format/TestReducedParser.java + test/java/time/test/java/time/format/TestReducedPrinter.java + test/java/time/test/java/time/format/TestSettingsParser.java + test/java/time/test/java/time/format/TestStringLiteralParser.java + test/java/time/test/java/time/format/TestStringLiteralPrinter.java + test/java/time/test/java/time/format/TestTextParser.java + test/java/time/test/java/time/format/TestTextPrinter.java + test/java/time/test/java/time/format/TestZoneIdParser.java + test/java/time/test/java/time/format/TestZoneOffsetParser.java + test/java/time/test/java/time/format/TestZoneOffsetPrinter.java + test/java/time/test/java/time/format/TestZoneTextPrinterParser.java + test/java/time/test/java/time/temporal/MockFieldNoValue.java + test/java/time/test/java/time/temporal/MockFieldValue.java + test/java/time/test/java/time/temporal/TestChronoUnit.java + test/java/time/test/java/time/temporal/TestDateTimeAdjusters.java + test/java/time/test/java/time/temporal/TestDateTimeBuilderCombinations.java + test/java/time/test/java/time/temporal/TestDateTimeValueRange.java + test/java/time/test/java/time/temporal/TestISOChronoImpl.java + test/java/time/test/java/time/temporal/TestJapaneseChronoImpl.java + test/java/time/test/java/time/temporal/TestMonthDay.java + test/java/time/test/java/time/temporal/TestOffsetDate.java + test/java/time/test/java/time/temporal/TestOffsetDateTime.java + test/java/time/test/java/time/temporal/TestOffsetDateTime_instants.java + test/java/time/test/java/time/temporal/TestOffsetTime.java + test/java/time/test/java/time/temporal/TestThaiBuddhistChronoImpl.java + test/java/time/test/java/time/temporal/TestYear.java + test/java/time/test/java/time/temporal/TestYearMonth.java + test/java/time/test/java/time/zone/TestFixedZoneRules.java + test/java/time/test/java/util/TestFormatter.java Changeset: e033fea0eab8 Author: wmdietl Date: 2013-01-22 23:33 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/e033fea0eab8 Automated merge with http://hg.openjdk.java.net/jdk8/tl/jdk From wdietl at gmail.com Tue Jan 22 23:47:25 2013 From: wdietl at gmail.com (wdietl at gmail.com) Date: Wed, 23 Jan 2013 07:47:25 +0000 Subject: hg: type-annotations/type-annotations/langtools: 6 new changesets Message-ID: <20130123074745.089E4474BD@hg.openjdk.java.net> Changeset: e8d16aed502d Author: wmdietl Date: 2013-01-22 23:39 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/langtools/rev/e8d16aed502d Preserve AnnotatedType through erasure. ! src/share/classes/com/sun/tools/javac/code/Types.java Changeset: 43574d4c2f3b Author: wmdietl Date: 2013-01-22 23:39 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/langtools/rev/43574d4c2f3b Disable type annotations in javadoc test until fully implemented. ! test/com/sun/javadoc/typeAnnotations/smoke/TestSmoke.java Changeset: c5eb9e744bf9 Author: wmdietl Date: 2013-01-22 23:40 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/langtools/rev/c5eb9e744bf9 Disable repeated type annotation tests until tests within method bodies work. Can we somehow keep the working tests enabled? ! test/tools/javac/annotations/typeAnnotations/classfile/CombinationsTargetTest1.java ! test/tools/javac/annotations/typeAnnotations/classfile/CombinationsTargetTest2.java Changeset: 004f4af1a1db Author: wmdietl Date: 2013-01-22 23:41 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/langtools/rev/004f4af1a1db Disable test of type annotation scoping checks until AnnotatedType is fully implemented. ! test/tools/javac/annotations/typeAnnotations/failures/CantAnnotateStaticClass.java Changeset: b81b864de5b4 Author: wmdietl Date: 2013-01-22 23:41 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/langtools/rev/b81b864de5b4 Use real bugid. ! test/tools/javac/annotations/typeAnnotations/failures/TypeAndField.java Changeset: a253a6d351eb Author: wmdietl Date: 2013-01-22 23:42 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/langtools/rev/a253a6d351eb Split up test for multicatch from working exception parameters; disable multicatch tests. ! test/tools/javac/annotations/typeAnnotations/referenceinfos/ExceptionParameters.java + test/tools/javac/annotations/typeAnnotations/referenceinfos/MultiCatch.java From wdietl at gmail.com Wed Jan 23 00:23:38 2013 From: wdietl at gmail.com (Werner Dietl) Date: Wed, 23 Jan 2013 00:23:38 -0800 Subject: Storing annotations on exception parameters In-Reply-To: <50FF6D78.2080508@oracle.com> References: <50B57667.6020403@oracle.com> <50FF5251.5080604@oracle.com> <50FF6B83.3000803@oracle.com> <50FF6D78.2080508@oracle.com> Message-ID: Thanks for that suggestion. Maintaining the AnnotatedType through erasure works and I pushed that change. I now see the AnnotatedType in Gen/Code and see how I can make the connection between everything. However, I need to re-assemble a UnionType once the constituent AnnotatedTypes have been built. At the moment the UnionType only has the underlying types. This needs some more work to adapt the UnionType in the right places. I've split off the multicatch test cases and disabled them for now. I will fix the problem ASAP. cu, WMD. On Tue, Jan 22, 2013 at 8:56 PM, Jonathan Gibbons wrote: > On 01/22/2013 08:48 PM, Jonathan Gibbons wrote: >> >> On 01/22/2013 08:30 PM, Werner Dietl wrote: >>> >>> Do you know what operations happen to the exception type between the end >>> of >>> com.sun.tools.javac.comp.Attr.attribClassBody >>> (where I call TypeAnnotations.organizeTypeAnnotationsBodies and still >>> have AnnotatedTypes) >>> and Gen.genCatch where I only see unannotated types? >> >> >> Well, the tree goes through TransTypes and Lower, and in a separate >> thread, this morning Maurizio warned of the possibility of losing >> annotations during erasure (TransTypes). >> >> And if you follow the supertypes involved in the erasure visitor, >> Types.java, 2003 >> you end up soon enough at the following couple of lines in >> Types.defaultTypeVisitor, >> round about line 4199: >> >> // Pretend annotations don't exist >> public R visitAnnotatedType(AnnotatedType t, S s) { return >> visit(t.underlyingType, s); } >> >> -- Jon > > > At a guess, I would suggest trying, in the erasure visitor, override > visitAnnotatedType, > separate the type-annotations from the underlying type, then compose new > AnnotatedType from the erasure of the type annotations and the erasure of > the > underlying type. > > -- Jon -- http://www.google.com/profiles/wdietl From wdietl at gmail.com Wed Jan 23 00:26:01 2013 From: wdietl at gmail.com (Werner Dietl) Date: Wed, 23 Jan 2013 00:26:01 -0800 Subject: @Repeatable changes In-Reply-To: <50FED260.2080508@oracle.com> References: <50F99F19.80405@oracle.com> <50FED260.2080508@oracle.com> Message-ID: Sorry about that. I fixed the bug number in the test. cu, WMD. On Tue, Jan 22, 2013 at 9:54 AM, Steve Sides wrote: > I noticed the bug number is 1234567. I entered a bug for this, 8006703, > which can replace the placeholder, and noted the changeset and test name, > etc. > > It will eventually appear on bug.sun.com. > > -steve > > > On 1/20/2013 12:32 AM, Werner Dietl wrote: >> >> Hi Steve, >> >> I fixed this issue and added a simple test case: >> >> >> http://hg.openjdk.java.net/type-annotations/type-annotations/langtools/rev/da5a2f00191d >> >> Please do let me know which test cases fail in type-annotations and of >> any other issues you may find. >> >> Thanks, >> cu, WMD. >> >> On Fri, Jan 18, 2013 at 11:14 AM, Steve Sides >> wrote: >>> >>> Hi, >>> We got the @Repeatable changes. Several tests are failing. Most seem to >>> fail because they still use the old method. A typical error message: >>> >>> ----------direct:(3/257)---------- >>> DuplicateTypeAnnotation.java:11:17: >>> compiler.err.duplicate.annotation.missing.container: A, >>> java.lang.annotation.Repeatable >>> DuplicateTypeAnnotation.java:11:20: >>> compiler.err.duplicate.annotation.missing.container: A, >>> java.lang.annotation.Repeatable >>> 2 errors >>> >>> However, there's also case which crash javac. If a repeatable >>> annotations >>> has TYPE_USE and FIELD as @Targets and it's put on a field, javac crashes >>> with this assertion, >>> >>> java.lang.AssertionError: Can't annotate already annotated type: (@A :: >>> java.lang.Integer); adding: @A >>> >>> sample and output below. >>> >>> -steve >>> >>> 8<- - - Test.java - - - - - - - - - - - - - - >>> import java.lang.annotation.*; >>> import static java.lang.annotation.RetentionPolicy.*; >>> import static java.lang.annotation.ElementType.*; >>> >>> // (repeating) type annotations at class level. >>> class Test { >>> Test(){} >>> @A Integer i1 = 0; // crash FIELD >>> // type usage in method body >>> @B @B String test() { return null;} // ok on METHOD >>> } >>> >>> @Retention(CLASS) >>> @Target({TYPE_USE,FIELD}) >>> @Repeatable( AC.class ) >>> @interface A { } >>> >>> @Retention(CLASS) >>> @Target({TYPE_USE,FIELD}) >>> @interface AC { A[] value(); } >>> >>> @Retention(CLASS) >>> @Target({TYPE_USE,METHOD}) >>> @Repeatable( BC.class ) >>> @interface B { } >>> >>> @Retention(CLASS) >>> @Target({TYPE_USE,METHOD}) >>> @interface BC { B[] value(); } >>> >>> 8<- - - compiler output - - - - - - - - - - - - - - >>> >>> An exception has occurred in the compiler (1.8.0-ea). Please file a bug >>> at >>> the Java Developer Connection (http://java.sun.com/webapps/bugreport) >>> after >>> checking the Bug Parade for duplicates. Include your program and the >>> following diagnostic in your report. Thank you. >>> java.lang.AssertionError: Can't annotate already annotated type: (@A :: >>> java.lang.Integer); adding: @A >>> at com.sun.tools.javac.util.Assert.error(Assert.java:133) >>> at com.sun.tools.javac.util.Assert.check(Assert.java:94) >>> at >>> com.sun.tools.javac.code.Type$AnnotatedType.(Type.java:1505) >>> at >>> >>> com.sun.tools.javac.code.TypeAnnotations$TypeAnnotationPositions$1.visitAnnotatedType(TypeAnnotations.java:410) >>> at >>> >>> com.sun.tools.javac.code.TypeAnnotations$TypeAnnotationPositions$1.visitAnnotatedType(TypeAnnotations.java:389) >>> at >>> com.sun.tools.javac.code.Type$AnnotatedType.accept(Type.java:1527) >>> at >>> >>> com.sun.tools.javac.code.TypeAnnotations$TypeAnnotationPositions.typeWithAnnotations(TypeAnnotations.java:470) >>> at >>> >>> com.sun.tools.javac.code.TypeAnnotations$TypeAnnotationPositions.typeWithAnnotations(TypeAnnotations.java:353) >>> at >>> >>> com.sun.tools.javac.code.TypeAnnotations$TypeAnnotationPositions.separateAnnotationsKinds(TypeAnnotations.java:189) >>> at >>> >>> com.sun.tools.javac.code.TypeAnnotations$TypeAnnotationPositions.visitVarDef(TypeAnnotations.java:917) >>> at >>> com.sun.tools.javac.tree.JCTree$JCVariableDecl.accept(JCTree.java:792) >>> at >>> com.sun.tools.javac.tree.TreeScanner.scan(TreeScanner.java:49) >>> at >>> >>> com.sun.tools.javac.code.TypeAnnotations$TypeAnnotationPositions.scan(TypeAnnotations.java:135) >>> at >>> com.sun.tools.javac.tree.TreeScanner.scan(TreeScanner.java:57) >>> at >>> >>> com.sun.tools.javac.code.TypeAnnotations$TypeAnnotationPositions.visitClassDef(TypeAnnotations.java:842) >>> at >>> com.sun.tools.javac.tree.JCTree$JCClassDecl.accept(JCTree.java:650) >>> at >>> com.sun.tools.javac.tree.TreeScanner.scan(TreeScanner.java:49) >>> at >>> >>> com.sun.tools.javac.code.TypeAnnotations$TypeAnnotationPositions.scan(TypeAnnotations.java:135) >>> at >>> >>> com.sun.tools.javac.code.TypeAnnotations.organizeTypeAnnotationsBodies(TypeAnnotations.java:102) >>> at com.sun.tools.javac.comp.Attr.attribClassBody(Attr.java:4039) >>> at com.sun.tools.javac.comp.Attr.attribClass(Attr.java:3918) >>> at com.sun.tools.javac.comp.Attr.attribClass(Attr.java:3852) >>> at com.sun.tools.javac.comp.Attr.attrib(Attr.java:3826) >>> at >>> com.sun.tools.javac.main.JavaCompiler.attribute(JavaCompiler.java:1254) >>> at >>> com.sun.tools.javac.main.JavaCompiler.compile2(JavaCompiler.java:907) >>> at >>> com.sun.tools.javac.main.JavaCompiler.compile(JavaCompiler.java:866) >>> at com.sun.tools.javac.main.Main.compile(Main.java:506) >>> at com.sun.tools.javac.main.Main.compile(Main.java:365) >>> at com.sun.tools.javac.main.Main.compile(Main.java:354) >>> at com.sun.tools.javac.main.Main.compile(Main.java:345) >>> at com.sun.tools.javac.Main.compile(Main.java:76) >>> at com.sun.tools.javac.Main.main(Main.java:61) >>> >>> >> >> > -- http://www.google.com/profiles/wdietl From jonathan.gibbons at oracle.com Wed Jan 23 11:07:53 2013 From: jonathan.gibbons at oracle.com (jonathan.gibbons at oracle.com) Date: Wed, 23 Jan 2013 19:07:53 +0000 Subject: hg: type-annotations/type-annotations/langtools: fix bug numbers in tests Message-ID: <20130123190804.5E7EC474D9@hg.openjdk.java.net> Changeset: d3c4fc23025c Author: jjg Date: 2013-01-23 11:07 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/langtools/rev/d3c4fc23025c fix bug numbers in tests ! test/tools/javac/annotations/typeAnnotations/6967002/T6967002.java ! test/tools/javac/annotations/typeAnnotations/InnerClass.java ! test/tools/javac/annotations/typeAnnotations/MultipleTargets.java ! test/tools/javac/annotations/typeAnnotations/TypeParameterTarget.java ! test/tools/javac/annotations/typeAnnotations/TypeUseTarget.java ! test/tools/javac/annotations/typeAnnotations/attribution/Scopes.java ! test/tools/javac/annotations/typeAnnotations/classfile/CombinationsTargetTest1.java ! test/tools/javac/annotations/typeAnnotations/classfile/CombinationsTargetTest2.java ! test/tools/javac/annotations/typeAnnotations/classfile/DeadCode.java ! test/tools/javac/annotations/typeAnnotations/classfile/TypeCasts.java ! test/tools/javac/annotations/typeAnnotations/classfile/Wildcards.java ! test/tools/javac/annotations/typeAnnotations/failures/AnnotatedImport.java ! test/tools/javac/annotations/typeAnnotations/failures/AnnotatedPackage1.java ! test/tools/javac/annotations/typeAnnotations/failures/AnnotatedPackage2.java ! test/tools/javac/annotations/typeAnnotations/failures/AnnotationVersion.java ! test/tools/javac/annotations/typeAnnotations/failures/BadCast.java ! test/tools/javac/annotations/typeAnnotations/failures/CantAnnotateStaticClass.java ! test/tools/javac/annotations/typeAnnotations/failures/IncompleteArray.java ! test/tools/javac/annotations/typeAnnotations/failures/IncompleteVararg.java ! test/tools/javac/annotations/typeAnnotations/failures/IndexArray.java ! test/tools/javac/annotations/typeAnnotations/failures/LintCast.java ! test/tools/javac/annotations/typeAnnotations/failures/OldArray.java ! test/tools/javac/annotations/typeAnnotations/failures/Scopes.java ! test/tools/javac/annotations/typeAnnotations/failures/StaticFields.java ! test/tools/javac/annotations/typeAnnotations/failures/StaticMethods.java ! test/tools/javac/annotations/typeAnnotations/failures/TypeAndField.java ! test/tools/javac/annotations/typeAnnotations/failures/VoidGenericMethod.java ! test/tools/javac/annotations/typeAnnotations/failures/common/arrays/DuplicateAnnotationValue.java ! test/tools/javac/annotations/typeAnnotations/failures/common/arrays/DuplicateTypeAnnotation.java ! test/tools/javac/annotations/typeAnnotations/failures/common/arrays/InvalidLocation.java ! test/tools/javac/annotations/typeAnnotations/failures/common/arrays/MissingAnnotationValue.java ! test/tools/javac/annotations/typeAnnotations/failures/common/innertypeparams/DuplicateAnnotationValue.java ! test/tools/javac/annotations/typeAnnotations/failures/common/innertypeparams/DuplicateTypeAnnotation.java ! test/tools/javac/annotations/typeAnnotations/failures/common/innertypeparams/InvalidLocation.java ! test/tools/javac/annotations/typeAnnotations/failures/common/innertypeparams/MissingAnnotationValue.java ! test/tools/javac/annotations/typeAnnotations/failures/common/newarray/DuplicateAnnotationValue.java ! test/tools/javac/annotations/typeAnnotations/failures/common/newarray/DuplicateTypeAnnotation.java ! test/tools/javac/annotations/typeAnnotations/failures/common/newarray/InvalidLocation.java ! test/tools/javac/annotations/typeAnnotations/failures/common/newarray/MissingAnnotationValue.java ! test/tools/javac/annotations/typeAnnotations/failures/common/parambounds/BrokenAnnotation.java ! test/tools/javac/annotations/typeAnnotations/failures/common/parambounds/DuplicateAnnotationValue.java ! test/tools/javac/annotations/typeAnnotations/failures/common/parambounds/DuplicateTypeAnnotation.java ! test/tools/javac/annotations/typeAnnotations/failures/common/parambounds/InvalidLocation.java ! test/tools/javac/annotations/typeAnnotations/failures/common/parambounds/MissingAnnotationValue.java ! test/tools/javac/annotations/typeAnnotations/failures/common/receiver/DuplicateAnnotationValue.java ! test/tools/javac/annotations/typeAnnotations/failures/common/receiver/DuplicateTypeAnnotation.java ! test/tools/javac/annotations/typeAnnotations/failures/common/receiver/InvalidLocation.java ! test/tools/javac/annotations/typeAnnotations/failures/common/receiver/MissingAnnotationValue.java ! test/tools/javac/annotations/typeAnnotations/failures/common/receiver/Nesting.java ! test/tools/javac/annotations/typeAnnotations/failures/common/receiver/StaticThings.java ! test/tools/javac/annotations/typeAnnotations/failures/common/receiver/WrongType.java ! test/tools/javac/annotations/typeAnnotations/failures/common/rest/DuplicateAnnotationValue.java ! test/tools/javac/annotations/typeAnnotations/failures/common/rest/DuplicateTypeAnnotation.java ! test/tools/javac/annotations/typeAnnotations/failures/common/rest/InvalidLocation.java ! test/tools/javac/annotations/typeAnnotations/failures/common/rest/MissingAnnotationValue.java ! test/tools/javac/annotations/typeAnnotations/failures/common/typeArgs/DuplicateAnnotationValue.java ! test/tools/javac/annotations/typeAnnotations/failures/common/typeArgs/DuplicateTypeAnnotation.java ! test/tools/javac/annotations/typeAnnotations/failures/common/typeArgs/InvalidLocation.java ! test/tools/javac/annotations/typeAnnotations/failures/common/typeArgs/MissingAnnotationValue.java ! test/tools/javac/annotations/typeAnnotations/failures/common/typeparams/DuplicateAnnotationValue.java ! test/tools/javac/annotations/typeAnnotations/failures/common/typeparams/DuplicateTypeAnnotation.java ! test/tools/javac/annotations/typeAnnotations/failures/common/typeparams/InvalidLocation.java ! test/tools/javac/annotations/typeAnnotations/failures/common/typeparams/MissingAnnotationValue.java ! test/tools/javac/annotations/typeAnnotations/failures/common/wildcards/DuplicateAnnotationValue.java ! test/tools/javac/annotations/typeAnnotations/failures/common/wildcards/DuplicateTypeAnnotation.java ! test/tools/javac/annotations/typeAnnotations/failures/common/wildcards/InvalidLocation.java ! test/tools/javac/annotations/typeAnnotations/failures/common/wildcards/MissingAnnotationValue.java ! test/tools/javac/annotations/typeAnnotations/failures/target/Constructor.java ! test/tools/javac/annotations/typeAnnotations/failures/target/IncompleteArray.java ! test/tools/javac/annotations/typeAnnotations/failures/target/NotTypeParameter.java ! test/tools/javac/annotations/typeAnnotations/failures/target/NotTypeUse.java ! test/tools/javac/annotations/typeAnnotations/failures/target/VoidMethod.java ! test/tools/javac/annotations/typeAnnotations/newlocations/BasicTest.java ! test/tools/javac/annotations/typeAnnotations/newlocations/ClassExtends.java ! test/tools/javac/annotations/typeAnnotations/newlocations/ClassParameters.java ! test/tools/javac/annotations/typeAnnotations/newlocations/ConstructorTypeArgs.java ! test/tools/javac/annotations/typeAnnotations/newlocations/ExceptionParameters.java ! test/tools/javac/annotations/typeAnnotations/newlocations/Expressions.java ! test/tools/javac/annotations/typeAnnotations/newlocations/Fields.java ! test/tools/javac/annotations/typeAnnotations/newlocations/LocalVariables.java ! test/tools/javac/annotations/typeAnnotations/newlocations/MethodReturnType.java ! test/tools/javac/annotations/typeAnnotations/newlocations/MethodTypeArgs.java ! test/tools/javac/annotations/typeAnnotations/newlocations/MethodTypeParameters.java ! test/tools/javac/annotations/typeAnnotations/newlocations/MultiCatch.java ! test/tools/javac/annotations/typeAnnotations/newlocations/NestedTypes.java ! test/tools/javac/annotations/typeAnnotations/newlocations/Parameters.java ! test/tools/javac/annotations/typeAnnotations/newlocations/Receivers.java ! test/tools/javac/annotations/typeAnnotations/newlocations/RepeatingTypeAnnotations.java ! test/tools/javac/annotations/typeAnnotations/newlocations/ResourceVariables.java ! test/tools/javac/annotations/typeAnnotations/newlocations/Throws.java ! test/tools/javac/annotations/typeAnnotations/newlocations/TopLevelBlocks.java ! test/tools/javac/annotations/typeAnnotations/newlocations/TypeCasts.java ! test/tools/javac/annotations/typeAnnotations/newlocations/TypeParameters.java ! test/tools/javac/annotations/typeAnnotations/newlocations/Wildcards.java ! test/tools/javac/annotations/typeAnnotations/referenceinfos/MultiCatch.java From jonathan.gibbons at oracle.com Wed Jan 23 13:35:31 2013 From: jonathan.gibbons at oracle.com (Jonathan Gibbons) Date: Wed, 23 Jan 2013 13:35:31 -0800 Subject: 8006775: JSR 308: Compiler changes in JDK8 Message-ID: <510057A3.3080903@oracle.com> With this changeset, I am pleased to report that the reference impl of "Type Annotations" has made it into the tl/langtools repository. Thanks to the entire team, past and present, for helping to make this happen. -- Jon From maurizio.cimadamore at oracle.com Wed Jan 23 13:44:14 2013 From: maurizio.cimadamore at oracle.com (Maurizio Cimadamore) Date: Wed, 23 Jan 2013 21:44:14 +0000 Subject: 8006775: JSR 308: Compiler changes in JDK8 In-Reply-To: <510057A3.3080903@oracle.com> References: <510057A3.3080903@oracle.com> Message-ID: <510059AE.4000603@oracle.com> On 23/01/13 21:35, Jonathan Gibbons wrote: > With this changeset, I am pleased to report that the reference impl of > "Type Annotations" has made it into the tl/langtools repository. > > Thanks to the entire team, past and present, for helping to make this > happen. > > -- Jon Nicely done! Congrats! Maurizio From wdietl at gmail.com Wed Jan 23 13:51:23 2013 From: wdietl at gmail.com (Werner Dietl) Date: Wed, 23 Jan 2013 13:51:23 -0800 Subject: 8006775: JSR 308: Compiler changes in JDK8 In-Reply-To: <510059AE.4000603@oracle.com> References: <510057A3.3080903@oracle.com> <510059AE.4000603@oracle.com> Message-ID: Wonderful! Thanks for all your work on this! cu, WMD. On Wed, Jan 23, 2013 at 1:44 PM, Maurizio Cimadamore wrote: > On 23/01/13 21:35, Jonathan Gibbons wrote: >> >> With this changeset, I am pleased to report that the reference impl of >> "Type Annotations" has made it into the tl/langtools repository. >> >> Thanks to the entire team, past and present, for helping to make this >> happen. >> >> -- Jon > > Nicely done! Congrats! > > Maurizio -- http://www.google.com/profiles/wdietl From jonathan.gibbons at oracle.com Wed Jan 23 14:03:22 2013 From: jonathan.gibbons at oracle.com (jonathan.gibbons at oracle.com) Date: Wed, 23 Jan 2013 22:03:22 +0000 Subject: hg: type-annotations/type-annotations/langtools: fix whitespace and update copyrights to match tl/langtools Message-ID: <20130123220327.77C6A474E8@hg.openjdk.java.net> Changeset: 8d7cd1bc4b9f Author: jjg Date: 2013-01-23 14:02 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/langtools/rev/8d7cd1bc4b9f fix whitespace and update copyrights to match tl/langtools ! src/share/classes/com/sun/javadoc/AnnotatedType.java ! src/share/classes/com/sun/javadoc/ExecutableMemberDoc.java ! src/share/classes/com/sun/javadoc/Type.java ! src/share/classes/com/sun/javadoc/TypeVariable.java ! src/share/classes/com/sun/source/tree/AnnotatedTypeTree.java ! src/share/classes/com/sun/source/tree/MethodTree.java ! src/share/classes/com/sun/source/tree/Tree.java ! src/share/classes/com/sun/source/tree/TreeVisitor.java ! src/share/classes/com/sun/source/tree/TypeParameterTree.java ! src/share/classes/com/sun/source/util/SimpleTreeVisitor.java ! src/share/classes/com/sun/source/util/TaskEvent.java ! src/share/classes/com/sun/source/util/TreeScanner.java ! src/share/classes/com/sun/tools/classfile/Attribute.java ! src/share/classes/com/sun/tools/classfile/ClassWriter.java ! src/share/classes/com/sun/tools/classfile/RuntimeInvisibleTypeAnnotations_attribute.java ! src/share/classes/com/sun/tools/classfile/RuntimeTypeAnnotations_attribute.java ! src/share/classes/com/sun/tools/classfile/RuntimeVisibleTypeAnnotations_attribute.java ! src/share/classes/com/sun/tools/classfile/TypeAnnotation.java ! src/share/classes/com/sun/tools/doclets/formats/html/AbstractExecutableMemberWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/ConstructorWriterImpl.java ! src/share/classes/com/sun/tools/doclets/formats/html/HtmlDocletWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/LinkFactoryImpl.java ! src/share/classes/com/sun/tools/doclets/formats/html/LinkInfoImpl.java ! src/share/classes/com/sun/tools/doclets/formats/html/MethodWriterImpl.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/util/Util.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/util/links/LinkFactory.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/util/links/LinkInfo.java ! src/share/classes/com/sun/tools/javac/code/Attribute.java ! src/share/classes/com/sun/tools/javac/code/Flags.java ! src/share/classes/com/sun/tools/javac/code/Lint.java ! src/share/classes/com/sun/tools/javac/code/Printer.java ! src/share/classes/com/sun/tools/javac/code/Source.java ! src/share/classes/com/sun/tools/javac/code/TargetType.java ! src/share/classes/com/sun/tools/javac/code/Type.java ! src/share/classes/com/sun/tools/javac/code/TypeAnnotationPosition.java ! src/share/classes/com/sun/tools/javac/code/TypeAnnotations.java ! src/share/classes/com/sun/tools/javac/code/Types.java ! src/share/classes/com/sun/tools/javac/comp/ConstFold.java ! src/share/classes/com/sun/tools/javac/comp/Flow.java ! src/share/classes/com/sun/tools/javac/comp/Lower.java ! src/share/classes/com/sun/tools/javac/comp/MemberEnter.java ! src/share/classes/com/sun/tools/javac/comp/Resolve.java ! src/share/classes/com/sun/tools/javac/comp/TransTypes.java ! src/share/classes/com/sun/tools/javac/jvm/ClassReader.java ! src/share/classes/com/sun/tools/javac/jvm/ClassWriter.java ! src/share/classes/com/sun/tools/javac/jvm/Code.java ! src/share/classes/com/sun/tools/javac/jvm/Gen.java ! src/share/classes/com/sun/tools/javac/jvm/JNIWriter.java ! src/share/classes/com/sun/tools/javac/main/JavaCompiler.java ! src/share/classes/com/sun/tools/javac/model/JavacTypes.java ! src/share/classes/com/sun/tools/javac/parser/JavacParser.java ! src/share/classes/com/sun/tools/javac/parser/Scanner.java ! src/share/classes/com/sun/tools/javac/parser/UnicodeReader.java ! src/share/classes/com/sun/tools/javac/processing/JavacProcessingEnvironment.java ! src/share/classes/com/sun/tools/javac/resources/compiler_ja.properties ! src/share/classes/com/sun/tools/javac/resources/compiler_zh_CN.properties ! src/share/classes/com/sun/tools/javac/tree/JCTree.java ! src/share/classes/com/sun/tools/javac/tree/TreeCopier.java ! src/share/classes/com/sun/tools/javac/tree/TreeInfo.java ! src/share/classes/com/sun/tools/javac/tree/TreeMaker.java ! src/share/classes/com/sun/tools/javac/tree/TreeScanner.java ! src/share/classes/com/sun/tools/javac/tree/TreeTranslator.java ! src/share/classes/com/sun/tools/javac/util/JCDiagnostic.java ! src/share/classes/com/sun/tools/javac/util/Log.java ! src/share/classes/com/sun/tools/javadoc/AbstractTypeImpl.java ! src/share/classes/com/sun/tools/javadoc/AnnotatedTypeImpl.java ! src/share/classes/com/sun/tools/javadoc/ClassDocImpl.java ! src/share/classes/com/sun/tools/javadoc/ExecutableMemberDocImpl.java ! src/share/classes/com/sun/tools/javadoc/PrimitiveType.java ! src/share/classes/com/sun/tools/javadoc/TypeMaker.java ! src/share/classes/com/sun/tools/javadoc/TypeVariableImpl.java ! src/share/classes/com/sun/tools/javap/AnnotationWriter.java ! src/share/classes/com/sun/tools/javap/AttributeWriter.java ! src/share/classes/com/sun/tools/javap/CodeWriter.java ! src/share/classes/com/sun/tools/javap/InstructionDetailWriter.java ! src/share/classes/com/sun/tools/javap/TypeAnnotationWriter.java ! src/share/classes/javax/lang/model/SourceVersion.java ! src/share/classes/javax/lang/model/type/AnnotatedType.java ! src/share/classes/javax/lang/model/type/ExecutableType.java ! src/share/classes/javax/lang/model/type/TypeKind.java ! src/share/classes/javax/lang/model/type/TypeVisitor.java ! src/share/classes/javax/lang/model/util/AbstractTypeVisitor6.java ! src/share/classes/javax/lang/model/util/Types.java ! test/tools/javac/7129225/TestImportStar.java ! test/tools/javac/T6985181.java ! test/tools/javac/annotations/typeAnnotations/6967002/T6967002.java ! test/tools/javac/annotations/typeAnnotations/InnerClass.java ! test/tools/javac/annotations/typeAnnotations/MultipleTargets.java ! test/tools/javac/annotations/typeAnnotations/TypeParameterTarget.java ! test/tools/javac/annotations/typeAnnotations/TypeUseTarget.java ! test/tools/javac/annotations/typeAnnotations/attribution/Scopes.java ! test/tools/javac/annotations/typeAnnotations/classfile/ClassfileTestHelper.java ! test/tools/javac/annotations/typeAnnotations/classfile/CombinationsTargetTest1.java ! test/tools/javac/annotations/typeAnnotations/classfile/CombinationsTargetTest2.java ! test/tools/javac/annotations/typeAnnotations/classfile/DeadCode.java ! test/tools/javac/annotations/typeAnnotations/failures/CantAnnotateStaticClass.java ! test/tools/javac/annotations/typeAnnotations/failures/OldArray.java ! test/tools/javac/annotations/typeAnnotations/failures/VoidGenericMethod.java ! test/tools/javac/annotations/typeAnnotations/failures/common/parambounds/BrokenAnnotation.java ! test/tools/javac/annotations/typeAnnotations/failures/common/receiver/Nesting.java ! test/tools/javac/annotations/typeAnnotations/failures/common/receiver/StaticThings.java ! test/tools/javac/annotations/typeAnnotations/failures/common/receiver/WrongType.java ! test/tools/javac/annotations/typeAnnotations/failures/target/DotClass.java ! test/tools/javac/annotations/typeAnnotations/newlocations/BasicTest.java ! test/tools/javac/annotations/typeAnnotations/newlocations/ClassExtends.java ! test/tools/javac/annotations/typeAnnotations/newlocations/ClassParameters.java ! test/tools/javac/annotations/typeAnnotations/newlocations/ConstructorTypeArgs.java ! test/tools/javac/annotations/typeAnnotations/newlocations/Expressions.java ! test/tools/javac/annotations/typeAnnotations/newlocations/Fields.java ! test/tools/javac/annotations/typeAnnotations/newlocations/LocalVariables.java ! test/tools/javac/annotations/typeAnnotations/newlocations/MethodReturnType.java ! test/tools/javac/annotations/typeAnnotations/newlocations/MethodTypeArgs.java ! test/tools/javac/annotations/typeAnnotations/newlocations/MethodTypeParameters.java ! test/tools/javac/annotations/typeAnnotations/newlocations/MultiCatch.java ! test/tools/javac/annotations/typeAnnotations/newlocations/NestedTypes.java ! test/tools/javac/annotations/typeAnnotations/newlocations/Parameters.java ! test/tools/javac/annotations/typeAnnotations/newlocations/Receivers.java ! test/tools/javac/annotations/typeAnnotations/newlocations/RepeatingTypeAnnotations.java ! test/tools/javac/annotations/typeAnnotations/newlocations/Throws.java ! test/tools/javac/annotations/typeAnnotations/newlocations/TopLevelBlocks.java ! test/tools/javac/annotations/typeAnnotations/newlocations/TypeCasts.java ! test/tools/javac/annotations/typeAnnotations/newlocations/TypeParameters.java ! test/tools/javac/annotations/typeAnnotations/newlocations/Wildcards.java ! test/tools/javac/annotations/typeAnnotations/referenceinfos/Constructors.java ! test/tools/javac/annotations/typeAnnotations/referenceinfos/Driver.java ! test/tools/javac/annotations/typeAnnotations/referenceinfos/FromSpecification.java ! test/tools/javac/api/EndPositions.java ! test/tools/javac/diags/CheckResourceKeys.java ! test/tools/javac/diags/examples/CantAnnotateNestedType.java ! test/tools/javac/diags/examples/CantAnnotateStaticClass.java ! test/tools/javac/diags/examples/IncorrectReceiverType.java ! test/tools/javac/diags/examples/NoAnnotationsOnDotClass.java ! test/tools/javac/diags/examples/ThisAsIdentifier.java ! test/tools/javac/diags/examples/TypeAnnotationsNotSupported.java ! test/tools/javac/processing/model/element/TestAnonClassNames.java ! test/tools/javac/processing/model/element/TestMissingElement/TestMissingElement.java ! test/tools/javac/processing/model/util/directSupersOfErr/DirectSupersOfErr.java ! test/tools/javac/tree/TreeKindTest.java ! test/tools/javac/tree/TreePosTest.java ! test/tools/javac/treeannotests/AnnoTreeTests.java ! test/tools/javac/treeannotests/TestProcessor.java ! test/tools/javap/typeAnnotations/JSR175Annotations.java ! test/tools/javap/typeAnnotations/NewArray.java ! test/tools/javap/typeAnnotations/Presence.java ! test/tools/javap/typeAnnotations/PresenceInner.java ! test/tools/javap/typeAnnotations/T6855990.java ! test/tools/javap/typeAnnotations/TypeCasts.java ! test/tools/javap/typeAnnotations/Visibility.java ! test/tools/javap/typeAnnotations/Wildcards.java From jonathan.gibbons at oracle.com Wed Jan 23 14:06:21 2013 From: jonathan.gibbons at oracle.com (jonathan.gibbons at oracle.com) Date: Wed, 23 Jan 2013 22:06:21 +0000 Subject: hg: type-annotations/type-annotations/langtools: 4 new changesets Message-ID: <20130123220631.84AB3474E9@hg.openjdk.java.net> Changeset: 97bd5e7151bc Author: mcimadamore Date: 2013-01-23 15:08 +0000 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/langtools/rev/97bd5e7151bc 8006692: jdk/test/java/util/Collections/BigBinarySearch.java fails to compile Summary: Missing boxing cause spurious inference failure Reviewed-by: jjg ! src/share/classes/com/sun/tools/javac/comp/Infer.java + test/tools/javac/generics/inference/8006692/T8006692.java Changeset: 5c956be64b9e Author: vromero Date: 2013-01-23 20:57 +0000 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/langtools/rev/5c956be64b9e 8006694: temporarily workaround combo tests are causing time out in several platforms Reviewed-by: jjg Contributed-by: maurizio.cimadamore at oracle.com ! test/Makefile ! test/tools/javac/Diagnostics/6769027/T6769027.java ! test/tools/javac/T7093325.java ! test/tools/javac/cast/intersection/IntersectionTypeCastTest.java ! test/tools/javac/defaultMethods/super/TestDefaultSuperCall.java ! test/tools/javac/failover/CheckAttributedTree.java ! test/tools/javac/generics/diamond/7046778/DiamondAndInnerClassTest.java ! test/tools/javac/generics/rawOverride/7062745/GenericOverrideTest.java ! test/tools/javac/lambda/FunctionalInterfaceConversionTest.java ! test/tools/javac/lambda/LambdaParserTest.java ! test/tools/javac/lambda/MethodReferenceParserTest.java ! test/tools/javac/lambda/TestInvokeDynamic.java ! test/tools/javac/lambda/mostSpecific/StructuralMostSpecificTest.java ! test/tools/javac/lambda/typeInference/combo/TypeInferenceComboTest.java ! test/tools/javac/lambdaShapes/org/openjdk/tests/vm/FDSeparateCompilationTest.java ! test/tools/javac/lib/JavacTestingAbstractThreadedTest.java ! test/tools/javac/multicatch/7030606/DisjunctiveTypeWellFormednessTest.java ! test/tools/javac/varargs/7042566/T7042566.java ! test/tools/javac/varargs/warning/Warn4.java ! test/tools/javac/varargs/warning/Warn5.java Changeset: 71f35e4b93a5 Author: jjg Date: 2013-01-23 13:27 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/langtools/rev/71f35e4b93a5 8006775: JSR 308: Compiler changes in JDK8 Reviewed-by: jjg Contributed-by: mernst at cs.washington.edu, wmdietl at cs.washington.edu, mpapi at csail.mit.edu, mahmood at notnoop.com + src/share/classes/com/sun/javadoc/AnnotatedType.java ! src/share/classes/com/sun/javadoc/ExecutableMemberDoc.java ! src/share/classes/com/sun/javadoc/Type.java ! src/share/classes/com/sun/javadoc/TypeVariable.java + src/share/classes/com/sun/source/tree/AnnotatedTypeTree.java ! src/share/classes/com/sun/source/tree/MethodTree.java ! src/share/classes/com/sun/source/tree/Tree.java ! src/share/classes/com/sun/source/tree/TreeVisitor.java ! src/share/classes/com/sun/source/tree/TypeParameterTree.java ! src/share/classes/com/sun/source/util/SimpleTreeVisitor.java ! src/share/classes/com/sun/source/util/TaskEvent.java ! src/share/classes/com/sun/source/util/TreeScanner.java ! src/share/classes/com/sun/tools/classfile/Attribute.java ! src/share/classes/com/sun/tools/classfile/ClassWriter.java + src/share/classes/com/sun/tools/classfile/RuntimeInvisibleTypeAnnotations_attribute.java + src/share/classes/com/sun/tools/classfile/RuntimeTypeAnnotations_attribute.java + src/share/classes/com/sun/tools/classfile/RuntimeVisibleTypeAnnotations_attribute.java + src/share/classes/com/sun/tools/classfile/TypeAnnotation.java ! src/share/classes/com/sun/tools/doclets/formats/html/AbstractExecutableMemberWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/ConstructorWriterImpl.java ! src/share/classes/com/sun/tools/doclets/formats/html/HtmlDocletWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/LinkFactoryImpl.java ! src/share/classes/com/sun/tools/doclets/formats/html/LinkInfoImpl.java ! src/share/classes/com/sun/tools/doclets/formats/html/MethodWriterImpl.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/util/Util.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/util/links/LinkFactory.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/util/links/LinkInfo.java ! src/share/classes/com/sun/tools/javac/code/Annotations.java ! src/share/classes/com/sun/tools/javac/code/Attribute.java ! src/share/classes/com/sun/tools/javac/code/Flags.java ! src/share/classes/com/sun/tools/javac/code/Lint.java ! src/share/classes/com/sun/tools/javac/code/Printer.java ! src/share/classes/com/sun/tools/javac/code/Source.java ! src/share/classes/com/sun/tools/javac/code/Symbol.java ! src/share/classes/com/sun/tools/javac/code/TargetType.java ! src/share/classes/com/sun/tools/javac/code/Type.java ! src/share/classes/com/sun/tools/javac/code/TypeAnnotationPosition.java + src/share/classes/com/sun/tools/javac/code/TypeAnnotations.java ! src/share/classes/com/sun/tools/javac/code/Types.java ! src/share/classes/com/sun/tools/javac/comp/Annotate.java ! src/share/classes/com/sun/tools/javac/comp/Attr.java ! src/share/classes/com/sun/tools/javac/comp/Check.java ! src/share/classes/com/sun/tools/javac/comp/ConstFold.java ! src/share/classes/com/sun/tools/javac/comp/Flow.java ! src/share/classes/com/sun/tools/javac/comp/Lower.java ! src/share/classes/com/sun/tools/javac/comp/MemberEnter.java ! src/share/classes/com/sun/tools/javac/comp/Resolve.java ! src/share/classes/com/sun/tools/javac/comp/TransTypes.java ! src/share/classes/com/sun/tools/javac/jvm/ClassReader.java ! src/share/classes/com/sun/tools/javac/jvm/ClassWriter.java ! src/share/classes/com/sun/tools/javac/jvm/Code.java ! src/share/classes/com/sun/tools/javac/jvm/Gen.java ! src/share/classes/com/sun/tools/javac/jvm/JNIWriter.java ! src/share/classes/com/sun/tools/javac/main/JavaCompiler.java ! src/share/classes/com/sun/tools/javac/model/JavacTypes.java ! src/share/classes/com/sun/tools/javac/parser/JavacParser.java ! src/share/classes/com/sun/tools/javac/parser/Scanner.java ! src/share/classes/com/sun/tools/javac/parser/UnicodeReader.java ! src/share/classes/com/sun/tools/javac/processing/JavacProcessingEnvironment.java ! src/share/classes/com/sun/tools/javac/resources/compiler.properties ! src/share/classes/com/sun/tools/javac/resources/compiler_ja.properties ! src/share/classes/com/sun/tools/javac/resources/compiler_zh_CN.properties ! src/share/classes/com/sun/tools/javac/tree/JCTree.java ! src/share/classes/com/sun/tools/javac/tree/Pretty.java ! src/share/classes/com/sun/tools/javac/tree/TreeCopier.java ! src/share/classes/com/sun/tools/javac/tree/TreeInfo.java ! src/share/classes/com/sun/tools/javac/tree/TreeMaker.java ! src/share/classes/com/sun/tools/javac/tree/TreeScanner.java ! src/share/classes/com/sun/tools/javac/tree/TreeTranslator.java ! src/share/classes/com/sun/tools/javac/util/JCDiagnostic.java ! src/share/classes/com/sun/tools/javac/util/Log.java ! src/share/classes/com/sun/tools/javadoc/AbstractTypeImpl.java + src/share/classes/com/sun/tools/javadoc/AnnotatedTypeImpl.java ! src/share/classes/com/sun/tools/javadoc/ClassDocImpl.java ! src/share/classes/com/sun/tools/javadoc/ExecutableMemberDocImpl.java ! src/share/classes/com/sun/tools/javadoc/PrimitiveType.java ! src/share/classes/com/sun/tools/javadoc/TypeMaker.java ! src/share/classes/com/sun/tools/javadoc/TypeVariableImpl.java ! src/share/classes/com/sun/tools/javap/AnnotationWriter.java ! src/share/classes/com/sun/tools/javap/AttributeWriter.java ! src/share/classes/com/sun/tools/javap/CodeWriter.java ! src/share/classes/com/sun/tools/javap/InstructionDetailWriter.java + src/share/classes/com/sun/tools/javap/TypeAnnotationWriter.java ! src/share/classes/javax/lang/model/SourceVersion.java + src/share/classes/javax/lang/model/type/AnnotatedType.java ! src/share/classes/javax/lang/model/type/ExecutableType.java ! src/share/classes/javax/lang/model/type/TypeKind.java ! src/share/classes/javax/lang/model/type/TypeVisitor.java ! src/share/classes/javax/lang/model/util/AbstractTypeVisitor6.java ! src/share/classes/javax/lang/model/util/Types.java + test/com/sun/javadoc/testAnnotationOptional/TestAnnotationOptional.java + test/com/sun/javadoc/testAnnotationOptional/pkg/AnnotationOptional.java + test/com/sun/javadoc/typeAnnotations/smoke/TestSmoke.java + test/com/sun/javadoc/typeAnnotations/smoke/pkg/TargetTypes.java ! test/tools/javac/7129225/TestImportStar.java ! test/tools/javac/7129225/TestImportStar.ref ! test/tools/javac/T6873845.java + test/tools/javac/T6985181.java ! test/tools/javac/annotations/6881115/T6881115.java ! test/tools/javac/annotations/6881115/T6881115.out + test/tools/javac/annotations/typeAnnotations/6967002/T6967002.java + test/tools/javac/annotations/typeAnnotations/6967002/T6967002.out + test/tools/javac/annotations/typeAnnotations/InnerClass.java + test/tools/javac/annotations/typeAnnotations/MultipleTargets.java + test/tools/javac/annotations/typeAnnotations/TargetTypes.java + test/tools/javac/annotations/typeAnnotations/TypeParameterTarget.java + test/tools/javac/annotations/typeAnnotations/TypeProcOnly.java + test/tools/javac/annotations/typeAnnotations/TypeUseTarget.java + test/tools/javac/annotations/typeAnnotations/api/AnnotatedArrayOrder.java + test/tools/javac/annotations/typeAnnotations/api/ArrayCreationTree.java + test/tools/javac/annotations/typeAnnotations/api/ArrayPositionConsistency.java + test/tools/javac/annotations/typeAnnotations/attribution/Scopes.java + test/tools/javac/annotations/typeAnnotations/classfile/ClassfileTestHelper.java + test/tools/javac/annotations/typeAnnotations/classfile/CombinationsTargetTest1.java + test/tools/javac/annotations/typeAnnotations/classfile/CombinationsTargetTest2.java + test/tools/javac/annotations/typeAnnotations/classfile/DeadCode.java + test/tools/javac/annotations/typeAnnotations/classfile/NewTypeArguments.java + test/tools/javac/annotations/typeAnnotations/classfile/NoTargetAnnotations.java + test/tools/javac/annotations/typeAnnotations/classfile/TypeCasts.java + test/tools/javac/annotations/typeAnnotations/classfile/Wildcards.java + test/tools/javac/annotations/typeAnnotations/failures/AnnotatedImport.java + test/tools/javac/annotations/typeAnnotations/failures/AnnotatedImport.out + test/tools/javac/annotations/typeAnnotations/failures/AnnotatedPackage1.java + test/tools/javac/annotations/typeAnnotations/failures/AnnotatedPackage1.out + test/tools/javac/annotations/typeAnnotations/failures/AnnotatedPackage2.java + test/tools/javac/annotations/typeAnnotations/failures/AnnotatedPackage2.out + test/tools/javac/annotations/typeAnnotations/failures/AnnotationVersion.java + test/tools/javac/annotations/typeAnnotations/failures/AnnotationVersion.out + test/tools/javac/annotations/typeAnnotations/failures/AnnotationVersion7.out + test/tools/javac/annotations/typeAnnotations/failures/BadCast.java + test/tools/javac/annotations/typeAnnotations/failures/BadCast.out + test/tools/javac/annotations/typeAnnotations/failures/CantAnnotateStaticClass.java + test/tools/javac/annotations/typeAnnotations/failures/CantAnnotateStaticClass.out + test/tools/javac/annotations/typeAnnotations/failures/IncompleteArray.java + test/tools/javac/annotations/typeAnnotations/failures/IncompleteArray.out + test/tools/javac/annotations/typeAnnotations/failures/IncompleteVararg.java + test/tools/javac/annotations/typeAnnotations/failures/IncompleteVararg.out + test/tools/javac/annotations/typeAnnotations/failures/IndexArray.java + test/tools/javac/annotations/typeAnnotations/failures/IndexArray.out + test/tools/javac/annotations/typeAnnotations/failures/LintCast.java + test/tools/javac/annotations/typeAnnotations/failures/LintCast.out + test/tools/javac/annotations/typeAnnotations/failures/OldArray.java + test/tools/javac/annotations/typeAnnotations/failures/Scopes.java + test/tools/javac/annotations/typeAnnotations/failures/Scopes.out + test/tools/javac/annotations/typeAnnotations/failures/StaticFields.java + test/tools/javac/annotations/typeAnnotations/failures/StaticFields.out + test/tools/javac/annotations/typeAnnotations/failures/StaticMethods.java + test/tools/javac/annotations/typeAnnotations/failures/StaticMethods.out + test/tools/javac/annotations/typeAnnotations/failures/TypeAndField.java + test/tools/javac/annotations/typeAnnotations/failures/VoidGenericMethod.java + test/tools/javac/annotations/typeAnnotations/failures/common/arrays/DuplicateAnnotationValue.java + test/tools/javac/annotations/typeAnnotations/failures/common/arrays/DuplicateAnnotationValue.out + test/tools/javac/annotations/typeAnnotations/failures/common/arrays/DuplicateTypeAnnotation.java + test/tools/javac/annotations/typeAnnotations/failures/common/arrays/DuplicateTypeAnnotation.out + test/tools/javac/annotations/typeAnnotations/failures/common/arrays/InvalidLocation.java + test/tools/javac/annotations/typeAnnotations/failures/common/arrays/InvalidLocation.out + test/tools/javac/annotations/typeAnnotations/failures/common/arrays/MissingAnnotationValue.java + test/tools/javac/annotations/typeAnnotations/failures/common/arrays/MissingAnnotationValue.out + test/tools/javac/annotations/typeAnnotations/failures/common/innertypeparams/DuplicateAnnotationValue.java + test/tools/javac/annotations/typeAnnotations/failures/common/innertypeparams/DuplicateAnnotationValue.out + test/tools/javac/annotations/typeAnnotations/failures/common/innertypeparams/DuplicateTypeAnnotation.java + test/tools/javac/annotations/typeAnnotations/failures/common/innertypeparams/DuplicateTypeAnnotation.out + test/tools/javac/annotations/typeAnnotations/failures/common/innertypeparams/InvalidLocation.java + test/tools/javac/annotations/typeAnnotations/failures/common/innertypeparams/InvalidLocation.out + test/tools/javac/annotations/typeAnnotations/failures/common/innertypeparams/MissingAnnotationValue.java + test/tools/javac/annotations/typeAnnotations/failures/common/innertypeparams/MissingAnnotationValue.out + test/tools/javac/annotations/typeAnnotations/failures/common/newarray/DuplicateAnnotationValue.java + test/tools/javac/annotations/typeAnnotations/failures/common/newarray/DuplicateAnnotationValue.out + test/tools/javac/annotations/typeAnnotations/failures/common/newarray/DuplicateTypeAnnotation.java + test/tools/javac/annotations/typeAnnotations/failures/common/newarray/DuplicateTypeAnnotation.out + test/tools/javac/annotations/typeAnnotations/failures/common/newarray/InvalidLocation.java + test/tools/javac/annotations/typeAnnotations/failures/common/newarray/InvalidLocation.out + test/tools/javac/annotations/typeAnnotations/failures/common/newarray/MissingAnnotationValue.java + test/tools/javac/annotations/typeAnnotations/failures/common/newarray/MissingAnnotationValue.out + test/tools/javac/annotations/typeAnnotations/failures/common/parambounds/BrokenAnnotation.java + test/tools/javac/annotations/typeAnnotations/failures/common/parambounds/BrokenAnnotation.out + test/tools/javac/annotations/typeAnnotations/failures/common/parambounds/DuplicateAnnotationValue.java + test/tools/javac/annotations/typeAnnotations/failures/common/parambounds/DuplicateAnnotationValue.out + test/tools/javac/annotations/typeAnnotations/failures/common/parambounds/DuplicateTypeAnnotation.java + test/tools/javac/annotations/typeAnnotations/failures/common/parambounds/DuplicateTypeAnnotation.out + test/tools/javac/annotations/typeAnnotations/failures/common/parambounds/InvalidLocation.java + test/tools/javac/annotations/typeAnnotations/failures/common/parambounds/InvalidLocation.out + test/tools/javac/annotations/typeAnnotations/failures/common/parambounds/MissingAnnotationValue.java + test/tools/javac/annotations/typeAnnotations/failures/common/parambounds/MissingAnnotationValue.out + test/tools/javac/annotations/typeAnnotations/failures/common/receiver/DuplicateAnnotationValue.java + test/tools/javac/annotations/typeAnnotations/failures/common/receiver/DuplicateAnnotationValue.out + test/tools/javac/annotations/typeAnnotations/failures/common/receiver/DuplicateTypeAnnotation.java + test/tools/javac/annotations/typeAnnotations/failures/common/receiver/DuplicateTypeAnnotation.out + test/tools/javac/annotations/typeAnnotations/failures/common/receiver/InvalidLocation.java + test/tools/javac/annotations/typeAnnotations/failures/common/receiver/InvalidLocation.out + test/tools/javac/annotations/typeAnnotations/failures/common/receiver/MissingAnnotationValue.java + test/tools/javac/annotations/typeAnnotations/failures/common/receiver/MissingAnnotationValue.out + test/tools/javac/annotations/typeAnnotations/failures/common/receiver/Nesting.java + test/tools/javac/annotations/typeAnnotations/failures/common/receiver/StaticThings.java + test/tools/javac/annotations/typeAnnotations/failures/common/receiver/StaticThings.out + test/tools/javac/annotations/typeAnnotations/failures/common/receiver/WrongType.java + test/tools/javac/annotations/typeAnnotations/failures/common/receiver/WrongType.out + test/tools/javac/annotations/typeAnnotations/failures/common/rest/DuplicateAnnotationValue.java + test/tools/javac/annotations/typeAnnotations/failures/common/rest/DuplicateAnnotationValue.out + test/tools/javac/annotations/typeAnnotations/failures/common/rest/DuplicateTypeAnnotation.java + test/tools/javac/annotations/typeAnnotations/failures/common/rest/DuplicateTypeAnnotation.out + test/tools/javac/annotations/typeAnnotations/failures/common/rest/InvalidLocation.java + test/tools/javac/annotations/typeAnnotations/failures/common/rest/InvalidLocation.out + test/tools/javac/annotations/typeAnnotations/failures/common/rest/MissingAnnotationValue.java + test/tools/javac/annotations/typeAnnotations/failures/common/rest/MissingAnnotationValue.out + test/tools/javac/annotations/typeAnnotations/failures/common/typeArgs/DuplicateAnnotationValue.java + test/tools/javac/annotations/typeAnnotations/failures/common/typeArgs/DuplicateAnnotationValue.out + test/tools/javac/annotations/typeAnnotations/failures/common/typeArgs/DuplicateTypeAnnotation.java + test/tools/javac/annotations/typeAnnotations/failures/common/typeArgs/DuplicateTypeAnnotation.out + test/tools/javac/annotations/typeAnnotations/failures/common/typeArgs/InvalidLocation.java + test/tools/javac/annotations/typeAnnotations/failures/common/typeArgs/InvalidLocation.out + test/tools/javac/annotations/typeAnnotations/failures/common/typeArgs/MissingAnnotationValue.java + test/tools/javac/annotations/typeAnnotations/failures/common/typeArgs/MissingAnnotationValue.out + test/tools/javac/annotations/typeAnnotations/failures/common/typeparams/DuplicateAnnotationValue.java + test/tools/javac/annotations/typeAnnotations/failures/common/typeparams/DuplicateAnnotationValue.out + test/tools/javac/annotations/typeAnnotations/failures/common/typeparams/DuplicateTypeAnnotation.java + test/tools/javac/annotations/typeAnnotations/failures/common/typeparams/DuplicateTypeAnnotation.out + test/tools/javac/annotations/typeAnnotations/failures/common/typeparams/InvalidLocation.java + test/tools/javac/annotations/typeAnnotations/failures/common/typeparams/InvalidLocation.out + test/tools/javac/annotations/typeAnnotations/failures/common/typeparams/MissingAnnotationValue.java + test/tools/javac/annotations/typeAnnotations/failures/common/typeparams/MissingAnnotationValue.out + test/tools/javac/annotations/typeAnnotations/failures/common/wildcards/DuplicateAnnotationValue.java + test/tools/javac/annotations/typeAnnotations/failures/common/wildcards/DuplicateAnnotationValue.out + test/tools/javac/annotations/typeAnnotations/failures/common/wildcards/DuplicateTypeAnnotation.java + test/tools/javac/annotations/typeAnnotations/failures/common/wildcards/DuplicateTypeAnnotation.out + test/tools/javac/annotations/typeAnnotations/failures/common/wildcards/InvalidLocation.java + test/tools/javac/annotations/typeAnnotations/failures/common/wildcards/InvalidLocation.out + test/tools/javac/annotations/typeAnnotations/failures/common/wildcards/MissingAnnotationValue.java + test/tools/javac/annotations/typeAnnotations/failures/common/wildcards/MissingAnnotationValue.out + test/tools/javac/annotations/typeAnnotations/failures/target/Constructor.java + test/tools/javac/annotations/typeAnnotations/failures/target/Constructor.out + test/tools/javac/annotations/typeAnnotations/failures/target/DotClass.java + test/tools/javac/annotations/typeAnnotations/failures/target/DotClass.out + test/tools/javac/annotations/typeAnnotations/failures/target/IncompleteArray.java + test/tools/javac/annotations/typeAnnotations/failures/target/IncompleteArray.out + test/tools/javac/annotations/typeAnnotations/failures/target/NotTypeParameter.java + test/tools/javac/annotations/typeAnnotations/failures/target/NotTypeParameter.out + test/tools/javac/annotations/typeAnnotations/failures/target/NotTypeUse.java + test/tools/javac/annotations/typeAnnotations/failures/target/NotTypeUse.out + test/tools/javac/annotations/typeAnnotations/failures/target/VoidMethod.java + test/tools/javac/annotations/typeAnnotations/failures/target/VoidMethod.out + test/tools/javac/annotations/typeAnnotations/newlocations/BasicTest.java + test/tools/javac/annotations/typeAnnotations/newlocations/ClassExtends.java + test/tools/javac/annotations/typeAnnotations/newlocations/ClassParameters.java + test/tools/javac/annotations/typeAnnotations/newlocations/ConstructorTypeArgs.java + test/tools/javac/annotations/typeAnnotations/newlocations/ExceptionParameters.java + test/tools/javac/annotations/typeAnnotations/newlocations/Expressions.java + test/tools/javac/annotations/typeAnnotations/newlocations/Fields.java + test/tools/javac/annotations/typeAnnotations/newlocations/LocalVariables.java + test/tools/javac/annotations/typeAnnotations/newlocations/MethodReturnType.java + test/tools/javac/annotations/typeAnnotations/newlocations/MethodTypeArgs.java + test/tools/javac/annotations/typeAnnotations/newlocations/MethodTypeParameters.java + test/tools/javac/annotations/typeAnnotations/newlocations/MultiCatch.java + test/tools/javac/annotations/typeAnnotations/newlocations/NestedTypes.java + test/tools/javac/annotations/typeAnnotations/newlocations/Parameters.java + test/tools/javac/annotations/typeAnnotations/newlocations/Receivers.java + test/tools/javac/annotations/typeAnnotations/newlocations/RepeatingTypeAnnotations.java + test/tools/javac/annotations/typeAnnotations/newlocations/RepeatingTypeAnnotations.out + test/tools/javac/annotations/typeAnnotations/newlocations/ResourceVariables.java + test/tools/javac/annotations/typeAnnotations/newlocations/Throws.java + test/tools/javac/annotations/typeAnnotations/newlocations/TopLevelBlocks.java + test/tools/javac/annotations/typeAnnotations/newlocations/TypeCasts.java + test/tools/javac/annotations/typeAnnotations/newlocations/TypeParameters.java + test/tools/javac/annotations/typeAnnotations/newlocations/Varargs.java + test/tools/javac/annotations/typeAnnotations/newlocations/Wildcards.java + test/tools/javac/annotations/typeAnnotations/packageanno/PackageProcessor.java + test/tools/javac/annotations/typeAnnotations/packageanno/mypackage/Anno.java + test/tools/javac/annotations/typeAnnotations/packageanno/mypackage/MyClass.java + test/tools/javac/annotations/typeAnnotations/packageanno/mypackage/package-info.java + test/tools/javac/annotations/typeAnnotations/referenceinfos/ClassExtends.java + test/tools/javac/annotations/typeAnnotations/referenceinfos/ClassTypeParam.java + test/tools/javac/annotations/typeAnnotations/referenceinfos/Constructors.java + test/tools/javac/annotations/typeAnnotations/referenceinfos/Driver.java + test/tools/javac/annotations/typeAnnotations/referenceinfos/ExceptionParameters.java + test/tools/javac/annotations/typeAnnotations/referenceinfos/Fields.java + test/tools/javac/annotations/typeAnnotations/referenceinfos/FromSpecification.java + test/tools/javac/annotations/typeAnnotations/referenceinfos/MethodParameters.java + test/tools/javac/annotations/typeAnnotations/referenceinfos/MethodReceivers.java + test/tools/javac/annotations/typeAnnotations/referenceinfos/MethodReturns.java + test/tools/javac/annotations/typeAnnotations/referenceinfos/MethodThrows.java + test/tools/javac/annotations/typeAnnotations/referenceinfos/MethodTypeParam.java + test/tools/javac/annotations/typeAnnotations/referenceinfos/MultiCatch.java + test/tools/javac/annotations/typeAnnotations/referenceinfos/NestedTypes.java + test/tools/javac/annotations/typeAnnotations/referenceinfos/NewObjects.java + test/tools/javac/annotations/typeAnnotations/referenceinfos/ReferenceInfoUtil.java + test/tools/javac/annotations/typeAnnotations/referenceinfos/RepeatingTypeAnnotations.java + test/tools/javac/annotations/typeAnnotations/referenceinfos/TypeCasts.java + test/tools/javac/annotations/typeAnnotations/referenceinfos/TypeTests.java ! test/tools/javac/api/EndPositions.java ! test/tools/javac/diags/CheckResourceKeys.java ! test/tools/javac/diags/examples.not-yet.txt + test/tools/javac/diags/examples/CantAnnotateNestedType.java + test/tools/javac/diags/examples/CantAnnotateStaticClass.java + test/tools/javac/diags/examples/IncorrectReceiverType.java + test/tools/javac/diags/examples/NoAnnotationsOnDotClass.java + test/tools/javac/diags/examples/ThisAsIdentifier.java + test/tools/javac/diags/examples/TypeAnnotationsNotSupported.java ! test/tools/javac/failover/CheckAttributedTree.java ! test/tools/javac/processing/6994946/SemanticErrorTest.2.out ! test/tools/javac/processing/model/element/TestAnonClassNames.java ! test/tools/javac/processing/model/element/TestMissingElement/TestMissingElement.java + test/tools/javac/processing/model/element/TestMissingElement/TestMissingElement.ref ! test/tools/javac/processing/model/util/directSupersOfErr/DirectSupersOfErr.java + test/tools/javac/processing/model/util/directSupersOfErr/DirectSupersOfErr.ref ! test/tools/javac/tree/TreeKindTest.java ! test/tools/javac/tree/TreePosTest.java + test/tools/javac/treeannotests/AnnoTreeTests.java ! test/tools/javac/treeannotests/TestProcessor.java - test/tools/javac/typeAnnotations/newlocations/BasicTest.java - test/tools/javac/typeAnnotations/newlocations/BasicTest.out + test/tools/javap/typeAnnotations/JSR175Annotations.java + test/tools/javap/typeAnnotations/NewArray.java + test/tools/javap/typeAnnotations/Presence.java + test/tools/javap/typeAnnotations/PresenceInner.java + test/tools/javap/typeAnnotations/T6855990.java + test/tools/javap/typeAnnotations/TypeCasts.java + test/tools/javap/typeAnnotations/Visibility.java + test/tools/javap/typeAnnotations/Wildcards.java Changeset: 047fe9937cff Author: jjg Date: 2013-01-23 14:06 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/langtools/rev/047fe9937cff Merge ! src/share/classes/com/sun/javadoc/AnnotatedType.java ! src/share/classes/com/sun/javadoc/ExecutableMemberDoc.java ! src/share/classes/com/sun/javadoc/Type.java ! src/share/classes/com/sun/javadoc/TypeVariable.java ! src/share/classes/com/sun/source/tree/AnnotatedTypeTree.java ! src/share/classes/com/sun/source/tree/MethodTree.java ! src/share/classes/com/sun/source/tree/Tree.java ! src/share/classes/com/sun/source/tree/TreeVisitor.java ! src/share/classes/com/sun/source/tree/TypeParameterTree.java ! src/share/classes/com/sun/source/util/SimpleTreeVisitor.java ! src/share/classes/com/sun/source/util/TaskEvent.java ! src/share/classes/com/sun/source/util/TreeScanner.java ! src/share/classes/com/sun/tools/classfile/Attribute.java ! src/share/classes/com/sun/tools/classfile/ClassWriter.java ! src/share/classes/com/sun/tools/classfile/RuntimeInvisibleTypeAnnotations_attribute.java ! src/share/classes/com/sun/tools/classfile/RuntimeTypeAnnotations_attribute.java ! src/share/classes/com/sun/tools/classfile/RuntimeVisibleTypeAnnotations_attribute.java ! src/share/classes/com/sun/tools/classfile/TypeAnnotation.java ! src/share/classes/com/sun/tools/doclets/formats/html/AbstractExecutableMemberWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/ConstructorWriterImpl.java ! src/share/classes/com/sun/tools/doclets/formats/html/HtmlDocletWriter.java ! src/share/classes/com/sun/tools/doclets/formats/html/LinkFactoryImpl.java ! src/share/classes/com/sun/tools/doclets/formats/html/LinkInfoImpl.java ! src/share/classes/com/sun/tools/doclets/formats/html/MethodWriterImpl.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/util/Util.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/util/links/LinkFactory.java ! src/share/classes/com/sun/tools/doclets/internal/toolkit/util/links/LinkInfo.java ! src/share/classes/com/sun/tools/javac/code/Annotations.java ! src/share/classes/com/sun/tools/javac/code/Attribute.java ! src/share/classes/com/sun/tools/javac/code/Flags.java ! src/share/classes/com/sun/tools/javac/code/Lint.java ! src/share/classes/com/sun/tools/javac/code/Printer.java ! src/share/classes/com/sun/tools/javac/code/Source.java ! src/share/classes/com/sun/tools/javac/code/Symbol.java ! src/share/classes/com/sun/tools/javac/code/TargetType.java ! src/share/classes/com/sun/tools/javac/code/Type.java ! src/share/classes/com/sun/tools/javac/code/TypeAnnotationPosition.java ! src/share/classes/com/sun/tools/javac/code/TypeAnnotations.java ! src/share/classes/com/sun/tools/javac/code/Types.java ! src/share/classes/com/sun/tools/javac/comp/Annotate.java ! src/share/classes/com/sun/tools/javac/comp/Attr.java ! src/share/classes/com/sun/tools/javac/comp/Check.java ! src/share/classes/com/sun/tools/javac/comp/ConstFold.java ! src/share/classes/com/sun/tools/javac/comp/Flow.java ! src/share/classes/com/sun/tools/javac/comp/Infer.java ! src/share/classes/com/sun/tools/javac/comp/Lower.java ! src/share/classes/com/sun/tools/javac/comp/MemberEnter.java ! src/share/classes/com/sun/tools/javac/comp/Resolve.java ! src/share/classes/com/sun/tools/javac/comp/TransTypes.java ! src/share/classes/com/sun/tools/javac/jvm/ClassReader.java ! src/share/classes/com/sun/tools/javac/jvm/ClassWriter.java ! src/share/classes/com/sun/tools/javac/jvm/Code.java ! src/share/classes/com/sun/tools/javac/jvm/Gen.java ! src/share/classes/com/sun/tools/javac/jvm/JNIWriter.java ! src/share/classes/com/sun/tools/javac/main/JavaCompiler.java ! src/share/classes/com/sun/tools/javac/model/JavacTypes.java ! src/share/classes/com/sun/tools/javac/parser/JavacParser.java ! src/share/classes/com/sun/tools/javac/parser/Scanner.java ! src/share/classes/com/sun/tools/javac/parser/UnicodeReader.java ! src/share/classes/com/sun/tools/javac/processing/JavacProcessingEnvironment.java ! src/share/classes/com/sun/tools/javac/resources/compiler.properties ! src/share/classes/com/sun/tools/javac/resources/compiler_ja.properties ! src/share/classes/com/sun/tools/javac/resources/compiler_zh_CN.properties ! src/share/classes/com/sun/tools/javac/tree/JCTree.java ! src/share/classes/com/sun/tools/javac/tree/Pretty.java ! src/share/classes/com/sun/tools/javac/tree/TreeCopier.java ! src/share/classes/com/sun/tools/javac/tree/TreeInfo.java ! src/share/classes/com/sun/tools/javac/tree/TreeMaker.java ! src/share/classes/com/sun/tools/javac/tree/TreeScanner.java ! src/share/classes/com/sun/tools/javac/tree/TreeTranslator.java ! src/share/classes/com/sun/tools/javac/util/JCDiagnostic.java ! src/share/classes/com/sun/tools/javac/util/Log.java ! src/share/classes/com/sun/tools/javadoc/AbstractTypeImpl.java ! src/share/classes/com/sun/tools/javadoc/AnnotatedTypeImpl.java ! src/share/classes/com/sun/tools/javadoc/ClassDocImpl.java ! src/share/classes/com/sun/tools/javadoc/ExecutableMemberDocImpl.java ! src/share/classes/com/sun/tools/javadoc/PrimitiveType.java ! src/share/classes/com/sun/tools/javadoc/TypeMaker.java ! src/share/classes/com/sun/tools/javadoc/TypeVariableImpl.java ! src/share/classes/com/sun/tools/javap/AnnotationWriter.java ! src/share/classes/com/sun/tools/javap/AttributeWriter.java ! src/share/classes/com/sun/tools/javap/CodeWriter.java ! src/share/classes/com/sun/tools/javap/InstructionDetailWriter.java ! src/share/classes/com/sun/tools/javap/TypeAnnotationWriter.java ! src/share/classes/javax/lang/model/SourceVersion.java ! src/share/classes/javax/lang/model/type/AnnotatedType.java ! src/share/classes/javax/lang/model/type/ExecutableType.java ! src/share/classes/javax/lang/model/type/TypeKind.java ! src/share/classes/javax/lang/model/type/TypeVisitor.java ! src/share/classes/javax/lang/model/util/AbstractTypeVisitor6.java ! src/share/classes/javax/lang/model/util/Types.java ! test/com/sun/javadoc/typeAnnotations/smoke/TestSmoke.java ! test/tools/javac/7129225/TestImportStar.java ! test/tools/javac/T6985181.java ! test/tools/javac/annotations/6881115/T6881115.java ! test/tools/javac/annotations/6881115/T6881115.out ! test/tools/javac/annotations/typeAnnotations/6967002/T6967002.java ! test/tools/javac/annotations/typeAnnotations/6967002/T6967002.out ! test/tools/javac/annotations/typeAnnotations/InnerClass.java ! test/tools/javac/annotations/typeAnnotations/MultipleTargets.java ! test/tools/javac/annotations/typeAnnotations/TargetTypes.java ! test/tools/javac/annotations/typeAnnotations/TypeParameterTarget.java ! test/tools/javac/annotations/typeAnnotations/TypeProcOnly.java ! test/tools/javac/annotations/typeAnnotations/TypeUseTarget.java ! test/tools/javac/annotations/typeAnnotations/api/AnnotatedArrayOrder.java ! test/tools/javac/annotations/typeAnnotations/api/ArrayCreationTree.java ! test/tools/javac/annotations/typeAnnotations/api/ArrayPositionConsistency.java ! test/tools/javac/annotations/typeAnnotations/attribution/Scopes.java ! test/tools/javac/annotations/typeAnnotations/classfile/ClassfileTestHelper.java ! test/tools/javac/annotations/typeAnnotations/classfile/CombinationsTargetTest1.java ! test/tools/javac/annotations/typeAnnotations/classfile/CombinationsTargetTest2.java ! test/tools/javac/annotations/typeAnnotations/classfile/DeadCode.java ! test/tools/javac/annotations/typeAnnotations/classfile/NewTypeArguments.java ! test/tools/javac/annotations/typeAnnotations/classfile/NoTargetAnnotations.java ! test/tools/javac/annotations/typeAnnotations/classfile/TypeCasts.java ! test/tools/javac/annotations/typeAnnotations/classfile/Wildcards.java ! test/tools/javac/annotations/typeAnnotations/failures/AnnotatedImport.java ! test/tools/javac/annotations/typeAnnotations/failures/AnnotatedImport.out ! test/tools/javac/annotations/typeAnnotations/failures/AnnotatedPackage1.java ! test/tools/javac/annotations/typeAnnotations/failures/AnnotatedPackage1.out ! test/tools/javac/annotations/typeAnnotations/failures/AnnotatedPackage2.java ! test/tools/javac/annotations/typeAnnotations/failures/AnnotatedPackage2.out ! test/tools/javac/annotations/typeAnnotations/failures/AnnotationVersion.java ! test/tools/javac/annotations/typeAnnotations/failures/AnnotationVersion.out ! test/tools/javac/annotations/typeAnnotations/failures/AnnotationVersion7.out ! test/tools/javac/annotations/typeAnnotations/failures/BadCast.java ! test/tools/javac/annotations/typeAnnotations/failures/BadCast.out ! test/tools/javac/annotations/typeAnnotations/failures/CantAnnotateStaticClass.java ! test/tools/javac/annotations/typeAnnotations/failures/IncompleteArray.java ! test/tools/javac/annotations/typeAnnotations/failures/IncompleteArray.out ! test/tools/javac/annotations/typeAnnotations/failures/IncompleteVararg.java ! test/tools/javac/annotations/typeAnnotations/failures/IncompleteVararg.out ! test/tools/javac/annotations/typeAnnotations/failures/IndexArray.java ! test/tools/javac/annotations/typeAnnotations/failures/IndexArray.out ! test/tools/javac/annotations/typeAnnotations/failures/LintCast.java ! test/tools/javac/annotations/typeAnnotations/failures/LintCast.out ! test/tools/javac/annotations/typeAnnotations/failures/OldArray.java ! test/tools/javac/annotations/typeAnnotations/failures/Scopes.java ! test/tools/javac/annotations/typeAnnotations/failures/Scopes.out ! test/tools/javac/annotations/typeAnnotations/failures/StaticFields.java ! test/tools/javac/annotations/typeAnnotations/failures/StaticFields.out ! test/tools/javac/annotations/typeAnnotations/failures/StaticMethods.java ! test/tools/javac/annotations/typeAnnotations/failures/StaticMethods.out ! test/tools/javac/annotations/typeAnnotations/failures/TypeAndField.java ! test/tools/javac/annotations/typeAnnotations/failures/VoidGenericMethod.java ! test/tools/javac/annotations/typeAnnotations/failures/common/arrays/DuplicateAnnotationValue.java ! test/tools/javac/annotations/typeAnnotations/failures/common/arrays/DuplicateAnnotationValue.out ! test/tools/javac/annotations/typeAnnotations/failures/common/arrays/DuplicateTypeAnnotation.java ! test/tools/javac/annotations/typeAnnotations/failures/common/arrays/DuplicateTypeAnnotation.out ! test/tools/javac/annotations/typeAnnotations/failures/common/arrays/InvalidLocation.java ! test/tools/javac/annotations/typeAnnotations/failures/common/arrays/InvalidLocation.out ! test/tools/javac/annotations/typeAnnotations/failures/common/arrays/MissingAnnotationValue.java ! test/tools/javac/annotations/typeAnnotations/failures/common/arrays/MissingAnnotationValue.out ! test/tools/javac/annotations/typeAnnotations/failures/common/innertypeparams/DuplicateAnnotationValue.java ! test/tools/javac/annotations/typeAnnotations/failures/common/innertypeparams/DuplicateAnnotationValue.out ! test/tools/javac/annotations/typeAnnotations/failures/common/innertypeparams/DuplicateTypeAnnotation.java ! test/tools/javac/annotations/typeAnnotations/failures/common/innertypeparams/DuplicateTypeAnnotation.out ! test/tools/javac/annotations/typeAnnotations/failures/common/innertypeparams/InvalidLocation.java ! test/tools/javac/annotations/typeAnnotations/failures/common/innertypeparams/InvalidLocation.out ! test/tools/javac/annotations/typeAnnotations/failures/common/innertypeparams/MissingAnnotationValue.java ! test/tools/javac/annotations/typeAnnotations/failures/common/innertypeparams/MissingAnnotationValue.out ! test/tools/javac/annotations/typeAnnotations/failures/common/newarray/DuplicateAnnotationValue.java ! test/tools/javac/annotations/typeAnnotations/failures/common/newarray/DuplicateAnnotationValue.out ! test/tools/javac/annotations/typeAnnotations/failures/common/newarray/DuplicateTypeAnnotation.java ! test/tools/javac/annotations/typeAnnotations/failures/common/newarray/DuplicateTypeAnnotation.out ! test/tools/javac/annotations/typeAnnotations/failures/common/newarray/InvalidLocation.java ! test/tools/javac/annotations/typeAnnotations/failures/common/newarray/InvalidLocation.out ! test/tools/javac/annotations/typeAnnotations/failures/common/newarray/MissingAnnotationValue.java ! test/tools/javac/annotations/typeAnnotations/failures/common/newarray/MissingAnnotationValue.out ! test/tools/javac/annotations/typeAnnotations/failures/common/parambounds/BrokenAnnotation.java ! test/tools/javac/annotations/typeAnnotations/failures/common/parambounds/BrokenAnnotation.out ! test/tools/javac/annotations/typeAnnotations/failures/common/parambounds/DuplicateAnnotationValue.java ! test/tools/javac/annotations/typeAnnotations/failures/common/parambounds/DuplicateAnnotationValue.out ! test/tools/javac/annotations/typeAnnotations/failures/common/parambounds/DuplicateTypeAnnotation.java ! test/tools/javac/annotations/typeAnnotations/failures/common/parambounds/DuplicateTypeAnnotation.out ! test/tools/javac/annotations/typeAnnotations/failures/common/parambounds/InvalidLocation.java ! test/tools/javac/annotations/typeAnnotations/failures/common/parambounds/InvalidLocation.out ! test/tools/javac/annotations/typeAnnotations/failures/common/parambounds/MissingAnnotationValue.java ! test/tools/javac/annotations/typeAnnotations/failures/common/parambounds/MissingAnnotationValue.out ! test/tools/javac/annotations/typeAnnotations/failures/common/receiver/DuplicateAnnotationValue.java ! test/tools/javac/annotations/typeAnnotations/failures/common/receiver/DuplicateAnnotationValue.out ! test/tools/javac/annotations/typeAnnotations/failures/common/receiver/DuplicateTypeAnnotation.java ! test/tools/javac/annotations/typeAnnotations/failures/common/receiver/DuplicateTypeAnnotation.out ! test/tools/javac/annotations/typeAnnotations/failures/common/receiver/InvalidLocation.java ! test/tools/javac/annotations/typeAnnotations/failures/common/receiver/InvalidLocation.out ! test/tools/javac/annotations/typeAnnotations/failures/common/receiver/MissingAnnotationValue.java ! test/tools/javac/annotations/typeAnnotations/failures/common/receiver/MissingAnnotationValue.out ! test/tools/javac/annotations/typeAnnotations/failures/common/receiver/Nesting.java ! test/tools/javac/annotations/typeAnnotations/failures/common/receiver/StaticThings.java ! test/tools/javac/annotations/typeAnnotations/failures/common/receiver/StaticThings.out ! test/tools/javac/annotations/typeAnnotations/failures/common/receiver/WrongType.java ! test/tools/javac/annotations/typeAnnotations/failures/common/receiver/WrongType.out ! test/tools/javac/annotations/typeAnnotations/failures/common/rest/DuplicateAnnotationValue.java ! test/tools/javac/annotations/typeAnnotations/failures/common/rest/DuplicateAnnotationValue.out ! test/tools/javac/annotations/typeAnnotations/failures/common/rest/DuplicateTypeAnnotation.java ! test/tools/javac/annotations/typeAnnotations/failures/common/rest/DuplicateTypeAnnotation.out ! test/tools/javac/annotations/typeAnnotations/failures/common/rest/InvalidLocation.java ! test/tools/javac/annotations/typeAnnotations/failures/common/rest/InvalidLocation.out ! test/tools/javac/annotations/typeAnnotations/failures/common/rest/MissingAnnotationValue.java ! test/tools/javac/annotations/typeAnnotations/failures/common/rest/MissingAnnotationValue.out ! test/tools/javac/annotations/typeAnnotations/failures/common/typeArgs/DuplicateAnnotationValue.java ! test/tools/javac/annotations/typeAnnotations/failures/common/typeArgs/DuplicateAnnotationValue.out ! test/tools/javac/annotations/typeAnnotations/failures/common/typeArgs/DuplicateTypeAnnotation.java ! test/tools/javac/annotations/typeAnnotations/failures/common/typeArgs/DuplicateTypeAnnotation.out ! test/tools/javac/annotations/typeAnnotations/failures/common/typeArgs/InvalidLocation.java ! test/tools/javac/annotations/typeAnnotations/failures/common/typeArgs/InvalidLocation.out ! test/tools/javac/annotations/typeAnnotations/failures/common/typeArgs/MissingAnnotationValue.java ! test/tools/javac/annotations/typeAnnotations/failures/common/typeArgs/MissingAnnotationValue.out ! test/tools/javac/annotations/typeAnnotations/failures/common/typeparams/DuplicateAnnotationValue.java ! test/tools/javac/annotations/typeAnnotations/failures/common/typeparams/DuplicateAnnotationValue.out ! test/tools/javac/annotations/typeAnnotations/failures/common/typeparams/DuplicateTypeAnnotation.java ! test/tools/javac/annotations/typeAnnotations/failures/common/typeparams/DuplicateTypeAnnotation.out ! test/tools/javac/annotations/typeAnnotations/failures/common/typeparams/InvalidLocation.java ! test/tools/javac/annotations/typeAnnotations/failures/common/typeparams/InvalidLocation.out ! test/tools/javac/annotations/typeAnnotations/failures/common/typeparams/MissingAnnotationValue.java ! test/tools/javac/annotations/typeAnnotations/failures/common/typeparams/MissingAnnotationValue.out ! test/tools/javac/annotations/typeAnnotations/failures/common/wildcards/DuplicateAnnotationValue.java ! test/tools/javac/annotations/typeAnnotations/failures/common/wildcards/DuplicateAnnotationValue.out ! test/tools/javac/annotations/typeAnnotations/failures/common/wildcards/DuplicateTypeAnnotation.java ! test/tools/javac/annotations/typeAnnotations/failures/common/wildcards/DuplicateTypeAnnotation.out ! test/tools/javac/annotations/typeAnnotations/failures/common/wildcards/InvalidLocation.java ! test/tools/javac/annotations/typeAnnotations/failures/common/wildcards/InvalidLocation.out ! test/tools/javac/annotations/typeAnnotations/failures/common/wildcards/MissingAnnotationValue.java ! test/tools/javac/annotations/typeAnnotations/failures/common/wildcards/MissingAnnotationValue.out ! test/tools/javac/annotations/typeAnnotations/failures/target/Constructor.java ! test/tools/javac/annotations/typeAnnotations/failures/target/Constructor.out ! test/tools/javac/annotations/typeAnnotations/failures/target/DotClass.java ! test/tools/javac/annotations/typeAnnotations/failures/target/DotClass.out ! test/tools/javac/annotations/typeAnnotations/failures/target/IncompleteArray.java ! test/tools/javac/annotations/typeAnnotations/failures/target/IncompleteArray.out ! test/tools/javac/annotations/typeAnnotations/failures/target/NotTypeParameter.java ! test/tools/javac/annotations/typeAnnotations/failures/target/NotTypeParameter.out ! test/tools/javac/annotations/typeAnnotations/failures/target/NotTypeUse.java ! test/tools/javac/annotations/typeAnnotations/failures/target/NotTypeUse.out ! test/tools/javac/annotations/typeAnnotations/failures/target/VoidMethod.java ! test/tools/javac/annotations/typeAnnotations/failures/target/VoidMethod.out ! test/tools/javac/annotations/typeAnnotations/newlocations/BasicTest.java ! test/tools/javac/annotations/typeAnnotations/newlocations/ClassExtends.java ! test/tools/javac/annotations/typeAnnotations/newlocations/ClassParameters.java ! test/tools/javac/annotations/typeAnnotations/newlocations/ConstructorTypeArgs.java ! test/tools/javac/annotations/typeAnnotations/newlocations/ExceptionParameters.java ! test/tools/javac/annotations/typeAnnotations/newlocations/Expressions.java ! test/tools/javac/annotations/typeAnnotations/newlocations/Fields.java ! test/tools/javac/annotations/typeAnnotations/newlocations/LocalVariables.java ! test/tools/javac/annotations/typeAnnotations/newlocations/MethodReturnType.java ! test/tools/javac/annotations/typeAnnotations/newlocations/MethodTypeArgs.java ! test/tools/javac/annotations/typeAnnotations/newlocations/MethodTypeParameters.java ! test/tools/javac/annotations/typeAnnotations/newlocations/MultiCatch.java ! test/tools/javac/annotations/typeAnnotations/newlocations/NestedTypes.java ! test/tools/javac/annotations/typeAnnotations/newlocations/Parameters.java ! test/tools/javac/annotations/typeAnnotations/newlocations/Receivers.java ! test/tools/javac/annotations/typeAnnotations/newlocations/RepeatingTypeAnnotations.java ! test/tools/javac/annotations/typeAnnotations/newlocations/RepeatingTypeAnnotations.out ! test/tools/javac/annotations/typeAnnotations/newlocations/ResourceVariables.java ! test/tools/javac/annotations/typeAnnotations/newlocations/Throws.java ! test/tools/javac/annotations/typeAnnotations/newlocations/TopLevelBlocks.java ! test/tools/javac/annotations/typeAnnotations/newlocations/TypeCasts.java ! test/tools/javac/annotations/typeAnnotations/newlocations/TypeParameters.java ! test/tools/javac/annotations/typeAnnotations/newlocations/Varargs.java ! test/tools/javac/annotations/typeAnnotations/newlocations/Wildcards.java ! test/tools/javac/annotations/typeAnnotations/packageanno/PackageProcessor.java ! test/tools/javac/annotations/typeAnnotations/packageanno/mypackage/Anno.java ! test/tools/javac/annotations/typeAnnotations/packageanno/mypackage/MyClass.java ! test/tools/javac/annotations/typeAnnotations/packageanno/mypackage/package-info.java ! test/tools/javac/annotations/typeAnnotations/referenceinfos/ClassExtends.java ! test/tools/javac/annotations/typeAnnotations/referenceinfos/ClassTypeParam.java ! test/tools/javac/annotations/typeAnnotations/referenceinfos/Constructors.java ! test/tools/javac/annotations/typeAnnotations/referenceinfos/Driver.java ! test/tools/javac/annotations/typeAnnotations/referenceinfos/ExceptionParameters.java ! test/tools/javac/annotations/typeAnnotations/referenceinfos/Fields.java ! test/tools/javac/annotations/typeAnnotations/referenceinfos/FromSpecification.java ! test/tools/javac/annotations/typeAnnotations/referenceinfos/MethodParameters.java ! test/tools/javac/annotations/typeAnnotations/referenceinfos/MethodReceivers.java ! test/tools/javac/annotations/typeAnnotations/referenceinfos/MethodReturns.java ! test/tools/javac/annotations/typeAnnotations/referenceinfos/MethodThrows.java ! test/tools/javac/annotations/typeAnnotations/referenceinfos/MethodTypeParam.java ! test/tools/javac/annotations/typeAnnotations/referenceinfos/MultiCatch.java ! test/tools/javac/annotations/typeAnnotations/referenceinfos/NestedTypes.java ! test/tools/javac/annotations/typeAnnotations/referenceinfos/NewObjects.java ! test/tools/javac/annotations/typeAnnotations/referenceinfos/ReferenceInfoUtil.java ! test/tools/javac/annotations/typeAnnotations/referenceinfos/RepeatingTypeAnnotations.java ! test/tools/javac/annotations/typeAnnotations/referenceinfos/TypeCasts.java ! test/tools/javac/annotations/typeAnnotations/referenceinfos/TypeTests.java ! test/tools/javac/api/EndPositions.java ! test/tools/javac/diags/CheckResourceKeys.java ! test/tools/javac/diags/examples.not-yet.txt ! test/tools/javac/diags/examples/CantAnnotateNestedType.java ! test/tools/javac/diags/examples/CantAnnotateStaticClass.java ! test/tools/javac/diags/examples/IncorrectReceiverType.java ! test/tools/javac/diags/examples/NoAnnotationsOnDotClass.java ! test/tools/javac/diags/examples/ThisAsIdentifier.java ! test/tools/javac/diags/examples/TypeAnnotationsNotSupported.java ! test/tools/javac/failover/CheckAttributedTree.java ! test/tools/javac/processing/model/element/TestAnonClassNames.java ! test/tools/javac/processing/model/element/TestMissingElement/TestMissingElement.java ! test/tools/javac/processing/model/util/directSupersOfErr/DirectSupersOfErr.java ! test/tools/javac/tree/TreeKindTest.java ! test/tools/javac/tree/TreePosTest.java ! test/tools/javac/treeannotests/AnnoTreeTests.java ! test/tools/javac/treeannotests/TestProcessor.java ! test/tools/javap/typeAnnotations/JSR175Annotations.java ! test/tools/javap/typeAnnotations/NewArray.java ! test/tools/javap/typeAnnotations/Presence.java ! test/tools/javap/typeAnnotations/PresenceInner.java ! test/tools/javap/typeAnnotations/T6855990.java ! test/tools/javap/typeAnnotations/TypeCasts.java ! test/tools/javap/typeAnnotations/Visibility.java ! test/tools/javap/typeAnnotations/Wildcards.java From michel.trudeau at oracle.com Wed Jan 23 14:08:24 2013 From: michel.trudeau at oracle.com (Michel Trudeau) Date: Wed, 23 Jan 2013 14:08:24 -0800 Subject: 8006775: JSR 308: Compiler changes in JDK8 In-Reply-To: References: <510057A3.3080903@oracle.com> <510059AE.4000603@oracle.com> Message-ID: <91BF7F2D-7F7F-429D-AD1A-85441F9C24AB@oracle.com> Congratulations to the entire team! Michel On Jan 23, 2013, at 1:51 PM, Werner Dietl wrote: Wonderful! Thanks for all your work on this! cu, WMD. On Wed, Jan 23, 2013 at 1:44 PM, Maurizio Cimadamore wrote: > On 23/01/13 21:35, Jonathan Gibbons wrote: >> >> With this changeset, I am pleased to report that the reference impl of >> "Type Annotations" has made it into the tl/langtools repository. >> >> Thanks to the entire team, past and present, for helping to make this >> happen. >> >> -- Jon > > Nicely done! Congrats! > > Maurizio -- http://www.google.com/profiles/wdietl From jonathan.gibbons at oracle.com Wed Jan 23 14:13:25 2013 From: jonathan.gibbons at oracle.com (Jonathan Gibbons) Date: Wed, 23 Jan 2013 14:13:25 -0800 Subject: type-annotations/langtools, tl/langtools Message-ID: <51006085.1000207@oracle.com> FYI, these two changesets, both currently tip of their respective repos, are verified content-equal. type-annotations/type-annotations/langtools changeset: 2128:047fe9937cff tag: tip parent: 2124:8d7cd1bc4b9f parent: 2127:71f35e4b93a5 user: jjg date: Wed Jan 23 14:06:05 2013 -0800 summary: Merge jdk8/tl/langtools changeset: 1519:71f35e4b93a5 tag: tip user: jjg date: Wed Jan 23 13:27:24 2013 -0800 summary: 8006775: JSR 308: Compiler changes in JDK8 -- Jon From wdietl at gmail.com Wed Jan 23 14:55:20 2013 From: wdietl at gmail.com (wdietl at gmail.com) Date: Wed, 23 Jan 2013 22:55:20 +0000 Subject: hg: type-annotations/type-annotations/jdk: 9 new changesets Message-ID: <20130123225737.58F2F474F5@hg.openjdk.java.net> Changeset: 71691b9d45ab Author: vinnie Date: 2013-01-23 09:49 +0000 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/71691b9d45ab 8006741: javadoc cleanup for 6263419 Reviewed-by: alanb ! src/share/classes/java/security/PrivateKey.java ! src/share/classes/javax/crypto/SecretKey.java Changeset: 01b36b400145 Author: uta Date: 2013-01-23 15:06 +0400 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/01b36b400145 6519127: user.home property not set correctly Summary: Registry-based approach was changed to SHGetKnownFolderPath/SHGetFolderPathW Reviewed-by: alanb, anthony ! src/windows/native/java/lang/java_props_md.c Changeset: bf2a14ebb6e9 Author: chegar Date: 2013-01-23 14:45 +0000 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/bf2a14ebb6e9 8006669: sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/PostThruProxy.sh fails on mac Reviewed-by: alanb ! test/sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/PostThruProxy.java ! test/sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/PostThruProxyWithAuth.java Changeset: 53064bbaeec5 Author: alanb Date: 2013-01-23 15:12 +0000 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/53064bbaeec5 8006764: FunctionalInterface missing from rt.jar (old build) Reviewed-by: lancea, forax ! make/java/java/FILES_java.gmk Changeset: c9eb1d3ef37f Author: robm Date: 2013-01-23 17:54 +0000 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/c9eb1d3ef37f 8004729: Add java.lang.reflect.Parameter and related changes for parameter reflection Reviewed-by: darcy, forax, psandoz, dholmes, tbell ! make/java/java/Exportedfiles.gmk ! make/java/java/FILES_c.gmk ! make/java/java/mapfile-vers ! makefiles/mapfiles/libjava/mapfile-vers ! src/share/classes/java/lang/reflect/Constructor.java ! src/share/classes/java/lang/reflect/Executable.java ! src/share/classes/java/lang/reflect/Method.java ! src/share/classes/java/lang/reflect/Modifier.java + src/share/classes/java/lang/reflect/Parameter.java ! src/share/javavm/export/jvm.h + src/share/native/java/lang/reflect/Executable.c + test/java/lang/reflect/Parameter/WithParameters.java + test/java/lang/reflect/Parameter/WithoutParameters.java Changeset: e0552f13f4a2 Author: sherman Date: 2013-01-23 10:29 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/e0552f13f4a2 8006773: test/java/util/zip/ZipFile/FinalizeZipFile.java failing intermittently Summary: fixed the test case Reviewed-by: alanb ! test/java/util/zip/ZipFile/FinalizeZipFile.java Changeset: 87f5569effdd Author: sherman Date: 2013-01-23 10:31 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/87f5569effdd Merge Changeset: 0c86df653029 Author: vinnie Date: 2013-01-23 21:25 +0000 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/0c86df653029 8006591: Protect keystore entries using stronger PBE algorithms Reviewed-by: mullan ! src/share/classes/java/security/KeyStore.java ! src/share/classes/sun/security/pkcs12/PKCS12KeyStore.java + test/java/security/KeyStore/PBETest.java Changeset: bc93523615aa Author: wmdietl Date: 2013-01-23 14:54 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/bc93523615aa Automated merge with http://hg.openjdk.java.net/jdk8/tl/jdk ! src/share/classes/java/lang/reflect/Executable.java From jonathan.gibbons at oracle.com Wed Jan 23 15:07:09 2013 From: jonathan.gibbons at oracle.com (Jonathan Gibbons) Date: Wed, 23 Jan 2013 15:07:09 -0800 Subject: On the impl of AnnotatedType Message-ID: <51006D1D.8040101@oracle.com> On the impl of AnnotatedType First, note that there are 3 types called AnnotatedType, so we need to be careful to distinguish them. 1. javax.lang.model.type.AnnotatedType This is a public JCP-controlled interface in the javax.lang.model package. 2. com.sun.javadoc.AnnotatedType This is a public interface, part of the Doclet API. 3. com.sun.tools.javac.code.Type.AnnotatedType This is an internal impl class only. So, the jx.l.m class exists because we do not want to add extra methods to the supertype interface, jx.l.m.TypeMirror. Likewise, c.s.j.AnnotatedType exists because we don't want to add methods to c.s.j.Type. But, these reasons do not apply to c.s.t.j.code.Type, and we can add methods to that as we choose. So that leads us to the impl choice we now have: whether to use a delegation model or anon-subtype model to impl the jx.l.m.t.AT. Within javac, we are not so constrained to avoid code.Type either, and it would be nice, as far as possible, to add virtual methods on code.Type to avoid unnecessary instanceof and cast tests within the javac code. As for delegation vs anon-subtyping, the more we can hide that choice behind methods on Type, the less it matters. I am concerned, in the webrevs I've done so far, at the number of anon-subtypes required, such that this is not a slam-dunk choice. But the delegation approach requires a fair-amount of undelegating to the underlying type as well. -- Jon From joel.franck at oracle.com Thu Jan 24 04:54:35 2013 From: joel.franck at oracle.com (=?iso-8859-1?Q?Joel_Borggr=E9n-Franck?=) Date: Thu, 24 Jan 2013 13:54:35 +0100 Subject: On the impl of AnnotatedType In-Reply-To: <51006D1D.8040101@oracle.com> References: <51006D1D.8040101@oracle.com> Message-ID: <92C27E03-B0F2-46AF-A7B2-C985D3B9C497@oracle.com> Hi Jon, Werner, and all On 24 jan 2013, at 00:07, Jonathan Gibbons wrote: > On the impl of AnnotatedType > > First, note that there are 3 types called AnnotatedType, so we need to be careful to distinguish them. > Well there should actually (IMHO) only be two with that name. For the language model, the proposed name is AnnotatedTypeMirror (in the current model TypeMirror is the base type abstraction). > 1. javax.lang.model.type.AnnotatedType > This is a public JCP-controlled interface in the javax.lang.model package. > > 2. com.sun.javadoc.AnnotatedType > This is a public interface, part of the Doclet API. > > 3. com.sun.tools.javac.code.Type.AnnotatedType > This is an internal impl class only. > > > So, the jx.l.m class exists because we do not want to add extra methods to the supertype interface, jx.l.m.TypeMirror. Likewise, c.s.j.AnnotatedType exists because we don't want to add methods to c.s.j.Type. > > But, these reasons do not apply to c.s.t.j.code.Type, and we can add methods to that as we choose. So that leads us to the impl choice we now have: whether to use a delegation model or anon-subtype model to impl the jx.l.m.t.AT. > > Within javac, we are not so constrained to avoid code.Type either, and it would be nice, as far as possible, to add virtual methods on code.Type to avoid unnecessary instanceof and cast tests within the javac code. > > As for delegation vs anon-subtyping, the more we can hide that choice behind methods on Type, the less it matters. I am concerned, in the webrevs I've done so far, at the number of anon-subtypes required, such that this is not a slam-dunk choice. But the delegation approach requires a fair-amount of undelegating to the underlying type as well. I have uploaded a patch [1] that cleans out javax.lang.model.type.AnnotatedType and adds AnnotatedTypeMirror. The patch also removes all TypeKind.ANNOATED checks in favor for a call to Type.isAnnotatedType() and does some minor cleaning. Also I copied getTypeCompound() from Jon. With this and Jon's patch I think we have a foundation for starting to convert to anonymous classes which would make the job of providing javax.lang.model easier. A couple of points: - I'm very doubtful that TypeKind.ANNOTATED belongs in the model at least as a kind. To me this feels like an orthogonal quality. - The reason I want to move from the delegation model is that I need to further subdivide AnnotatedType into AnnotatedTypeVariable, AnnotatedWildcardType, AnnotatedParameterizedType and AnnotatedArrayType. While you can have AnnotatedType implement the union of all the functionality of the above and do dispatching this feels very brittle. If we move to a subtype model instead it should be easy and type-safe to provide the functionality in the subclasses where we know for a fact that the base type is for example a WildcardType. [1] http://cr.openjdk.java.net/~jfranck/type-annotations/langmodel-cleanup3.patch cheers /Joel From wdietl at gmail.com Thu Jan 24 09:36:21 2013 From: wdietl at gmail.com (Werner Dietl) Date: Thu, 24 Jan 2013 09:36:21 -0800 Subject: Development model & deadlines Message-ID: All, will anything change in our development approach now that type annotations are also in TL? I assume I can still commit to the type-annotations repository and at certain points we make official patches for TL. How frequently do you want to sync? Steve is not a committer to type-annotations. Should we change this, so that he can add tests in type-annotations? Or should he add tests in TL? What is roughly our deadline for the next milestone? Thanks, cu, WMD. -- http://www.google.com/profiles/wdietl From wdietl at gmail.com Thu Jan 24 09:40:00 2013 From: wdietl at gmail.com (Werner Dietl) Date: Thu, 24 Jan 2013 09:40:00 -0800 Subject: On the impl of AnnotatedType In-Reply-To: <92C27E03-B0F2-46AF-A7B2-C985D3B9C497@oracle.com> References: <51006D1D.8040101@oracle.com> <92C27E03-B0F2-46AF-A7B2-C985D3B9C497@oracle.com> Message-ID: >> First, note that there are 3 types called AnnotatedType, so we need to be careful to distinguish them. >> > > Well there should actually (IMHO) only be two with that name. For the language model, the proposed name is AnnotatedTypeMirror (in the current model TypeMirror is the base type abstraction). All other subtypes of TypeMirror don't use "Mirror" in the interface name. That's why I chose AnnotatedType over AnnotatedTypeMirror. It looks like the prevailing opinion is to try the anonymous subtype approach. Should I or do you want to do this in the type-annotations repo or in TL? cu, WMD. >> 1. javax.lang.model.type.AnnotatedType >> This is a public JCP-controlled interface in the javax.lang.model package. >> >> 2. com.sun.javadoc.AnnotatedType >> This is a public interface, part of the Doclet API. >> >> 3. com.sun.tools.javac.code.Type.AnnotatedType >> This is an internal impl class only. >> >> >> So, the jx.l.m class exists because we do not want to add extra methods to the supertype interface, jx.l.m.TypeMirror. Likewise, c.s.j.AnnotatedType exists because we don't want to add methods to c.s.j.Type. >> >> But, these reasons do not apply to c.s.t.j.code.Type, and we can add methods to that as we choose. So that leads us to the impl choice we now have: whether to use a delegation model or anon-subtype model to impl the jx.l.m.t.AT. >> >> Within javac, we are not so constrained to avoid code.Type either, and it would be nice, as far as possible, to add virtual methods on code.Type to avoid unnecessary instanceof and cast tests within the javac code. >> >> As for delegation vs anon-subtyping, the more we can hide that choice behind methods on Type, the less it matters. I am concerned, in the webrevs I've done so far, at the number of anon-subtypes required, such that this is not a slam-dunk choice. But the delegation approach requires a fair-amount of undelegating to the underlying type as well. > > I have uploaded a patch [1] that cleans out javax.lang.model.type.AnnotatedType and adds AnnotatedTypeMirror. The patch also removes all TypeKind.ANNOATED checks in favor for a call to Type.isAnnotatedType() and does some minor cleaning. Also I copied getTypeCompound() from Jon. With this and Jon's patch I think we have a foundation for starting to convert to anonymous classes which would make the job of providing javax.lang.model easier. > > A couple of points: > > - I'm very doubtful that TypeKind.ANNOTATED belongs in the model at least as a kind. To me this feels like an orthogonal quality. > - The reason I want to move from the delegation model is that I need to further subdivide AnnotatedType into AnnotatedTypeVariable, AnnotatedWildcardType, AnnotatedParameterizedType and AnnotatedArrayType. While you can have AnnotatedType implement the union of all the functionality of the above and do dispatching this feels very brittle. If we move to a subtype model instead it should be easy and type-safe to provide the functionality in the subclasses where we know for a fact that the base type is for example a WildcardType. > > [1] http://cr.openjdk.java.net/~jfranck/type-annotations/langmodel-cleanup3.patch > > cheers > /Joel -- http://www.google.com/profiles/wdietl From jonathan.gibbons at oracle.com Thu Jan 24 09:48:27 2013 From: jonathan.gibbons at oracle.com (Jonathan Gibbons) Date: Thu, 24 Jan 2013 09:48:27 -0800 Subject: On the impl of AnnotatedType In-Reply-To: References: <51006D1D.8040101@oracle.com> <92C27E03-B0F2-46AF-A7B2-C985D3B9C497@oracle.com> Message-ID: <510173EB.2060509@oracle.com> On 01/24/2013 09:40 AM, Werner Dietl wrote: > All other subtypes of TypeMirror don't use "Mirror" in the interface > name. That's why I chose AnnotatedType over AnnotatedTypeMirror. > > It looks like the prevailing opinion is to try the anonymous subtype approach. > Should I or do you want to do this in the type-annotations repo or in TL? > > cu, WMD. Yes, but Joel's point is that annotated-ness is just an extension of TypeMirror, and not a fundamental new subtype. If we had default methods available, we would use that instead of AnnotatedType. I tend to agree, but Joe has the final say in this part of the API. -- Jon From jonathan.gibbons at oracle.com Thu Jan 24 10:56:43 2013 From: jonathan.gibbons at oracle.com (Jonathan Gibbons) Date: Thu, 24 Jan 2013 10:56:43 -0800 Subject: Development model & deadlines In-Reply-To: References: Message-ID: <510183EB.3000705@oracle.com> On 01/24/2013 09:36 AM, Werner Dietl wrote: > All, > > will anything change in our development approach now that type > annotations are also in TL? > I assume I can still commit to the type-annotations repository and at > certain points we make official patches for TL. > How frequently do you want to sync? > > Steve is not a committer to type-annotations. Should we change this, > so that he can add tests in type-annotations? Or should he add tests > in TL? > > What is roughly our deadline for the next milestone? > > Thanks, > cu, WMD. > The next deadline is M7, Developer Preview, on Feb 21. See http://openjdk.java.net/projects/jdk8/milestones Code freeze will be a week or more before that. I am trying to determine the exact date. We can continue to commit to type-annotations, but there should not (will not) be any more "bulk updates" from type-annotations to TL as occurred yesterday. From now on, pushes to TL must follow the more standard rules of requiring a changeset number, individual review, and should generally be focussed on a single issue, much as you would see for all other changesets going into TL. After M7 it will get progressively hard to push changesets as we try and stabilize the code base. -- Jon From joe.darcy at oracle.com Thu Jan 24 11:06:33 2013 From: joe.darcy at oracle.com (Joe Darcy) Date: Thu, 24 Jan 2013 11:06:33 -0800 Subject: On the impl of AnnotatedType In-Reply-To: <510173EB.2060509@oracle.com> References: <51006D1D.8040101@oracle.com> <92C27E03-B0F2-46AF-A7B2-C985D3B9C497@oracle.com> <510173EB.2060509@oracle.com> Message-ID: <51018639.4030900@oracle.com> On 1/24/2013 9:48 AM, Jonathan Gibbons wrote: > On 01/24/2013 09:40 AM, Werner Dietl wrote: >> All other subtypes of TypeMirror don't use "Mirror" in the interface >> name. That's why I chose AnnotatedType over AnnotatedTypeMirror. >> >> It looks like the prevailing opinion is to try the anonymous subtype >> approach. >> Should I or do you want to do this in the type-annotations repo or in >> TL? >> >> cu, WMD. > > Yes, but Joel's point is that annotated-ness is just an extension of > TypeMirror, and not a fundamental new subtype. If we had default > methods available, we would use that instead of AnnotatedType. I tend > to agree, but Joe has the final say in this part of the API. > Unfortunately we cannot use default methods in the version of javax.lang.model.* shipped as part of Java SE 8 since we need to be able to turn that version of the API on top of Java SE 7 implementations. (This constraint allows IDEs to model the latest language version, while running on older JDKs.) -Joe From alex.buckley at oracle.com Thu Jan 24 11:26:15 2013 From: alex.buckley at oracle.com (Alex Buckley) Date: Thu, 24 Jan 2013 11:26:15 -0800 Subject: Development model & deadlines In-Reply-To: References: Message-ID: <51018AD7.6040008@oracle.com> On 1/24/2013 9:36 AM, Werner Dietl wrote: > Steve is not a committer to type-annotations. Should we change this, > so that he can add tests in type-annotations? Or should he add tests > in TL? Additional tests for a codebase already in jdk8/tl should go straight into jdk8/tl. Since pushing there means being a Committer on the JDK8 project, Jon is likely to do the pushes on Steve's behalf for the forseeable future. If you are working very closely with Steve, then new tests can certainly be added to type-annotations/type-annotations. In practice, they would probably be part of the changeset you push to the forest, perhaps with Steve as a Contributed-by:. Alex From steve.sides at oracle.com Thu Jan 24 12:45:52 2013 From: steve.sides at oracle.com (Steve Sides) Date: Thu, 24 Jan 2013 12:45:52 -0800 Subject: Development model & deadlines In-Reply-To: References: Message-ID: <51019D80.6050609@oracle.com> On 1/24/2013 9:36 AM, Werner Dietl wrote: > All, > > will anything change in our development approach now that type > annotations are also in TL? > I assume I can still commit to the type-annotations repository and at > certain points we make official patches for TL. > How frequently do you want to sync? > > Steve is not a committer to type-annotations. Should we change this, > so that he can add tests in type-annotations? Or should he add tests > in TL? > > What is roughly our deadline for the next milestone? > > Thanks, > cu, WMD. > I just sent a mail before reading this...so same basic question about where changes will be made and what to test. Also, if only in tl, do I need to be at least an author for jdk8? -steve From steve.sides at oracle.com Thu Jan 24 12:50:03 2013 From: steve.sides at oracle.com (Steve Sides) Date: Thu, 24 Jan 2013 12:50:03 -0800 Subject: Development model & deadlines In-Reply-To: <51019D80.6050609@oracle.com> References: <51019D80.6050609@oracle.com> Message-ID: <51019E7B.6090709@oracle.com> On 1/24/2013 12:45 PM, Steve Sides wrote: > On 1/24/2013 9:36 AM, Werner Dietl wrote: >> All, >> >> will anything change in our development approach now that type >> annotations are also in TL? >> I assume I can still commit to the type-annotations repository and at >> certain points we make official patches for TL. >> How frequently do you want to sync? >> >> Steve is not a committer to type-annotations. Should we change this, >> so that he can add tests in type-annotations? Or should he add tests >> in TL? >> >> What is roughly our deadline for the next milestone? >> >> Thanks, >> cu, WMD. >> > I just sent a mail before reading this...so same basic question about > where changes will be made and what to test. > > Also, if only in tl, do I need to be at least an author for jdk8? > > -steve > > reading bottom up. :) going through type-annotations is okay with me. I'm still curious about ongoing testing. Sounds like we should continue to test type-annotations builds nightly (or as there are changes, as is the case now). Another question, are type-annotations/jdk changes going or have gone into tl/jdk? I thought I saw some reflection code in type-annotations/jdk that are not in tl/jdk. -steve From alex.buckley at oracle.com Thu Jan 24 12:54:17 2013 From: alex.buckley at oracle.com (Alex Buckley) Date: Thu, 24 Jan 2013 12:54:17 -0800 Subject: Development model & deadlines In-Reply-To: <51019E7B.6090709@oracle.com> References: <51019D80.6050609@oracle.com> <51019E7B.6090709@oracle.com> Message-ID: <51019F79.70404@oracle.com> On 1/24/2013 12:50 PM, Steve Sides wrote: > I'm still curious about ongoing testing. Sounds like we should continue > to test type-annotations builds nightly (or as there are changes, as is > the case now). Yes, because Werner continues to develop in the type-annotations forest. > Another question, are type-annotations/jdk changes going or have gone > into tl/jdk? > I thought I saw some reflection code in type-annotations/jdk that are > not in tl/jdk. At this stage, it's what ever Joel wants to do. He's not currently a Committer in the Type Annotations project, but is a JDK8 Committer, so as a practical matter he is likely to push into jdk8/tl/jdk (after doing the things Jon said, of course :-)). Alex From jonathan.gibbons at oracle.com Thu Jan 24 12:56:12 2013 From: jonathan.gibbons at oracle.com (Jonathan Gibbons) Date: Thu, 24 Jan 2013 12:56:12 -0800 Subject: 8006775: JSR 308: Compiler changes in JDK8 In-Reply-To: <51019C64.9030402@oracle.com> References: <510057A3.3080903@oracle.com> <51019C64.9030402@oracle.com> Message-ID: <51019FEC.9000908@oracle.com> On 01/24/2013 12:41 PM, Steve Sides wrote: > On 1/23/2013 1:35 PM, Jonathan Gibbons wrote: >> With this changeset, I am pleased to report that the reference impl >> of "Type Annotations" has made it into the tl/langtools repository. >> >> Thanks to the entire team, past and present, for helping to make this >> happen. >> >> -- Jon > Does this mean type-annotations/langtools is obsolete and all future > changes are to be done in tl/langtools? > I wondering about scheduled nightly testing of the type-annotations > builds...can that be stopped? > > -steve type-annotations can continue to be a play area for low-overhead changesets. It is up to anyone creating changesets to decide whether they should be targeted to type-annotations or tl; since I am likely to be the one to push bits up, my preference is that is that changsets should go to tl directly, unless there is a good reason to stage them through type-annotations. -- Jon From jonathan.gibbons at oracle.com Thu Jan 24 12:57:15 2013 From: jonathan.gibbons at oracle.com (Jonathan Gibbons) Date: Thu, 24 Jan 2013 12:57:15 -0800 Subject: =?ISO-8859-1?Q?CFV=3A_New_Type_Annotations_Committer=3A_?= =?ISO-8859-1?Q?Joel_Borggr=E9n-Franck?= Message-ID: <5101A02B.4010208@oracle.com> I hereby nominate Joel Borggr?n-Franck to Type Annotations Committer. Joel joined the Langtools team at Oracle a while back, and has contributed several changes to the JDK 8 repositories, all focusing on improvements to annotations. He was recently appointed as a JDK8 Committer [1]. Votes are due by 7th February 2013. Only current Type Annotations Committers [2] are eligible to vote on this nomination. (This includes the Project Lead.) For Lazy Consensus voting instructions, see [3]. -- Jon [1]http://mail.openjdk.java.net/pipermail/jdk8-dev/2013-January/001862.html [2]http://openjdk.java.net/census [3]http://openjdk.java.net/projects/#committer-vote From jonathan.gibbons at oracle.com Thu Jan 24 13:00:11 2013 From: jonathan.gibbons at oracle.com (Jonathan Gibbons) Date: Thu, 24 Jan 2013 13:00:11 -0800 Subject: Development model & deadlines In-Reply-To: <51019D80.6050609@oracle.com> References: <51019D80.6050609@oracle.com> Message-ID: <5101A0DB.6080905@oracle.com> On 01/24/2013 12:45 PM, Steve Sides wrote: > I just sent a mail before reading this...so same basic question about > where changes will be made and what to test. > > Also, if only in tl, do I need to be at least an author for jdk8? I just sent a mail before reading this :-) If you're writing new/updated tests for functionality in TL. then the tests should go straight to TL. You don't need to be an Author for JDK 8, although it might help a bit. You can continue to publish webrevs on cr.ojn, and you can send me changesets to push on your behalf to either type-annotations or tl. -- Jon From jonathan.gibbons at oracle.com Thu Jan 24 13:02:06 2013 From: jonathan.gibbons at oracle.com (Jonathan Gibbons) Date: Thu, 24 Jan 2013 13:02:06 -0800 Subject: Development model & deadlines In-Reply-To: <51019E7B.6090709@oracle.com> References: <51019D80.6050609@oracle.com> <51019E7B.6090709@oracle.com> Message-ID: <5101A14E.4000703@oracle.com> On 01/24/2013 12:50 PM, Steve Sides wrote: > > going through type-annotations is okay with me. > I'm still curious about ongoing testing. Sounds like we should > continue to test type-annotations builds nightly (or as there are > changes, as is the case now). Yes, if there are recent changes, it would be good to test them. > > Another question, are type-annotations/jdk changes going or have gone > into tl/jdk? > I thought I saw some reflection code in type-annotations/jdk that are > not in tl/jdk. I was not aware of any changes in type-annotations/jdk; I thought all the recent work was in langtools. If you find significant textual diffrences (more than white space and copyright dates) please let me know. -- Jon From jonathan.gibbons at oracle.com Thu Jan 24 13:02:22 2013 From: jonathan.gibbons at oracle.com (Jonathan Gibbons) Date: Thu, 24 Jan 2013 13:02:22 -0800 Subject: =?ISO-8859-1?Q?Re=3A_CFV=3A_New_Type_Annotations_Commi?= =?ISO-8859-1?Q?tter=3A_Joel_Borggr=E9n-Franck?= In-Reply-To: <5101A02B.4010208@oracle.com> References: <5101A02B.4010208@oracle.com> Message-ID: <5101A15E.1070904@oracle.com> Vote: yes From wdietl at gmail.com Thu Jan 24 13:09:55 2013 From: wdietl at gmail.com (Werner Dietl) Date: Thu, 24 Jan 2013 13:09:55 -0800 Subject: =?ISO-8859-1?Q?Re=3A_CFV=3A_New_Type_Annotations_Committer=3A_Joel_Borggr?= =?ISO-8859-1?Q?=E9n=2DFranck?= In-Reply-To: <5101A02B.4010208@oracle.com> References: <5101A02B.4010208@oracle.com> Message-ID: Vote: yes. cu, WMD. On Jan 24, 2013 12:57 PM, "Jonathan Gibbons" wrote: > I hereby nominate Joel Borggr?n-Franck to Type Annotations Committer. > > Joel joined the Langtools team at Oracle a while back, and has contributed > several changes to the JDK 8 repositories, all focusing on improvements to > annotations. He was recently appointed as a JDK8 Committer [1]. > > Votes are due by 7th February 2013. > > Only current Type Annotations Committers [2] are eligible to vote on > this nomination. (This includes the Project Lead.) > > For Lazy Consensus voting instructions, see [3]. > > -- Jon > > [1]http://mail.openjdk.java.**net/pipermail/jdk8-dev/2013-** > January/001862.html > [2]http://openjdk.java.net/**census > [3]http://openjdk.java.net/**projects/#committer-vote > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/type-annotations-dev/attachments/20130124/67b2c679/attachment-0001.html From mernst at cs.washington.edu Thu Jan 24 13:14:27 2013 From: mernst at cs.washington.edu (Michael Ernst) Date: Thu, 24 Jan 2013 13:14:27 -0800 (PST) Subject: CFV: New Type Annotations Committer: Joel =?iso-8859-1?Q?Borggr=E9n-Franck?= In-Reply-To: <5101A02B.4010208@oracle.com> References: <5101A02B.4010208@oracle.com> Message-ID: <20130124.131427.1359484437343054169.mernst@cs.washington.edu> Vote: yes From steve.sides at oracle.com Thu Jan 24 13:35:50 2013 From: steve.sides at oracle.com (Steve Sides) Date: Thu, 24 Jan 2013 13:35:50 -0800 Subject: Development model & deadlines In-Reply-To: <5101A14E.4000703@oracle.com> References: <51019D80.6050609@oracle.com> <51019E7B.6090709@oracle.com> <5101A14E.4000703@oracle.com> Message-ID: <5101A936.2070209@oracle.com> On 1/24/2013 1:02 PM, Jonathan Gibbons wrote: > On 01/24/2013 12:50 PM, Steve Sides wrote: >> >> going through type-annotations is okay with me. >> I'm still curious about ongoing testing. Sounds like we should >> continue to test type-annotations builds nightly (or as there are >> changes, as is the case now). > > Yes, if there are recent changes, it would be good to test them. > >> >> Another question, are type-annotations/jdk changes going or have gone >> into tl/jdk? >> I thought I saw some reflection code in type-annotations/jdk that are >> not in tl/jdk. > > I was not aware of any changes in type-annotations/jdk; I thought all > the recent work was in langtools. If you find significant textual > diffrences (more than white space and copyright dates) please let me > know. > > -- Jon > I was referring to the 5(?) classes" AnnotatedArrayType.java AnnotatedParameterizedType.java AnnotatedType.java AnnotatedTypeVariable.java AnnotatedWildcardType.java here: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/file/bc93523615aa/src/share/classes/java/lang/reflect/ but not here: http://hg.openjdk.java.net/jdk8/tl/jdk/file/b3f0e0c79bcc/src/share/classes/java/lang/reflect/ It could be what Alex said regarding Joel's changes. -steve From joe.darcy at oracle.com Thu Jan 24 13:39:25 2013 From: joe.darcy at oracle.com (Joe Darcy) Date: Thu, 24 Jan 2013 13:39:25 -0800 Subject: Development model & deadlines In-Reply-To: <5101A0DB.6080905@oracle.com> References: <51019D80.6050609@oracle.com> <5101A0DB.6080905@oracle.com> Message-ID: <5101AA0D.2090006@oracle.com> On 1/24/2013 1:00 PM, Jonathan Gibbons wrote: > On 01/24/2013 12:45 PM, Steve Sides wrote: >> I just sent a mail before reading this...so same basic question about >> where changes will be made and what to test. >> >> Also, if only in tl, do I need to be at least an author for jdk8? > > I just sent a mail before reading this :-) > > If you're writing new/updated tests for functionality in TL. then the > tests should go straight to TL. > > You don't need to be an Author for JDK 8, although it might help a > bit. You can continue to publish webrevs on cr.ojn, and you can send > me changesets to push on your behalf to either type-annotations or tl. > Longer term, of course it would be advantageous to have an author (or above) role in the mainline JDK projects. -Joe From jonathan.gibbons at oracle.com Thu Jan 24 17:01:39 2013 From: jonathan.gibbons at oracle.com (Jonathan Gibbons) Date: Thu, 24 Jan 2013 17:01:39 -0800 Subject: need better printer Message-ID: <5101D973.1070402@oracle.com> Werner, The following code in com.sun.tools.javac.code.Printer needs to be fixed to render the annotation in JLS format, since the text can appear in diagnostic messages; @Override public String visitAnnotatedType(AnnotatedType t, Locale locale) { if (t.typeAnnotations != null && t.typeAnnotations.nonEmpty()) { // TODO: better logic for arrays, ... return "(" + t.typeAnnotations + " :: " + visit(t.underlyingType, locale) + ")"; } else { return "({} :: " + visit(t.underlyingType, locale) + ")"; } } Separately, I am working on better printers for debugging. -- Jon From jonathan.gibbons at oracle.com Thu Jan 24 19:25:32 2013 From: jonathan.gibbons at oracle.com (Jonathan Gibbons) Date: Thu, 24 Jan 2013 19:25:32 -0800 Subject: On the impl of AnnotatedType In-Reply-To: References: <51006D1D.8040101@oracle.com> <92C27E03-B0F2-46AF-A7B2-C985D3B9C497@oracle.com> Message-ID: <5101FB2C.1020606@oracle.com> On 01/24/2013 09:40 AM, Werner Dietl wrote: > It looks like the prevailing opinion is to try the anonymous subtype approach. > Should I or do you want to do this in the type-annotations repo or in TL? > > cu, WMD. My enthusiasm for the anon subtype approach is rapidly diminishing. A scan of the classes reveals 28 subtypes of Type, which either require a corresponding anon subtype or a sufficiently good analysis to determine why such a subtype is not required. Of these 28 types, 8 are already anon subtypes, dealing with const values, varargs etc. The following classes are all subtypes of com.sun.tools.javac.code.Type: build/classes/com/sun/tools/javac/code/Type$AnnotatedType.class build/classes/com/sun/tools/javac/code/Type$MethodType.class build/classes/com/sun/tools/javac/code/Type$ArrayType.class build/classes/com/sun/tools/javac/code/Symtab$3.class build/classes/com/sun/tools/javac/code/Type$IntersectionClassType.class build/classes/com/sun/tools/javac/code/Type$WildcardType.class build/classes/com/sun/tools/javac/code/Type$1.class build/classes/com/sun/tools/javac/code/Type$JCNoType.class build/classes/com/sun/tools/javac/code/Type$ErasedClassType.class build/classes/com/sun/tools/javac/code/Type$BottomType.class build/classes/com/sun/tools/javac/code/Type$UnionClassType.class build/classes/com/sun/tools/javac/code/Type$ForAll.class build/classes/com/sun/tools/javac/code/Type$ArrayType$1.class build/classes/com/sun/tools/javac/code/Type$UndetVar.class build/classes/com/sun/tools/javac/code/Type$PackageType.class build/classes/com/sun/tools/javac/code/Type$ErrorType.class build/classes/com/sun/tools/javac/code/Type$TypeVar.class build/classes/com/sun/tools/javac/code/Type$ClassType$1.class build/classes/com/sun/tools/javac/code/Type$DelegatedType.class build/classes/com/sun/tools/javac/code/Type$ClassType.class build/classes/com/sun/tools/javac/code/Type.class build/classes/com/sun/tools/javac/code/Type$CapturedType.class build/classes/com/sun/tools/javac/comp/MemberEnter$Synthesizer$2.class build/classes/com/sun/tools/javac/comp/MemberEnter$7.class build/classes/com/sun/tools/javac/comp/MemberEnter$Synthesizer$1.class build/classes/com/sun/tools/javac/comp/DeferredAttr$DeferredType.class build/classes/com/sun/tools/javac/jvm/ClassReader$1.class build/classes/com/sun/tools/javac/jvm/UninitializedType.class Yesterday, Joel wrote: > - The reason I want to move from the delegation model is that I need to further subdivide AnnotatedType into AnnotatedTypeVariable, AnnotatedWildcardType, AnnotatedParameterizedType and AnnotatedArrayType. While you can have AnnotatedType implement the union of all the functionality of the above and do dispatching this feels very brittle. If we move to a subtype model instead it should be easy and type-safe to provide the functionality in the subclasses where we know for a fact that the base type is for example a WildcardType. So, Joel, 4 named subtypes vs 28 anon subtypes ... -- Jon -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/type-annotations-dev/attachments/20130124/93425694/attachment.html From wdietl at gmail.com Thu Jan 24 19:28:55 2013 From: wdietl at gmail.com (Werner Dietl) Date: Thu, 24 Jan 2013 19:28:55 -0800 Subject: On the impl of AnnotatedType In-Reply-To: <51018639.4030900@oracle.com> References: <51006D1D.8040101@oracle.com> <92C27E03-B0F2-46AF-A7B2-C985D3B9C497@oracle.com> <510173EB.2060509@oracle.com> <51018639.4030900@oracle.com> Message-ID: There are also java.lang.reflect.AnnotatedType and several subclasses like AnnotatedParameterizedType. Is it a goal to have similar names and hierarchies between java.lang.reflect and javax.lang.model.type? cu, WMD. On Thu, Jan 24, 2013 at 11:06 AM, Joe Darcy wrote: > On 1/24/2013 9:48 AM, Jonathan Gibbons wrote: >> >> On 01/24/2013 09:40 AM, Werner Dietl wrote: >>> >>> All other subtypes of TypeMirror don't use "Mirror" in the interface >>> name. That's why I chose AnnotatedType over AnnotatedTypeMirror. >>> >>> It looks like the prevailing opinion is to try the anonymous subtype >>> approach. >>> Should I or do you want to do this in the type-annotations repo or in TL? >>> >>> cu, WMD. >> >> >> Yes, but Joel's point is that annotated-ness is just an extension of >> TypeMirror, and not a fundamental new subtype. If we had default methods >> available, we would use that instead of AnnotatedType. I tend to agree, but >> Joe has the final say in this part of the API. >> > > Unfortunately we cannot use default methods in the version of > javax.lang.model.* shipped as part of Java SE 8 since we need to be able to > turn that version of the API on top of Java SE 7 implementations. (This > constraint allows IDEs to model the latest language version, while running > on older JDKs.) > > -Joe > -- http://www.google.com/profiles/wdietl From wdietl at gmail.com Thu Jan 24 19:32:37 2013 From: wdietl at gmail.com (Werner Dietl) Date: Thu, 24 Jan 2013 19:32:37 -0800 Subject: need better printer In-Reply-To: <5101D973.1070402@oracle.com> References: <5101D973.1070402@oracle.com> Message-ID: Also note that that rudimentary logic is duplicated in com.sun.tools.javac.code.Printer.visitAnnotatedType. Can we just use the Printer? This also depends on whether we go with delegation or anon subtypes for AnnotatedType. cu, WMD. On Thu, Jan 24, 2013 at 5:01 PM, Jonathan Gibbons wrote: > Werner, > > The following code in com.sun.tools.javac.code.Printer needs to be fixed to > render the annotation in JLS format, since the text can appear in diagnostic > messages; > > @Override > public String visitAnnotatedType(AnnotatedType t, Locale locale) { > if (t.typeAnnotations != null && > t.typeAnnotations.nonEmpty()) { > // TODO: better logic for arrays, ... > return "(" + t.typeAnnotations + " :: " + > visit(t.underlyingType, locale) + ")"; > } else { > return "({} :: " + visit(t.underlyingType, locale) + ")"; > } > } > > Separately, I am working on better printers for debugging. > > -- Jon -- http://www.google.com/profiles/wdietl From jonathan.gibbons at oracle.com Thu Jan 24 19:45:12 2013 From: jonathan.gibbons at oracle.com (Jonathan Gibbons) Date: Thu, 24 Jan 2013 19:45:12 -0800 Subject: need better printer In-Reply-To: References: <5101D973.1070402@oracle.com> Message-ID: <5101FFC8.5030101@oracle.com> On 01/24/2013 07:32 PM, Werner Dietl wrote: > Also note that that rudimentary logic is duplicated in > com.sun.tools.javac.code.Printer.visitAnnotatedType. > Can we just use the Printer? ??? ... I was talking about com.sun.tools.javac.code.Printer.visitAnnotatedType ... ??? I'm guessing you were talking about AnnotatedType.toString(), or you thought I was. Since no other *Type.toString() uses Printer, I'm loathe to break the pattern. > > This also depends on whether we go with delegation or anon subtypes > for AnnotatedType. > > cu, WMD. > > On Thu, Jan 24, 2013 at 5:01 PM, Jonathan Gibbons > wrote: >> Werner, >> >> The following code in com.sun.tools.javac.code.Printer needs to be fixed to >> render the annotation in JLS format, since the text can appear in diagnostic >> messages; >> >> @Override >> public String visitAnnotatedType(AnnotatedType t, Locale locale) { >> if (t.typeAnnotations != null && >> t.typeAnnotations.nonEmpty()) { >> // TODO: better logic for arrays, ... >> return "(" + t.typeAnnotations + " :: " + >> visit(t.underlyingType, locale) + ")"; >> } else { >> return "({} :: " + visit(t.underlyingType, locale) + ")"; >> } >> } >> >> Separately, I am working on better printers for debugging. >> >> -- Jon > > From jonathan.gibbons at oracle.com Thu Jan 24 19:46:02 2013 From: jonathan.gibbons at oracle.com (Jonathan Gibbons) Date: Thu, 24 Jan 2013 19:46:02 -0800 Subject: On the impl of AnnotatedType In-Reply-To: References: <51006D1D.8040101@oracle.com> <92C27E03-B0F2-46AF-A7B2-C985D3B9C497@oracle.com> <510173EB.2060509@oracle.com> <51018639.4030900@oracle.com> Message-ID: <5101FFFA.2080103@oracle.com> On 01/24/2013 07:28 PM, Werner Dietl wrote: > There are also java.lang.reflect.AnnotatedType and several subclasses > like AnnotatedParameterizedType. > Is it a goal to have similar names and hierarchies between > java.lang.reflect and javax.lang.model.type? > > cu, WMD. Joe is the naming czar for these two packages. -- Jon From wdietl at gmail.com Thu Jan 24 20:03:58 2013 From: wdietl at gmail.com (Werner Dietl) Date: Thu, 24 Jan 2013 20:03:58 -0800 Subject: need better printer In-Reply-To: <5101FFC8.5030101@oracle.com> References: <5101D973.1070402@oracle.com> <5101FFC8.5030101@oracle.com> Message-ID: Ups, yes I was talking about AnnotatedType.toString and the duplication with the Printer. cu, WMD. On Jan 24, 2013 7:45 PM, "Jonathan Gibbons" wrote: > > > On 01/24/2013 07:32 PM, Werner Dietl wrote: > >> Also note that that rudimentary logic is duplicated in >> com.sun.tools.javac.code.**Printer.visitAnnotatedType. >> Can we just use the Printer? >> > > ??? ... I was talking about com.sun.tools.javac.code.**Printer.visitAnnotatedType > ... ??? > I'm guessing you were talking about AnnotatedType.toString(), or you > thought I was. > Since no other *Type.toString() uses Printer, I'm loathe to break the > pattern. > > >> This also depends on whether we go with delegation or anon subtypes >> for AnnotatedType. >> >> cu, WMD. >> >> On Thu, Jan 24, 2013 at 5:01 PM, Jonathan Gibbons >> wrote: >> >>> Werner, >>> >>> The following code in com.sun.tools.javac.code.**Printer needs to be >>> fixed to >>> render the annotation in JLS format, since the text can appear in >>> diagnostic >>> messages; >>> >>> @Override >>> public String visitAnnotatedType(**AnnotatedType t, Locale locale) >>> { >>> if (t.typeAnnotations != null && >>> t.typeAnnotations.nonEmpty()) { >>> // TODO: better logic for arrays, ... >>> return "(" + t.typeAnnotations + " :: " + >>> visit(t.underlyingType, locale) + ")"; >>> } else { >>> return "({} :: " + visit(t.underlyingType, locale) + ")"; >>> } >>> } >>> >>> Separately, I am working on better printers for debugging. >>> >>> -- Jon >>> >> >> >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/type-annotations-dev/attachments/20130124/aea4797b/attachment.html From joel.franck at oracle.com Fri Jan 25 00:02:56 2013 From: joel.franck at oracle.com (=?windows-1252?Q?Joel_Borggr=E9n-Franck?=) Date: Fri, 25 Jan 2013 09:02:56 +0100 Subject: On the impl of AnnotatedType In-Reply-To: <5101FB2C.1020606@oracle.com> References: <51006D1D.8040101@oracle.com> <92C27E03-B0F2-46AF-A7B2-C985D3B9C497@oracle.com> <5101FB2C.1020606@oracle.com> Message-ID: Hi, On 25 jan 2013, at 04:25, Jonathan Gibbons wrote: > My enthusiasm for the anon subtype approach is rapidly diminishing. > > A scan of the classes reveals 28 subtypes of Type, which either require a corresponding anon subtype or a sufficiently good analysis to determine why such a subtype is not required. Of these 28 types, 8 are already anon subtypes, dealing with const values, varargs etc. > > The following classes are all subtypes of com.sun.tools.javac.code.Type: > > build/classes/com/sun/tools/javac/code/Type$AnnotatedType.class > build/classes/com/sun/tools/javac/code/Type$MethodType.class > build/classes/com/sun/tools/javac/code/Type$ArrayType.class > build/classes/com/sun/tools/javac/code/Symtab$3.class > build/classes/com/sun/tools/javac/code/Type$IntersectionClassType.class > build/classes/com/sun/tools/javac/code/Type$WildcardType.class > build/classes/com/sun/tools/javac/code/Type$1.class > build/classes/com/sun/tools/javac/code/Type$JCNoType.class > build/classes/com/sun/tools/javac/code/Type$ErasedClassType.class > build/classes/com/sun/tools/javac/code/Type$BottomType.class > build/classes/com/sun/tools/javac/code/Type$UnionClassType.class > build/classes/com/sun/tools/javac/code/Type$ForAll.class > build/classes/com/sun/tools/javac/code/Type$ArrayType$1.class > build/classes/com/sun/tools/javac/code/Type$UndetVar.class > build/classes/com/sun/tools/javac/code/Type$PackageType.class > build/classes/com/sun/tools/javac/code/Type$ErrorType.class > build/classes/com/sun/tools/javac/code/Type$TypeVar.class > build/classes/com/sun/tools/javac/code/Type$ClassType$1.class > build/classes/com/sun/tools/javac/code/Type$DelegatedType.class > build/classes/com/sun/tools/javac/code/Type$ClassType.class > build/classes/com/sun/tools/javac/code/Type.class > build/classes/com/sun/tools/javac/code/Type$CapturedType.class > build/classes/com/sun/tools/javac/comp/MemberEnter$Synthesizer$2.class > build/classes/com/sun/tools/javac/comp/MemberEnter$7.class > build/classes/com/sun/tools/javac/comp/MemberEnter$Synthesizer$1.class > build/classes/com/sun/tools/javac/comp/DeferredAttr$DeferredType.class > build/classes/com/sun/tools/javac/jvm/ClassReader$1.class > build/classes/com/sun/tools/javac/jvm/UninitializedType.class > > Yesterday, Joel wrote: >> - The reason I want to move from the delegation model is that I need to further subdivide AnnotatedType into AnnotatedTypeVariable, AnnotatedWildcardType, AnnotatedParameterizedType and AnnotatedArrayType. While you can have AnnotatedType implement the union of all the functionality of the above and do dispatching this feels very brittle. If we move to a subtype model instead it should be easy and type-safe to provide the functionality in the subclasses where we know for a fact that the base type is for example a WildcardType. > So, Joel, 4 named subtypes vs 28 anon subtypes ? > Here is a count of "instanceof [A-Za-z]*Type" per file: src/share/classes/com/sun/tools/classfile/TypeAnnotation.java:1 src/share/classes/com/sun/tools/doclets/formats/html/HtmlDocletWriter.java:2 src/share/classes/com/sun/tools/doclets/formats/html/LinkFactoryImpl.java:2 src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/MemberSummaryBuilder.java:1 src/share/classes/com/sun/tools/doclets/internal/toolkit/util/ClassUseMapper.java:5 src/share/classes/com/sun/tools/doclets/internal/toolkit/util/Util.java:6 src/share/classes/com/sun/tools/javac/code/Symbol.java:2 src/share/classes/com/sun/tools/javac/code/Type.java:1 src/share/classes/com/sun/tools/javac/code/TypeAnnotationPosition.java:1 src/share/classes/com/sun/tools/javac/code/Types.java:2 src/share/classes/com/sun/tools/javac/comp/Check.java:2 src/share/classes/com/sun/tools/javac/comp/LambdaToMethod.java:1 src/share/classes/com/sun/tools/javac/jvm/ClassFile.java:1 src/share/classes/com/sun/tools/javac/jvm/ClassWriter.java:3 src/share/classes/com/sun/tools/javac/jvm/Code.java:5 src/share/classes/com/sun/tools/javac/jvm/Pool.java:3 src/share/classes/com/sun/tools/javac/model/AnnotationProxyMaker.java:2 src/share/classes/com/sun/tools/javac/model/JavacTypes.java:1 src/share/classes/com/sun/tools/javac/parser/JavacParser.java:1 src/share/classes/com/sun/tools/javac/processing/JavacRoundEnvironment.java:1 src/share/classes/com/sun/tools/javac/tree/Pretty.java:3 src/share/classes/com/sun/tools/javac/util/AbstractDiagnosticFormatter.java:1 src/share/classes/com/sun/tools/javac/util/RichDiagnosticFormatter.java:2 src/share/classes/com/sun/tools/javadoc/ParameterImpl.java:1 src/share/classes/com/sun/tools/javap/ClassWriter.java:1 So we have a non-trivial job of checking previous code either way i suppose. Don't get me wrong, I'm fine either way, my uninformed guess is/was that anon subtypes are "better" javac style but it isn't a strong preference. In any case at least we should move as much as possible down from code.AnnotatedType and put in the 4 different code.Annotated*Type subclasses. I'll follow up on the model design in a different mail. cheers /Joel From joel.franck at oracle.com Fri Jan 25 01:52:10 2013 From: joel.franck at oracle.com (=?iso-8859-1?Q?Joel_Borggr=E9n-Franck?=) Date: Fri, 25 Jan 2013 10:52:10 +0100 Subject: Development model & deadlines In-Reply-To: <5101A936.2070209@oracle.com> References: <51019D80.6050609@oracle.com> <51019E7B.6090709@oracle.com> <5101A14E.4000703@oracle.com> <5101A936.2070209@oracle.com> Message-ID: Hi, Yes these are in type-annotations only at the moment to make it possible to write tests for them that at least compiles. The full implementation is currently in review in-house and on core-libs-dev, web revs can be found here: http://cr.openjdk.java.net/~jfranck/8004698/ The full implementation will be pushed to TL, I don't think we need to "back port" it to type-annotations, but that would be trivial. cheers /Joel On 24 jan 2013, at 22:35, Steve Sides wrote: > On 1/24/2013 1:02 PM, Jonathan Gibbons wrote: >> On 01/24/2013 12:50 PM, Steve Sides wrote: >>> >>> going through type-annotations is okay with me. >>> I'm still curious about ongoing testing. Sounds like we should continue to test type-annotations builds nightly (or as there are changes, as is the case now). >> >> Yes, if there are recent changes, it would be good to test them. >> >>> >>> Another question, are type-annotations/jdk changes going or have gone into tl/jdk? >>> I thought I saw some reflection code in type-annotations/jdk that are not in tl/jdk. >> >> I was not aware of any changes in type-annotations/jdk; I thought all the recent work was in langtools. If you find significant textual diffrences (more than white space and copyright dates) please let me know. >> >> -- Jon >> > I was referring to the 5(?) classes" > AnnotatedArrayType.java > AnnotatedParameterizedType.java > AnnotatedType.java > AnnotatedTypeVariable.java > AnnotatedWildcardType.java > > here: > http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/file/bc93523615aa/src/share/classes/java/lang/reflect/ > but not here: > http://hg.openjdk.java.net/jdk8/tl/jdk/file/b3f0e0c79bcc/src/share/classes/java/lang/reflect/ > > It could be what Alex said regarding Joel's changes. > -steve From alex.buckley at oracle.com Fri Jan 25 11:29:01 2013 From: alex.buckley at oracle.com (Alex Buckley) Date: Fri, 25 Jan 2013 11:29:01 -0800 Subject: On the impl of AnnotatedType In-Reply-To: References: <51006D1D.8040101@oracle.com> <92C27E03-B0F2-46AF-A7B2-C985D3B9C497@oracle.com> <510173EB.2060509@oracle.com> <51018639.4030900@oracle.com> Message-ID: <5102DCFD.4030607@oracle.com> On 1/24/2013 7:28 PM, Werner Dietl wrote: > There are also java.lang.reflect.AnnotatedType and several subclasses > like AnnotatedParameterizedType. > Is it a goal to have similar names and hierarchies between > java.lang.reflect and javax.lang.model.type? Yes. See the section "* Language model" in [1], where I relate: (the old) j.l.r.Type to jx.l.m.t.TypeMirror, and (the new) j.l.r.AnnotatedType to jx.l.m.t.AnnotatedTypeMirror. Alex [1] http://mail.openjdk.java.net/pipermail/type-annotations-spec-experts/2012-September/000001.html From steve.sides at oracle.com Fri Jan 25 18:07:51 2013 From: steve.sides at oracle.com (Steve Sides) Date: Fri, 25 Jan 2013 18:07:51 -0800 Subject: type-annotations on lambda expressions, not sure what to expect Message-ID: <51033A77.5040001@oracle.com> Hi, I'm looking at type-annotations on lambda expressions. This little sample below compiles, but there are no type-annotations in the class file, and I'm not really sure what to expect. Any answers yet? -steve import java.lang.annotation.*; import static java.lang.annotation.RetentionPolicy.*; import static java.lang.annotation.ElementType.*; public class test { // type-annotations do not appear in class files. IntOperation dubble = (@A Integer I) -> I * 2; PrintString PS = (@A String msg) -> System.out.println(msg); PrintString Debug = (@A String msg) -> { @A @A String dbg="DEBUG:"; dbg=dbg.concat(msg); System.out.println(dbg); }; } // SAM interfaces interface IntOperation { Integer operate(Integer i); } interface PrintString { void print(String s); } interface IntOperations { intOps getIntOps( ); } @Retention(RUNTIME) @Target({TYPE_USE}) @Repeatable( AC.class) @interface A {} @Retention(RUNTIME) @Target({TYPE_USE}) @interface AC { A[] value(); } } From wdietl at gmail.com Fri Jan 25 22:42:37 2013 From: wdietl at gmail.com (Werner Dietl) Date: Fri, 25 Jan 2013 22:42:37 -0800 Subject: type-annotations on lambda expressions, not sure what to expect In-Reply-To: <51033A77.5040001@oracle.com> References: <51033A77.5040001@oracle.com> Message-ID: Hi Steve, type annotations in and on lambda expressions were first specified in the JSR 308 spec sent out by Mike on Wednesday. I will try to implement that spec ASAP; I will have a better understanding early next week. cu, WMD. On Fri, Jan 25, 2013 at 6:07 PM, Steve Sides wrote: > Hi, > I'm looking at type-annotations on lambda expressions. This little sample > below compiles, but there are no type-annotations in the class file, and I'm > not really sure what to expect. > Any answers yet? > > -steve > > import java.lang.annotation.*; > import static java.lang.annotation.RetentionPolicy.*; > import static java.lang.annotation.ElementType.*; > > public class test { > // type-annotations do not appear in class files. > IntOperation dubble = (@A Integer I) -> I * 2; > PrintString PS = (@A String msg) -> System.out.println(msg); > PrintString Debug = (@A String msg) -> { @A @A String dbg="DEBUG:"; > dbg=dbg.concat(msg); > System.out.println(dbg); }; > } > // SAM interfaces > interface IntOperation { Integer operate(Integer i); } > interface PrintString { void print(String s); } > interface IntOperations { intOps getIntOps( ); } > > @Retention(RUNTIME) > @Target({TYPE_USE}) > @Repeatable( AC.class) > @interface A {} > > @Retention(RUNTIME) > @Target({TYPE_USE}) > @interface AC { A[] value(); } > } > > > > -- http://www.google.com/profiles/wdietl From wdietl at gmail.com Sun Jan 27 15:17:45 2013 From: wdietl at gmail.com (wdietl at gmail.com) Date: Sun, 27 Jan 2013 23:17:45 +0000 Subject: hg: type-annotations/type-annotations/langtools: 3 new changesets Message-ID: <20130127231759.C8E78475AA@hg.openjdk.java.net> Changeset: 59b64d32754e Author: wmdietl Date: 2013-01-27 15:15 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/langtools/rev/59b64d32754e Renumbering TargetType constants. Add basic support for changed Lambda targets. Implement type annotations on cast with intersection type. ! src/share/classes/com/sun/tools/classfile/ClassWriter.java ! src/share/classes/com/sun/tools/classfile/TypeAnnotation.java ! src/share/classes/com/sun/tools/javac/code/TargetType.java ! src/share/classes/com/sun/tools/javac/code/TypeAnnotationPosition.java ! src/share/classes/com/sun/tools/javac/code/TypeAnnotations.java ! src/share/classes/com/sun/tools/javac/jvm/ClassReader.java ! src/share/classes/com/sun/tools/javac/jvm/ClassWriter.java ! src/share/classes/com/sun/tools/javap/AnnotationWriter.java ! test/tools/javac/annotations/typeAnnotations/referenceinfos/TypeCasts.java Changeset: 09f65aad4759 Author: darcy Date: 2013-01-23 20:11 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/langtools/rev/09f65aad4759 8006264: Add explanation of why default methods cannot be used in JDK 8 javax.lang.model Reviewed-by: jjg ! src/share/classes/javax/lang/model/element/AnnotationValueVisitor.java ! src/share/classes/javax/lang/model/element/ElementVisitor.java ! src/share/classes/javax/lang/model/type/TypeVisitor.java ! src/share/classes/javax/lang/model/util/AbstractAnnotationValueVisitor6.java ! src/share/classes/javax/lang/model/util/AbstractAnnotationValueVisitor7.java ! src/share/classes/javax/lang/model/util/AbstractAnnotationValueVisitor8.java ! src/share/classes/javax/lang/model/util/AbstractElementVisitor6.java ! src/share/classes/javax/lang/model/util/AbstractElementVisitor7.java ! src/share/classes/javax/lang/model/util/AbstractElementVisitor8.java ! src/share/classes/javax/lang/model/util/AbstractTypeVisitor6.java ! src/share/classes/javax/lang/model/util/AbstractTypeVisitor7.java ! src/share/classes/javax/lang/model/util/AbstractTypeVisitor8.java ! src/share/classes/javax/lang/model/util/ElementKindVisitor6.java ! src/share/classes/javax/lang/model/util/ElementKindVisitor7.java ! src/share/classes/javax/lang/model/util/ElementKindVisitor8.java ! src/share/classes/javax/lang/model/util/SimpleAnnotationValueVisitor6.java ! src/share/classes/javax/lang/model/util/SimpleAnnotationValueVisitor7.java ! src/share/classes/javax/lang/model/util/SimpleAnnotationValueVisitor8.java ! src/share/classes/javax/lang/model/util/SimpleElementVisitor6.java ! src/share/classes/javax/lang/model/util/SimpleElementVisitor7.java ! src/share/classes/javax/lang/model/util/SimpleElementVisitor8.java ! src/share/classes/javax/lang/model/util/SimpleTypeVisitor6.java ! src/share/classes/javax/lang/model/util/SimpleTypeVisitor7.java ! src/share/classes/javax/lang/model/util/SimpleTypeVisitor8.java ! src/share/classes/javax/lang/model/util/TypeKindVisitor6.java ! src/share/classes/javax/lang/model/util/TypeKindVisitor7.java ! src/share/classes/javax/lang/model/util/TypeKindVisitor8.java Changeset: 1db300a169e5 Author: wmdietl Date: 2013-01-27 15:17 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/langtools/rev/1db300a169e5 Automated merge with http://hg.openjdk.java.net/jdk8/tl/langtools ! src/share/classes/javax/lang/model/type/TypeVisitor.java ! src/share/classes/javax/lang/model/util/AbstractTypeVisitor6.java From wdietl at gmail.com Sun Jan 27 15:18:42 2013 From: wdietl at gmail.com (wdietl at gmail.com) Date: Sun, 27 Jan 2013 23:18:42 +0000 Subject: hg: type-annotations/type-annotations/jdk: 17 new changesets Message-ID: <20130127232248.12278475AB@hg.openjdk.java.net> Changeset: 1da93663f8f3 Author: vinnie Date: 2013-01-23 23:13 +0000 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/1da93663f8f3 8005408: KeyStore API enhancements Reviewed-by: mullan ! src/share/classes/java/security/KeyStore.java + src/share/classes/java/security/PKCS12Attribute.java ! src/share/classes/sun/security/pkcs12/PKCS12KeyStore.java ! src/share/classes/sun/security/x509/AlgorithmId.java + test/sun/security/pkcs12/StorePasswordTest.java + test/sun/security/pkcs12/StoreSecretKeyTest.java + test/sun/security/pkcs12/StoreTrustedCertTest.java + test/sun/security/pkcs12/trusted.pem Changeset: 89f37f7188df Author: mullan Date: 2013-01-23 20:46 -0500 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/89f37f7188df 8006813: Compilation error in PKCS12KeyStore.java Reviewed-by: valeriep ! src/share/classes/sun/security/pkcs12/PKCS12KeyStore.java Changeset: b68ac92d0b2a Author: alanb Date: 2013-01-24 09:47 +0000 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/b68ac92d0b2a 8006524: JSR-3: Allows java.beans to be optional Reviewed-by: dfuchs, mchung ! src/share/classes/javax/management/MXBean.java ! src/share/classes/javax/management/monitor/package.html Changeset: 943af87e0269 Author: vinnie Date: 2013-01-24 16:44 +0000 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/943af87e0269 8006855: PKCS12 test failures due to unsupported algorithm Reviewed-by: mullan ! src/share/classes/sun/security/pkcs12/PKCS12KeyStore.java ! test/java/security/KeyStore/PBETest.java ! test/sun/security/pkcs12/StoreSecretKeyTest.java Changeset: 1fd613016ad9 Author: ksrini Date: 2013-01-24 09:34 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/1fd613016ad9 8006850: [pack200] disable pack200 tests until JSR-308 is implemented Reviewed-by: alanb ! test/ProblemList.txt Changeset: b3f0e0c79bcc Author: vinnie Date: 2013-01-24 18:21 +0000 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/b3f0e0c79bcc 8006863: javadoc cleanup for 8005408 Reviewed-by: alanb ! src/share/classes/java/security/PKCS12Attribute.java Changeset: 4d3c05cc21d5 Author: darcy Date: 2013-01-24 16:54 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/4d3c05cc21d5 8006895: Clarify that FunctionalInferface is only informative Reviewed-by: briangoetz ! src/share/classes/java/lang/FunctionalInterface.java Changeset: 4c9fcb5cbc07 Author: dingxmin Date: 2013-01-25 17:00 +0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/4c9fcb5cbc07 7183373: URLClassloader.close() does not close JAR files whose resources have been loaded via getResource() Reviewed-by: chegar ! src/share/classes/sun/misc/URLClassPath.java + test/sun/misc/URLClassPath/JarLoaderTest.java Changeset: 4a4b97f7f83b Author: alanb Date: 2013-01-25 13:09 +0000 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/4a4b97f7f83b 8006565: java.lang.instrument specification should make it clear that -javaagent is optional Reviewed-by: sla, dcubed, mchung ! src/share/classes/java/lang/instrument/package.html Changeset: c6ea84a629db Author: vinnie Date: 2013-01-25 16:19 +0000 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/c6ea84a629db 8006946: PKCS12 test failure due to incorrect alias name Reviewed-by: mullan ! src/share/classes/sun/security/pkcs12/PKCS12KeyStore.java Changeset: 117491dd58c2 Author: vinnie Date: 2013-01-25 17:47 +0000 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/117491dd58c2 8006951: Avoid storing duplicate PKCS12 attributes Reviewed-by: mullan ! src/share/classes/sun/security/pkcs12/PKCS12KeyStore.java Changeset: 77bde15bc6a9 Author: khazra Date: 2013-01-25 11:52 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/77bde15bc6a9 7017962: Obsolete link is used in URL class level spec Summary: Change the link to an archived document Reviewed-by: chegar, mduigou ! src/share/classes/java/net/URL.java Changeset: 4209b3936a7f Author: mduigou Date: 2013-01-25 16:13 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/4209b3936a7f 8005632: Extend java.util.Logger to use Supplier for messages Reviewed-by: briangoetz, mduigou Contributed-by: henry.jen at oracle.com ! src/share/classes/java/util/logging/Logger.java + test/java/util/logging/LoggerSupplierAPIsTest.java Changeset: 1d918647332e Author: mduigou Date: 2013-01-25 16:13 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/1d918647332e 8004201: Add static utility methods to primitives to be used for redution operations. Reviewed-by: darcy, mduigou, briangoetz, dholmes Contributed-by: akhil.arora at oracle.com ! src/share/classes/java/lang/Boolean.java ! src/share/classes/java/lang/Double.java ! src/share/classes/java/lang/Float.java ! src/share/classes/java/lang/Integer.java ! src/share/classes/java/lang/Long.java + test/java/lang/PrimitiveSumMinMaxTest.java Changeset: 86a5b435c928 Author: jgish Date: 2013-01-22 11:14 -0500 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/86a5b435c928 4247235: (spec str) StringBuffer.insert(int, char[]) specification is inconsistent Summary: Add blanket null-handling statement to StringBuilder and StringBuffer Reviewed-by: mduigou ! src/share/classes/java/lang/AbstractStringBuilder.java ! src/share/classes/java/lang/String.java ! src/share/classes/java/lang/StringBuffer.java ! src/share/classes/java/lang/StringBuilder.java Changeset: e96577d82cbb Author: alanb Date: 2013-01-26 16:57 +0000 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/e96577d82cbb 8006503: JVM_PrintStackTrace is not used in JDK Reviewed-by: alanb, darcy Contributed-by: eric.mccorkle at oracle.com ! src/share/javavm/export/jvm.h Changeset: 53e1b6fa0b1f Author: wmdietl Date: 2013-01-27 15:18 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/53e1b6fa0b1f Automated merge with http://hg.openjdk.java.net/jdk8/tl/jdk From wdietl at gmail.com Sun Jan 27 15:23:44 2013 From: wdietl at gmail.com (Werner Dietl) Date: Sun, 27 Jan 2013 15:23:44 -0800 Subject: Renumbered TargetType Message-ID: Jon, all, in this changeset: http://hg.openjdk.java.net/type-annotations/type-annotations/langtools/rev/59b64d32754e I performed the renumbering that Mike performed recently. I also added basic support for all the Lambda constants, but did not finish implementing Lambda yet. I implemented type annotations in casts with intersection types and added a simple test case. I'm not sure whether you want to push this separately to TL or want to wait until Lambda is fully implemented. cu, WMD. -- http://www.google.com/profiles/wdietl From wdietl at gmail.com Sun Jan 27 23:51:35 2013 From: wdietl at gmail.com (wdietl at gmail.com) Date: Mon, 28 Jan 2013 07:51:35 +0000 Subject: hg: type-annotations/type-annotations/langtools: Test case and fix for order in attribution of lazy constant values. Message-ID: <20130128075141.44177475B1@hg.openjdk.java.net> Changeset: dff2e8610acd Author: wmdietl Date: 2013-01-27 16:41 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/langtools/rev/dff2e8610acd Test case and fix for order in attribution of lazy constant values. ! src/share/classes/com/sun/tools/javac/comp/Attr.java + test/tools/javac/annotations/typeAnnotations/failures/LazyConstantValue.java From wdietl at gmail.com Mon Jan 28 00:00:32 2013 From: wdietl at gmail.com (Werner Dietl) Date: Mon, 28 Jan 2013 00:00:32 -0800 Subject: Bug fix: order of attribution of lazy constant values Message-ID: Jon, all, in a case study we uncovered a problem with the order of how type annotations are attributed. I pushed a test case and simple fix: http://hg.openjdk.java.net/type-annotations/type-annotations/langtools/rev/dff2e8610acd Note that the code in comp.Attr.visitVarDef(JCVariableDecl) which analyzes a variable initializer, is not executed for a lazy constant value. Is there a nicer place to unify these two separate calls of memberEnter.typeAnnotate? Could you file a bug and push this fix to TL? Thanks, cu, WMD. -- http://www.google.com/profiles/wdietl From wdietl at gmail.com Mon Jan 28 12:40:17 2013 From: wdietl at gmail.com (wdietl at gmail.com) Date: Mon, 28 Jan 2013 20:40:17 +0000 Subject: hg: type-annotations/type-annotations/langtools: Test case and fix for an exception when annotating a type variable Message-ID: <20130128204025.223B647624@hg.openjdk.java.net> Changeset: 6ba99e86de7e Author: wmdietl Date: 2013-01-28 12:39 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/langtools/rev/6ba99e86de7e Test case and fix for an exception when annotating a type variable that has an annotated bound. ! src/share/classes/com/sun/tools/javac/code/Types.java + test/tools/javac/annotations/typeAnnotations/failures/TypeVariable.java From wdietl at gmail.com Mon Jan 28 12:47:40 2013 From: wdietl at gmail.com (Werner Dietl) Date: Mon, 28 Jan 2013 12:47:40 -0800 Subject: Bug fix: annotating a type variable that has an annotated bound Message-ID: Jon, all, one of the final changes we had last week was to maintain AnnotatedType through erasure. This results in an exception when annotating a type variable that has an annotated bound: it tries to add an annotation to something that is already annotated - the erasure of the upper bound. The fix is easy: the annotation on the type variable overrides an annotation from the bound. See: http://hg.openjdk.java.net/type-annotations/type-annotations/langtools/rev/6ba99e86de7e Please file a bug and push to TL at your convenience. cu, WMD. -- http://www.google.com/profiles/wdietl From steve.sides at oracle.com Mon Jan 28 17:15:47 2013 From: steve.sides at oracle.com (Steve Sides) Date: Mon, 28 Jan 2013 17:15:47 -0800 Subject: type annotation on lambda method reference crashes javac Message-ID: <510722C3.6070909@oracle.com> Hi Werner, This may be addressed with the rest of type-annotations + lambda, but so far most type annotations on lambda epxression are ignored. This one crashes javac. Compile TAlambda2.java below. Error message and stack trace is below the code. -steve import java.lang.annotation.*; import static java.lang.annotation.RetentionPolicy.*; import static java.lang.annotation.ElementType.*; public class TAlambda2 { public void test() { Integer[] intarray = { new Integer(1), new Integer(2), new Integer(3) }; printArray(intarray, TPrint::<@A String>print); } public void printArray(Object[] oa, PrintString ps) { for(Object o : oa ) ps.print(o.toString()); } public static void main(String... args) { new TAlambda2().test(); } } interface PrintString { void print(String s); } class TPrint { public static void print(T msg) { System.out.println("TPrint: " + msg.toString()); } } @Retention(RUNTIME) @Target({TYPE_USE}) @interface A {} Error message and stack trace: An exception has occurred in the compiler (1.8.0-ea). Please file a bug at the Java Developer Connection (http://java.sun.com/webapps/bugreport) after checking the Bug Parade for duplicates. Include your program and the following diagnostic in your report. Thank you. java.lang.AssertionError: Unresolved frame: TPrint::< @A() String>print of kind: MEMBER_REFERENCE Looking for tree: @A() String at com.sun.tools.javac.util.Assert.error(Assert.java:133) at com.sun.tools.javac.code.TypeAnnotations$TypeAnnotationPositions.resolveFrame(TypeAnnotations.java:796) at com.sun.tools.javac.code.TypeAnnotations$TypeAnnotationPositions.resolveFrame(TypeAnnotations.java:757) at com.sun.tools.javac.code.TypeAnnotations$TypeAnnotationPositions.findPosition(TypeAnnotations.java:1025) at com.sun.tools.javac.code.TypeAnnotations$TypeAnnotationPositions.visitAnnotatedType(TypeAnnotations.java:964) at com.sun.tools.javac.tree.JCTree$JCAnnotatedType.accept(JCTree.java:2330) at com.sun.tools.javac.tree.TreeScanner.scan(TreeScanner.java:49) at com.sun.tools.javac.code.TypeAnnotations$TypeAnnotationPositions.scan(TypeAnnotations.java:135) at com.sun.tools.javac.tree.TreeScanner.scan(TreeScanner.java:57) at com.sun.tools.javac.tree.TreeScanner.visitReference(TreeScanner.java:268) at com.sun.tools.javac.tree.JCTree$JCMemberReference.accept(JCTree.java:1931) at com.sun.tools.javac.tree.TreeScanner.scan(TreeScanner.java:49) at com.sun.tools.javac.code.TypeAnnotations$TypeAnnotationPositions.scan(TypeAnnotations.java:135) at com.sun.tools.javac.tree.TreeScanner.scan(TreeScanner.java:57) at com.sun.tools.javac.tree.TreeScanner.visitApply(TreeScanner.java:199) at com.sun.tools.javac.tree.JCTree$JCMethodInvocation.accept(JCTree.java:1440) at com.sun.tools.javac.tree.TreeScanner.scan(TreeScanner.java:49) at com.sun.tools.javac.code.TypeAnnotations$TypeAnnotationPositions.scan(TypeAnnotations.java:135) at com.sun.tools.javac.tree.TreeScanner.visitExec(TreeScanner.java:174) at com.sun.tools.javac.tree.JCTree$JCExpressionStatement.accept(JCTree.java:1271) at com.sun.tools.javac.tree.TreeScanner.scan(TreeScanner.java:49) at com.sun.tools.javac.code.TypeAnnotations$TypeAnnotationPositions.scan(TypeAnnotations.java:135) at com.sun.tools.javac.tree.TreeScanner.scan(TreeScanner.java:57) at com.sun.tools.javac.code.TypeAnnotations$TypeAnnotationPositions.visitBlock(TypeAnnotations.java:957) at com.sun.tools.javac.tree.JCTree$JCBlock.accept(JCTree.java:884) at com.sun.tools.javac.tree.TreeScanner.scan(TreeScanner.java:49) at com.sun.tools.javac.code.TypeAnnotations$TypeAnnotationPositions.scan(TypeAnnotations.java:135) at com.sun.tools.javac.code.TypeAnnotations$TypeAnnotationPositions.visitMethodDef(TypeAnnotations.java:901) at com.sun.tools.javac.tree.JCTree$JCMethodDecl.accept(JCTree.java:771) at com.sun.tools.javac.tree.TreeScanner.scan(TreeScanner.java:49) at com.sun.tools.javac.code.TypeAnnotations$TypeAnnotationPositions.scan(TypeAnnotations.java:135) at com.sun.tools.javac.tree.TreeScanner.scan(TreeScanner.java:57) at com.sun.tools.javac.code.TypeAnnotations$TypeAnnotationPositions.visitClassDef(TypeAnnotations.java:843) at com.sun.tools.javac.tree.JCTree$JCClassDecl.accept(JCTree.java:686) at com.sun.tools.javac.tree.TreeScanner.scan(TreeScanner.java:49) at com.sun.tools.javac.code.TypeAnnotations$TypeAnnotationPositions.scan(TypeAnnotations.java:135) at com.sun.tools.javac.code.TypeAnnotations.organizeTypeAnnotationsBodies(TypeAnnotations.java:102) at com.sun.tools.javac.comp.Attr.attribClassBody(Attr.java:4096) at com.sun.tools.javac.comp.Attr.attribClass(Attr.java:3975) at com.sun.tools.javac.comp.Attr.attribClass(Attr.java:3909) at com.sun.tools.javac.comp.Attr.attrib(Attr.java:3883) at com.sun.tools.javac.main.JavaCompiler.attribute(JavaCompiler.java:1254) at com.sun.tools.javac.main.JavaCompiler.compile2(JavaCompiler.java:907) at com.sun.tools.javac.main.JavaCompiler.compile(JavaCompiler.java:866) at com.sun.tools.javac.main.Main.compile(Main.java:506) at com.sun.tools.javac.main.Main.compile(Main.java:365) at com.sun.tools.javac.main.Main.compile(Main.java:354) at com.sun.tools.javac.main.Main.compile(Main.java:345) at com.sun.tools.javac.Main.compile(Main.java:76) at com.sun.tools.javac.Main.main(Main.java:61) From jonathan.gibbons at oracle.com Mon Jan 28 18:20:29 2013 From: jonathan.gibbons at oracle.com (Jonathan Gibbons) Date: Mon, 28 Jan 2013 18:20:29 -0800 Subject: javadoc: not finding sym.type set Message-ID: <510731ED.1090204@oracle.com> Werner, I've hooked my fancy new debugging printer into javadoc, to analyse how javadoc is processing a simple test program ... public class Test { public @DAnno @TAnno int field; } The output shows that the symbol for "int field;" appears to be correctly annotated, but the "sym.type" field is not. I would expect the type to be an AnnotatedType, with annos set to "@TAnno" and an underlying type of "int". Here is the debug output. Generating play/api/p/Test.html... FieldDocImpl sym : 0x4--VAR FIELD field flags: 0x1--public completer: #null owner: p.Test type: int erasure: #null pos: 198 adm: -1 data: #null annotations: attributes: [1] 0: Compound synthesized: false values: [0] type: q.DAnno type_attributes: [1] 0: TypeCompound position: [FIELD, pos = 198] synthesized: false values: [0] type: q.TAnno FieldDocImpl sym.type : INT tsym: int constValue: #null I'm hoping the output is reasonably self-explanatory. "FieldDocImpl" is the name of the javadoc class initiating the debug print. So, am I right in expecting the type to be "@TAnno int"? Do you have any idea why it might not be so? -- Jon From wdietl at gmail.com Tue Jan 29 16:36:17 2013 From: wdietl at gmail.com (wdietl at gmail.com) Date: Wed, 30 Jan 2013 00:36:17 +0000 Subject: hg: type-annotations/type-annotations/jdk: 2 new changesets Message-ID: <20130130003720.294B747680@hg.openjdk.java.net> Changeset: a343d280bd8c Author: jfranck Date: 2013-01-29 10:32 +0100 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/a343d280bd8c 8004698: Implement Core Reflection for Type Annotations Reviewed-by: darcy ! src/share/classes/java/lang/Class.java ! src/share/classes/java/lang/System.java + src/share/classes/java/lang/reflect/AnnotatedArrayType.java + src/share/classes/java/lang/reflect/AnnotatedParameterizedType.java + src/share/classes/java/lang/reflect/AnnotatedType.java + src/share/classes/java/lang/reflect/AnnotatedTypeVariable.java + src/share/classes/java/lang/reflect/AnnotatedWildcardType.java ! src/share/classes/java/lang/reflect/Constructor.java ! src/share/classes/java/lang/reflect/Executable.java ! src/share/classes/java/lang/reflect/Field.java ! src/share/classes/java/lang/reflect/Method.java ! src/share/classes/java/lang/reflect/ReflectAccess.java ! src/share/classes/java/lang/reflect/TypeVariable.java ! src/share/classes/sun/misc/JavaLangAccess.java ! src/share/classes/sun/reflect/LangReflectAccess.java ! src/share/classes/sun/reflect/ReflectionFactory.java + src/share/classes/sun/reflect/annotation/AnnotatedTypeFactory.java ! src/share/classes/sun/reflect/annotation/AnnotationParser.java + src/share/classes/sun/reflect/annotation/TypeAnnotation.java + src/share/classes/sun/reflect/annotation/TypeAnnotationParser.java ! src/share/classes/sun/reflect/generics/reflectiveObjects/TypeVariableImpl.java ! src/share/javavm/export/jvm.h ! src/share/native/java/lang/Class.c + test/java/lang/annotation/TypeAnnotationReflection.java + test/java/lang/annotation/TypeParamAnnotation.java Changeset: 69e1bbcee832 Author: wmdietl Date: 2013-01-29 16:33 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/69e1bbcee832 Automated merge with http://hg.openjdk.java.net/jdk8/tl/jdk ! src/share/classes/java/lang/Class.java ! src/share/classes/java/lang/reflect/AnnotatedArrayType.java ! src/share/classes/java/lang/reflect/AnnotatedParameterizedType.java ! src/share/classes/java/lang/reflect/AnnotatedType.java ! src/share/classes/java/lang/reflect/AnnotatedTypeVariable.java ! src/share/classes/java/lang/reflect/AnnotatedWildcardType.java ! src/share/classes/java/lang/reflect/Executable.java ! src/share/classes/java/lang/reflect/Field.java ! src/share/classes/java/lang/reflect/TypeVariable.java ! src/share/classes/sun/reflect/generics/reflectiveObjects/TypeVariableImpl.java From peter.levart at gmail.com Sat Jan 19 09:11:48 2013 From: peter.levart at gmail.com (Peter Levart) Date: Sat, 19 Jan 2013 18:11:48 +0100 Subject: Request for review: 8004698: Implement Core Reflection for Type Annotations In-Reply-To: <44120FFD-DAF6-4222-B184-AF5BA475D08E@oracle.com> References: <44120FFD-DAF6-4222-B184-AF5BA475D08E@oracle.com> Message-ID: Hi Joel, I see, there is a dilema how to cache type annotations. To satisfy single-annotation-returning methods and repeating annotation logic, a HashMap would be a logical choice, but it has much bigger footprint than simple arrays of annotations... I experimented with an idea of using a special purpose immutable Map implementation: https://github.com/plevart/jdk8-tl/blob/anno-map/jdk/src/share/classes/sun/reflect/annotation/UniqueIndex.java and: https://github.com/plevart/jdk8-tl/blob/anno-map/jdk/src/share/classes/sun/reflect/annotation/AnnotationMap.java This is just a preview. I still have to create some tests to see how it compares to HashMap. Being an immutable wrapper for a single array of annotations it has a nice feature that a reference to it can be passed to other threads via a data race with no danger of data inconsistency, which simplifies caching mechanisms and helps scalability. Might even be a space-saving replacement for existing HashMaps of annotations. Depending on performance, of course. What do you think? Is it worth pursuing this further? Regards, Peter On Jan 17, 2013 5:24 PM, "Joel Borggr?n-Franck" wrote: > Hi, > > Here is a webrev for core reflection support for type annotations: > > http://cr.openjdk.java.net/~jfranck/8004698/webrev.00/ > > This code is based on the tl/jdk repository, but in order to run the tests > you need a javac with type annotations support and also a recent copy of > the VM that includes this change set: > http://hg.openjdk.java.net/hsx/hotspot-main/hotspot/rev/35431a769282(This also means this code can't be pushed until all supporting pieces are > in place.) > > Type annotations are still a bit of a moving target so there will be > follow up work on this. There is no caching of annotations in this version > and I am not sure how we want to do the space/time trade of for type > annotations. > > cheers > /Joel -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/type-annotations-dev/attachments/20130119/1a02fa36/attachment.html From kumar.x.srinivasan at oracle.com Mon Jan 21 16:56:05 2013 From: kumar.x.srinivasan at oracle.com (Kumar Srinivasan) Date: Mon, 21 Jan 2013 16:56:05 -0800 Subject: JSR-308/type-annotations, javap and Pack200 In-Reply-To: <50FDE342.8080200@oracle.com> References: <50FDE342.8080200@oracle.com> Message-ID: <50FDE3A5.7060401@oracle.com> On 1/21/2013 4:54 PM, Kumar Srinivasan wrote: > Hello, > > I am working on making pack200/JSR-200 comply with Type Annotations > for this I need the following: > 1. a working javap and specifically spec. compliant c.s.t.classfile.* > for verification > 2. sample class file(s) containing all possible TypeAnnotations > > As for 1. I tried using javap for class files and I get a hex dump, > this typically means that c.s.t.classfile > package is not yet ready. What is the ETA for all of this to be > complete ? > > As for 2. are there existing class files which have these annotations > or sample source code when > compiled will produce all the possible > Runtime(In)VisibleTypeAnnotations ? > > Appreciate any information on these. > > Thanks > Kumar > From kumar.x.srinivasan at oracle.com Wed Jan 30 09:50:32 2013 From: kumar.x.srinivasan at oracle.com (Kumar Srinivasan) Date: Wed, 30 Jan 2013 09:50:32 -0800 Subject: JSR-308/type-annotations, javap and Pack200 In-Reply-To: <50FDE3A5.7060401@oracle.com> References: <50FDE342.8080200@oracle.com> <50FDE3A5.7060401@oracle.com> Message-ID: <51095D68.7090506@oracle.com> >> Hello, >> >> I am working on making pack200/JSR-200 comply with Type Annotations >> for this I need the following: >> 1. a working javap and specifically spec. compliant c.s.t.classfile.* >> for verification >> 2. sample class file(s) containing all possible TypeAnnotations >> >> As for 1. I tried using javap for class files and I get a hex dump, >> this typically means that c.s.t.classfile >> package is not yet ready. What is the ETA for all of this to be >> complete ? >> >> As for 2. are there existing class files which have these annotations >> or sample source code when >> compiled will produce all the possible >> Runtime(In)VisibleTypeAnnotations ? I have found some class files which have these annotations. Is there a test file that can produce as many of the cases in the 'target_info' union. Kumar >> >> Appreciate any information on these. >> >> Thanks >> Kumar >> > From wdietl at gmail.com Wed Jan 30 10:51:38 2013 From: wdietl at gmail.com (Werner Dietl) Date: Wed, 30 Jan 2013 10:51:38 -0800 Subject: JSR-308/type-annotations, javap and Pack200 In-Reply-To: <51095D68.7090506@oracle.com> References: <50FDE342.8080200@oracle.com> <50FDE3A5.7060401@oracle.com> <51095D68.7090506@oracle.com> Message-ID: Hi Kumar, >>> I am working on making pack200/JSR-200 comply with Type Annotations for >>> this I need the following: >>> 1. a working javap and specifically spec. compliant c.s.t.classfile.* for >>> verification >>> 2. sample class file(s) containing all possible TypeAnnotations >>> >>> As for 1. I tried using javap for class files and I get a hex dump, this >>> typically means that c.s.t.classfile >>> package is not yet ready. What is the ETA for all of this to be complete >>> ? Please do send us source code where you only see a hex dump. I'm not aware of any issues with javap output. >>> As for 2. are there existing class files which have these annotations or >>> sample source code when >>> compiled will produce all the possible Runtime(In)VisibleTypeAnnotations >>> ? > > I have found some class files which have these annotations. Is there a test > file > that can produce as many of the cases in the 'target_info' union. If you have a look at the files in langtools/test/tools/javac/annotations/typeAnnotations/newlocations/ you should find self-contained examples for all syntactic locations. If you're also interested in what we expect for type annotations, the examples in langtools/test/tools/javac/annotations/typeAnnotations/referenceinfos might be interesting. Please let me know whether there are any further details that I can help you with. cu, WMD. >>> >>> Appreciate any information on these. >>> >>> Thanks >>> Kumar >>> >> > -- http://www.google.com/profiles/wdietl From kumar.x.srinivasan at oracle.com Wed Jan 30 11:05:39 2013 From: kumar.x.srinivasan at oracle.com (Kumar Srinivasan) Date: Wed, 30 Jan 2013 11:05:39 -0800 Subject: JSR-308/type-annotations, javap and Pack200 In-Reply-To: References: <50FDE342.8080200@oracle.com> <50FDE3A5.7060401@oracle.com> <51095D68.7090506@oracle.com> Message-ID: <51096F03.8070905@oracle.com> Hello Werner, Thank you for taking your time from your extremely busy schedule, to answer my questions. >>>> I am working on making pack200/JSR-200 comply with Type Annotations for >>>> this I need the following: >>>> 1. a working javap and specifically spec. compliant c.s.t.classfile.* for >>>> verification >>>> 2. sample class file(s) containing all possible TypeAnnotations >>>> >>>> As for 1. I tried using javap for class files and I get a hex dump, this >>>> typically means that c.s.t.classfile >>>> package is not yet ready. What is the ETA for all of this to be complete >>>> ? > Please do send us source code where you only see a hex dump. I'm not > aware of any issues with javap output. This is no longer an issue. > > >>>> As for 2. are there existing class files which have these annotations or >>>> sample source code when >>>> compiled will produce all the possible Runtime(In)VisibleTypeAnnotations >>>> ? >> I have found some class files which have these annotations. Is there a test >> file >> that can produce as many of the cases in the 'target_info' union. > If you have a look at the files in > > langtools/test/tools/javac/annotations/typeAnnotations/newlocations/ > > you should find self-contained examples for all syntactic locations. > If you're also interested in what we expect for type annotations, the > examples in > > langtools/test/tools/javac/annotations/typeAnnotations/referenceinfos > > might be interesting. > > Please let me know whether there are any further details that I can > help you with. I have implemented pack200 to handle the TypeAnnotations, my problem now is to test such that every case in target_info is exercised. I have scraped some class files langtools/test/......./typeAnnotations directory. So if you have any specific suggestions which you think would be work for me, please let me know. Kumar > > cu, WMD. > > >>>> Appreciate any information on these. >>>> >>>> Thanks >>>> Kumar >>>> > > From wdietl at gmail.com Wed Jan 30 11:29:49 2013 From: wdietl at gmail.com (Werner Dietl) Date: Wed, 30 Jan 2013 11:29:49 -0800 Subject: JSR-308/type-annotations, javap and Pack200 In-Reply-To: <51096F03.8070905@oracle.com> References: <50FDE342.8080200@oracle.com> <50FDE3A5.7060401@oracle.com> <51095D68.7090506@oracle.com> <51096F03.8070905@oracle.com> Message-ID: Kumar, >>> I have found some class files which have these annotations. Is there a >>> test >>> file >>> that can produce as many of the cases in the 'target_info' union. >> >> If you have a look at the files in >> >> langtools/test/tools/javac/annotations/typeAnnotations/newlocations/ >> >> you should find self-contained examples for all syntactic locations. >> If you're also interested in what we expect for type annotations, the >> examples in >> >> langtools/test/tools/javac/annotations/typeAnnotations/referenceinfos >> >> might be interesting. >> >> Please let me know whether there are any further details that I can >> help you with. > > > I have implemented pack200 to handle the TypeAnnotations, my problem now > is to test such that every case in target_info is exercised. I have scraped > some > class files langtools/test/......./typeAnnotations directory. So if you have > any > specific suggestions which you think would be work for me, please let me > know. Are your tests available somewhere? I cannot make specific suggestions without knowing what you already test. Covering all the cases from newlocations should exercise all individual target_type values. You might want to write your own tests to exercise more combinations. cu, WMD. -- http://www.google.com/profiles/wdietl From jonathan.gibbons at oracle.com Wed Jan 30 14:40:47 2013 From: jonathan.gibbons at oracle.com (jonathan.gibbons at oracle.com) Date: Wed, 30 Jan 2013 22:40:47 +0000 Subject: hg: type-annotations/type-annotations/langtools: 4 new changesets Message-ID: <20130130224104.7A403476C0@hg.openjdk.java.net> Changeset: cbcd9b484759 Author: vromero Date: 2013-01-27 19:38 +0000 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/langtools/rev/cbcd9b484759 8006944: javac, combo tests should print out the number of threads used Reviewed-by: mcimadamore ! test/tools/javac/lib/JavacTestingAbstractThreadedTest.java Changeset: 950d8195a5a4 Author: jjg Date: 2013-01-30 09:40 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/langtools/rev/950d8195a5a4 8007096: DocLint parsing problems with some comments Reviewed-by: mcimadamore ! src/share/classes/com/sun/tools/javac/parser/DocCommentParser.java ! src/share/classes/com/sun/tools/javac/parser/JavadocTokenizer.java + test/tools/doclint/EndWithIdentifierTest.java + test/tools/doclint/EndWithIdentifierTest.out + test/tools/doclint/UnfinishedInlineTagTest.java + test/tools/doclint/UnfinishedInlineTagTest.out Changeset: c924291865e5 Author: jjg Date: 2013-01-30 09:47 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/langtools/rev/c924291865e5 8007034: debug printer for javac internals Reviewed-by: mcimadamore + test/tools/javac/lib/DPrinter.java Changeset: cf595754c142 Author: jjg Date: 2013-01-30 14:26 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/langtools/rev/cf595754c142 Merge From jonathan.gibbons at oracle.com Wed Jan 30 17:39:14 2013 From: jonathan.gibbons at oracle.com (Jonathan Gibbons) Date: Wed, 30 Jan 2013 17:39:14 -0800 Subject: type annotations inside javac Message-ID: <5109CB42.4050006@oracle.com> I've been investigating why javadoc is not generating type annotations in its output, and as part of that, I've been investigating types within javac, with an eye to viewing which should be annotated types. I think this will also be of interest as we work on supporting javax.lang.model for type annotations. I've attached a patch (which I hope stays attached) for a demo and potential proto-test for looking at these types. The test code is the following simple program, in which DAnno is a delcartion annotation, and TAnno is a type annotation. public class Test { @DAnno @TAnno int mAnnotatedReturn() { return 0; } void mAnnotatedIntParam(@DAnno @TAnno int a) { } void mAnnotatedIntArrayParam(@DAnno int @TAnno [] a) { } void mAnnotatedThrows() throws @TAnno Exception { } } I've then created and run an annotation processor over the code, to look at the internal types at the time of annotation processing -- which is of interest to javax.lang.model users, and is effectively the same time that javadoc needs the info. For the declarations within the test classes, I print out the symbol, and the types of the various parts within the symbol, where I expect to see some representation of an annotated type. The output is generated with the new DPrinter utility API, and is also attached. Here's the summary: -- mAnnotatedReturn: type annotations are within the symbol, but the return type is not annotated. -- mAnnotatedIntParam: type annotations are within the symbol but the parameter type is not annotated. The same TypeCompund seems to end up on both the VarSymbol for the paramater and the MethodSymbol. The decl annotation just ends up on the declaration, which is more what I would expect. -- mAnnotatedIntArrayParam: type annotation seems very confused on this one, showing up in 3 places. The debug output is not (yet) detailed enough to identify which of these are ==. The type of the param looks correct on this one. -- mAnnotatedThrows: this actually looks as I would expect, although the debug output is a little confusing w.r.t. the display of an annotated type, since AnnotatedType shows the tag of the underlying type. -- Jon -------------- next part -------------- A non-text attachment was scrubbed... Name: demo.patch Type: text/x-patch Size: 8574 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/type-annotations-dev/attachments/20130130/949bc37d/demo.patch -------------- next part -------------- Element Test() symbol: 0x10--CONSTRUCTOR CONSTRUCTOR #1f846cd src: public () { super(); } flags: 0x1000000001--public completer: #null owner: Test type: ()void erasure: #null params: [0] savedParameterNames: #null annotations: attributes: [0] type_attributes: [0] returns: VOID #4e6138 tsym: void constValue: #null impl: com.sun.tools.javac.code.Type$JCNoType Element mAnnotatedReturn() symbol: 0x10--METHOD METHOD mAnnotatedReturn #1d0c37d src: @DAnno() @TAnno() [...]turn 0; } flags: 0x0-- completer: #null owner: Test type: ()int erasure: #null params: [0] savedParameterNames: #null annotations: attributes: [1] 0: Compound synthesized: false values: [0] type: DAnno type_attributes: [1] 0: TypeCompound position: [METHOD_RETURN, pos = 1090] synthesized: false values: [0] type: TAnno returns: INT #fa1f2f tsym: int constValue: #null Element mAnnotatedIntParam(int) symbol: 0x10--METHOD METHOD mAnnotatedIntParam #1157866 src: void mAnnotatedInt[...]nt a) { } flags: 0x0-- completer: #null owner: Test type: (int)void erasure: #null params: [1] 0: 0x4--VAR PARAMETER a #9393f9 flags: 0x200000000--parameter completer: #null owner: mAnnotatedIntParam(int) type: int erasure: #null pos: 1173 adm: -1 data: #null annotations: attributes: [1] 0: Compound synthesized: false values: [0] type: DAnno type_attributes: [1] 0: TypeCompound position: [METHOD_FORMAL_PARAMETER, param_index = 0, pos = 1169] synthesized: false values: [0] type: TAnno savedParameterNames: #null annotations: attributes: [0] type_attributes: [1] 0: TypeCompound position: [METHOD_FORMAL_PARAMETER, param_index = 0, pos = 1169] synthesized: false values: [0] type: TAnno param 1: INT #fa1f2f tsym: int constValue: #null returns: VOID #4e6138 tsym: void constValue: #null impl: com.sun.tools.javac.code.Type$JCNoType Element mAnnotatedIntArrayParam((@TAnno :: int[])) symbol: 0x10--METHOD METHOD mAnnotatedIntArrayParam #134d2bf src: void mAnnotatedInt[...][] a) { } flags: 0x0-- completer: #null owner: Test type: ((@TAnno :: int[]))void erasure: #null params: [1] 0: 0x4--VAR PARAMETER a #f7fa37 flags: 0x200000000--parameter completer: #null owner: mAnnotatedIntArrayParam((@TAnno :: int[])) type: (@TAnno :: int[]) erasure: #null pos: 1234 adm: -1 data: #null annotations: attributes: [1] 0: Compound synthesized: false values: [0] type: DAnno type_attributes: [1] 0: TypeCompound position: [UNKNOWN, position UNKNOWN!, pos = -1] synthesized: false values: [0] type: TAnno savedParameterNames: #null annotations: attributes: [0] type_attributes: [2] 0: TypeCompound position: [METHOD_FORMAL_PARAMETER, param_index = 0, pos = 1234] synthesized: false values: [0] type: TAnno 1: TypeCompound position: [UNKNOWN, position UNKNOWN!, pos = -1] synthesized: false values: [0] type: TAnno param 1: ARRAY #4c4b05 tsym: Array constValue: #null typeAnnotations: [1] 0: TypeCompound position: [METHOD_FORMAL_PARAMETER, param_index = 0, pos = 1234] synthesized: false values: [0] type: TAnno underlyingType: ARRAY #fa206f tsym: Array constValue: #null elemType: INT #fa1f2f tsym: int constValue: #null returns: VOID #4e6138 tsym: void constValue: #null impl: com.sun.tools.javac.code.Type$JCNoType Element mAnnotatedThrows() symbol: 0x10--METHOD METHOD mAnnotatedThrows #d1511c src: void mAnnotatedThr[...]ption { } flags: 0x0-- completer: #null owner: Test type: ()void erasure: #null params: [0] savedParameterNames: #null annotations: attributes: [0] type_attributes: [1] 0: TypeCompound position: [THROWS, type_index = 0, pos = 1250] synthesized: false values: [0] type: TAnno returns: VOID #4e6138 tsym: void constValue: #null impl: com.sun.tools.javac.code.Type$JCNoType throws: CLASS #242ba3 tsym: java.lang.Exception constValue: #null typeAnnotations: [1] 0: TypeCompound position: [THROWS, type_index = 0, pos = 1250] synthesized: false values: [0] type: TAnno underlyingType: CLASS #ad15e6 tsym: java.lang.Exception constValue: #null outer: typarams: [0] allparams: #null supertype: java.lang.Throwable interfaces: [0] allinterfaces: #null From wdietl at gmail.com Wed Jan 30 17:49:02 2013 From: wdietl at gmail.com (wdietl at gmail.com) Date: Thu, 31 Jan 2013 01:49:02 +0000 Subject: hg: type-annotations/type-annotations/langtools: 4 new changesets Message-ID: <20130131014916.ACD18476CC@hg.openjdk.java.net> Changeset: eae2b6e38496 Author: wmdietl Date: 2013-01-30 14:07 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/langtools/rev/eae2b6e38496 Automated merge with http://hg.openjdk.java.net/jdk8/tl/langtools Changeset: 9b0f6a6a6e93 Author: wmdietl Date: 2013-01-30 17:44 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/langtools/rev/9b0f6a6a6e93 When visiting an arbitrary Type, wrap it into AnnotatedType. This in particular applies for primitive types. ! src/share/classes/com/sun/tools/javac/code/TypeAnnotations.java Changeset: 20f5e469daea Author: wmdietl Date: 2013-01-30 17:44 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/langtools/rev/20f5e469daea Automated merge with http://hg.openjdk.java.net/type-annotations/type-annotations/langtools Changeset: 108cb64cdc49 Author: wmdietl Date: 2013-01-30 17:48 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/langtools/rev/108cb64cdc49 Make failing tests fail. ! test/com/sun/javadoc/typeAnnotations/smoke/TestSmoke.java ! test/tools/javac/annotations/typeAnnotations/classfile/CombinationsTargetTest1.java ! test/tools/javac/annotations/typeAnnotations/classfile/CombinationsTargetTest2.java ! test/tools/javac/annotations/typeAnnotations/failures/CantAnnotateStaticClass.java ! test/tools/javac/annotations/typeAnnotations/referenceinfos/MultiCatch.java From wdietl at gmail.com Wed Jan 30 18:35:30 2013 From: wdietl at gmail.com (Werner Dietl) Date: Wed, 30 Jan 2013 18:35:30 -0800 Subject: javadoc: not finding sym.type set In-Reply-To: <510731ED.1090204@oracle.com> References: <510731ED.1090204@oracle.com> Message-ID: Jon, this problem should be fixed in type-annotations/langtools. Please do let me know if the behavior for this is now as expected. cu, WMD. On Mon, Jan 28, 2013 at 6:20 PM, Jonathan Gibbons wrote: > Werner, > > I've hooked my fancy new debugging printer into javadoc, to analyse how > javadoc is processing a simple test program ... > > public class Test { > public @DAnno @TAnno int field; > } > > The output shows that the symbol for "int field;" appears to be correctly > annotated, but the "sym.type" field is not. I would expect the type to be > an AnnotatedType, with annos set to "@TAnno" and an underlying type of > "int". Here is the debug output. > > Generating play/api/p/Test.html... > FieldDocImpl sym : 0x4--VAR FIELD field > flags: 0x1--public > completer: #null > owner: p.Test > type: int > erasure: #null > pos: 198 > adm: -1 > data: #null > annotations: > attributes: [1] > 0: Compound > synthesized: false > values: [0] > type: q.DAnno > type_attributes: [1] > 0: TypeCompound > position: [FIELD, pos = 198] > synthesized: false > values: [0] > type: q.TAnno > FieldDocImpl sym.type : INT > tsym: int > constValue: #null > > I'm hoping the output is reasonably self-explanatory. "FieldDocImpl" is the > name of the javadoc class initiating the debug print. > > So, am I right in expecting the type to be "@TAnno int"? Do you have any > idea why it might not be so? > > -- Jon -- http://www.google.com/profiles/wdietl From wdietl at gmail.com Wed Jan 30 18:40:19 2013 From: wdietl at gmail.com (Werner Dietl) Date: Wed, 30 Jan 2013 18:40:19 -0800 Subject: type annotations inside javac In-Reply-To: <5109CB42.4050006@oracle.com> References: <5109CB42.4050006@oracle.com> Message-ID: Jon, all, I've used your very useful DPrinter over the last few days to debug these problems. My current understanding is the following. Let us take a look at this very simple code: import java.lang.annotation.*; import java.util.*; class Test { @TA Test[] f; Test @TA[] g; } @Target({ElementType.TYPE_USE, ElementType.TYPE_PARAMETER}) @interface TA {} Running DPrinter trees -showTreeSymbols -showTreeTypes -after ANALYZE in particular gives: 1: VARDEF type:(@TA :: Test)[] sym:f name: f mods: MODIFIERS annotations: [1] 0: ANNOTATION type:TA annotationType: IDENT type:TA name: TA args: [0] flags: [] vartype: TYPEARRAY type:Test[] elemtype: IDENT type:Test name: Test init: #null 2: VARDEF type:(@TA :: Test[]) sym:g name: g mods: MODIFIERS annotations: [0] flags: [] vartype: ANNOTATED_TYPE type:(@TA :: Test[]) annotations: [1] 0: TYPE_ANNOTATION type:TA annotationType: IDENT type:TA name: TA args: [0] underlyingType: TYPEARRAY type:Test[] elemtype: IDENT type:Test name: Test init: #null The difference between the type annotations in field f and g are that for f the type annotation appears in a syntactic location where also a declaration annotation can appear. We cannot build an JCAnnotatedType/AnnotatedTypeTree for f, because we cannot decide at parse time whether an annotation is a type or declaration annotation. Therefore, the AST contains the type annotation together with the other annotations in the modifiers. Later, in com.sun.tools.javac.code.TypeAnnotations.TypeAnnotationPositions.separateAnnotationsKinds, we go through all annotations and separate type and declaration annotations. However, notice how separateAnnotationsKinds only sets sym.type with the newly determined type - it does not modify the variable type. We clearly see this mismatch in the output for field f. On the other hand, there are some locations where already the parser knows that we are dealing with a type annotation - in particular the annotation on an array dimension, as for field g. In this case, we generate an JCAnnotatedType/AnnotatedTypeTree and com.sun.tools.javac.comp.Attr.visitAnnotatedType(JCAnnotatedType) will convert it into an AnnotatedType. This conversion happens whenever MemberEnter or Attr asks for attributing a type, which is much earlier than when we call separateAnnotationsKinds. I think this is the reason why for field g we see the annotated type in both the tree and the type. I think it would be good to perform separateAnnotationsKinds earlier, but I don't know what the best spot for this would be. By performing the separation earlier, I hope that the AnnotatedType gets propagated to more places and giving us a consistent view of the types - regardless of whether the AST contained an AnnotatedTypeTree. This would also make the output of the LintCast test consistent: /langtools/test/tools/javac/annotations/typeAnnotations/failures/LintCast.java When the type came from an AnnotatedTypeTree, the annotation is shown in the error message; if the annotation appeared in a declaration location it is not shown in the error message, because separateAnnotationsKinds has not been called yet when this semantic check is performed. Jon, your examples were troubled by primitive types not being copied correctly. I've pushed a fix for this earlier tonight. I hadn't correctly written a visitType method - which apparently is also used for primitives. Please re-run your experiment and let me know whether you agree with my descriptions above. For DPrinter, it would be helpful if the usage instructions gave information on what the first parameter (mode) can be (trees, symbols, ...) I needed to look through the source to figure this out. Please let me know if you think my understanding of how this works is not correct and what you think the best way to fix this is. Thanks, cu, WMD. On Wed, Jan 30, 2013 at 5:39 PM, Jonathan Gibbons wrote: > I've been investigating why javadoc is not generating type annotations in > its output, and as part of that, I've been investigating types within javac, > with an eye to viewing which should be annotated types. I think this will > also be of interest as we work on supporting javax.lang.model for type > annotations. > > I've attached a patch (which I hope stays attached) for a demo and potential > proto-test for looking at these types. > > The test code is the following simple program, in which DAnno is a > delcartion annotation, and TAnno is a type annotation. > > > public class Test { > @DAnno @TAnno int mAnnotatedReturn() { return 0; } > void mAnnotatedIntParam(@DAnno @TAnno int a) { } > void mAnnotatedIntArrayParam(@DAnno int @TAnno [] a) { } > void mAnnotatedThrows() throws @TAnno Exception { } > } > > > I've then created and run an annotation processor over the code, to look at > the internal types at the time of annotation processing -- which is of > interest to javax.lang.model users, and is effectively the same time that > javadoc needs the info. > > For the declarations within the test classes, I print out the symbol, and > the types of the various parts within the symbol, where I expect to see some > representation of an annotated type. The output is generated with the new > DPrinter utility API, and is also attached. > > Here's the summary: > > -- mAnnotatedReturn: type annotations are within the symbol, but the return > type is not annotated. > > -- mAnnotatedIntParam: type annotations are within the symbol but the > parameter type is not annotated. The same TypeCompund seems to end up on > both the VarSymbol for the paramater and the MethodSymbol. The decl > annotation just ends up on the declaration, which is more what I would > expect. > > -- mAnnotatedIntArrayParam: type annotation seems very confused on this one, > showing up in 3 places. The debug output is not (yet) detailed enough to > identify which of these are ==. > The type of the param looks correct on this one. > > -- mAnnotatedThrows: this actually looks as I would expect, although the > debug output is a little confusing w.r.t. the display of an annotated type, > since AnnotatedType shows the tag of the underlying type. > > -- Jon -- http://www.google.com/profiles/wdietl From jonathan.gibbons at oracle.com Wed Jan 30 19:27:27 2013 From: jonathan.gibbons at oracle.com (Jonathan Gibbons) Date: Wed, 30 Jan 2013 19:27:27 -0800 Subject: type annotations inside javac In-Reply-To: References: <5109CB42.4050006@oracle.com> Message-ID: <5109E49F.8090608@oracle.com> On 01/30/2013 06:33 PM, Werner Michael Dietl wrote: > Jon, your examples were troubled by primitive types not being copied > correctly. I've pushed a fix for this earlier tonight. I hadn't > correctly written a visitType method - which apparently is also used > for primitives. Please re-run your experiment and let me know whether > you agree with my descriptions above. If you apply the patch I provided, it sets up a test that you can run with jtreg; test/tools/javac/annotations/demo/Demo.java Use jtreg to run the test, and maybe use -va to have the output written direct to the console. Otherwise, you can find the output in the .jtr file for the test. -- Jon From jonathan.gibbons at oracle.com Wed Jan 30 19:29:14 2013 From: jonathan.gibbons at oracle.com (Jonathan Gibbons) Date: Wed, 30 Jan 2013 19:29:14 -0800 Subject: type annotations inside javac In-Reply-To: References: <5109CB42.4050006@oracle.com> Message-ID: <5109E50A.9070808@oracle.com> On 01/30/2013 06:33 PM, Werner Michael Dietl wrote: > For DPrinter, it would be helpful if the usage instructions gave > information on what the first parameter (mode) can be (trees, symbols, > ...) I needed to look through the source to figure this out. Yes, noted. The addition of the first parameter was the result of a last minute merge of three separate printers for ASTs, types and symbols. I'll address your comment, and also make it clearer when a Type is an AnnotatedType. -- Jon From jonathan.gibbons at oracle.com Wed Jan 30 19:30:49 2013 From: jonathan.gibbons at oracle.com (Jonathan Gibbons) Date: Wed, 30 Jan 2013 19:30:49 -0800 Subject: type annotations inside javac In-Reply-To: References: <5109CB42.4050006@oracle.com> Message-ID: <5109E569.7080309@oracle.com> On 01/30/2013 06:33 PM, Werner Michael Dietl wrote: > Running > > DPrinter trees -showTreeSymbols -showTreeTypes -after ANALYZE > > in particular gives: Using "-before ANALYZE" would be more appropriate for debugging issues related to the upcoming javax.lang.model API, and to javadoc. -- Jon From wdietl at gmail.com Thu Jan 31 12:58:30 2013 From: wdietl at gmail.com (wdietl at gmail.com) Date: Thu, 31 Jan 2013 20:58:30 +0000 Subject: hg: type-annotations/type-annotations/jdk: 6 new changesets Message-ID: <20130131205954.11EE6476FD@hg.openjdk.java.net> Changeset: 5097fe015763 Author: jfranck Date: 2013-01-31 10:10 +0100 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/5097fe015763 8005712: Simplify support for repeating annotations in j.l.r.AnnotatedElement 8004919: AnnotationSupport uses possibly half-constructed AnnotationType instances Summary: Implements the simplified semantics for repeating annotations and removes the incorrect obtaining of an AnnotationType Reviewed-by: darcy, abuckley ! src/share/classes/java/lang/Class.java ! src/share/classes/java/lang/System.java ! src/share/classes/java/lang/reflect/AnnotatedElement.java ! src/share/classes/java/lang/reflect/Executable.java ! src/share/classes/java/lang/reflect/Field.java ! src/share/classes/java/lang/reflect/Parameter.java ! src/share/classes/sun/misc/JavaLangAccess.java ! src/share/classes/sun/reflect/annotation/AnnotationSupport.java ! test/java/lang/annotation/repeatingAnnotations/RepeatedUnitTest.java ! test/java/lang/annotation/repeatingAnnotations/subpackage/Containee.java ! test/java/lang/annotation/repeatingAnnotations/subpackage/Container.java ! test/java/lang/annotation/repeatingAnnotations/subpackage/InheritedContainee.java ! test/java/lang/annotation/repeatingAnnotations/subpackage/InheritedContainer.java Changeset: 3f766f58c48a Author: dbuck Date: 2013-01-31 10:55 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/3f766f58c48a 7042126: (alt-rt) HashMap.clone implementation should be re-examined Summary: Test case for cr7042126. Issue only found in OracleJDK, but test case is valid for OpenJDK as well Reviewed-by: mduigou + test/java/util/HashMap/HashMapCloneLeak.java Changeset: 857d99bef21d Author: sherman Date: 2013-01-31 11:09 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/857d99bef21d 8005394: Base64.Decoder/Encoder.wrap(XStream) don't throw NPE for null args passed Summary: to check null for dec/enc.wrap methods Reviewed-by: alanb ! src/share/classes/java/util/Base64.java ! test/java/util/Base64/TestBase64.java Changeset: 278397f752da Author: darcy Date: 2013-01-31 12:13 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/278397f752da 8005832: Remove java.lang.annotation.{ContainedBy, ContainerFor} annotation types Reviewed-by: mduigou - src/share/classes/java/lang/annotation/ContainedBy.java - src/share/classes/java/lang/annotation/ContainerFor.java ! src/share/classes/java/lang/annotation/InvalidContainerAnnotationError.java Changeset: a5f38e811ab0 Author: darcy Date: 2013-01-31 12:23 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/a5f38e811ab0 8007115: Refactor regression tests for java.lang.reflect.Parameter Reviewed-by: emc ! test/java/lang/reflect/Parameter/WithoutParameters.java Changeset: d5341aaf6426 Author: wmdietl Date: 2013-01-31 12:58 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/d5341aaf6426 Automated merge with http://hg.openjdk.java.net/jdk8/tl/jdk ! src/share/classes/java/lang/Class.java ! src/share/classes/java/lang/reflect/Executable.java ! src/share/classes/java/lang/reflect/Field.java From wdietl at gmail.com Thu Jan 31 13:00:06 2013 From: wdietl at gmail.com (wdietl at gmail.com) Date: Thu, 31 Jan 2013 21:00:06 +0000 Subject: hg: type-annotations/type-annotations/langtools: 2 new changesets Message-ID: <20130131210014.51CCF476FE@hg.openjdk.java.net> Changeset: 8e4c22acebeb Author: darcy Date: 2013-01-31 12:16 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/langtools/rev/8e4c22acebeb 8007313: Remove use of {ContainerFor/ContainedBy} from langtools Reviewed-by: jjg ! test/tools/javac/annotations/typeAnnotations/classfile/CombinationsTargetTest1.java ! test/tools/javac/annotations/typeAnnotations/classfile/CombinationsTargetTest2.java ! test/tools/javac/annotations/typeAnnotations/newlocations/RepeatingTypeAnnotations.java ! test/tools/javac/annotations/typeAnnotations/referenceinfos/Driver.java Changeset: 771eaea5cc08 Author: wmdietl Date: 2013-01-31 12:59 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/langtools/rev/771eaea5cc08 Automated merge with http://hg.openjdk.java.net/jdk8/tl/langtools ! test/tools/javac/annotations/typeAnnotations/classfile/CombinationsTargetTest1.java ! test/tools/javac/annotations/typeAnnotations/classfile/CombinationsTargetTest2.java ! test/tools/javac/annotations/typeAnnotations/newlocations/RepeatingTypeAnnotations.java ! test/tools/javac/annotations/typeAnnotations/referenceinfos/Driver.java From wdietl at gmail.com Thu Jan 31 15:21:16 2013 From: wdietl at gmail.com (wdietl at gmail.com) Date: Thu, 31 Jan 2013 23:21:16 +0000 Subject: hg: type-annotations/type-annotations/langtools: 5 new changesets Message-ID: <20130131232132.4D5E64770D@hg.openjdk.java.net> Changeset: 54e4ba223319 Author: katleman Date: 2013-01-24 16:49 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/langtools/rev/54e4ba223319 Added tag jdk8-b74 for changeset 56c97aff46bb ! .hgtags Changeset: c2e11e2ec4a3 Author: lana Date: 2013-01-26 19:24 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/langtools/rev/c2e11e2ec4a3 Merge - test/tools/javac/annotations/repeatingAnnotations/MissingContainedBy.java - test/tools/javac/annotations/repeatingAnnotations/MissingContainerFor.java - test/tools/javac/annotations/repeatingAnnotations/UseWrongContainedBy.java - test/tools/javac/annotations/repeatingAnnotations/UseWrongContainerFor.java - test/tools/javac/annotations/repeatingAnnotations/WrongContainedBy.java - test/tools/javac/annotations/repeatingAnnotations/WrongContainerFor.java - test/tools/javac/diags/examples/ContainedByDocumentedMismatch.java - test/tools/javac/diags/examples/ContainedByInheritedMismatch.java - test/tools/javac/diags/examples/ContainedByNoValue.java - test/tools/javac/diags/examples/ContainedByNonDefault.java - test/tools/javac/diags/examples/ContainedByRetentionMismatch.java - test/tools/javac/diags/examples/ContainedByTargetMismatch.java - test/tools/javac/diags/examples/ContainedByWrongValueType.java - test/tools/javac/diags/examples/InferredDoNotConformToLower.java - test/tools/javac/diags/examples/NoUniqueMaximalInstance.java - test/tools/javac/diags/examples/WrongContainedBy.java - test/tools/javac/diags/examples/WrongContainerFor.java - test/tools/javac/lambda/MethodReference26.out - test/tools/javac/lambda/TargetType06.out - test/tools/javac/lambda/TargetType11.out - test/tools/javac/lambda/TargetType45.out - test/tools/javac/lambda/VoidCompatibility.out - test/tools/javac/typeAnnotations/newlocations/BasicTest.java - test/tools/javac/typeAnnotations/newlocations/BasicTest.out Changeset: b7cb3d7ade25 Author: lana Date: 2013-01-31 10:23 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/langtools/rev/b7cb3d7ade25 Merge Changeset: 7b269e916e06 Author: lana Date: 2013-01-31 14:10 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/langtools/rev/7b269e916e06 Merge Changeset: ec823cab2a03 Author: wmdietl Date: 2013-01-31 15:21 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/langtools/rev/ec823cab2a03 Automated merge with http://hg.openjdk.java.net/jdk8/tl/langtools ! .hgtags From wdietl at gmail.com Thu Jan 31 15:22:54 2013 From: wdietl at gmail.com (wdietl at gmail.com) Date: Thu, 31 Jan 2013 23:22:54 +0000 Subject: hg: type-annotations/type-annotations: 20 new changesets Message-ID: <20130131232255.F2D524770E@hg.openjdk.java.net> Changeset: 50307da0149e Author: jqzuo Date: 2012-12-31 14:52 -0500 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/rev/50307da0149e 8005583: Install build(gnumake all) failed preventing RE from doing JDK8 combo builds Reviewed-by: paulk, billyh ! make/install-rules.gmk Changeset: e5664599a127 Author: cgruszka Date: 2013-01-02 14:54 -0500 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/rev/e5664599a127 Merge Changeset: 75634cbeab47 Author: cgruszka Date: 2013-01-04 13:11 -0500 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/rev/75634cbeab47 Merge Changeset: 61d7e2971723 Author: cgruszka Date: 2013-01-14 14:40 -0500 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/rev/61d7e2971723 Merge Changeset: f9163f9cb1da Author: cgruszka Date: 2013-01-23 08:50 -0500 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/rev/f9163f9cb1da Merge Changeset: 5a5e97f9ac0a Author: erikj Date: 2013-01-18 09:58 +0100 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/rev/5a5e97f9ac0a 8006520: build-infra: Fix sparkle-framework configure parameter Reviewed-by: tbell, ohair ! common/autoconf/generated-configure.sh ! common/makefiles/Jprt.gmk Changeset: edad83acbd46 Author: erikj Date: 2013-01-18 16:48 +0100 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/rev/edad83acbd46 8003693: build-infra: bridgeBuild should allow for partial build (no hotspot) Reviewed-by: tbell ! common/makefiles/Jprt.gmk Changeset: c3bf62746a80 Author: tbell Date: 2013-01-23 13:30 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/rev/c3bf62746a80 8006797: build-infra JPRT builds need JPRT_ARCHIVE_INSTALL_BUNDLE in common/makefiles/Jprt.gmk Reviewed-by: ohair ! common/makefiles/Jprt.gmk Changeset: b43aa5bd8ca5 Author: katleman Date: 2013-01-23 15:40 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/rev/b43aa5bd8ca5 Merge Changeset: cd2fa0d0ed3d Author: katleman Date: 2013-01-24 16:48 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/rev/cd2fa0d0ed3d Added tag jdk8-b74 for changeset b43aa5bd8ca5 ! .hgtags Changeset: 039783b67959 Author: lana Date: 2013-01-26 18:24 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/rev/039783b67959 Merge Changeset: e28985c549aa Author: raginip Date: 2013-01-18 11:31 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/rev/e28985c549aa 8000839: Integrate the Java Access Bridge with Java Runtime Reviewed-by: ptbrunet, erikj ! common/bin/compare_exceptions.sh.incl Changeset: db46b1c27a93 Author: erikj Date: 2013-01-28 14:23 +0100 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/rev/db46b1c27a93 Merge - common/autoconf/closed.version.numbers ! common/autoconf/generated-configure.sh - common/autoconf/version.numbers ! common/bin/compare_exceptions.sh.incl Changeset: 8baaaba2ee6b Author: lana Date: 2013-01-29 20:16 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/rev/8baaaba2ee6b Merge Changeset: 0d4b0a13adb2 Author: erikj Date: 2013-01-23 11:37 +0100 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/rev/0d4b0a13adb2 8005855: build-infra: Remove -R flag when cross compiling Reviewed-by: dholmes, tbell ! common/autoconf/generated-configure.sh ! common/autoconf/libraries.m4 Changeset: ea6379d4624f Author: erikj Date: 2013-01-23 11:41 +0100 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/rev/ea6379d4624f 8006663: build-infra: Compare two arbitrary zip/jar files with compare.sh Reviewed-by: tbell ! common/bin/compare.sh Changeset: 0d46733cfffb Author: erikj Date: 2013-01-23 11:42 +0100 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/rev/0d46733cfffb 8006658: build-infra: Make MILESTONE behave the same as JDK_BUILD_NUMBER Reviewed-by: ohrstrom, dholmes, tbell ! common/autoconf/generated-configure.sh ! common/autoconf/jdk-options.m4 Changeset: 9e5847257731 Author: erikj Date: 2013-01-24 09:17 +0100 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/rev/9e5847257731 Merge Changeset: 2a713921952c Author: katleman Date: 2013-01-30 13:39 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/rev/2a713921952c Merge ! common/autoconf/generated-configure.sh Changeset: 421988585e05 Author: wmdietl Date: 2013-01-31 15:22 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/rev/421988585e05 Automated merge with http://hg.openjdk.java.net/jdk8/tl/ ! .hgtags From wdietl at gmail.com Thu Jan 31 15:24:00 2013 From: wdietl at gmail.com (wdietl at gmail.com) Date: Thu, 31 Jan 2013 23:24:00 +0000 Subject: hg: type-annotations/type-annotations/corba: 2 new changesets Message-ID: <20130131232403.934174770F@hg.openjdk.java.net> Changeset: d4e68ce17795 Author: katleman Date: 2013-01-24 16:48 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/corba/rev/d4e68ce17795 Added tag jdk8-b74 for changeset 2132845cf5f7 ! .hgtags Changeset: 1d1b7ee1c94d Author: wmdietl Date: 2013-01-31 15:23 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/corba/rev/1d1b7ee1c94d Automated merge with http://hg.openjdk.java.net/jdk8/tl/corba ! .hgtags From wdietl at gmail.com Thu Jan 31 15:24:14 2013 From: wdietl at gmail.com (wdietl at gmail.com) Date: Thu, 31 Jan 2013 23:24:14 +0000 Subject: hg: type-annotations/type-annotations/jaxws: 2 new changesets Message-ID: <20130131232421.81F3D47710@hg.openjdk.java.net> Changeset: 966bf9f3c41a Author: katleman Date: 2013-01-24 16:49 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jaxws/rev/966bf9f3c41a Added tag jdk8-b74 for changeset 12db3c5a3393 ! .hgtags Changeset: 23aef021b823 Author: wmdietl Date: 2013-01-31 15:24 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jaxws/rev/23aef021b823 Automated merge with http://hg.openjdk.java.net/jdk8/tl/jaxws ! .hgtags From wdietl at gmail.com Thu Jan 31 15:24:37 2013 From: wdietl at gmail.com (wdietl at gmail.com) Date: Thu, 31 Jan 2013 23:24:37 +0000 Subject: hg: type-annotations/type-annotations/jaxp: 3 new changesets Message-ID: <20130131232448.5201B47711@hg.openjdk.java.net> Changeset: 69bc57b1ebdd Author: katleman Date: 2013-01-24 16:48 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jaxp/rev/69bc57b1ebdd Added tag jdk8-b74 for changeset 2087e24a4357 ! .hgtags Changeset: ff0b73a6b3f6 Author: lana Date: 2013-01-26 18:25 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jaxp/rev/ff0b73a6b3f6 Merge Changeset: 5592546da156 Author: wmdietl Date: 2013-01-31 15:24 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jaxp/rev/5592546da156 Automated merge with http://hg.openjdk.java.net/jdk8/tl/jaxp ! .hgtags From wdietl at gmail.com Thu Jan 31 15:23:47 2013 From: wdietl at gmail.com (wdietl at gmail.com) Date: Thu, 31 Jan 2013 23:23:47 +0000 Subject: hg: type-annotations/type-annotations/hotspot: 66 new changesets Message-ID: <20130131232559.76EBF47712@hg.openjdk.java.net> Changeset: 89fc17e8d808 Author: katleman Date: 2013-01-24 16:48 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/89fc17e8d808 Added tag jdk8-b74 for changeset 1a3e54283c54 ! .hgtags Changeset: d58b7b43031b Author: amurillo Date: 2013-01-11 02:02 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/d58b7b43031b 8006034: new hotspot build - hs25-b16 Reviewed-by: jcoomes ! make/hotspot_version Changeset: adc176e95bf2 Author: acorn Date: 2013-01-09 11:39 -0500 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/adc176e95bf2 8005689: InterfaceAccessFlagsTest failures in Lambda-JDK tests Summary: Fix verifier for new interface access flags Reviewed-by: acorn, kvn Contributed-by: bharadwaj.yadavalli at oracle.com ! src/share/vm/classfile/classFileParser.cpp Changeset: dd7248d3e151 Author: zgu Date: 2013-01-09 14:46 -0500 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/dd7248d3e151 7152671: RFE: Windows decoder should add some std dirs to the symbol search path Summary: Added JRE/JDK bin directories to decoder's symbol search path Reviewed-by: dcubed, sla ! src/os/windows/vm/decoder_windows.cpp ! src/os/windows/vm/decoder_windows.hpp Changeset: 97ee8abd6ab2 Author: zgu Date: 2013-01-09 12:10 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/97ee8abd6ab2 Merge Changeset: aefb345d3f5e Author: acorn Date: 2013-01-10 17:38 -0500 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/aefb345d3f5e 7199207: NPG: Crash in PlaceholderTable::verify after StackOverflow Summary: Reduce scope of placeholder table entries to improve cleanup Reviewed-by: dholmes, coleenp ! src/share/vm/classfile/placeholders.cpp ! src/share/vm/classfile/placeholders.hpp ! src/share/vm/classfile/systemDictionary.cpp ! src/share/vm/utilities/exceptions.hpp Changeset: 91bf7da5c609 Author: mikael Date: 2013-01-10 17:06 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/91bf7da5c609 8004747: Remove last_entry from VM_STRUCT macros Summary: Instead of passing in last_entry to all the VM_ macros just expand it in the main vmStructs.cpp file. Reviewed-by: dholmes, sspitsyn, minqi ! src/cpu/sparc/vm/vmStructs_sparc.hpp ! src/cpu/x86/vm/vmStructs_x86.hpp ! src/cpu/zero/vm/vmStructs_zero.hpp ! src/os_cpu/bsd_x86/vm/vmStructs_bsd_x86.hpp ! src/os_cpu/bsd_zero/vm/vmStructs_bsd_zero.hpp ! src/os_cpu/linux_sparc/vm/vmStructs_linux_sparc.hpp ! src/os_cpu/linux_x86/vm/vmStructs_linux_x86.hpp ! src/os_cpu/linux_zero/vm/vmStructs_linux_zero.hpp ! src/os_cpu/solaris_sparc/vm/vmStructs_solaris_sparc.hpp ! src/os_cpu/solaris_x86/vm/vmStructs_solaris_x86.hpp ! src/os_cpu/windows_x86/vm/vmStructs_windows_x86.hpp ! src/share/vm/runtime/vmStructs.cpp Changeset: c1c8479222cd Author: dholmes Date: 2013-01-10 21:00 -0500 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/c1c8479222cd 8005921: Memory leaks in vmStructs.cpp Reviewed-by: dholmes, mikael, rasbold Contributed-by: Jeremy Manson ! src/share/vm/runtime/vmStructs.cpp Changeset: e0cf9af8978e Author: zgu Date: 2013-01-11 12:30 -0500 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/e0cf9af8978e 8005936: PrintNMTStatistics doesn't work for normal JVM exit Summary: Moved NMT shutdown code to JVM exit handler to ensure NMT statistics is printed when PrintNMTStatistics is enabled Reviewed-by: acorn, dholmes, coleenp ! src/share/vm/runtime/java.cpp ! src/share/vm/runtime/thread.cpp Changeset: 90a92d5bca17 Author: zgu Date: 2013-01-11 09:53 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/90a92d5bca17 Merge Changeset: 4a916f2ce331 Author: jwilhelm Date: 2013-01-14 15:17 +0100 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/4a916f2ce331 8003985: Support @Contended Annotation - JEP 142 Summary: HotSpot changes to support @Contended annotation. Reviewed-by: coleenp, kvn, jrose Contributed-by: Aleksey Shipilev ! agent/src/share/classes/sun/jvm/hotspot/oops/InstanceKlass.java ! src/cpu/sparc/vm/vm_version_sparc.cpp ! src/cpu/x86/vm/vm_version_x86.cpp ! src/share/vm/classfile/classFileParser.cpp ! src/share/vm/classfile/classFileParser.hpp ! src/share/vm/classfile/vmSymbols.hpp ! src/share/vm/oops/fieldInfo.hpp ! src/share/vm/oops/fieldStreams.hpp ! src/share/vm/oops/instanceKlass.hpp ! src/share/vm/runtime/globals.hpp ! src/share/vm/runtime/vmStructs.cpp Changeset: f9eb431c3efe Author: coleenp Date: 2013-01-14 11:01 -0500 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/f9eb431c3efe 8006005: Fix constant pool index validation and alignment trap for method parameter reflection Summary: This patch addresses an alignment trap due to the storage format of method parameters data in constMethod. It also adds code to validate constant pool indexes for method parameters data. Reviewed-by: jrose, dholmes Contributed-by: eric.mccorkle at oracle.com ! src/share/vm/classfile/classFileParser.cpp ! src/share/vm/oops/constMethod.hpp ! src/share/vm/prims/jvm.cpp ! src/share/vm/runtime/reflection.cpp Changeset: 5b6a231e5a86 Author: coleenp Date: 2013-01-14 08:37 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/5b6a231e5a86 Merge ! src/share/vm/classfile/classFileParser.cpp Changeset: fe1472c87a27 Author: mikael Date: 2013-01-14 11:00 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/fe1472c87a27 8005592: ClassLoaderDataGraph::_unloading incorrectly defined as nonstatic in vmStructs Summary: Added assertion to catch problem earlier and removed the unused field Reviewed-by: dholmes, acorn ! src/share/vm/runtime/vmStructs.cpp Changeset: c793367610c1 Author: coleenp Date: 2013-01-15 17:05 -0500 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/c793367610c1 8005467: CDS size information is incorrect and unfriendly Summary: Changed words to bytes, and added usage percentage information Reviewed-by: coleenp, twisti Contributed-by: ioi.lam at oracle.com ! src/share/vm/memory/metaspaceShared.cpp Changeset: 92d4b5d8dde4 Author: acorn Date: 2013-01-16 18:23 -0500 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/92d4b5d8dde4 Merge ! src/cpu/x86/vm/vm_version_x86.cpp ! src/share/vm/runtime/globals.hpp Changeset: 337e1dd9d902 Author: jiangli Date: 2013-01-11 16:55 -0500 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/337e1dd9d902 8005895: Inefficient InstanceKlass field packing wasts memory. Summary: Pack _misc_has_default_methods into the _misc_flags, move _idnum_allocated_count. Reviewed-by: coleenp, shade ! src/share/vm/oops/instanceKlass.hpp Changeset: 94fa3c4e7643 Author: vladidan Date: 2013-01-14 13:44 -0500 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/94fa3c4e7643 8005639: Move InlineSynchronizedMethods flag from develop to product Summary: Move InlineSynchronizedMethods flag from develop to product Reviewed-by: kvn, vladidan Contributed-by: Alexander Harlap ! src/share/vm/c1/c1_globals.hpp Changeset: 9deda4d8e126 Author: vladidan Date: 2013-01-14 13:52 -0500 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/9deda4d8e126 8005204: Code Cache Reduction: command line options implementation Summary: Adding more detailed output on CodeCache usage Reviewed-by: kvn, vladidan Contributed-by: Alexander Harlap ! src/share/vm/code/codeCache.cpp ! src/share/vm/code/codeCache.hpp ! src/share/vm/compiler/compileBroker.cpp ! src/share/vm/runtime/globals.hpp ! src/share/vm/runtime/java.cpp ! src/share/vm/utilities/vmError.cpp Changeset: 212c5b9c38e7 Author: dlong Date: 2013-01-17 01:27 -0500 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/212c5b9c38e7 Merge ! src/share/vm/oops/instanceKlass.hpp ! src/share/vm/runtime/globals.hpp ! src/share/vm/runtime/java.cpp Changeset: a3f92e6c0274 Author: twisti Date: 2013-01-11 14:07 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/a3f92e6c0274 8006031: LibraryCallKit::inline_array_copyOf disabled unintentionally with 7172640 Reviewed-by: kvn ! src/share/vm/opto/library_call.cpp Changeset: f9bda35f4226 Author: twisti Date: 2013-01-11 16:47 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/f9bda35f4226 8005816: Shark: fix volatile float field access Reviewed-by: twisti Contributed-by: Roman Kennke ! src/share/vm/shark/sharkBlock.cpp Changeset: c566b81b3323 Author: twisti Date: 2013-01-11 16:47 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/c566b81b3323 8005817: Shark: implement deoptimization support Reviewed-by: twisti Contributed-by: Roman Kennke ! src/cpu/zero/vm/frame_zero.cpp ! src/cpu/zero/vm/frame_zero.inline.hpp ! src/cpu/zero/vm/sharkFrame_zero.hpp ! src/share/vm/shark/sharkInvariants.hpp ! src/share/vm/shark/sharkTopLevelBlock.cpp Changeset: c095a7f289aa Author: twisti Date: 2013-01-11 16:47 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/c095a7f289aa 8005818: Shark: fix OSR for non-empty incoming stack Reviewed-by: twisti Contributed-by: Roman Kennke ! src/share/vm/shark/sharkCompiler.cpp ! src/share/vm/shark/sharkFunction.cpp ! src/share/vm/shark/sharkInvariants.hpp Changeset: 606eada1bf86 Author: twisti Date: 2013-01-11 16:47 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/606eada1bf86 8005820: Shark: enable JSR292 support Reviewed-by: twisti Contributed-by: Roman Kennke ! src/share/vm/compiler/abstractCompiler.hpp ! src/share/vm/compiler/compileBroker.cpp ! src/share/vm/shark/sharkBlock.cpp ! src/share/vm/shark/sharkCompiler.hpp ! src/share/vm/shark/sharkConstant.cpp ! src/share/vm/shark/sharkInliner.cpp ! src/share/vm/shark/sharkTopLevelBlock.cpp Changeset: 6d1f5516534e Author: twisti Date: 2013-01-11 20:01 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/6d1f5516534e 8006127: remove printing code added with 8006031 Reviewed-by: kvn ! src/share/vm/opto/library_call.cpp Changeset: d92fa52a5d03 Author: vlivanov Date: 2013-01-14 08:22 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/d92fa52a5d03 8006095: C1: SIGSEGV w/ -XX:+LogCompilation Summary: avoid printing inlining decision when compilation fails Reviewed-by: kvn, roland ! src/share/vm/c1/c1_GraphBuilder.cpp Changeset: f1de9dbc914e Author: twisti Date: 2013-01-15 12:06 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/f1de9dbc914e 8006109: test/java/util/AbstractSequentialList/AddAll.java fails: assert(rtype == ctype) failed: mismatched return types Reviewed-by: kvn ! src/share/vm/ci/ciType.cpp ! src/share/vm/ci/ciType.hpp ! src/share/vm/opto/doCall.cpp Changeset: 5b8548391bf3 Author: kvn Date: 2013-01-15 14:45 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/5b8548391bf3 8005821: C2: -XX:+PrintIntrinsics is broken Summary: Check all print inlining flags when processing inlining list. Reviewed-by: kvn, twisti Contributed-by: david.r.chase at oracle.com ! src/share/vm/opto/compile.cpp Changeset: bf623b2d5508 Author: kvn Date: 2013-01-16 14:55 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/bf623b2d5508 8006204: please JTREGify test/compiler/7190310/Test7190310.java Summary: Add proper jtreg annotations in the preceding comment, including an explicit timeout. Reviewed-by: kvn, twisti Contributed-by: david.r.chase at oracle.com ! test/compiler/7190310/Test7190310.java Changeset: eab4f9ed602c Author: kvn Date: 2013-01-17 18:47 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/eab4f9ed602c Merge ! src/share/vm/compiler/compileBroker.cpp Changeset: 689e1218d7fe Author: brutisso Date: 2013-01-14 09:58 +0100 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/689e1218d7fe 8004018: Remove old initialization flags Reviewed-by: dholmes, stefank Contributed-by: erik.helin at oracle.com ! src/share/vm/runtime/globals.hpp ! src/share/vm/runtime/thread.cpp Changeset: a30e7b564541 Author: brutisso Date: 2013-01-14 21:30 +0100 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/a30e7b564541 8005972: ParNew should not update the tenuring threshold when promotion failed has occurred Reviewed-by: ysr, johnc, jwilhelm ! src/share/vm/gc_implementation/parNew/parNewGeneration.cpp ! src/share/vm/gc_implementation/parNew/parNewGeneration.hpp ! src/share/vm/memory/defNewGeneration.cpp ! src/share/vm/memory/defNewGeneration.hpp Changeset: ed6154d7d259 Author: stefank Date: 2013-01-15 13:32 +0100 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/ed6154d7d259 8005590: java_lang_Class injected field resolved_constructor appears unused Reviewed-by: coleenp, dholmes ! src/share/vm/classfile/javaClasses.cpp ! src/share/vm/classfile/javaClasses.hpp ! src/share/vm/classfile/vmSymbols.hpp ! src/share/vm/oops/instanceKlass.cpp ! src/share/vm/runtime/vmStructs.cpp Changeset: ff0a7943fd29 Author: stefank Date: 2013-01-15 10:09 +0100 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/ff0a7943fd29 8005994: Method annotations are allocated unnecessarily during class file parsing Summary: Also reviewed by: vitalyd at gmail.com Reviewed-by: coleenp, acorn ! src/share/vm/classfile/classFileParser.cpp ! src/share/vm/prims/jvm.cpp Changeset: 4967eb4f67a9 Author: johnc Date: 2013-01-15 12:32 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/4967eb4f67a9 8001425: G1: Change the default values for certain G1 specific flags Summary: Changes to default and ergonomic flag values recommended by performance team. Changes were also reviewed by Monica Beckwith . Reviewed-by: brutisso, huntch ! src/share/vm/gc_implementation/g1/g1_globals.hpp Changeset: 2dce7c34c564 Author: stefank Date: 2013-01-17 11:39 +0100 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/2dce7c34c564 8006513: Null pointer in DefaultMethods::generate_default_methods when merging annotations Reviewed-by: brutisso, jfranck ! src/share/vm/classfile/defaultMethods.cpp Changeset: 59a58e20dc60 Author: jmasa Date: 2013-01-17 19:04 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/59a58e20dc60 8006537: Assert when dumping archive with default methods Reviewed-by: coleenp ! src/share/vm/classfile/classLoaderData.cpp ! src/share/vm/memory/metadataFactory.hpp Changeset: f422634e5828 Author: brutisso Date: 2013-01-18 11:03 +0100 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/f422634e5828 Merge ! src/share/vm/classfile/classFileParser.cpp ! src/share/vm/classfile/vmSymbols.hpp ! src/share/vm/prims/jvm.cpp ! src/share/vm/runtime/globals.hpp ! src/share/vm/runtime/thread.cpp ! src/share/vm/runtime/vmStructs.cpp Changeset: 70c89bd6b895 Author: amurillo Date: 2013-01-18 05:19 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/70c89bd6b895 Merge Changeset: 2b878edabfc0 Author: amurillo Date: 2013-01-18 05:19 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/2b878edabfc0 Added tag hs25-b16 for changeset 70c89bd6b895 ! .hgtags Changeset: 46e60405583b Author: amurillo Date: 2013-01-18 05:33 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/46e60405583b 8006511: new hotspot build - hs25-b17 Reviewed-by: jcoomes ! make/hotspot_version Changeset: e94ed1591b42 Author: sla Date: 2013-01-16 16:30 +0100 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/e94ed1591b42 8006403: Regression: jstack failed due to the FieldInfo regression in SA Reviewed-by: sla, dholmes Contributed-by: Aleksey Shipilev ! agent/src/share/classes/sun/jvm/hotspot/oops/InstanceKlass.java ! src/share/vm/runtime/vmStructs.cpp Changeset: 557bda927cc2 Author: sla Date: 2013-01-18 14:15 +0100 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/557bda927cc2 Merge ! src/share/vm/runtime/vmStructs.cpp Changeset: 617b18aadb33 Author: sla Date: 2013-01-18 19:13 +0100 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/617b18aadb33 Merge Changeset: 203f64878aab Author: hseigel Date: 2013-01-17 10:25 -0500 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/203f64878aab 7102489: RFE: cleanup jlong typedef on __APPLE__and _LLP64 systems. Summary: Define jlong as long on all LP64 platforms and add JLONG_FORMAT macro. Reviewed-by: dholmes, coleenp, mikael, kvn ! src/cpu/x86/vm/jni_x86.h ! src/os/bsd/vm/os_bsd.inline.hpp ! src/os/linux/vm/os_linux.inline.hpp ! src/os/posix/launcher/java_md.c ! src/os/posix/launcher/java_md.h ! src/os/solaris/vm/os_solaris.inline.hpp ! src/os/windows/launcher/java_md.c ! src/os/windows/launcher/java_md.h ! src/os/windows/vm/os_windows.cpp ! src/os/windows/vm/os_windows.inline.hpp ! src/share/tools/launcher/java.c ! src/share/tools/launcher/java.h ! src/share/vm/c1/c1_InstructionPrinter.cpp ! src/share/vm/c1/c1_LIR.cpp ! src/share/vm/ci/ciReplay.cpp ! src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.cpp ! src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp ! src/share/vm/gc_implementation/parallelScavenge/psScavenge.cpp ! src/share/vm/gc_implementation/shared/ageTable.cpp ! src/share/vm/memory/universe.cpp ! src/share/vm/opto/idealGraphPrinter.cpp ! src/share/vm/opto/type.cpp ! src/share/vm/runtime/aprofiler.cpp ! src/share/vm/runtime/arguments.cpp ! src/share/vm/runtime/os.hpp ! src/share/vm/runtime/perfData.cpp ! src/share/vm/runtime/virtualspace.cpp ! src/share/vm/services/diagnosticArgument.cpp ! src/share/vm/services/heapDumper.cpp ! src/share/vm/services/lowMemoryDetector.cpp ! src/share/vm/utilities/globalDefinitions.hpp ! src/share/vm/utilities/globalDefinitions_gcc.hpp ! src/share/vm/utilities/ostream.cpp ! src/share/vm/utilities/taskqueue.cpp Changeset: b14da2e6f2dc Author: coleenp Date: 2013-01-17 13:40 -0500 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/b14da2e6f2dc 7174978: NPG: Fix bactrace builder for class redefinition Summary: Remove Method* from backtrace but save version so redefine classes doesn't give inaccurate line numbers. Removed old Merlin API with duplicate code. Reviewed-by: dholmes, sspitsyn ! make/bsd/makefiles/mapfile-vers-debug ! make/bsd/makefiles/mapfile-vers-product ! make/linux/makefiles/mapfile-vers-debug ! make/linux/makefiles/mapfile-vers-product ! make/solaris/makefiles/mapfile-vers ! src/share/vm/classfile/javaClasses.cpp ! src/share/vm/classfile/javaClasses.hpp ! src/share/vm/oops/constantPool.cpp ! src/share/vm/oops/constantPool.hpp ! src/share/vm/prims/jvm.cpp ! src/share/vm/prims/jvm.h ! src/share/vm/prims/jvmtiRedefineClasses.cpp Changeset: b5f6465019f6 Author: coleenp Date: 2013-01-17 22:11 -0500 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/b5f6465019f6 8006548: version wrong in new constantPool code Summary: fix increment problem with saved_version Reviewed-by: dholmes ! src/share/vm/oops/constantPool.hpp Changeset: c07c102cbad7 Author: brutisso Date: 2013-01-21 09:00 +0100 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/c07c102cbad7 8006431: os::Bsd::initialize_system_info() sets _physical_memory too large Summary: Use HW_MEMSIZE instead of HW_USERMEM to get a 64 bit value of the physical memory on the machine. Also reviewed by vitalyd at gmail.com. Reviewed-by: sla, dholmes, dlong, mikael ! src/os/bsd/vm/os_bsd.cpp Changeset: c73c3f2c5b3b Author: acorn Date: 2013-01-21 16:11 -0500 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/c73c3f2c5b3b Merge ! src/share/vm/classfile/javaClasses.cpp ! src/share/vm/classfile/javaClasses.hpp ! src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.cpp ! src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp ! src/share/vm/prims/jvm.cpp ! src/share/vm/runtime/arguments.cpp ! src/share/vm/services/diagnosticArgument.cpp Changeset: f3184f32ce0b Author: dcubed Date: 2013-01-22 05:55 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/f3184f32ce0b 6444286: Possible naked oop related to biased locking revocation safepoint in jni_exit() Summary: Add missing Handle. Reviewed-by: acorn, dholmes, dice, sspitsyn Contributed-by: karen.kinnear at oracle.com ! src/share/vm/runtime/synchronizer.cpp Changeset: 22ba8c8ce6a6 Author: dcubed Date: 2013-01-22 05:56 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/22ba8c8ce6a6 8004902: correctness fixes motivated by contended locking work (6607129) Summary: misc correctness fixes Reviewed-by: acorn, dholmes, dice, sspitsyn Contributed-by: dave.dice at oracle.com ! 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/share/vm/classfile/javaClasses.cpp ! src/share/vm/runtime/objectMonitor.cpp ! src/share/vm/runtime/objectMonitor.inline.hpp Changeset: 5ce621176715 Author: dcubed Date: 2013-01-22 05:57 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/5ce621176715 8004903: VMThread::execute() calls Thread::check_for_valid_safepoint_state() on concurrent VM ops Summary: check_for_valid_safepoint_state() only applies to blocking VM ops Reviewed-by: acorn, dholmes, dice, sspitsyn Contributed-by: karen.kinnear at oracle.com ! src/share/vm/runtime/vmThread.cpp Changeset: edd23b35b1a5 Author: zgu Date: 2013-01-22 14:27 -0500 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/edd23b35b1a5 6871190: Don't terminate JVM if it is running in a non-interactive session Summary: Don't handle CTRL_LOGOFF_EVENT event when the process is running in a non-interactive session Reviewed-by: ctornqvi, acorn ! src/os/windows/vm/os_windows.cpp Changeset: 2ef7061f13b4 Author: zgu Date: 2013-01-22 11:54 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/2ef7061f13b4 Merge ! src/os/windows/vm/os_windows.cpp Changeset: 7df93f7c14a5 Author: brutisso Date: 2013-01-16 12:46 +0100 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/7df93f7c14a5 8006242: G1: WorkerDataArray::verify() too strict for double calculations Summary: Also reviewed by vitalyd at gmail.com. Reviewed-by: johnc, mgerdin ! src/share/vm/gc_implementation/g1/g1GCPhaseTimes.cpp ! src/share/vm/gc_implementation/g1/g1GCPhaseTimes.hpp Changeset: bf8c2b2c8cfa Author: mgerdin Date: 2013-01-22 13:42 +0100 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/bf8c2b2c8cfa 8004147: test/Makefile jtreg_tests target does not work with cygwin Reviewed-by: ctornqvi, brutisso ! test/Makefile Changeset: d754ef7b9352 Author: jmasa Date: 2013-01-24 06:04 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/d754ef7b9352 Merge Changeset: a7114d3d712e Author: kvn Date: 2013-01-22 11:31 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/a7114d3d712e 8005055: pass outputStream to more opto debug routines Summary: pass the output stream to node->dump() and everything reachable from there Reviewed-by: kvn Contributed-by: goetz.lindenmaier at sap.com ! src/share/vm/compiler/oopMap.cpp ! src/share/vm/opto/callnode.cpp ! src/share/vm/opto/callnode.hpp ! src/share/vm/opto/machnode.cpp ! src/share/vm/opto/node.cpp ! src/share/vm/opto/node.hpp ! src/share/vm/opto/optoreg.hpp ! src/share/vm/opto/regalloc.cpp ! src/share/vm/opto/regmask.cpp ! src/share/vm/opto/regmask.hpp Changeset: b30b3c2a0cf2 Author: kvn Date: 2013-01-22 15:34 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/b30b3c2a0cf2 6896617: Optimize sun.nio.cs.ISO_8859_1$Encode.encodeArrayLoop() on x86 Summary: Use SSE4.2 and AVX2 instructions for encodeArray intrinsic. Reviewed-by: roland ! src/cpu/x86/vm/assembler_x86.cpp ! src/cpu/x86/vm/assembler_x86.hpp ! src/cpu/x86/vm/macroAssembler_x86.cpp ! src/cpu/x86/vm/macroAssembler_x86.hpp ! src/cpu/x86/vm/x86_32.ad ! src/cpu/x86/vm/x86_64.ad ! src/share/vm/adlc/formssel.cpp ! src/share/vm/classfile/vmSymbols.hpp ! src/share/vm/opto/c2_globals.hpp ! src/share/vm/opto/classes.hpp ! src/share/vm/opto/escape.cpp ! src/share/vm/opto/lcm.cpp ! src/share/vm/opto/library_call.cpp ! src/share/vm/opto/loopTransform.cpp ! src/share/vm/opto/macro.cpp ! src/share/vm/opto/matcher.cpp ! src/share/vm/opto/memnode.cpp ! src/share/vm/opto/memnode.hpp + test/compiler/6896617/Test6896617.java Changeset: 522c328b8b77 Author: kvn Date: 2013-01-23 15:11 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/522c328b8b77 8003878: compiler/7196199 test failed on OS X since 8b54, jdk7u12b01 Summary: Limit vectors size to 16 bytes on BSD until the problem is fixed Reviewed-by: twisti ! src/cpu/x86/vm/vm_version_x86.cpp Changeset: 22ead76da3f4 Author: kmo Date: 2013-01-24 02:03 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/22ead76da3f4 8006758: LinkResolver assertion (caused by @Contended changes) Summary: treat anonymous classes as privileged code to restore the special handling for @Compiled during class file parsing Reviewed-by: jrose, coleenp, kvn, dholmes ! src/share/vm/classfile/classFileParser.cpp Changeset: 274a29bf5682 Author: kmo Date: 2013-01-24 09:06 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/274a29bf5682 Merge Changeset: b4391649e91e Author: amurillo Date: 2013-01-25 02:36 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/b4391649e91e Merge ! .hgtags Changeset: 6778d0b16593 Author: amurillo Date: 2013-01-25 02:36 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/6778d0b16593 Added tag hs25-b17 for changeset b4391649e91e ! .hgtags Changeset: e8774cd3e27f Author: wmdietl Date: 2013-01-31 15:23 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/hotspot/rev/e8774cd3e27f Automated merge with http://hg.openjdk.java.net/jdk8/tl/hotspot ! .hgtags From wdietl at gmail.com Thu Jan 31 15:23:13 2013 From: wdietl at gmail.com (wdietl at gmail.com) Date: Thu, 31 Jan 2013 23:23:13 +0000 Subject: hg: type-annotations/type-annotations/jdk: 44 new changesets Message-ID: <20130131233147.BE09447713@hg.openjdk.java.net> Changeset: e5ce312a5b10 Author: sherman Date: 2013-01-31 13:13 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/e5ce312a5b10 8007298: Base64.getMimeDecoder().decode() throws IAE for a single non-base64 character 8006526: Base64.Decoder.decode(String) spec contains a copy-paste mistake Summary: to ignore single non-base64 char in mime decoding Reviewed-by: alanb ! src/share/classes/java/util/Base64.java ! test/java/util/Base64/TestBase64.java Changeset: cff8d7768d72 Author: mduigou Date: 2013-01-31 13:27 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/cff8d7768d72 8006709: Add minimal support of MacOSX platform for NetBeans Projects Summary: Adds support for MacOSX platform and architecture detection. Other minor updates (-source/target 1.8) Reviewed-by: ohair + make/netbeans/common/architectures/arch-x86_64.properties + make/netbeans/common/architectures/name-Macosx.properties ! make/netbeans/common/java-data-native.ent ! make/netbeans/common/java-data-no-native.ent ! make/netbeans/common/make.xml ! make/netbeans/common/shared.xml Changeset: 6d849e883c40 Author: yhuang Date: 2013-01-13 18:45 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/6d849e883c40 7114053: [sq] Inproper tanslation for iso lanugage of Albanian Reviewed-by: naoto ! src/share/classes/sun/util/resources/sq/LocaleNames_sq.properties ! test/sun/text/resources/LocaleData ! test/sun/text/resources/LocaleDataTest.java Changeset: 2de23975ee10 Author: yhuang Date: 2013-01-15 19:08 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/2de23975ee10 Merge Changeset: 68fc838d5e89 Author: yhuang Date: 2013-01-16 19:05 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/68fc838d5e89 Merge Changeset: 595baf3cc781 Author: yhuang Date: 2013-01-16 23:08 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/595baf3cc781 Merge Changeset: 478d8354285a Author: erikj Date: 2013-01-18 16:44 +0100 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/478d8354285a 8006567: jre/lib/applet missing from Mac JDK installation Reviewed-by: tbell ! makefiles/Bundles.gmk Changeset: 92d8880d5406 Author: erikj Date: 2013-01-21 11:42 +0100 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/92d8880d5406 8006583: build-infra: Remove /javax/swing/SwingBeanInfoBase.java from src.zip Reviewed-by: tbell ! makefiles/GensrcSwing.gmk Changeset: a9839ed93340 Author: erikj Date: 2013-01-21 11:42 +0100 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/a9839ed93340 Merge Changeset: 506bf3d23f06 Author: erikj Date: 2013-01-21 14:58 +0100 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/506bf3d23f06 8006579: build-infra: In jvm.cfg, alias -server to -client when no server jvm is built. Reviewed-by: tbell ! makefiles/CopyFiles.gmk Changeset: 57d5d9544628 Author: erikj Date: 2013-01-22 09:01 +0100 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/57d5d9544628 8004151: build-infra: Generating X11 wrapper offset file is not cross compilable Reviewed-by: dholmes, ohrstrom ! makefiles/GensrcX11Wrappers.gmk + src/solaris/classes/sun/awt/X11/generator/sizes.32 + src/solaris/classes/sun/awt/X11/generator/sizes.64 Changeset: ef592aceb40e Author: katleman Date: 2013-01-24 16:49 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/ef592aceb40e Added tag jdk8-b74 for changeset 57d5d9544628 ! .hgtags Changeset: 57561ea851d2 Author: lana Date: 2013-01-26 19:22 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/57561ea851d2 Merge - test/java/rmi/activation/ActivationSystem/unregisterGroup/CallbackInterface.java - test/java/rmi/activation/ActivationSystem/unregisterGroup/Callback_Stub.java - test/java/rmi/activation/ActivationSystem/unregisterGroup/UnregisterGroup_Stub.java ! test/sun/text/resources/LocaleData ! test/sun/text/resources/LocaleDataTest.java Changeset: 4faaaf5027a5 Author: alexsch Date: 2013-01-14 08:32 -0500 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/4faaaf5027a5 7166409: bug4331515.java fail with NullPointerException on ubuntu10.04-x86 for JDK8 Reviewed-by: serb ! src/share/classes/com/sun/java/swing/plaf/windows/WindowsLookAndFeel.java Changeset: 9c6ca265b4a1 Author: alexsch Date: 2013-01-15 12:49 +0400 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/9c6ca265b4a1 8003978: closed/javax/swing/JRootPane/bug4670486.java fails since jdk7u12b01 on macosx Reviewed-by: serb, leonidr ! src/share/classes/com/sun/java/swing/plaf/gtk/GTKLookAndFeel.java ! src/share/classes/com/sun/java/swing/plaf/motif/MotifLookAndFeel.java ! src/share/classes/javax/swing/plaf/basic/BasicLookAndFeel.java ! src/share/classes/sun/swing/SwingUtilities2.java ! test/java/awt/KeyboardFocusmanager/TypeAhead/SubMenuShowTest/SubMenuShowTest.java Changeset: 1b886bd5e5bf Author: serb Date: 2013-01-15 21:57 +0400 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/1b886bd5e5bf 7124525: [macosx] No animation on certain Swing components in Aqua LaF Reviewed-by: alexsch, swingler ! src/macosx/classes/com/apple/laf/AquaPainter.java ! src/macosx/classes/com/apple/laf/ImageCache.java Changeset: 7ea1372be2fe Author: mcherkas Date: 2013-01-16 17:26 +0400 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/7ea1372be2fe 8005492: Reduce number of warnings in sun/awt/* classes Reviewed-by: art, anthony ! src/share/classes/java/awt/Button.java ! src/share/classes/java/awt/Checkbox.java ! src/share/classes/java/awt/Choice.java ! src/share/classes/java/awt/Component.java ! src/share/classes/java/awt/Container.java ! src/share/classes/java/awt/Dialog.java ! src/share/classes/java/awt/Frame.java ! src/share/classes/java/awt/KeyboardFocusManager.java ! src/share/classes/java/awt/Scrollbar.java ! src/share/classes/java/awt/TextArea.java ! src/share/classes/java/awt/TextComponent.java ! src/share/classes/java/awt/TextField.java ! src/share/classes/java/awt/Toolkit.java ! src/share/classes/java/awt/Window.java ! src/share/classes/sun/awt/image/SurfaceManager.java Changeset: 23f9955ae34a Author: lana Date: 2013-01-16 15:57 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/23f9955ae34a Merge Changeset: 47243a4efb8b Author: kshefov Date: 2013-01-17 15:08 +0000 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/47243a4efb8b 7124209: [macosx] SpringLayout issue. BASELINE is not in the range: [NORTH, SOUTH] Reviewed-by: serb, alexsch + test/javax/swing/SpringLayout/4726194/bug4726194.java Changeset: 035f87fc9f74 Author: anthony Date: 2013-01-18 14:17 +0400 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/035f87fc9f74 8005465: [macosx] Evaluate if checking for the -XstartOnFirstThread is still needed in awt.m Summary: Allow one to start AWT on the main thread w/o exceptions Reviewed-by: art, serb ! src/macosx/native/sun/awt/awt.m Changeset: 5309fed435b5 Author: serb Date: 2013-01-18 18:17 +0400 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/5309fed435b5 7179050: [macosx] Make LWAWT be able to run on AppKit thread Summary: Removed irrelevant assertions from the LWAWT native methods Reviewed-by: serb, anthony Contributed-by: petr.pchelko at oracle.com ! src/macosx/classes/sun/lwawt/macosx/CPlatformWindow.java ! src/macosx/native/sun/awt/AWTSurfaceLayers.m ! src/macosx/native/sun/awt/AWTView.m ! src/macosx/native/sun/awt/AWTWindow.m ! src/macosx/native/sun/awt/ApplicationDelegate.m ! src/macosx/native/sun/awt/CClipboard.m ! src/macosx/native/sun/awt/CCursorManager.m ! src/macosx/native/sun/awt/CDesktopPeer.m ! src/macosx/native/sun/awt/CDragSourceContextPeer.m ! src/macosx/native/sun/awt/CImage.m ! src/macosx/native/sun/awt/CInputMethod.m ! src/macosx/native/sun/awt/CMenu.m ! src/macosx/native/sun/awt/CMenuComponent.m ! src/macosx/native/sun/awt/CMenuItem.m ! src/macosx/native/sun/awt/CPopupMenu.m ! src/macosx/native/sun/awt/CTrayIcon.m ! src/macosx/native/sun/awt/CWrapper.m ! src/macosx/native/sun/awt/JavaComponentAccessibility.m ! src/macosx/native/sun/awt/LWCToolkit.m ! src/macosx/native/sun/awt/awt.m ! src/macosx/native/sun/osxapp/ThreadUtilities.h ! src/macosx/native/sun/osxapp/ThreadUtilities.m Changeset: 112c08b41ca2 Author: alitvinov Date: 2013-01-18 18:34 +0400 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/112c08b41ca2 8006417: JComboBox.showPopup(), hidePopup() fails in JRE 1.7 on OS X Reviewed-by: art, serb ! src/macosx/classes/sun/lwawt/LWToolkit.java ! src/macosx/classes/sun/lwawt/LWWindowPeer.java + test/javax/swing/JComboBox/ShowPopupAfterHidePopupTest/ShowPopupAfterHidePopupTest.java Changeset: b4131358120a Author: raginip Date: 2013-01-18 11:33 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/b4131358120a 8000839: Integrate the Java Access Bridge with Java Runtime Reviewed-by: ptbrunet, erikj ! make/Makefile + make/bridge/AccessBridgeJava/Makefile + make/bridge/JAWTAccessBridge/Files_cpp.gmk + make/bridge/JAWTAccessBridge/Makefile + make/bridge/Jabswitch/Makefile + make/bridge/Jaccess/Makefile + make/bridge/JavaAccessBridge/Files_cpp.gmk + make/bridge/JavaAccessBridge/Makefile + make/bridge/Makefile + make/bridge/WindowsAccessBridge/Files_cpp.gmk + make/bridge/WindowsAccessBridge/Makefile ! makefiles/CompileJavaClasses.gmk ! makefiles/CompileLaunchers.gmk ! makefiles/CompileNativeLibraries.gmk ! makefiles/CopyFiles.gmk ! makefiles/CreateJars.gmk ! makefiles/GensrcMisc.gmk Changeset: f55d869052dd Author: alexsch Date: 2013-01-21 17:55 +0400 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/f55d869052dd 8004298: NPE in WindowsTreeUI.ensureRowsAreVisible Reviewed-by: serb ! src/share/classes/com/sun/java/swing/plaf/windows/WindowsTreeUI.java + test/javax/swing/JTree/8004298/bug8004298.java Changeset: dd7e1cc4253c Author: alexp Date: 2013-01-24 15:26 +0400 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/dd7e1cc4253c 7147078: [macosx] Echo char set in TextField doesn't prevent word jumping Reviewed-by: art ! src/macosx/classes/com/apple/laf/AquaKeyBindings.java ! src/macosx/classes/com/apple/laf/AquaLookAndFeel.java ! src/macosx/classes/sun/lwawt/LWTextFieldPeer.java Changeset: 04d2005fa178 Author: alexp Date: 2013-01-24 15:52 +0400 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/04d2005fa178 7132793: [macosx] setWheelScrollEnabled action reversed Reviewed-by: serb, art ! src/macosx/classes/sun/lwawt/LWComponentPeer.java ! src/macosx/classes/sun/lwawt/LWScrollPanePeer.java Changeset: 40a45a72a120 Author: serb Date: 2013-01-24 15:55 +0400 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/40a45a72a120 8005997: [macosx] Printer Dialog opens an additional title bar Reviewed-by: anthony, art Contributed-by: petr.pchelko at oracle.com ! src/macosx/classes/sun/lwawt/macosx/CPlatformWindow.java Changeset: fab11b21ee6e Author: kizune Date: 2013-01-24 16:09 +0400 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/fab11b21ee6e 7143768: [macosx] Unexpected NullPointerException and java.io.IOException during DnD Reviewed-by: alexp ! src/macosx/classes/sun/lwawt/macosx/CDataTransferer.java Changeset: 7dd1896b37c8 Author: malenkov Date: 2013-01-24 17:26 +0400 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/7dd1896b37c8 6817933: Setting the background of an HTML Widget changes the native Windows JFileChooser Reviewed-by: alexsch ! src/share/classes/sun/swing/WindowsPlacesBar.java + test/javax/swing/JFileChooser/6817933/Test6817933.java Changeset: f8526b99b825 Author: serb Date: 2013-01-24 17:50 +0400 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/f8526b99b825 8003173: [macosx] Fullscreen on Mac leaves an empty rectangle Reviewed-by: anthony, alexsch ! src/macosx/classes/sun/awt/CGraphicsDevice.java ! src/macosx/classes/sun/lwawt/LWWindowPeer.java ! src/macosx/classes/sun/lwawt/macosx/CPlatformView.java ! src/macosx/classes/sun/lwawt/macosx/CPlatformWindow.java + test/java/awt/FullScreen/FullScreenInsets/FullScreenInsets.java Changeset: 32721a1a8da8 Author: malenkov Date: 2013-01-24 17:57 +0400 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/32721a1a8da8 8005138: test/java/beans/Introspector/TestTypeResolver.java fails Reviewed-by: alexsch ! test/java/beans/Introspector/TestTypeResolver.java Changeset: 7cda96a78260 Author: malenkov Date: 2013-01-24 18:06 +0400 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/7cda96a78260 8003400: JTree scrolling problem when using large model in WindowsLookAndFeel Reviewed-by: alexsch ! src/share/classes/javax/swing/plaf/basic/BasicTreeUI.java + test/javax/swing/JTree/8003400/Test8003400.java Changeset: e616c28c5120 Author: erikj Date: 2013-01-28 14:23 +0100 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/e616c28c5120 Merge - make/tools/swing-beans/beaninfo/BeanInfoUtils.java - make/tools/swing-beans/beaninfo/SwingBeanInfoBase.java ! makefiles/CompileJavaClasses.gmk ! makefiles/CompileLaunchers.gmk ! makefiles/CompileNativeLibraries.gmk ! makefiles/CopyFiles.gmk ! makefiles/CreateJars.gmk - src/share/demo/jfc/CodePointIM/CodePointInputMethod.java - src/share/demo/jfc/CodePointIM/CodePointInputMethodDescriptor.java Changeset: a1a55db02f34 Author: lana Date: 2013-01-29 20:19 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/a1a55db02f34 Merge ! makefiles/CreateJars.gmk Changeset: 9d5c43050210 Author: dl Date: 2013-01-11 16:50 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/9d5c43050210 8006123: Support @Contended Annotation - JEP 142 (jdk part) Summary: jdk changes for 8003895. Reviewed-by: darcy, jrose, coleenp, dholmes, kvn Contributed-by: Aleksey Shipilev + src/share/classes/sun/misc/Contended.java Changeset: 739351a0a7a1 Author: kvn Date: 2013-01-23 11:47 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/739351a0a7a1 8006799: Optimize sun.nio.cs.ISO_8859_1$Encode.encodeArrayLoop() (jdk part of 6896617) Summary: Move hot loop in ISO_8859_1$Encode.encodeArrayLoop() into separate method encodeISOArray() to be replaced by JVM JIT compiler with optimized intrinsic code. Reviewed-by: alanb, sherman ! src/share/classes/sun/nio/cs/ISO_8859_1.java Changeset: e9d00d30fcca Author: amurillo Date: 2013-01-25 03:02 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/e9d00d30fcca Merge Changeset: ac286bf65242 Author: amurillo Date: 2013-01-30 10:18 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/ac286bf65242 Merge - test/java/rmi/activation/ActivationSystem/unregisterGroup/CallbackInterface.java - test/java/rmi/activation/ActivationSystem/unregisterGroup/Callback_Stub.java - test/java/rmi/activation/ActivationSystem/unregisterGroup/UnregisterGroup_Stub.java Changeset: 3c499051a5df Author: erikj Date: 2013-01-29 16:35 +0100 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/3c499051a5df 8006873: SWAT-b74 msvcr100.dll does not have the permission for all Reviewed-by: alanb, tbell ! makefiles/CopyFiles.gmk Changeset: 4a67fdb752b7 Author: katleman Date: 2013-01-30 13:04 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/4a67fdb752b7 Merge ! makefiles/CopyFiles.gmk Changeset: 771551bc9e02 Author: lana Date: 2013-01-31 10:22 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/771551bc9e02 Merge Changeset: e822b4d50a5b Author: lana Date: 2013-01-31 14:10 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/e822b4d50a5b Merge - src/share/classes/java/lang/annotation/ContainedBy.java - src/share/classes/java/lang/annotation/ContainerFor.java Changeset: a09a37cff333 Author: mchung Date: 2013-01-31 14:29 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/a09a37cff333 6355704: (fmt) %f formatting of BigDecimals is incorrect Reviewed-by: darcy Contributed-by: brian.burkhalter at oracle.com ! test/java/util/Formatter/Basic-X.java.template ! test/java/util/Formatter/BasicBigDecimal.java Changeset: 5df24f9f80b3 Author: wmdietl Date: 2013-01-31 15:23 -0800 URL: http://hg.openjdk.java.net/type-annotations/type-annotations/jdk/rev/5df24f9f80b3 Automated merge with http://hg.openjdk.java.net/jdk8/tl/jdk ! .hgtags From steve.sides at oracle.com Thu Jan 31 15:55:07 2013 From: steve.sides at oracle.com (Steve Sides) Date: Thu, 31 Jan 2013 15:55:07 -0800 Subject: test(s) for type annotations on new, cast, array levels Message-ID: <510B045B.9050907@oracle.com> I better start posting these or they'll not make it in time. I took a small failing case out of the larger combinations tests so that it will pass. This test expands on that one to make a more comprehensive test: http://cr.openjdk.java.net/~ssides/8005681/ It currently fails, so I do not think it will get into tl/langtools without an @ignore. :) -steve From steve.sides at oracle.com Thu Jan 31 16:29:57 2013 From: steve.sides at oracle.com (Steve Sides) Date: Thu, 31 Jan 2013 16:29:57 -0800 Subject: updates to CombinationsTargetTests Message-ID: <510B0C85.9090501@oracle.com> Hello again, This changeset updates the CombinationsTargetTest1/2.java enabling them to pass: http://cr.openjdk.java.net/~ssides/8007339/ The webrev comment provide more explanation: http://cr.openjdk.java.net/~ssides/8007339/webrevComment.txt thanks, steve