Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

8242900: [lworld] Allow an inline type to declare a superclass that meets specified restrictions #23

Closed
wants to merge 3 commits into from

Conversation

sadayapalam
Copy link
Collaborator

@sadayapalam sadayapalam commented Apr 16, 2020

Here is a change set that implements the changes for

 https://bugs.openjdk.java.net/browse/JDK-8242900 ([lworld] Allow an inline type to declare a superclass that meets specified restrictions)

and its prerequisite blocker:
https://bugs.openjdk.java.net/browse/JDK-8242912 (Abstract classes should not implement IdentityObject)

Here is a roadmap that would make it easier for you to review:

- Go over to the JBS tickets above and read up the description of the tasks
- Start with the new tests to understand what is being implemented and tested:
   
        test/langtools/tools/javac/valhalla/lworld-values/BinarySuperclassConstraints.java
        test/langtools/tools/javac/valhalla/lworld-values/BinarySuperclassConstraints.out
        test/langtools/tools/javac/valhalla/lworld-values/SuperclassCollections.java
        test/langtools/tools/javac/valhalla/lworld-values/SuperclassConstraints.java
        test/langtools/tools/javac/valhalla/lworld-values/SuperclassConstraints.out

 - Review of source files is best taken up in this order:
        Flags.java: defines two new flags to decorate classes with initializer blocks and empty no-arg constructor as being such.
        Attr.java:    During attribution flag classes that have initializer blocks and constructors that are empty no-arg constructors.
                          Arrange to check for constraints of a super class of an inline class.
        Check.java: Check the superclass's constraints when asked by the attributor.
        ClassReader.java: When reading class files, flags constructors that are empty no-arg constructors (save for chaining to super's no-arg ctor)
        compiler.properties: new errors.
        TransValues.java: In earlier versions, Inline types implicitly extended jlO, so any super() chaining call must be jlO's ctor. This is no longer the case. So remove the assertion.
        TreeInfo.java: Tweak to a utility method to make it more general and suitable for our present needs.
        TypeEnter.java: Earlier specs forbid an inline type declaration to have an extends clause. This is no longer illegal. So we don't error anymore. Abstract types should not implement the new top interface (IdentityObject)

- These changes are simply rolling back prior changes made at the time of injection of new top interfaces. Because we don't inject them anymore for abstract classes, we should not encode them in "golden" files:
        test/jdk/java/lang/annotation/TypeAnnotationReflection.java
        test/jdk/java/lang/reflect/Generics/TestC1.java
        test/jdk/java/lang/reflect/Generics/TestC2.java
        test/langtools/tools/javac/processing/rounds/OverwriteBetweenCompilations_2.out
        test/langtools/tools/javac/processing/rounds/OverwriteBetweenCompilations_3.out
        test/langtools/tools/javap/AnnoTest.java

- To shut up CheckExamples.java from spuriously failing, for the time being add the new compiler message keys to the white list:
        test/langtools/tools/javac/diags/examples.not-yet.txt

- Other minorly modified tests that you may want to eyeball: (The diagnostics change a little bit since "extends" clause is no longer illegal. I have added -XDallowEmptyValues in some cases to exercise different code paths and elicit different diagnostics)

        test/langtools/tools/javac/valhalla/lworld-values/CheckExtends.java
        test/langtools/tools/javac/valhalla/lworld-values/CheckExtends.out
        test/langtools/tools/javac/valhalla/lworld-values/IllegalByValueTest2.out
        test/langtools/tools/javac/valhalla/lworld-values/InlineAnnotationTest.java
        test/langtools/tools/javac/valhalla/lworld-values/InlineAnnotationTest.out
        test/langtools/tools/javac/valhalla/lworld-values/ValueAnnotationTest.out
        test/langtools/tools/javac/valhalla/lworld-values/ValueModifierTest.out

- This one is an odd man out: (Earlier Number implemented IdentityObject, but not anymore since it is abstract, so it is injected deeper now and surfaces - but this whole express injection is a temporary thing and will go away with JDK-8242612
    test/langtools/tools/javac/varargs/6806876/T6806876.out

Progress

  • Change must not contain extraneous whitespace

Issue

  • JDK-8242900: [lworld] Allow an inline type to declare a superclass that meets specified restrictions

Reviewers

  • JimLaskey (no known github.com user name / role)

Download

$ git fetch https://git.openjdk.java.net/valhalla pull/23/head:pull/23
$ git checkout pull/23

@bridgekeeper
Copy link

bridgekeeper bot commented Apr 16, 2020

👋 Welcome back sadayapalam! A progress list of the required criteria for merging this PR into lworld will be added to the body of your pull request.

@openjdk
Copy link

openjdk bot commented Apr 16, 2020

@sadayapalam This change now passes all automated pre-integration checks, type /integrate in a new comment to proceed. After integration, the commit message will be:

8242900: [lworld] Allow an inline type to declare a superclass that meets specified restrictions
  • If you would like to add a summary, use the /summary command.
  • To credit additional contributors, use the /contributor command.
  • To add additional solved issues, use the /solves command.

Since the source branch of this PR was last updated there have been 259 commits pushed to the lworld branch. As there are no conflicts, your changes will automatically be rebased on top of these commits when integrating. If you prefer to avoid automatic rebasing, please merge lworld into your branch, and then specify the current head hash when integrating, like this: /integrate d4828d74696ce3a84aa1a545d34427ecb5931910.

➡️ To integrate this PR with the above commit message to the lworld branch, type /integrate in a new comment.

@mlbridge
Copy link

mlbridge bot commented Apr 16, 2020

Webrevs

@mlbridge
Copy link

mlbridge bot commented Apr 16, 2020

Mailing list message from Srikanth on valhalla-dev:

Hi Jim,

May I request you to please review this change ?? TIA. See below for a
detailed instructions.

(I changed my mind: Rather than throw a large patch that implements the
entire kitchen sink at the reviewers, I will divide it up into 3-4
manageable chunks. Here is first set of changes)

Regards,
Srikanth

On 16/04/20 5:23 pm, Srikanth Adayapalam wrote:

Here is a change set that implements the changes for

  https\:\/\/bugs\.openjdk\.java\.net\/browse\/JDK\-8242900 \(\[lworld\] Allow an inline type to declare a superclass that meets
  specified restrictions\)

and its prerequisite blocker:
https://bugs.openjdk.java.net/browse/JDK-8242912 (Abstract classes should not implement IdentityObject)

Here is a roadmap that would make it easier for you to review:

 \- Go over to the JBS tickets above and read up the description of the tasks
 \- Start with the new tests to understand what is being implemented and tested\:
    
         test\/langtools\/tools\/javac\/valhalla\/lworld\-values\/BinarySuperclassConstraints\.java
         test\/langtools\/tools\/javac\/valhalla\/lworld\-values\/BinarySuperclassConstraints\.out
         test\/langtools\/tools\/javac\/valhalla\/lworld\-values\/SuperclassCollections\.java
         test\/langtools\/tools\/javac\/valhalla\/lworld\-values\/SuperclassConstraints\.java
         test\/langtools\/tools\/javac\/valhalla\/lworld\-values\/SuperclassConstraints\.out

  \- Review of source files is best taken up in this order\:
         Flags\.java\: defines two new flags to decorate classes with initializer blocks and empty no\-arg constructor as being
         such\. Attr\.java\:    During attribution flag classes that have initializer blocks and constructors that are empty no\-arg
         constructors\.
                           Arrange to check for constraints of a super class of an inline class\.
         Check\.java\: Check the superclass\'s constraints when asked by the attributor\.
         ClassReader\.java\: When reading class files\, flags constructors that are empty no\-arg constructors \(save for chaining to
         super\'s no\-arg ctor\) compiler\.properties\: new errors\.
         TransValues\.java\: In earlier versions\, Inline types implicitly extended jlO\, so any super\(\) chaining call must be jlO\'s
         ctor\. This is no longer the case\. So remove the assertion\. TreeInfo\.java\: Tweak to a utility method to make it more
         general and suitable for our present needs\. TypeEnter\.java\: Earlier specs forbid an inline type declaration to have an
         extends clause\. This is no longer illegal\. So we don\'t error anymore\. Abstract types should not implement the new top
         interface \(IdentityObject\)

 \- These changes are simply rolling back prior changes made at the time of injection of new top interfaces\. Because we
   don\'t inject them anymore for abstract classes\, we should not encode them in \"golden\" files\:
         test\/jdk\/java\/lang\/annotation\/TypeAnnotationReflection\.java
         test\/jdk\/java\/lang\/reflect\/Generics\/TestC1\.java
         test\/jdk\/java\/lang\/reflect\/Generics\/TestC2\.java
         test\/langtools\/tools\/javac\/processing\/rounds\/OverwriteBetweenCompilations\_2\.out
         test\/langtools\/tools\/javac\/processing\/rounds\/OverwriteBetweenCompilations\_3\.out
         test\/langtools\/tools\/javap\/AnnoTest\.java

 \- To shut up CheckExamples\.java from spuriously failing\, for the time being add the new compiler message keys to the
   white list\:
         test\/langtools\/tools\/javac\/diags\/examples\.not\-yet\.txt

 \- Other minorly modified tests that you may want to eyeball\: \(The diagnostics change a little bit since \"extends\" clause
   is no longer illegal\. I have added \-XDallowEmptyValues in some cases to exercise different code paths and elicit
   different diagnostics\)

         test\/langtools\/tools\/javac\/valhalla\/lworld\-values\/CheckExtends\.java
         test\/langtools\/tools\/javac\/valhalla\/lworld\-values\/CheckExtends\.out
         test\/langtools\/tools\/javac\/valhalla\/lworld\-values\/IllegalByValueTest2\.out
         test\/langtools\/tools\/javac\/valhalla\/lworld\-values\/InlineAnnotationTest\.java
         test\/langtools\/tools\/javac\/valhalla\/lworld\-values\/InlineAnnotationTest\.out
         test\/langtools\/tools\/javac\/valhalla\/lworld\-values\/ValueAnnotationTest\.out
         test\/langtools\/tools\/javac\/valhalla\/lworld\-values\/ValueModifierTest\.out

 \- This one is an odd man out\: \(Earlier Number implemented IdentityObject\, but not anymore since it is abstract\, so it is
   injected deeper now and surfaces \- but this whole express injection is a temporary thing and will go away with
   JDK\-8242612
     test\/langtools\/tools\/javac\/varargs\/6806876\/T6806876\.out

-------------

Commit messages:
- 8242900: Fix training white spaces
- 8242900: Tests for supertypes constraints for inline types
- 8242900: [lworld] Allow an inline type to declare a superclass that meets specified restrictions

Changes: https://git.openjdk.java.net/valhalla/pull/23/files
Webrev: https://webrevs.openjdk.java.net/valhalla/23/webrev.00
Issue: https://bugs.openjdk.java.net/browse/JDK-8242900
Stats: 448 lines in 28 files changed: 397 ins; 11 del; 40 mod
Patch: https://git.openjdk.java.net/valhalla/pull/23.diff
Fetch: git fetch https://git.openjdk.java.net/valhalla pull/23/head:pull/23

PR: https://git.openjdk.java.net/valhalla/pull/23

@sadayapalam
Copy link
Collaborator Author

sadayapalam commented Apr 23, 2020

/integrate

@openjdk openjdk bot closed this Apr 23, 2020
@openjdk openjdk bot added integrated and removed ready labels Apr 23, 2020
@openjdk
Copy link

openjdk bot commented Apr 23, 2020

@sadayapalam The following commits have been pushed to lworld since your change was applied:

  • d4828d7: Merge jdk
  • e2f1a5f: Merge jdk
  • e4e93d7: allow inline classes to have abstract supers
  • ff1b435: 8242269: [lworld] C2 compilation fails with assert "meet not symmetric"
  • cc05419: 8242366: Fix JavaDoc warnings
  • 941bb3b: 8242842: Avoid reallocating name when checking for trailing slash in ZipFile.getEntryPos
  • d983fa6: 8242629: Remove references to deprecated java.util.Observer and Observable
  • 7bd2cd0: 8242597: Remove GenericTaskQueue<>::push_slow
  • b0d709c: 8241618: Fix trivial unchecked warnings for jdk.hotspot.agent
  • 919027a: 8242485: Null _file checking in fileStream::flush()
  • 23709c8: 8242643: Shenandoah: split concurrent weak and strong root processing
  • 346d09e: 8242602: Shenandoah: allow earlier recycle of trashed regions during concurrent root processing
  • 0278846: Merge
  • 7bce9a9: 8172680: Support SHA-3 based Hmac algorithms
  • 4c7d85b: 8242556: Cannot load RSASSA-PSS public key with non-null params from byte array
  • 4694da3: 8242078: G1: Improve concurrent refinement analytics and logging
  • b98e863: 8242641: Shenandoah: clear live data and update TAMS optimistically
  • 3602186: 8242039: Improve jlink VersionPropsPlugin
  • e969c15: 8241142: Shenandoah: should not use parallel reference processing with single GC thread
  • a62a0e5: 8238665: Add JFR event for direct memory statistics
  • 1cc71b4: 8241982: Make TestSearchScript.java run with GraalJS
  • 165fa24: 8242468: VS2019 build missing vcruntime140_1.dll
  • 416f4ed: 8242463: ProcessTools.createNativeTestProcessBuilder() in testlib needs jdk/bin on PATH on Windows
  • aadc7c7: 8237474: Default SSLEngine should create in server role
  • b812e8b: 8242638: Shenandoah: restore heap logging for uncommit
  • e0ccd77: 8242625: Shenandoah: restore heap logging for Degenerated/Full cycles
  • b18e006: 8242448: Change HeapRegionManager::guarantee_contiguous_range to be assert_contiguous_range
  • 5dca7ec: 8231572: Use -lobjc instead of -fobjc-link-runtime in libosxsecurity
  • 8cd9241: 8242330: Arrays should be cloned in several JAAS Callback classes
  • d34f732: 8242283: Can't start JVM when java home path includes non-ASCII character
  • 4a09f31: 8237250: pmap and pstack should do a better of making it clear that they are not supported on Mac OS X
  • a46f4bf: 8242327: List spec should state that unmodifiable lists implement RandomAccess
  • 82dfec7: 8242384: sa/TestSysProps.java failed due to "RuntimeException: Could not find property in jinfo output: [0.058s][info][cds] Archive was created with UseCompressedOops"
  • 3a6249d: 8242295: Change ThreadMBean in vmTestbase/nsk/monitoring to ThreadMXBean
  • ac8d420: 8240169: javadoc fails to link to non-modular api docs
  • cdb379e: 8237383: Members inherited from non-public types are not included in index
  • 64957a1: 8242265: serviceability/sa/ClhsdbScanOops.java fails due to bad @requires expression
  • 62060fc: 8242337: javadoc typo in NumberFormat::setMinimumFractionDigits
  • 89a33e6: 8240918: [REDO] Allow direct handshakes without VMThread intervention
  • 51a5e9c: 8242010: Upgrade IANA Language Subtag Registry to Version 2020-04-01
  • 52ea480: 8241141: Restructure humongous object allocation in G1
  • dd4e04d: 8242134: Consolidate the get_package_entry() in SystemDictionaryShared and ClassLoader
  • 0ffbbc8: 8242382: test/jdk/TEST.groups cleanup of sun/tools/java
  • a5b81d9: 8240693: Sweeper should not examine dying metadata in is_unloading() nmethod during static call stub cleaning
  • 76a8557: 8241438: Move IntelJccErratum mitigation code to platform-specific code
  • 6c1f8e1: 8242370: Enable JFR TestGCPhaseConcurrent test for Shenandoah
  • 29b0912: 8242375: Shenandoah: Remove ShenandoahHeuristic::record_gc_start/end methods
  • 1c65145: 8241888: Mirror jdk.security.allowNonCaAnchor system property with a security one
  • 1cca0e4: 8237490: [macos] Add support notarizing jpackage app-image and dmg
  • 50ed530: 8225319: Remove rmic from the set of supported tools
  • c2efd22: 8239544: Javac does not respect should-stop.ifNoError policy to stop after CompileState PARSE, ENTER and PROCESS
  • 9292b40: 8241984: Shenandoah: enhance GCTimer and JFR support
  • 64aee56: 8242365: Shenandoah: use uint16_t instead of jushort for liveness cache
  • 7b870e7: 8242353: Shenandoah: micro-optimize region liveness handling
  • 4c4271f: 8242230: Whitespace typos, relaxed javadoc, formatting
  • 59684e1: 8242356: (se) epoll Selector should use epoll_create1 instead of epoll_create
  • 343f760: 8242316: Shenandoah: Turn NULL-check into assert in SATB slow-path entry
  • 05c26d8: 8241828: JFR: Some streaming tests require a larger heap size with ZGC
  • 6405d75: 8241900: Loop unswitching may cause dependence on null check to be lost
  • 6b7a466: 8242294: JSSE Client does not throw SSLException when an alert occurs during handshaking
  • 67fd181: 8242029: AArch64: skip G1 array copy pre-barrier if marking not active
  • d8539a5: 8242184: CRL generation error with RSASSA-PSS
  • ccd2a16: 8242165: SA sysprops support fails to dump all system properties
  • 9fb91b4: 8242142: convert clhsdb "class" and "classes" commands from javascript to java
  • 25642dd: 8035787: SourcePositions are wrong for Strings concatenated with '+' operator
  • a40ef7e: 8242235: Disable SA testing on Solaris. Remove JDK-8193639 entries from ProblemList.txt
  • 2b42382: 8242301: Shenandoah: Inline LRB runtime call
  • 7ac64b8: 8241895: use new "details-list" CSS class instead of general "block-list" for list of details sections
  • 8523e37: 8242056: Merge support for AnnotationType builders/writers into support for other types
  • cceee2c: 8242168: ClhsdbFindPC.java failed due to "RuntimeException: 'In code in NMethod for LingeredAppWithTrivialMain.main' missing from stdout/stderr"
  • 378aef3: 8240533: Inconsistent Exceptions are thrown by DatagramSocket and DatagramChannel when sending a DatagramPacket to port 0
  • e53ae5a: 8242216: ObjectSampler::weak_oops_do() should not trigger barrier
  • 1a40b79: 8241695: JFR TestCrossProcessStreaming.java child process exited with SIGQUIT (131)
  • 6351f95: 8242006: (zipfs) Improve Zip FS FileChannel and SeekableByteChannel test coverage
  • 9ba424e: 8242267: Shenandoah: regions space needs to be aligned by os::vm_allocation_granularity()
  • 9743ec8: 8240360: NativeLibraryEvent has wrong library name on Linux
  • 951cda8: 8242273: Shenandoah: accept either SATB or IU barriers, but not both
  • 5fff119: 8242271: Shenandoah: add test to verify GC mode unlock
  • 76b1119: 8241958: Slow ClassLoaderReferenceImpl.findType
  • f5a728a: 8238289: Use byteswap functions to implenent Bytes::swap_uX on Windows
  • edc4ffe: 8199138: Add RISC-V support to Zero
  • b317d0e: 8241638: launcher time metrics always report 1 on Linux when _JAVA_LAUNCHER_DEBUG set
  • e18d661: 8237572: Combine the two LingeredApp classes
  • 3aa216e: 8241713: Linux desktop shortcuts with spaces make postinst/prerm fail
  • c1016d5: 8242229: Shenandoah: inline ShenandoahHeapRegion liveness-related methods
  • e3aae42: 8242228: Shenandoah: remove unused ShenandoahCollectionSet methods
  • 0d1e636: 8242227: Shenandoah: transit regions to cset state when adding to collection set
  • 59f28e5: 8242213: Shenandoah: remove ShenandoahHeuristics::_bytes_in_cset
  • 1d687b3: 8242212: Shenandoah: initialize ShenandoahHeuristics::_region_data eagerly
  • 185f372: 8242211: Shenandoah: remove ShenandoahHeuristics::RegionData::_seqnum_last_alloc
  • c4d01f8: 8242054: Shenandoah: New incremental-update mode
  • ba26538: 8241530: com/sun/jdi tests fail due to network issues on OSX 10.15
  • 843a862: 8242217: Shenandoah: Enable GC mode to be diagnostic/experimental and have a name
  • ec5ccb8: 8242130: Shenandoah: Simplify arraycopy-barrier dispatching
  • 08b9028: 8242208: Use Method.getParameterCount where applicable
  • e9adf7b: 8242186: Reduce allocations in URLStreamHandler.parseURL for some cases
  • 722a18d: 8242090: Remove dead code from c1_LIR
  • b73460b: 8242114: Shenandoah: remove ShenandoahHeapRegion::reset_alloc_metadata_to_shared
  • 5aed216: 8241726: Re-enable gtest for BitMap::count_one_bits()
  • 3d36ef1: 8241997: Scalar replacement of cloned array is broken after JDK-8238759
  • 99a6b6b: 8174768: Make ProcessTools print executed process output into a separate file
  • 77041dc: 8235220: ClhsdbScanOops.java fails with sun.jvm.hotspot.types.WrongTypeException
  • c73934d: 8242311: use reproducible random in hotspot runtime tests
  • 116fe80: 8242313: use reproducible random in hotspot svc tests
  • 15464b3: 8242471: remove "temporarily" restrictions of nsk/jdi/Argument/value/value004
  • 68e0e49: 8242241: add assert to ClassUnloadEventImpl::className
  • 7a608f4: 8242326: use new "summary-list" CSS class instead of general "block-list" for list of summary sections
  • ea36a53: 8241952: (fs) FileChannel.write(ByteBuffer src, long position) does not check for the FileChannel being closed first
  • 447d649: 8242292: (fs) FileSystems.getFileSystem(URI) should throw IAE if the URI scheme is null
  • 83a1d70: 8242155: Enhance automated macos signing tests
  • efba976: Merge
  • 6b0b851: Merge
  • ca46bba: 8241587: Aarch64: remove x86 specifics from os_linux.cpp/hpp/inline.hpp
  • 455d2e7: 8225540: In core reflection note whether returned annotations are declaration or type annotations
  • b7d5172: 8242472: Comment for unused PreviewFeature.Feature.TEXT_BLOCKS enum
  • 1d7dee9: 8242289: C2: Support platform-specific node cloning in Matcher
  • e0a75ed: 8242162: convert clhsdb "sysprops" command from javascript to java
  • ef8537e: 8241741: Implement Text Blocks as a standard feature in javac
  • d9bf934: 8241742: Remove the preview status for methods introduced for Text Blocks
  • 36f2293: 8241920: G1: Lazily initialize OtherRegionsTable::_coarse_map
  • 1364505: 8242400: Shenandoah: Restore logging to pre-jdk8241984 format
  • cdfe841: 8242038: G1: Lazily initialize RSHashTables
  • 7c35140: 8242310: use reproducible random in hotspot compiler tests
  • 0eb72d4: 8241707: introduce randomness k/w to hotspot test suite
  • d109136: 8240990: convert clhsdb "dumpclass" command from javascript to java
  • cd8be04: 8237187: Obsolete references to java.sun.com
  • 16f8c29: Added tag jdk-15+18 for changeset 44aef192b488
  • 3487361: 8242379: [TESTBUG] compiler/loopopts/TestLoopUnswitchingLostCastDependency.java fails with release VMs
  • 3850f28: 8242325: Remove VIS version of medialib
  • 64365fb: 8223090: Clean up obsolete logic & reference to Amble fonts
  • 10ca487: 8239819: XToolkit: Misread of screen information memory
  • a6678d2: 8240877: NPE at javax.swing.text.html.FormView.appendBuffer with null option values
  • f67e608: 8238567: SoftMainMixer.processAudioBuffers(): Wrong handling of stoppedMixers
  • a62b24f: 8241829: Cleanup the code for PrinterJob on windows
  • 84fc485: 7105119: [TEST_BUG] [macosx] In test UIDefaults.toString() must be called with the invokeLater()
  • 8eb7c3e: 8196019: java/awt/Window/Grab/GrabTest.java fails on Windows
  • 4895a19: 8241798: Allow enums to have more constants
  • 3a0a3d2: 8184249: SA: clhsdb 'intConstant' throws a NullPointerException when not attached to a VM
  • 3cf922b: 8242462: Residual Cleanup of rmic removal
  • 93831d4: 8241883: (zipfs) SeekableByteChannel:close followed by SeekableByteChannel:close will throw an NPE coverage
  • f11d462: 8242282: Test sun/tools/jps/TestJps.java fails after JDK-8237572
  • 8ace920: 8242470: Update Xerces to Version 2.12.1
  • 5ad5aa4: 8242430: Correct links in javadoc of OperatingSystemMXBean
  • 86722cb: 8239594: jdk.tls.client.protocols is not respected
  • 502d459: 8240848: ArrayIndexOutOfBoundsException buf for TextCallbackHandler
  • 592b9a9: 8241911: AArch64: Fix a potential register clash issue in reduce_add2I
  • 048c5c0: 8241041: C2: "assert((Value(phase) == t) || (t != TypeInt::CC_GT && t != TypeInt::CC_EQ)) failed: missing Value() optimization" still happens after fix for 8239335
  • fc9389c: 8241996: on linux set full relro in the linker flags
  • ed00873: 8215711: Missing key_share extension for (EC)DHE key exchange should alert missing_extension
  • a6b990f: 8242153: ProblemList serviceability/sa/ClhsdbDumpheap.java on OSX
  • 2e47834: 8240745: Implementation: JEP 377: ZGC: A Scalable Low-Latency Garbage Collector (Production)
  • 76d5349: 8241960: The SHA3 message digests impl of SUN provider are not thread safe after cloned
  • 512644d: 8240205: Avoid PackageEntry lookup when loading shared classes
  • 965404d: 8240989: convert clhsdb "dumpheap" command from javascript to java
  • acafdb3: 8238183: SAX2StAXStreamWriter cannot deal with comments prior to the root element
  • ff34c4c: 8242107: Shenandoah: Fix aarch64 build after JDK-8242082
  • 59af1c2: 8241138: http.nonProxyHosts=* causes StringIndexOutOfBoundsException in DefaultProxySelector
  • a309046: 8241585: Remove unused _recursion_counter facility from PerfTraceTime
  • fe2a820: 8242101: Shenandoah: coalesce and parallelise heap region walks during the pauses
  • 746d28d: 8242030: Wrong package declarations in jline classes after JDK-8241598
  • f541970: 8241786: Improve heuristic to determine default network interface on macOS
  • 553ea1e: 8242082: Shenandoah: Purge Traversal mode
  • c09b0a7: 8242089: Shenandoah: per-worker stats should be summed up, not averaged
  • 21d5f88: 8242083: Shenandoah: split "Prepare Evacuation" tracking into cset/freeset counters
  • 218d0f7: 8242000: clean up list of environment variables printed in hs_err file
  • cd76575: 8242075: Shenandoah: rename ShenandoahHeapRegionSize flag
  • 62b7404: 8242042: Shenandoah: tune down ShenandoahGarbageThreshold
  • f82e44c: 8242073: x86_32 build failure after JDK-8241040
  • a21c4fb: 8241475: AArch64: Add missing support for PopCountVI node
  • 934b8a9: 8241556: Memory leak if -XX:CompileCommand is set
  • 9a69bb8: 8242044: Add basic HTTP/1.1 support to the HTTP/2 Test Server
  • 61940fe: 8241988: DatagramSocket incorrectly caches the first set of socket options
  • a76f0f7: 8241456: ThreadRunner shouldn't use Wicket for threads starting synchronization
  • cf22d44: 8239895: assert(_stack_base != 0LL) failed: Sanity check
  • 80b8644: 8241670: Enhance heap region size ergonomics to improve OOTB performance
  • 3ae56fd: 8191930: [Graal] emits unparseable XML into compile log
  • 487070c: 8242041: Shenandoah: adaptive heuristics should account evac reserve in free target
  • 6570425: 8242040: Shenandoah: print allocation failure type
  • 5532b27: 8241040: Support for AVX-512 Ternary Logic Instruction
  • fb56759: 8242027: Clean up LinkResolver::check_klass_accessability
  • ea56776: 8239072: subtype check macro node causes node budget to be exhausted
  • 73ddea7: 8241492: Strip mining not working for test/hotspot/jtreg/compiler/c2/Test6850611.java
  • c6b2238: 8241921: Remove leftover diagnostic from test/jdk/java/io/Serializable/records/SerialPersistentFieldsTest.java
  • 15fcf27: 8241947: Minor comment fixes for system property handling
  • 2718bcd: 8242031: TestLookForUntestedEvents.java fails because newly added test tests experimental events
  • 0386b7d: 8176894: Provide specialized implementation for default methods putIfAbsent, computeIfAbsent, computeIfPresent, compute, merge in TreeMap
  • 3790e58: 8241761: Typos: empty lines in javadoc, inconsistent indents, etc. (security-libs only)
  • cc25927: Added tag jdk-15+17 for changeset dd5198db2e5b
  • 13af7bb: 8240698: LingeredApp does not pass getTestJavaOpts() to the children process if vmArguments is already specified
  • e08f25a: 8242003: Remove CallInfo::_selected_klass
  • 25b2118: 8241983: Shenandoah: simplify FreeSet logging
  • 961c1d6: 8241985: Shenandoah: simplify collectable garbage logging
  • 6af855f: 8241926: Shenandoah: only print heap changes for operations that directly affect it
  • fc806b6: 8241948: enhance list of environment variables printed in hs_err file
  • 15c3d76: 8241101: [s390] jtreg test failure after JDK-8238696: not conformant features string
  • bf41f54: 8220051: Remove global safepoint code
  • 8d84cf5: 8241837: Cleanup stringStream usage in ObjectSynchronizer
  • 6c9d650: 8241881: ZGC: Add tests for JFR events
  • f1ef83b: 8241598: Upgrade JLine to 3.14.0
  • c8b1f96: 8241976: Add test for GCPhaseConcurrentLevel1 JFR event
  • 990a11e: 8241909: Remove useless code cache lookup in frame::patch_pc
  • 5700a93: 8241964: Clean up java.lang.Class javadoc
  • aba017f: 8214694: cleanup rawtypes warnings in open jndi tests
  • 35f4df5: 8241625: use new "member-list" CSS class instead of general "block-list" for list of members
  • 6d44ff7: 8186780: clang fastdebug assertion failure in os_linux_x86:os::verify_stack_alignment()
  • 8cb3cc0: 8241693: The paragraphs in the help page should not be in a
    • 931af12: 8241478: vmTestbase/gc/gctests/Steal/steal001/steal001.java fails with OOME
    • b31bea8: 8241830: Simplify commit error messages in G1PageBasedVirtualSpace
    • 8fdf292: 8241827: JFR: TestVMInfoEvent.java requires SerialGC
    • 75849a5: 8241421: Cleanup handling of jtreg
    • 16df851: 8241160: Concurrent class unloading reports GCTraceTime events as JFR pause sub-phase events
    • 4b4633d: 8240988: Incorrect copyright header in CertificateValidation.java
    • 6a4e93b: 8241666: Enhance log messages in ReferenceProcessor
    • 2bc8691: 8241568: (fs) UserPrincipalLookupService.lookupXXX failure with IOE "Operation not permitted"
    • de7ea8d: 8241845: Shenandoah: align ShenandoahHeapRegions to cache lines
    • 83a9afa: 8241852: Cleanup error message generation in LinkResolver::resolve_field
    • 53b2368: 8241760: Typos: empty lines in javadoc, inconsistent indents, etc. (net and nio)
    • 916f00a: 8241374: add Math.absExact
    • b7439a8: 8241361: ZGC: Implement memory related JFR events
    • 6df2370: 8241844: Shenandoah: rename ShenandoahHeapRegion::region_number
    • 87396af: 8241842: Shenandoah: inline ShenandoahHeapRegion::region_number
    • a8a9fb9: 8241841: Shenandoah: ditch one of allocation type counters in ShenandoahHeapRegion
    • af15605: 8241838: Shenandoah: no need to trash cset during final mark
    • 8cb7635: 8241665: Configuring --with-jvm-features=-compiler2 fails to build on AArch64
    • 7e20cf7: 8238960: linux-i586 builds are inconsistent as the newly build jdk is not able to reserve enough space for object heap
    • 5fff050: 8239429: AbsPathsInImage.java fails in JDK 11u and 14u on Windows
    • ead83e6: 8239124: Minimize the usage of AwtGraphicsConfigDataPtr in native
    • 5a5e4bb: 8220150: macos10.14 Mojave returns anti-aliased glyphs instead of aliased B&W glyphs
    • 3871693: 8240342: Custom composite is ignored when printing an opaque image to a page
    • 3c93700: 8241797: Add some tests to the problem list
    • 978120f: 8241808: [TESTBUG] The JDK-8039467 bug appeared on macOS
    • 1ef1131: 8241791: [TESTBUG] Test failing with exception "java.lang.UnsupportedOperationException"
    • cf22b4e: 8238719: [macOS] Delete the property which use deprecated prefix "com.apple.macos."
    • 3399842: 8240690: Race condition between EDT and BasicDirectoryModel.FilesLoader.run0()
    • 40e667c: 8239312: [macos] javax/swing/JFrame/NSTexturedJFrame/NSTexturedJFrame.java
    • 5456438: 8241087: Build failure with VS 2019 (16.5.0) due to C2039 and C2873
    • f77016b: 8236201: Better Scanner conversions
    • 833a389: 8225603: Enhancement for big integers
    • 14c0c19: 8224549: Less Blocking Array Queues
    • d7136cd: 8224541: Better mapping of serial ENUMs
    • e4f4e8e: 8233250: Better X11 rendering
    • f711ce4: 8234841: Enhance buffering of byte buffers
    • f476138: 8235691: Enhance TLS connectivity
    • 8e5af26: 8234825: Better Headings for HTTP Servers
    • 2309ac5: 8235274: Enhance typing of methods
    • 4df99aa: 8226346: Build better binary builders
    • 0a73d5b: 8233410: Better Build Scripting
    • c182379: 8234027: Better JCEKS key support
    • ad09813: 8233245: More adaptive sockets
    • 2ea157f: 8227467: Better class method invocations
    • 72c7b49: 8234408: Improve TLS session handling
    • 3dd1fd2: 8223904: Improve Nashorn matching
    • 3bbc499: 8227542: Manifest improved jar headers
    • 0e4b718: 8223898: Forward references to Nashorn
    • 740e70b: 8232581: Improve TLS verification
    • e6304dc: 8232424: More constrained algorithms
    • 6c16f55: 8231785: Improved socket permissions
    • 123febe: 8229733: TLS message handling improvements
    • 9efd3d7: 8231415: Better signatures in XML

    Your commit was automatically rebased without conflicts.

    Pushed as commit 21a4dae.

@openjdk openjdk bot removed the rfr label Apr 23, 2020
@mlbridge
Copy link

mlbridge bot commented Apr 23, 2020

Mailing list message from Srikanth Adayapalam on valhalla-dev:

Changeset: 21a4dae
Author: Srikanth Adayapalam <sadayapalam at openjdk.org>
Date: 2020-04-23 14:51:32 +0000
URL: https://git.openjdk.java.net/valhalla/commit/21a4dae7

8242900: [lworld] Allow an inline type to declare a superclass that meets specified restrictions

! src/jdk.compiler/share/classes/com/sun/tools/javac/code/Flags.java
! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Attr.java
! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Check.java
! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/TypeEnter.java
! src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/ClassReader.java
! src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/TransValues.java
! src/jdk.compiler/share/classes/com/sun/tools/javac/resources/compiler.properties
! src/jdk.compiler/share/classes/com/sun/tools/javac/tree/TreeInfo.java
! test/jdk/java/lang/annotation/TypeAnnotationReflection.java
! test/jdk/java/lang/reflect/Generics/TestC1.java
! test/jdk/java/lang/reflect/Generics/TestC2.java
! test/langtools/tools/javac/diags/examples.not-yet.txt
! test/langtools/tools/javac/processing/rounds/OverwriteBetweenCompilations_2.out
! test/langtools/tools/javac/processing/rounds/OverwriteBetweenCompilations_3.out
+ test/langtools/tools/javac/valhalla/lworld-values/BinarySuperclassConstraints.java
+ test/langtools/tools/javac/valhalla/lworld-values/BinarySuperclassConstraints.out
! test/langtools/tools/javac/valhalla/lworld-values/CheckExtends.java
! test/langtools/tools/javac/valhalla/lworld-values/CheckExtends.out
! test/langtools/tools/javac/valhalla/lworld-values/IllegalByValueTest2.out
! test/langtools/tools/javac/valhalla/lworld-values/InlineAnnotationTest.java
! test/langtools/tools/javac/valhalla/lworld-values/InlineAnnotationTest.out
+ test/langtools/tools/javac/valhalla/lworld-values/SuperclassCollections.java
+ test/langtools/tools/javac/valhalla/lworld-values/SuperclassConstraints.java
+ test/langtools/tools/javac/valhalla/lworld-values/SuperclassConstraints.out
! test/langtools/tools/javac/valhalla/lworld-values/ValueAnnotationTest.out
! test/langtools/tools/javac/valhalla/lworld-values/ValueModifierTest.out
! test/langtools/tools/javac/varargs/6806876/T6806876.out
! test/langtools/tools/javap/AnnoTest.java

@sadayapalam sadayapalam deleted the JDK-8242900 branch Sep 22, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
2 participants