Compare commits

..

797 Commits

Author SHA1 Message Date
Gerard Ziemski
4fe07ccc53 8252324: Signal related code should be shared among POSIX platforms
Reviewed-by: coleenp, dholmes, stuefe, ysuenaga
2020-10-07 16:21:51 +00:00
Hannes Wallnöfer
1e8e543b26 8216497: javadoc should auto-link to platform classes
Co-authored-by: Jan Lahoda <jlahoda@openjdk.org>
Reviewed-by: erikj, jjg
2020-10-07 13:08:34 +00:00
Doug Simon
04ca660e81 8253874: [JVMCI] added test omitted in 8252881
Reviewed-by: shade
2020-10-07 09:14:43 +00:00
Patrick Concannon
49128a1ee5 8253475: Javadoc clean up in HttpExchange and HttpServer
Reviewed-by: dfuchs
2020-10-07 09:12:34 +00:00
Adam Farley
9543d7607b 8253000: Remove redundant MAKE_SUBDIR argument
Reviewed-by: erikj
2020-10-07 08:07:22 +00:00
Adam Farley
4dfa411247 8252997: Null-proofing for linker_md.c
Reviewed-by: sspitsyn
2020-10-07 08:05:27 +00:00
Prasanta Sadhukhan
97ff38caff 8254141: Typo in copyright year
Reviewed-by: jdv
2020-10-07 07:14:05 +00:00
Jan Lahoda
cd4faff0ec 8249095: tools/javac/launcher/SourceLauncherTest.java fails on Windows
Reviewed-by: jjg
2020-10-07 06:52:03 +00:00
Prasanta Sadhukhan
bdd5782a67 8253980: javax/swing/plaf/synth/7158712/bug7158712.java fails on windows
Reviewed-by: kizune, prr
2020-10-07 06:41:02 +00:00
Conor Cleary
703b345eee 8253179: Replace LinkedList Impl in net.http.Http2Connection
Reviewed-by: dfuchs, prappo, chegar, shade
2020-10-07 06:21:53 +00:00
Sergey Bylokhov
397307311e 8253977: More memory leaks in client-libs on macOS
Reviewed-by: kizune
2020-10-07 03:06:35 +00:00
Igor Ignatyev
2a0389a892 8254095: remove jdk.test.lib.Utils::distro() method
Reviewed-by: bchristi
2020-10-06 22:57:56 +00:00
Igor Ignatyev
ac772cd916 8253750: use build-stable default seed for Utils.RANDOM_GENERATOR
Reviewed-by: rriggs
2020-10-06 20:35:34 +00:00
Claes Redestad
6712f8caff 8254084: Remove TemplateTable::pd_initialize
Reviewed-by: mdoerr, coleenp
2020-10-06 20:23:59 +00:00
Harold Seigel
82fe023b06 8254061: Missing space in flag description
Reviewed-by: coleenp
2020-10-06 19:19:27 +00:00
Jonathan Gibbons
bd50ccd037 8253735: Cleanup SearchIndexItem API
Reviewed-by: hannesw
2020-10-06 17:32:33 +00:00
Rajan Halade
54b340b44f 8254081: java/security/cert/PolicyNode/GetPolicyQualifiers.java fails due to an expired certificate
Perform backdated validation of test certificate.

Reviewed-by: mullan, xuelei
2020-10-06 16:38:42 +00:00
Zhengyu Gu
51fdb4c039 8254075: Shenandoah: Remove ShenandoahCodeRootsStyle diagnostic flag and related test
Reviewed-by: shade
2020-10-06 15:28:44 +00:00
Ian Graves
77921b9736 8254080: fix for JDK-8204256 causes jlink test failures
Reviewed-by: alanb
2020-10-06 15:23:19 +00:00
Patricio Chilano Mateo
57493c1991 8253694: Remove Thread::muxAcquire() from ThreadCrashProtection()
Reviewed-by: dholmes, dcubed, coleenp
2020-10-06 14:48:56 +00:00
Robin Westberg
d2b1dc6d78 8254054: Pre-submit testing using GitHub Actions should not use the deprecated set-env command
Reviewed-by: ehelin, erikj
2020-10-06 13:39:57 +00:00
Naoto Sato
a34f48bcf5 8253832: CharsetDecoder : decode() mentioning CoderMalfunctionError behavior not as per spec
Reviewed-by: alanb
2020-10-06 12:35:52 +00:00
Sergey Bylokhov
f397b60ae1 8251123: doclint warnings about missing javadoc tags and comments
Reviewed-by: jdv, prr
2020-10-06 10:49:56 +00:00
Thomas Schatzl
c9d1dcc63d 8253902: G1: Starting a new marking cycle before the conc mark thread fully completed causes assertion failure
Reviewed-by: kbarrett, sjohanss
2020-10-06 10:16:19 +00:00
Jose Ricardo Ziviani
919978380c 8253565: PPC64: Fix duplicate if condition in vm_version_ppc.cpp
Reviewed-by: mdoerr
2020-10-06 08:16:57 +00:00
Tobias Hartmann
1728547270 8254010: GrowableArrayView::print fails to compile
Reviewed-by: stefank
2020-10-06 05:48:45 +00:00
Christoph Langer
6e61861740 8254046: Remove double semicolon introduced by JDK-8235521
Reviewed-by: serb
2020-10-06 05:42:19 +00:00
Ian Graves
5d84e95ed5 8204256: improve jlink error message to report unsupported class file format
Reviewed-by: mchung
2020-10-05 23:19:27 +00:00
Andy Herrick
4fe68f55a4 8253426: jpackage is unable to generate working EXE for add-launcher configurations
Reviewed-by: almatvee, kizune, asemenyuk
2020-10-05 21:10:48 +00:00
Robbin Ehn
c9d0407e94 8253794: TestAbortVMOnSafepointTimeout never timeouts
Reviewed-by: pchilanomate, dcubed, mdoerr
2020-10-05 19:16:11 +00:00
Christian Stein
f2f77f7b14 8253761: Wrong URI syntax printed by jar --describe-module
Reviewed-by: alanb
2020-10-05 18:16:29 +00:00
Paul Sandoz
b29e1086ac 8253944: Certain method references to VarHandle methods should fail
Reviewed-by: mcimadamore
2020-10-05 17:15:31 +00:00
Stuart Marks
88d75c9ad5 8156071: List.of: reduce array copying during creation
Reviewed-by: psandoz, redestad
2020-10-05 17:00:57 +00:00
Calvin Cheung
ea27a54bf0 8224509: Incorrect alignment in CDS related allocation code on 32-bit platforms
Reviewed-by: iklam, stuefe
2020-10-05 16:52:00 +00:00
Coleen Phillimore
4d29116d6d 8253433: Remove -XX:+Debugging product option
Reviewed-by: kbarrett, stuefe, dholmes
2020-10-05 15:46:07 +00:00
Zhengyu Gu
81dae70f67 8253948: Memory leak in ImageFileReader
Reviewed-by: alanb
2020-10-05 13:51:37 +00:00
Per Liden
65cab55c1b 8253971: ZGC: Flush mark stacks after processing concurrent roots
Reviewed-by: ayang, eosterlund
2020-10-05 13:18:38 +00:00
Zhengyu Gu
19219a964b 8253960: Memory leak in Java_java_lang_ClassLoader_defineClass0()
Reviewed-by: mchung, stuefe, alanb
2020-10-05 13:09:42 +00:00
Yudi Zheng
5d4a1350d0 8253842: [JVMCI] Allow implicit exception to dispatch to other address in jvmci compilers.
Reviewed-by: kvn
2020-10-05 12:21:33 +00:00
Adam Farley
289ae798f4 8252998: ModuleWrapper.gmk doesn't consult include path
Reviewed-by: erikj
2020-10-05 09:53:16 +00:00
Monica Beckwith
9604ee8269 8248238: Implementation: JEP 388: Windows AArch64 Support
Co-authored-by: Monica Beckwith <mbeckwit@openjdk.org>
Co-authored-by: Ludovic Henry <luhenry@openjdk.org>
Co-authored-by: Bernhard Urban-Forster <burban@openjdk.org>
Reviewed-by: dholmes, cjplummer, aph, ihse
2020-10-05 03:21:39 +00:00
Sergey Bylokhov
1c2754bfe3 8253269: The CheckCommonColors test should provide more info on failure
Reviewed-by: prr
2020-10-03 19:46:41 +00:00
Sergey Bylokhov
d296708ca6 8253606: Need to add missed constructor to the SwingEventMonitor
Reviewed-by: jdv, pbansal, prr
2020-10-02 22:03:55 +00:00
Phil Race
58102386eb 8253945: Missed default constructor for StreamPrintServiceFactory.java
Reviewed-by: kcr, serb
2020-10-02 21:54:53 +00:00
Rajan Halade
123e786db2 8239105: Add exception for expiring Digicert root certificates to VerifyCACerts test
"8239105: added verisigntsaca and thawtepremiumserverca to EXPIRY_EXC_ENTRIES list"

Reviewed-by: mullan
2020-10-02 17:21:56 +00:00
Per Liden
22f091608d 8253938: ZGC: Clean up argument names after JDK-8253030
Reviewed-by: tschatzl, ayang
2020-10-02 16:53:34 +00:00
Jonathan Gibbons
777804759f 8253736: Cleanup some of WorkArounds and usage thereof
Reviewed-by: vromero, ksrini
2020-10-02 16:15:46 +00:00
Jonathan Gibbons
87d77eb2a0 8253879: Simplify redundant code in IndexBuilder
Reviewed-by: ksrini
2020-10-02 16:12:26 +00:00
Vipin Sharma
dffe9db25c 8252537: Updated @exception with @throws
8252536: Replace @exception with @throws for core-libs
8252539: Replace @exception with @throws java.rmi.activation package
8252540: Replace @exception with @throws java.rmi.registry package
8252541: Replace @exception with @throws java.rmi.server package

Reviewed-by: rriggs, sspitsyn, lancea
2020-10-02 14:50:53 +00:00
Igor Ignatyev
406db1c270 8253913: unify gtest test names
Reviewed-by: stefank
2020-10-02 13:46:13 +00:00
Xin Liu
ea5a2b15a0 8251464: make Node::dump(int depth) support indent
Reviewed-by: thartmann
2020-10-02 13:45:29 +00:00
Igor Ignatyev
fff8c8deaa 8253882: remove PropertyResolvingWrapper
Reviewed-by: shade
2020-10-02 13:44:12 +00:00
Robin Westberg
7dcdc1fbdd 8253865: Pre-submit testing using GitHub Actions does not detect failures reliably
8253867: Pre-submit testing using GitHub Actions can fail to download intermediate artifacts

Reviewed-by: erikj
2020-10-02 13:12:14 +00:00
Patrick Concannon
0fd41c3b6a 8253470: Javadoc clean up in Filter and Headers
Reviewed-by: dfuchs, michaelm
2020-10-02 12:06:48 +00:00
Stefan Johansson
f686a380f3 8253926: Use extra_size correctly in anon_mmap_aligned
Reviewed-by: shade, kbarrett, tschatzl, stefank
2020-10-02 11:45:24 +00:00
Thomas Schatzl
b8966e1f7b 8253928: G1: Remove G1ConcurrentMarkThread::set_in_progress declaration
Reviewed-by: ayang, shade
2020-10-02 11:05:34 +00:00
Prasanta Sadhukhan
4185ed3290 5078989: Null Pointer exception in SpinnerListMode
Reviewed-by: serb
2020-10-02 08:10:21 +00:00
Aleksey Shipilev
6f40a41466 8253891: Debug x86_32 builds fail after JDK-8239090
Reviewed-by: stuefe, phh
2020-10-02 06:57:03 +00:00
Igor Veresov
b9505df3b4 8253118: Avoid unnecessary deopts when OSR nmethods of the same level are present.
Reviewed-by: kvn
2020-10-02 02:22:56 +00:00
Weijun Wang
3c4e824aa5 8249783: Simplify DerValue and DerInputStream
Reviewed-by: valeriep
2020-10-01 18:55:35 +00:00
Andy Herrick
9230c2aaae 8253747: tools/jpackage/share/AppImagePackageTest.java fails with InstalledPackageSize: 0
Reviewed-by: almatvee, prr
2020-10-01 18:36:35 +00:00
Fernando Guallini
cfd41c0c1d 8232840: java/math/BigInteger/largeMemory/SymmetricRangeTests.java fails due to "OutOfMemoryError: Requested array size exceeds VM limit"
Reviewed-by: alanb
2020-10-01 17:44:23 +00:00
Jim Laskey
8fda5b82f0 8253904: Revert Tokenizer improvements JDK-8224225
Reviewed-by: mcimadamore
2020-10-01 17:42:29 +00:00
Aleksey Shipilev
60ec2a53c2 8253824: Revert JDK-8253089 since VS warning C4307 has been disabled
Reviewed-by: mdoerr, iklam
2020-10-01 16:07:43 +00:00
Jim Laskey
90c131f29f 8224225: Tokenizer improvements
Reviewed-by: mcimadamore
2020-10-01 15:39:01 +00:00
Nils Eliasson
96704253b6 8253822: Remove unused exception_address_is_unpack_entry
Removing dead code

Reviewed-by: chagedorn, kvn
2020-10-01 15:31:11 +00:00
Leonid Mesnik
84402796b2 8180514: TestPrintMdo.java test fails with -XX:-TieredCompilation
Reviewed-by: cjplummer, sspitsyn
2020-10-01 14:59:51 +00:00
Thomas Stuefe
44e6820c37 8253650: Cleanup: remove alignment_hint parameter from os::reserve_memory
Reviewed-by: stefank, tschatzl
2020-10-01 12:09:59 +00:00
Prasanta Sadhukhan
ed62b0104f 6646602: Spelling error in javadoc for javax.swing.tree.TreeModel
Reviewed-by: jdv
2020-10-01 12:02:46 +00:00
Prasanta Sadhukhan
87276bce47 6690021: typos in TransferHandler Javadoc
Reviewed-by: jdv
2020-10-01 12:00:52 +00:00
Zhengyu Gu
dd36d8c64d 8253429: Error reporting should report correct state of terminated/aborted threads
Reviewed-by: dholmes, stuefe
2020-10-01 11:57:21 +00:00
Kim Barrett
2d9fa9da02 8247912: Make narrowOop a scoped enum
Reviewed-by: iklam, stefank
2020-10-01 10:45:22 +00:00
Jayathirth D V
928da494a8 8253739: java/awt/image/MultiResolutionImage/MultiResolutionImageObserverTest.java fails
Reviewed-by: serb
2020-10-01 09:38:15 +00:00
Severin Gehwolf
3e96721cd9 8253727: [cgroups v2] Memory and swap limits reported incorrectly
Account for interface files for swap and memory being reported independently.
The cgroup v1-like value is now reported by adding the memory.max value to
the memory.swap.max value, and memory.current and memory.swap.current
respectively.

Reviewed-by: bobv, shade
2020-10-01 09:28:40 +00:00
Martin Doerr
7779ce9fb4 8253689: [s390] Use flag kind "diagnostic" for platform specific flags
Reviewed-by: stuefe, lucy
2020-10-01 09:23:31 +00:00
Martin Doerr
a8242892c2 8253690: [PPC64] Use flag kind "diagnostic" for platform specific flags
Reviewed-by: stuefe, lucy
2020-10-01 09:21:12 +00:00
Sergey Bylokhov
1d88172c06 8253682: The AppletInitialFocusTest1.java is unstable
Reviewed-by: jdv
2020-10-01 08:10:32 +00:00
Roberto Castañeda Lozano
5dd9353b83 8253636: C2: Adjust NodeClasses::_max_classes
Update NodeClasses::_max_classes to the max class id within the
enumeration. Update comment and assertion to reflect that NodeClasses uses now
32 bits after the addition of Opaque1 in JDK-8229495.

Reviewed-by: neliasso, kvn
2020-10-01 06:39:25 +00:00
Roger Riggs
05a764f4ff 8253883: Problem list jdk/test/lib/hexdump/ASN1Formatter on Windows
Reviewed-by: lancea
2020-09-30 23:45:08 +00:00
Igor Ignatyev
55c282bb34 8253878: clean up nsk/share/jvmti/ArgumentHandler
Reviewed-by: cjplummer
2020-09-30 23:34:06 +00:00
Igor Ignatyev
776acfd80a 8253880: clean up sun/hotspot/tools/ctw/Utils class
Reviewed-by: kvn
2020-09-30 22:40:43 +00:00
Igor Veresov
79d70f6b51 8253869: sun/hotspot/whitebox/CPUInfoTest.java fails after JDK-8239090
Reviewed-by: mikael
2020-09-30 21:49:16 +00:00
Igor Ignatyev
ca0e014e60 8252003: remove usage of PropertyResolvingWrapper in vmTestbase/nsk/jvmti
Reviewed-by: cjplummer, sspitsyn
2020-09-30 21:37:12 +00:00
Roger Riggs
092c227721 8252523: Add ASN.1 Formatter to work with test utility HexPrinter
Reviewed-by: weijun
2020-09-30 20:42:39 +00:00
Jonathan Gibbons
06d8cf6fef 8253812: Cleanup AbstractMemberWriter
Reviewed-by: ksrini
2020-09-30 20:29:11 +00:00
Doug Simon
424d7d6485 8252881: [JVMCI] ResolvedJavaType.resolveMethod fails in fastdebug when invoked with a constructor
Reviewed-by: never
2020-09-30 20:06:31 +00:00
Philippe Marschall
2a406f3ce5 8138732: Rename @HotSpotIntrinsicCandidate to @IntrinsicCandidate and move it to the jdk.internal.vm.annotation package
Reviewed-by: dholmes, alanb, psandoz, kvn, egahlin
2020-09-30 20:05:07 +00:00
Igor Ignatyev
4b16f8ab94 8253872: ArgumentHandler must use the same delimiters as in jvmti_tools.cpp
Reviewed-by: cjplummer
2020-09-30 20:03:20 +00:00
Jonathan Gibbons
4fb8c77696 8253733: Cleanup internal taglet API
Reviewed-by: prappo
2020-09-30 19:28:10 +00:00
Weijun Wang
e5ba020ee9 8253829: Wrong length compared in SSPI bridge
Reviewed-by: valeriep
2020-09-30 17:13:47 +00:00
Paul Hohensee
9e453d9792 8239090: Improve CPU feature support in VM_Version
Reviewed-by: iveresov, simonis
2020-09-30 17:02:08 +00:00
Igor Ignatyev
8f7c9a7b18 8252001: remove usage of PropertyResolvingWrapper in vmTestbase/nsk/jdi
Reviewed-by: cjplummer, sspitsyn
2020-09-30 16:18:27 +00:00
Jonathan Gibbons
8cf8e463c6 8253700: spurious "extends Throwable" at end of Optional.orElseThrow method declaration
Reviewed-by: prappo
2020-09-30 16:08:58 +00:00
Igor Ignatyev
8b3d67681e 8238737: remove DeoptimizeAllClassesRate from CTW library
Reviewed-by: shade, vlivanov
2020-09-30 14:50:15 +00:00
Stefan Johansson
709cfe5f28 8253815: Remove unused HeapRegionManager::_num_committed from SA
Reviewed-by: tschatzl, cjplummer
2020-09-30 13:02:41 +00:00
Paul Hohensee
f80a6066e4 8253375: OSX build fails with Xcode 12.0 (12A7209)
Replace double array with short array in AdapterHandlerLibrary::create_native_wrapper, add parens around ?: in CSystemColors:getColor

Reviewed-by: prr, kbarrett, lucy
2020-09-30 12:16:25 +00:00
Patric Hedlin
04775f11fe 8253768: Deleting unused pipe_class definitions in adl-file (x86_64.ad).
Reviewed-by: neliasso
2020-09-30 09:06:17 +00:00
Martin Doerr
dc3a0f5f88 8253183: Fragile memory barrier selection for some weak memory model platforms
Reviewed-by: dholmes, eosterlund, dcubed
2020-09-30 09:03:06 +00:00
Aleksey Shipilev
8331e63fe4 8253778: ShenandoahSafepoint::is_at_shenandoah_safepoint should not access VMThread state from other threads
Reviewed-by: jiefu, rehn, rkennke
2020-09-30 08:58:24 +00:00
Prasanta Sadhukhan
4c65365116 8253792: javax.swing.text.GapContent documentation typos
Reviewed-by: jdv
2020-09-30 07:04:00 +00:00
Prasanta Sadhukhan
3078b5f340 6441211: Small Error in API at javax.swing.plaf.synth.Region
Reviewed-by: trebari, jdv
2020-09-30 07:02:29 +00:00
Matthias Baesken
4622a18a72 8253791: Issue with useAppleColor check in CSystemColors.m
Reviewed-by: phh, lucy, serb
2020-09-30 05:28:20 +00:00
Jatin Bhateja
ac02afe9dc 8253721: Flag -XX:AVX3Threshold does not accept Zero value
Reviewed-by: kvn, thartmann
2020-09-30 05:09:12 +00:00
Tejpal Rebari
4d9f207347 7151826: [TEST_BUG] [macosx] The test javax/swing/JPopupMenu/4966112/bug4966112.java not for mac
Reviewed-by: serb, jdv
2020-09-30 05:00:26 +00:00
Igor Ignatyev
1eca634736 8252000: remove usage of PropertyResolvingWrapper in vmTestbase/nsk/jdb
Reviewed-by: shade, cjplummer, sspitsyn
2020-09-30 03:03:53 +00:00
Igor Ignatyev
a55cde4d6b 8252002: remove usage of PropertyResolvingWrapper in vmTestbase/nsk/jdwp
Reviewed-by: cjplummer, sspitsyn
2020-09-30 02:43:10 +00:00
Alexandre Iline
ffc97ba585 8253543: sanity/client/SwingSet/src/ButtonDemoScreenshotTest.java failed with "AssertionError: All pixels are not black"
Reviewed-by: serb
2020-09-30 01:27:30 +00:00
Brian Burkhalter
5310d85809 8252937: Correct "no comment" warnings from javadoc in java.math package
Reviewed-by: darcy
2020-09-29 22:46:16 +00:00
Ian Graves
8df3e72cea 8218685: jlink --list-plugins needs to be readable and tidy
Reviewed-by: mchung, alanb
2020-09-29 21:16:35 +00:00
Harold Seigel
2fe0a5d75e 8253476: TestUseContainerSupport.java fails on some Linux kernels w/o swap limit capabilities
Reviewed-by: bobv, coleenp
2020-09-29 19:59:26 +00:00
Anthony Scarpino
fb206908b4 8253637: Update EC removal
Reviewed-by: mullan
2020-09-29 18:05:20 +00:00
Ioi Lam
b1ce6bdba9 8253548: jvmFlagAccess.cpp: clang 9.0.0 format specifier error
Reviewed-by: lfoltan
2020-09-29 15:17:34 +00:00
Severin Gehwolf
ff6843ca48 8253714: [cgroups v2] Soft memory limit incorrectly using memory.high
The early implementation of cgroups v2 support was done with
crun 0.8 and it contained a bug which set memory.high over
memory.low when --memory-reservation was being used as a CLI
option.

This bug has been fixed in later crun versions, starting with
crun 0.11. Use memory.low in OpenJDK as well.

Reviewed-by: bobv, adinn
2020-09-29 15:15:50 +00:00
Jan Lahoda
d5be82948b 8253770: Test tools/javac/parser/JavacParserTest.java fails on Windows after JDK-8253584
Reviewed-by: vromero
2020-09-29 14:29:28 +00:00
Evgeny Nikitin
6e5d4f33c5 8253607: [mlvm] meth/func/jdi/breakpointOtherStratum: un-problemlist and add randomness keyword
Reviewed-by: iignatyev
2020-09-29 12:42:20 +00:00
Stefan Karlsson
3ed960ec77 8253640: Make MEMFLAGS an enum class
Reviewed-by: stuefe, tschatzl
2020-09-29 12:03:00 +00:00
Jan Lahoda
86491a5f6b 8253584: Redunant errors for partial member selects
Reviewed-by: vromero
2020-09-29 10:11:08 +00:00
Maurizio Cimadamore
ebf443a16f 8253590: java/foreign tests are still failing on x86_32 after foreign-memaccess integration
Reviewed-by: psandoz
2020-09-29 09:40:21 +00:00
Robbin Ehn
431338bcb3 8212107: VMThread issues and cleanup
Reviewed-by: shade, dcubed, coleenp, dholmes, redestad
2020-09-29 09:37:15 +00:00
Robbin Ehn
6bddeb709d 8238761: Asynchronous handshakes
Reviewed-by: pchilanomate, dcubed, dholmes, coleenp, sspitsyn
2020-09-29 08:50:54 +00:00
Per Liden
6d19fe65d1 8253763: ParallelObjectIterator should have virtual destructor
Reviewed-by: shade, stefank
2020-09-29 08:39:09 +00:00
Prasanta Sadhukhan
55c90a171f 6514600: AbstractAction can throw NullPointerException when clone()d
Reviewed-by: serb, pbansal
2020-09-29 08:20:21 +00:00
John Tortugo
b65913249f 8252888: Collapse G1MMUTracker class hierarchy
Reviewed-by: ayang, sjohanss, kbarrett
2020-09-29 08:15:41 +00:00
Aditya Mandaleeka
e63b90cc17 8251358: Clean up Access configuration after Shenandoah barrier change
Reviewed-by: eosterlund, rkennke, shade
2020-09-29 07:25:08 +00:00
Jie Fu
9c17a35e50 8253748: StressIGV tests fail with release VMs
Reviewed-by: thartmann
2020-09-29 06:37:46 +00:00
Patric Hedlin
70b0fccf79 8253728: tests fail with "assert(fr.is_compiled_frame()) failed: Wrong frame type"
Reviewed-by: kvn
2020-09-28 21:48:55 +00:00
Mikael Vidstedt
527b0e44eb 8248984: Bump minimum boot jdk to JDK 15
Reviewed-by: darcy, erikj, dholmes
2020-09-28 21:22:00 +00:00
Vicente Romero
ac15d6445b 8241151: Incorrect lint warning for no definition of serialVersionUID in a record
Co-authored-by: Bernard Blaser <bsrbnd@gmail.com>
Co-authored-by: Vicente Romero <vicente.romero@oracle.com>
Reviewed-by: jjg
2020-09-28 21:20:14 +00:00
Mikael Vidstedt
d25b03e987 8253616: Change to GCC 10.2 for building on Linux at Oracle
Reviewed-by: erikj
2020-09-28 18:31:30 +00:00
Daniel D. Daugherty
821bd08cd6 8253667: ProblemList tools/jlink/JLinkReproducible{,3}Test.java on linux-aarch64
Reviewed-by: dfuchs, iignatyev
2020-09-28 16:41:35 +00:00
Pankaj Bansal
1ae6b533fb 8252194: Add automated test for fix done in JDK-8218469
Reviewed-by: serb, jdv, kizune
2020-09-28 16:05:38 +00:00
Coleen Phillimore
77a0f3999a 8253540: InterpreterRuntime::monitorexit should be a JRT_LEAF function
Reviewed-by: rehn, mdoerr, dcubed, pchilanomate
2020-09-28 15:49:02 +00:00
Volker Simonis
0054c15f60 8253435: Cgroup: 'stomping of _mount_path' crash if manually mounted cpusets exist
Reviewed-by: sgehwolf, bobv
2020-09-28 15:42:10 +00:00
Claes Redestad
8e338f67b2 8253646: ZGC: Avoid overhead of sorting ZStatIterableValues on bootstrap
Reviewed-by: pliden, eosterlund
2020-09-28 15:14:56 +00:00
Anton Kozlov
ec9bee6866 8253015: Aarch64: Move linux code out from generic CPU feature detection
Reviewed-by: aph
2020-09-28 13:52:10 +00:00
Patrick Concannon
16b8c39964 8253053: Javadoc clean up in Authenticator and BasicAuthenicator
Reviewed-by: dfuchs, rriggs, chegar, michaelm
2020-09-28 13:17:46 +00:00
Robin Westberg
840aa2b79e 8253424: Add support for running pre-submit testing using GitHub Actions
Reviewed-by: ehelin, erikj
2020-09-28 09:31:51 +00:00
Nick Gasson
8e87d46f41 8252857: AArch64: Shenandoah C1 CAS is not sequentially consistent
Reviewed-by: rkennke, shade
2020-09-28 09:12:26 +00:00
Martin Doerr
c2692f8875 8225329: -XX:+PrintBiasedLockingStatistics causes crash during initia…
Reviewed-by: stuefe, dholmes
2020-09-28 09:06:31 +00:00
Thomas Schatzl
e9c178276f 8252752: Clear card table for old regions during scan in G1
Reviewed-by: kbarrett, iwalulya, ayang
2020-09-28 08:28:57 +00:00
Wang Zhuo
276fcee795 8252835: Revert fix for JDK-8246051
Reviewed-by: psandoz, dholmes, mikael
2020-09-28 07:34:01 +00:00
Stefan Karlsson
ca1ed16292 8253639: Change os::attempt_reserve_memory_at parameter order
Reviewed-by: tschatzl, iklam
2020-09-28 07:12:48 +00:00
Roberto Castaneda Lozano
fed3636f12 8252219: C2: Randomize IGVN worklist for stress testing
Add 'StressIGVN' option to let C2 randomize IGVN worklist order. When enabled,
the worklist is shuffled before each main run of the IGVN loop. Also add
'StressSeed=N' option to specify the seed. If the seed is not specified, a
random one is generated. In either case, the seed is logged if 'LogCompilation'
is enabled. The new options are declared as production+diagnostic for
consistency with the existing 'StressLCM' and 'StressGCM' options.

Reviewed-by: kvn, chagedorn, thartmann
2020-09-28 06:44:58 +00:00
Stefan Karlsson
625a9352bf 8253638: Cleanup os::reserve_memory and remove MAP_FIXED
Reviewed-by: stuefe, iklam
2020-09-28 06:30:09 +00:00
Nick Gasson
f014854ac7 8253624: gtest fails when run from make with read-only source directory
Reviewed-by: erikj
2020-09-28 01:54:45 +00:00
Patric Hedlin
7817963ce9 8247691: [aarch64] Incorrect handling of VM exceptions in C1 deopt stub/traps
Reviewed-by: eosterlund, aph
2020-09-26 18:24:11 +00:00
Ian Graves
79904c1fa3 8252730: jlink does not create reproducible builds on different servers
Reviewed-by: mchung, alanb
2020-09-26 07:01:22 +00:00
Phil Race
ea7c47c1bb 7179006: [macosx] Print-to-file doesn't work: printing to the default printer instead.
Reviewed-by: serb
2020-09-26 04:15:30 +00:00
Thomas Stuefe
b66fa8f444 8253572: [windows] CDS archive may fail to open with long file names
8249943: [TESTBUG] runtime/cds/serviceability/transformRelatedClasses/TransformInterfaceAndImplementor.java


Reviewed-by: ccheung, iklam
2020-09-26 04:12:54 +00:00
Zhengyu Gu
4167540074 8253647: Remove dead code in os::create_thread() on Linux/BSD
Reviewed-by: stuefe, dholmes
2020-09-25 23:33:42 +00:00
Alexander Matveev
5a57945f1a 8231591: [TESTBUG] Create additional two phase jpackage tests
Reviewed-by: asemenyuk, herrick
2020-09-25 23:02:00 +00:00
Andy Herrick
b159e4ed9e 8253149: Building an installer from invalid app image fails on Window…
Reviewed-by: asemenyuk, almatvee, kizune
2020-09-25 20:22:38 +00:00
Hai-May Chao
0e855fe5fa 8252377: Incorrect encoding for EC AlgorithmIdentifier
Reviewed-by: weijun
2020-09-25 19:47:15 +00:00
Daniel D. Daugherty
9150b902d5 8253659: ProblemList sun/security/ec/TestEC.java on linux-aarch64
Reviewed-by: iklam
2020-09-25 19:38:15 +00:00
Harold Seigel
0187567704 8250984: Memory Docker tests fail on some Linux kernels w/o cgroupv1 …
Reviewed-by: bobv, sgehwolf
2020-09-25 17:16:38 +00:00
Aleksei Efimov
a75edc29c6 8251188: Update LDAP tests not to use wildcard addresses
Reviewed-by: dfuchs
2020-09-25 12:46:08 +00:00
Stefan Karlsson
1f5a033421 8253555: Make ByteSize and WordSize typed scoped enums
Reviewed-by: kbarrett, tschatzl
2020-09-25 10:29:26 +00:00
Aleksey Shipilev
f62eefc02b 8253469: ARM32 Zero: replace usages of __sync_synchronize() with OrderAccess::fence
Reviewed-by: dholmes
2020-09-25 10:14:04 +00:00
Gilles Duboscq
1b79326c05 8242451: ensure semantics of non-capturing lambdas are preserved independent of execution mode
Reviewed-by: mchung
2020-09-25 10:10:36 +00:00
Aleksey Shipilev
dc1ef58351 8253631: Remove unimplemented CompileBroker methods after JEP-165
Reviewed-by: thartmann
2020-09-25 10:10:04 +00:00
Aleksey Shipilev
27d0a70b34 8253633: Remove unimplemented TieredThresholdPolicy::set_carry_if_neccessary
Reviewed-by: thartmann
2020-09-25 10:09:27 +00:00
Stefan Karlsson
e12d94af0b 8253594: Remove CollectedHeap::supports_tlab_allocation
Reviewed-by: sjohanss, pliden
2020-09-25 09:12:38 +00:00
Alexey Bakhtin
cfa3f74931 8245527: LDAP Channel Binding support for Java GSS/Kerberos
Reviewed-by: dfuchs, aefimov, mullan
2020-09-25 07:26:54 +00:00
Thomas Schatzl
37b70282b5 8240556: Abort concurrent mark after effective eager reclamation of humongous objects
Reviewed-by: sjohanss, ayang
2020-09-25 07:11:55 +00:00
Roberto Castaneda Lozano
dcde95ba0d 8253586: C2: Clean up unused PhaseIterGVN::init_worklist()
Remove unused method PhaseIterGVN::init_worklist(Node *).

Reviewed-by: thartmann, chagedorn, neliasso
2020-09-25 06:53:48 +00:00
Anthony Scarpino
0b83fc0150 8235710: Remove the legacy elliptic curves
Reviewed-by: xuelei, erikj
2020-09-25 02:40:36 +00:00
Sergey Bylokhov
8239b67d4f 8253322: Update the specification in the newly added constructors
Reviewed-by: psadhukhan, prr
2020-09-24 22:48:28 +00:00
Erik Joelsson
24a424891c 8253615: Change to Visual Studio 2019 16.7.2 for building on Windows at Oracle
Reviewed-by: mikael
2020-09-24 22:29:25 +00:00
Ioi Lam
8b85c3a6d7 8251261: CDS dumping should not clear states in live classes
Reviewed-by: minqi, ccheung
2020-09-24 19:19:53 +00:00
Igor Ignatyev
9ac162e896 8251999: remove usage of PropertyResolvingWrapper in vmTestbase/nsk/aod
Reviewed-by: shade, sspitsyn
2020-09-24 16:32:05 +00:00
Prasanta Sadhukhan
527a30930e 8252722: More Swing plaf APIs that rely on default constructors
Reviewed-by: prr
2020-09-24 16:19:20 +00:00
Conor Cleary
3495c19d1a 8250855: Address reliance on default constructors in the Java 2D APIs
Reviewed-by: prr, serb
2020-09-24 16:07:24 +00:00
Conor Cleary
a9d04408b3 8250859: Address reliance on default constructors in the Accessibility APIs
Reviewed-by: prr
2020-09-24 16:06:37 +00:00
Yumin Qi
89c5e49ba2 8253500: [REDO] JDK-8253208 Move CDS related code to a separate class
Reviewed-by: mchung, iklam
2020-09-24 15:28:10 +00:00
Coleen Phillimore
bf442c5b9e 8253539: Remove unused JavaThread functions for set_last_Java_fp/pc
Reviewed-by: rehn, dholmes
2020-09-24 10:45:37 +00:00
Aleksey Shipilev
dd2c456eb8 8253583: java/util/StringJoiner tests failing on 32-bit VMs after JDK-8246697
Reviewed-by: alanb, tschatzl
2020-09-24 10:38:12 +00:00
Roland Westrelin
b1e2f026d9 8253524: C2: Refactor code that clones predicates during loop unswitching
Reviewed-by: chagedorn, kvn, thartmann
2020-09-24 10:00:33 +00:00
Aleksey Shipilev
c303fd5de9 8253581: runtime/stringtable/StringTableCleaningTest.java fails on 32-bit platforms
Reviewed-by: kbarrett, tschatzl
2020-09-24 09:19:40 +00:00
Roberto Castaneda Lozano
f3ea0d362f 8252583: Clean up unused phi-to-copy degradation mechanism
Remove unused notion of 'PhiNode-to-copy degradation', where PhiNodes can be
degraded to copies by setting their RegionNode to NULL. Remove corresponding
PhiNode::is_copy() test, which always returned NULL (false). Assert that
PhiNodes have an associated RegionNode in PhiNode::Ideal().

Reviewed-by: thartmann, kvn
2020-09-24 08:10:56 +00:00
Lutz Schmidt
4440bda325 8219586: CodeHeap State Analytics processes dead nmethods
Reviewed-by: thartmann, eosterlund
2020-09-24 07:48:48 +00:00
Kim Barrett
154b8cfcfd 8253014: OopStorage bulk release logs entries multiple times
Remove excess logging.

Reviewed-by: shade, tschatzl
2020-09-24 07:07:47 +00:00
Joshua Zhu
ba174af344 8253048: AArch64: When CallLeaf, no need to preserve callee-saved registers in caller
Reviewed-by: adinn, aph
2020-09-24 00:55:27 +00:00
Alex Menkov
3320fc0f52 8253372: [TESTBUG] update tests which require jvmti - hotspot
Reviewed-by: sspitsyn, iklam
2020-09-23 21:11:31 +00:00
Jonathan Gibbons
f765a7f513 8252712: move doclint to jdk.javadoc module
Reviewed-by: hannesw
2020-09-23 19:55:08 +00:00
Aleksey Shipilev
c21690b518 8253464: ARM32 Zero: atomic_copy64 is incorrect, breaking volatile stores
Reviewed-by: aph
2020-09-23 16:53:10 +00:00
Lutz Schmidt
0bc01da702 8250635: MethodArityHistogram should use Compile_lock in favour of fancy checks
Reviewed-by: mdoerr, thartmann
2020-09-23 15:37:57 +00:00
Lance Andersen
812b39f574 8252739: Deflater.setDictionary(byte[], int off, int len) ignores the starting offset for the dictionary
Reviewed-by: uschindler, alanb
2020-09-23 14:21:45 +00:00
Claes Redestad
5f1d6120a5 8253397: Ensure LogTag types are sorted
Reviewed-by: dholmes, kbarrett, tschatzl
2020-09-23 14:14:52 +00:00
Coleen Phillimore
b8ea80af33 8253457: Remove unimplemented register stack functions
Reviewed-by: iklam, dholmes, shade
2020-09-23 11:29:58 +00:00
Stefan Karlsson
e4d0e5af4d 8253516: ZGC: Remove card table functions
Reviewed-by: tschatzl, eosterlund
2020-09-23 08:26:10 +00:00
Roland Westrelin
3fe5886baf 8252696: Loop unswitching may cause out of bound array load to be executed
Reviewed-by: neliasso, chagedorn
2020-09-23 07:34:56 +00:00
Richard Reingruber
226faa5503 8253241: Update comment on java_suspend_self_with_safepoint_check()
Reviewed-by: dcubed, dholmes
2020-09-23 07:17:30 +00:00
Aleksey Shipilev
bd6797543f 8253349: Remove unimplemented SharedRuntime::native_method_throw_unsupported_operation_exception_entry
Reviewed-by: adityam, dholmes
2020-09-23 06:36:35 +00:00
Naoto Sato
bddb82255c 8253240: No javadoc for DecimalFormatSymbols.hashCode()
Reviewed-by: rriggs, lancea
2020-09-22 22:59:07 +00:00
Ioi Lam
c68a31ddce 8253499: Problem list runtime/cds/DeterministicDump.java
Reviewed-by: dcubed
2020-09-22 22:20:46 +00:00
Phil Race
93a2018d1e 8252195: AWT Accessibility API nested classes rely on default constructors
Reviewed-by: serb
2020-09-22 22:14:51 +00:00
Xin Liu
426c9049ce 8253392: remove PhaseCCP_DCE declaration
remove the deprecated declaration PhaseCCP_DCE

Reviewed-by: neliasso, phh
2020-09-22 20:24:05 +00:00
Ioi Lam
65af837391 8253496: [BACKOUT] JDK-8253208 Move CDS related code to a separate class
Reviewed-by: eosterlund, dcubed
2020-09-22 20:15:01 +00:00
Zhengyu Gu
581f0f2643 8253493: Shenandoah: Remove ShenandoahSerialRoot definition
Reviewed-by: rkennke
2020-09-22 19:41:56 +00:00
Yumin Qi
7b860120e1 8253492: Miss comma after second copyright year in FDBigInteger.java
Reviewed-by: ccheung
2020-09-22 18:18:58 +00:00
Doug Simon
0f26ab16dd 8252518: cache result of CompilerToVM.getComponentType
Reviewed-by: kvn, never
2020-09-22 16:55:04 +00:00
Yumin Qi
c1df13b855 8253208: Move CDS related code to a separate class
Reviewed-by: mchung, iklam
2020-09-22 16:12:05 +00:00
Vladimir Kozlov
24e12b3811 8247251: Assert (_pcs_length == 0 || last_pc()->pc_offset() < pc_offs…
Co-authored-by: Tom Rodriguez <never@openjdk.org>
Reviewed-by: never
2020-09-22 15:41:12 +00:00
Zhengyu Gu
3d5fea1f07 8253434: Shenandoah: Cleanup ShenandoahRootScanner
Reviewed-by: rkennke
2020-09-22 14:03:25 +00:00
Zhengyu Gu
8c02bdbf13 8252921: NMT overwrite memory type for region assert when building dynamic archive
Reviewed-by: minqi, iklam, dholmes
2020-09-22 11:58:03 +00:00
Roman Kennke
0c287de4f6 8253421: Initialize JFR trace-IDs with zero
Reviewed-by: mgronlun, egahlin
2020-09-22 10:53:00 +00:00
skodanda
aa3862403b 8248352: [TEST_BUG] Test test/jdk/java/awt/font/TextLayout/ArabicDiacriticTest.java can leave frame open
Reviewed-by: prr, serb, aivanov
2020-09-22 09:59:10 +00:00
Patrick Concannon
ae20dd6b9b 8251496: Fix doclint warnings in jdk.net.httpserver
Reviewed-by: dfuchs, rriggs, chegar
2020-09-22 08:56:15 +00:00
Aleksey Shipilev
b9729cb432 8253284: Zero OrderAccess barrier mappings are incorrect
Reviewed-by: dholmes, aph, andrew
2020-09-22 08:33:42 +00:00
Ioi Lam
284bbf02dd 8253079: DeterministicDump.java fails due to garbage in structure padding
Reviewed-by: minqi, jiefu, shade
2020-09-22 08:04:26 +00:00
Aleksey Shipilev
a4affd5b04 8253412: Unsupported GC options passed in JAVA_TOOL_OPTIONS are silently ignored
Reviewed-by: pliden
2020-09-22 07:58:45 +00:00
Monica Beckwith
96f722cf63 8252114: Windows-AArch64: Enable and test ZGC and ShenandoahGC
Reviewed-by: shade, stefank, rkennke
2020-09-22 07:09:48 +00:00
Jamsheed Mohammed C M
f7b1ce457a 8253447: Remove buggy code introduced by 8249451
Reviewed-by: iveresov, eosterlund
2020-09-22 06:26:32 +00:00
Ioi Lam
282b9dcfdc 8081833: Clean up JVMFlag getter/setter code
Reviewed-by: gziemski, coleenp
2020-09-22 06:04:31 +00:00
Kim Barrett
0e98fc1ccd 8253237: [REDO] Improve large object handling during evacuation
8253238: [REDO] Improve object array chunking test in G1's copy_to_survivor_space
8253236: [REDO] Investigate fast-path for scanning only objects with references during gc

Generate multiple partial array tasks for large objArrays.

Reviewed-by: sjohanss, ayang, tschatzl
2020-09-22 05:14:06 +00:00
Alex Menkov
d1f9b8a8b5 8234808: jdb quoted option parsing broken
Reviewed-by: cjplummer, sspitsyn
2020-09-22 00:05:14 +00:00
Daniel D. Daugherty
d8921ed573 8247281: migrate ObjectMonitor::_object to OopStorage
Co-authored-by: Erik Österlund <erik.osterlund@oracle.com>
Co-authored-by: Daniel Daugherty <daniel.daugherty@oracle.com>
Reviewed-by: eosterlund, coleenp, dholmes, stefank, kbarrett, rkennke, sspitsyn
2020-09-21 22:12:07 +00:00
Daniil Titov
f800af978c 8241390: 'Deadlock' with VM_RedefineClasses::lock_classes()
Reviewed-by: coleenp, sspitsyn
2020-09-21 19:32:24 +00:00
Kim Barrett
2e30ff61b0 8253311: Cleanup relocInfo constructors
Reviewed-by: kvn, thartmann
2020-09-21 14:50:11 +00:00
Andy Herrick
43be5a3cb6 8230652: Improve verbose output
Reviewed-by: almatvee, asemenyuk, kizune
2020-09-21 13:08:19 +00:00
Stefan Karlsson
5a7390b62a 8253418: ZGC: Use pd_ prefix to denote platform dependent code
Reviewed-by: pliden, eosterlund
2020-09-21 13:04:10 +00:00
Stefan Karlsson
7e49eaecbc 8253407: Move max_pow2 from test to src
Reviewed-by: kbarrett, tschatzl
2020-09-21 13:02:04 +00:00
Stefan Karlsson
fbfb62dffe 8253332: ZGC: Make heap views reservation platform independent
Reviewed-by: shade, pliden
2020-09-21 12:48:18 +00:00
Naoto Sato
dad6edbf83 8253321: java.util.Locale.LanguageRange#equals is inconsistent after calling hashCode
Reviewed-by: joehw, rriggs
2020-09-21 12:33:00 +00:00
Stefan Johansson
edc14f92d9 8253286: Use expand_exact() instead of expand_at() for fixed requests in G1
Reviewed-by: tschatzl, ayang
2020-09-21 12:02:33 +00:00
Thomas Schatzl
bba948f0ff 8253411: [BACKOUT] [REDO] G1 incorrectly limiting young gen size when using the reserve can result in repeated full gcs
Reviewed-by: kbarrett, sjohanss
2020-09-21 11:29:41 +00:00
Thomas Schatzl
955c2e6292 8253303: G1: Move static initialization of G1FromCardCache to a proper location
Reviewed-by: ayang, sjohanss
2020-09-21 11:28:24 +00:00
Lin Zang
34ec1bedd1 8252104: parallel heap inspection for ShenandoahHeap
Reviewed-by: shade, zgu
2020-09-21 07:50:52 +00:00
Junyuan Zheng
fdce055a9b 8253253: Binutils tar ball extension update to gz
Reviewed-by: erikj
2020-09-21 05:57:00 +00:00
Aleksey Shipilev
388c8f2538 8253348: Remove unimplemented JNIHandles::initialize
Reviewed-by: zgu
2020-09-21 05:00:07 +00:00
Kim Barrett
bca9e55b1e 8253167: ARM32 builds fail after JDK-8247910
8213483: ARM32: runtime/ErrorHandling/ShowRegistersOnAssertTest.java jtreg test fail

Removed platform-dependent definitions of BREAKPOINT as asm(breakpoint instruction).

Reviewed-by: coleenp, mikael, bulasevich
2020-09-21 00:31:26 +00:00
Phil Race
cc7521c452 8252199: Reimplement support of Type 1 fonts without MappedByteBuffer
Reviewed-by: serb, jdv
2020-09-20 16:17:30 +00:00
Sergey Bylokhov
3d88d387c3 8252070: Some platform-specific BLIT optimizations are not effective
Reviewed-by: prr, jdv
2020-09-20 04:33:27 +00:00
Sergey Bylokhov
83b05373a1 8253291: bug7072653.java still failed "Popup window height ... is wrong"
Reviewed-by: prr
2020-09-19 22:22:43 +00:00
Phil Race
d27835b34e 8249142: java/awt/FontClass/CreateFont/DeleteFont.sh is unstable
Reviewed-by: serb
2020-09-19 17:36:12 +00:00
Vladimir Kozlov
1438ce097f 8252188: Crash in OrINode::Ideal(PhaseGVN*, bool)+0x8b9
Reviewed-by: vlivanov, thartmann, jbhateja
2020-09-19 16:06:35 +00:00
Boris Ulasevich
224a30f12c 8252311: AArch64: save two words in itable lookup stub
Reviewed-by: adinn, aph
2020-09-19 07:47:37 +00:00
Sergey Bylokhov
22f7af7fcf 8253317: The "com/apple/eawt" is missed in the "othervm.dirs" config option
Reviewed-by: shade
2020-09-19 02:22:26 +00:00
Sergey Tsypanov
f55dd9d40e 8251548: Remove unnecessary explicit initialization of volatile variables in security-libs code
Reviewed-by: mullan
2020-09-18 21:26:59 +00:00
Zhengyu Gu
d35b117956 8253361: Shenandoah: runtime barrier does not honor ShenandoahSelfFixing flag
Reviewed-by: rkennke
2020-09-18 20:15:42 +00:00
Kim Barrett
f37c34d32e 8253270: Limit fastdebug inlining in G1 evacuation
Reviewed-by: tschatzl, sjohanss, ayang
2020-09-18 19:29:18 +00:00
Naoto Sato
89044200cd 8253153: Mentioning of "hour-of-minute" in java.time.temporal.TemporalField JavaDoc
Reviewed-by: joehw, lancea, rriggs
2020-09-18 15:40:37 +00:00
Matthias Baesken
52c28b8692 8253239: Disable VS warning C4307
Reviewed-by: mdoerr, erikj
2020-09-18 14:06:29 +00:00
Aleksey Shipilev
05572e8651 8253350: Remove unimplemented SharedRuntime::clean_*_entry
Reviewed-by: zgu, coleenp
2020-09-18 13:30:48 +00:00
Aleksey Shipilev
43019a0e6b 8253345: Remove unimplemented Arguments::lookup_logging_aliases
Reviewed-by: tschatzl
2020-09-18 13:26:43 +00:00
Aleksey Shipilev
6e9efffced 8253344: Remove unimplemented Arguments::check_gc_consistency
Reviewed-by: tschatzl, coleenp
2020-09-18 13:25:03 +00:00
Pavel Rappo
83b2411fd1 8253342: Fix typos in String.transform
Reviewed-by: jlaskey
2020-09-18 10:45:28 +00:00
Ivan Walulya
86a16400bd 8244505: G1 pause time ratio calculation does not consider Remark/Cleanup pauses
Reviewed-by: tschatzl, sjohanss
2020-09-18 09:35:34 +00:00
Aleksey Shipilev
11c4ea963c 8253278: Refactor/cleanup oopDesc::*_klass_addr
Reviewed-by: coleenp, stefank
2020-09-18 08:22:54 +00:00
Jamsheed Mohammed C M
73c9088b81 8249451: Unconditional exceptions clearing logic in compiler code should honor Async Exceptions.
Reviewed-by: dholmes, iveresov
2020-09-18 05:48:14 +00:00
Prasanta Sadhukhan
3ef2efb1f4 8252721: Nested classes in Swing APIs rely on default constructors
Reviewed-by: prr
2020-09-18 03:57:08 +00:00
Sergey Bylokhov
fd380d75b0 8253274: The CycleDMImagetest brokes the system
Reviewed-by: prr
2020-09-18 01:33:03 +00:00
Ioi Lam
2c3a37c6d7 8253314: precompiled.hpp missing from vmIntrinsics.cpp
Reviewed-by: mikael
2020-09-17 22:39:40 +00:00
Chris Plummer
d4269fd520 8253028: SA core file tests still time out on OSX with "java.io.IOException: App waiting timeout"
Reviewed-by: amenkov
2020-09-17 22:17:36 +00:00
Ioi Lam
6c3e483b56 8253313: xmlstream.hpp missing from vmIntrinsics.cpp
Reviewed-by: mikael
2020-09-17 21:49:53 +00:00
Ioi Lam
0a1dc50f54 8253271: vm_version_x86.hpp should not include globals_extension.hpp
Reviewed-by: dholmes
2020-09-17 21:32:22 +00:00
John Tortugo
1e39649907 8243066: Move VM_INTRINSICS_DO into its own vmIntrinsics.hpp file
Reviewed-by: iklam, vlivanov
2020-09-17 21:20:20 +00:00
Yumin Qi
12dfe1c9b6 8253262: Allocate in DumpRegion is not thread safe
Reviewed-by: ccheung
2020-09-17 16:56:37 +00:00
Thomas Schatzl
3570f5a924 8252041: G1: Fix incorrect uses of HeapRegionManager::max_length
Reviewed-by: sjohanss, kbarrett
2020-09-17 15:40:54 +00:00
Andrew Leonard
24765e4559 8253285: Some java/util/StringJoiner tests do not explicitly specify required -XX:+CompactStrings
Reviewed-by: rriggs, jlaskey
2020-09-17 14:43:51 +00:00
Galder Zamarreño
81e2cf82d9 8251397: NPE on ClassValue.ClassValueMap.cacheArray
Add release fence to ClassValueMap constructor.

* Release fence guarantees that cacheArray field will published
with a non-null value.
* Without this fix, CacheValueMap.cacheArray can sometimes be
seen as null.

Reviewed-by: shade, psandoz
2020-09-17 13:42:15 +00:00
David M. Lloyd
cca3a26e43 8252996: Thread safety problem in java.net.ProxySelector
Reviewed-by: alanb
2020-09-17 13:40:29 +00:00
Richard Reingruber
a4c6a99e61 8252593: [TESTBUG] serviceability/jvmti/GetLocalVariable/GetLocalWithoutSuspendTest.java failed with JVMTI_ERROR_INVALID_SLOT
Reviewed-by: sspitsyn, cjplummer
2020-09-17 13:08:43 +00:00
Ekaterina Vergizova
a67f890fc6 8253050: jfr disassemble command processes --max-chunks incorrectly
Reviewed-by: egahlin
2020-09-17 13:03:26 +00:00
Per Lidén
f972155d63 8252196: ZGC: TestUncommit.java fails due to "Exception: Uncommitted too fast" again(2)
Reviewed-by: stefank, eosterlund
2020-09-17 10:05:43 +00:00
Aleksey Shipilev
a9993f9464 8253275: Remove unused methods after CMS removal
Reviewed-by: pliden, tschatzl
2020-09-17 10:01:34 +00:00
Ivan Walulya
4ac6934965 8253232: G1Analytics::compute_pause_time_ratios() uses wrong pause times in calculation
Reviewed-by: tschatzl, kbarrett
2020-09-17 07:58:30 +00:00
Rafael Winterhalter
53a4ef2670 8202473: A type variable with multiple bounds does not correctly place type annotation
Reviewed-by: jfranck
2020-09-17 07:26:49 +00:00
Jayathirth D V
b87a159967 8252100: NumberOverflow in class MemoryCache
Reviewed-by: prr, serb
2020-09-17 04:31:11 +00:00
Ioi Lam
9a7dcdcdba 8253261: Disable CDS full module graph until JDK-8253081 is fixed
Reviewed-by: ccheung
2020-09-16 22:43:32 +00:00
Sergey Bylokhov
1c84cfa236 8253130: bug7072653.java failed "Popup window height ... is wrong"
Reviewed-by: psadhukhan
2020-09-16 20:23:04 +00:00
Harold Seigel
ce93cbce77 8253125: vmTestbase/nsk/stress/stack/stack017.java timed out
Reviewed-by: dcubed
2020-09-16 18:58:06 +00:00
Zhengyu Gu
d250f9e08c 8253244: Shenandoah: cleanup includes in Shenandoah root processor files
Reviewed-by: shade
2020-09-16 17:19:28 +00:00
Igor Ignatyev
d38c97dd52 8253207: enable problemlists jcheck's check
Reviewed-by: erikj
2020-09-16 17:18:27 +00:00
Jaikiran Pai
671dfba802 6714834: JarFile.getManifest() leaves an open InputStream as an undocumented side effect
Reviewed-by: lancea, alanb
2020-09-16 15:13:32 +00:00
Jaikiran Pai
e5866aa756 8244706: GZIP "OS" header flag hard-coded to 0 instead of 255 (RFC 1952 non-compliance)
Reviewed-by: lancea, bchristi
2020-09-16 15:10:57 +00:00
Kevin Rushforth
10867134fd 8253206: Enforce whitespace checking for additional source files
Reviewed-by: prr, erikj, jdv
2020-09-16 14:02:22 +00:00
Stefan Karlsson
e2196f8882 8253162: Make frame::oops_do const
Reviewed-by: kbarrett, coleenp, pliden
2020-09-16 12:21:39 +00:00
Aleksey Shipilev
300b8517c3 8253226: Shenandoah: remove unimplemented ShenandoahStrDedupQueue::verify
Reviewed-by: rkennke, zgu
2020-09-16 12:17:22 +00:00
Aleksey Shipilev
c781594bfe 8253224: Shenandoah: ShenandoahStrDedupQueue destructor calls virtual num_queues()
Reviewed-by: rkennke, zgu
2020-09-16 12:16:51 +00:00
Stefan Karlsson
33f8e7022c 8253173: Print heap before and after GC lacks a newline
Reviewed-by: tschatzl, pliden, rkennke, sjohanss
2020-09-16 11:53:58 +00:00
Aleksey Shipilev
f509eb069d 8253219: Epsilon: clean up unnecessary includes
Reviewed-by: tschatzl, kbarrett
2020-09-16 11:17:51 +00:00
Aleksey Shipilev
7f9b5d9e32 8253220: Epsilon: clean up unused code/declarations
Reviewed-by: tschatzl
2020-09-16 11:15:40 +00:00
Julia Boes
e0cf023263 8245309: Re-examine use of ThreadLocalCoders in sun.net.www.ParseUtil
Reviewed-by: shade, dfuchs, alanb, chegar
2020-09-16 10:49:13 +00:00
Prasanta Sadhukhan
60c4902f61 8253016: Box.Filler components should be unfocusable by default
Reviewed-by: prr, serb
2020-09-16 09:47:13 +00:00
Aleksey Shipilev
dd43533165 8253222: Shenandoah: unused AlwaysTrueClosure after JDK-8246591
Reviewed-by: rkennke
2020-09-16 09:25:58 +00:00
Roberto Castaneda Lozano
efe3540d8f 8252966: CI: Remove KILL_COMPILE_ON_FATAL_ and KILL_COMPILE_ON_ANY macros
Remove the KILL_COMPILE_ON_FATAL_ and KILL_COMPILE_ON_ANY macros, replacing uses
of KILL_COMPILE_ON_FATAL_ with CHECK_AND_CLEAR_. Unlike KILL_COMPILE_ON_FATAL_,
CHECK_AND_CLEAR_ ignores ThreadDeath exceptions, which compiler threads should
not receive anyway.

Reviewed-by: vlivanov, neliasso
2020-09-16 06:47:45 +00:00
Cesar
fbf4699d23 8253040: Remove unused Matcher::regnum_to_fpu_offset()
Reviewed-by: adityam, vlivanov
2020-09-16 06:41:37 +00:00
Aleksey Shipilev
7c564e13ee 8253146: C2: Purge unused MachCallNode::_arg_size field
Reviewed-by: thartmann, adityam
2020-09-16 06:38:53 +00:00
Cesar
2caa20a76d 8250668: Clean up method_oop names in adlc
Reviewed-by: coleenp, adityam, thartmann
2020-09-16 05:54:16 +00:00
Naoto Sato
57f92d23b1 8220483: Calendar.setTime(Date date) throws NPE with Date date = null
Reviewed-by: lancea, joehw
2020-09-15 22:14:14 +00:00
Sergey Bylokhov
65bfe0928a 8253147: The javax/swing/JPopupMenu/7154841/bug7154841.java fail on big screens
Reviewed-by: prr
2020-09-15 21:32:56 +00:00
Joe Darcy
fc36328d4f 8253034: Update symbol generation to accomodate Git as the SCM
Reviewed-by: erikj, adityam
2020-09-15 20:41:43 +00:00
Valerie Peng
40206822f4 8172366: Support SHA-3 based signatures
Enhance default JDK providers including SUN, SunRsaSign, and SunEC, with signatures using SHA-3 family of digests.

Reviewed-by: xuelei
2020-09-15 20:28:48 +00:00
Thomas Schatzl
46598c8644 8253177: outputStream not declared in markWord.hpp
Reviewed-by: iklam
2020-09-15 18:59:16 +00:00
Joe Wang
5191f3159a 8251495: Remove the implNote in the DOM package description added by JDK-8249643
Remove the implNote from the package description added by JDK-8249643.

Reviewed-by: lancea, smarks, naoto, alanb
2020-09-15 16:39:48 +00:00
Daniil Titov
65d6c10185 8252933: com.sun.tools.jdi.ObjectReferenceImpl#validateAssignment always requests referenceType
Reviewed-by: cjplummer, amenkov
2020-09-15 15:29:12 +00:00
Kim Barrett
74851c507b 8253169: [BACKOUT] Improve large object handling during evacuation
Revert "8027545: Improve object array chunking test in G1's copy_to_survivor_space"
Revert "8158045: Improve large object handling during evacuation"
Revert "8027761: Investigate fast-path for scanning only objects with references during gc"

Reviewed-by: tschatzl, sjohanss
2020-09-15 14:33:04 +00:00
Christoph Langer
b5620a36f4 8253155: Minor cleanups and Javadoc fixes for LdapDnsProvider of java.naming
Reviewed-by: dfuchs, aefimov, alanb, vtewari
2020-09-15 13:50:37 +00:00
Jorn Vernee
d219d8b987 8253002: Remove the unused SafePointNode::_oop_map field
Reviewed-by: thartmann
2020-09-15 12:21:45 +00:00
Kim Barrett
dafcf1056f 8027545: Improve object array chunking test in G1's copy_to_survivor_space
8158045: Improve large object handling during evacuation
8027761: Investigate fast-path for scanning only objects with references during gc

Generate multiple partial array tasks for large objArrays.

Reviewed-by: sjohanss, ayang, tschatzl
2020-09-15 12:18:24 +00:00
Kim Barrett
7eb4d4aa01 8247909: Improve PrimitiveConversions::cast using C++14
Reimpliment PrimitiveConversions::cast, with some cases now constexpr.
<!-- Anything below this marker will be automatically updated, please do not edit manually! -->
---------
### Progress
- [x] Change must not contain extraneous whitespace
- [x] Commit message must refer to an issue
- [ ] Change must be properly reviewed

### Issue
* [JDK-8247909](https://bugs.openjdk.java.net/browse/JDK-8247909): Improve PrimitiveConversions::cast using C++14


### Download
`$ git fetch https://git.openjdk.java.net/jdk pull/143/head:pull/143`
`$ git checkout pull/143`

Reviewed-by: dholmes, stefank
2020-09-15 10:52:50 +00:00
Thomas Schatzl
fa30241ddb 8249676: [REDO] G1 incorrectly limiting young gen size when using the reserve can result in repeated full gcs
Reviewed-by: sjohanss, kbarrett
2020-09-15 10:19:36 +00:00
Kim Barrett
9ea43a9213 8253148: Fix terminology in align_down comment
Change lognot => logical_not in comment

Reviewed-by: shade
2020-09-15 07:07:58 +00:00
Aleksey Shipilev
3f455f09dc 8253089: Windows (MSVC 2017) build fails after JDK-8243208
Reviewed-by: mdoerr, goetz, iklam
2020-09-15 05:14:06 +00:00
Kim Barrett
af8c678038 8247910: Improve alignment and power-of-2 utilities using C++14
8238956: Replace powerOfTwo::max_value with std::numeric_limits

Reviewed-by: tschatzl, stefank
2020-09-15 04:34:49 +00:00
Ioi Lam
70cc7fc198 8253098: Archived full module graph should be disabled if CDS heap cannot be mapped
Reviewed-by: ccheung, dholmes
2020-09-15 02:37:19 +00:00
Alexander Matveev
ac9d1b08ee 8223187: Remove setLocale() call in jpackage native launcher
Reviewed-by: kcr, herrick, naoto
2020-09-14 20:41:50 +00:00
Martin Doerr
9c24a5635e 8253029: [PPC64] Remove obsolete Power6 code
Reviewed-by: dholmes, lucy
2020-09-14 17:34:08 +00:00
Pavel Rappo
e6a493ab88 8252882: Clean up jdk.javadoc and the related parts of jdk.compiler
Reviewed-by: vromero
2020-09-14 17:21:42 +00:00
Jan Lahoda
68da63dcde 8240658: Code completion not working for lambdas in method invocations that require type inference
Reviewed-by: vromero
2020-09-14 08:13:10 +00:00
Doug Simon
b05290aaea 8252898: remove bulk registration of JFR CompilerPhaseType names
Reviewed-by: kvn, jcm
2020-09-14 07:48:59 +00:00
Jie Fu
779d2c34ae 8253084: Zero VM is broken after JDK-8252689
Reviewed-by: iklam, dholmes
2020-09-14 07:21:04 +00:00
Per Lidén
07da3a1808 8253030: ZGC: Change ZMarkCompleteTimeout unit to microseconds
Reviewed-by: kbarrett, stefank, eosterlund
2020-09-14 07:06:20 +00:00
Yumin Qi
f978f6fe8a 8252689: Classes are loaded from jrt:/java.base even when CDS is used
Reviewed-by: iklam, ccheung
2020-09-14 03:39:13 +00:00
Ioi Lam
c5e63b639e 8248186: Move CDS C++ vtable code to cppVtables.cpp
Reviewed-by: coleenp
2020-09-13 19:20:45 +00:00
Ioi Lam
03a4df0acd 8244778: Archive full module graph in CDS
Reviewed-by: erikj, coleenp, lfoltan, redestad, alanb, mchung
2020-09-13 14:45:12 +00:00
Doug Simon
998ce78e53 8252543: [JVMCI] Libgraal can deadlock in blocking compilation mode
Reviewed-by: kvn
2020-09-12 05:26:16 +00:00
Stuart Marks
b1b0f0b2cc 8253066: typo in Stream.mapMulti
Reviewed-by: darcy, lancea
2020-09-11 23:11:10 +00:00
Leonid Mesnik
306b166336 8253033: CheckUnhandledOops check fails in ThreadSnapshot::initialize…
Reviewed-by: coleenp, dholmes
2020-09-11 23:03:38 +00:00
Igor Ignatyev
5c0d985abf 8253060: remove test/hotspot/jtreg/test_env.sh
Reviewed-by: dcubed
2020-09-11 17:22:47 +00:00
Kevin Rushforth
952518640a 8253031: git jcheck complains about invalid tags in jdk repo after fix for JDK-8252844
Reviewed-by: ehelin, erikj
2020-09-11 15:17:51 +00:00
Jonathan Gibbons
7f27d0b013 8236142: DocTrees should provide getCharacters(EntityTree)
Reviewed-by: prappo
2020-09-11 14:47:15 +00:00
Daniel D. Daugherty
e7a1b9bf81 8252981: ObjectMonitor::object() cleanup changes extracted from JDK-8247281
Co-authored-by: Erik Österlund <erik.osterlund@oracle.com>
Co-authored-by: Daniel Daugherty <daniel.daugherty@oracle.com>
Reviewed-by: rehn, coleenp, eosterlund
2020-09-11 13:35:34 +00:00
Roberto Castaneda Lozano
040c8f58e5 8250914: Matcher::stack_direction() is unused
Remove unused Matcher::stack_direction() together with related ADL entries and
ADLC support.

Reviewed-by: vlivanov, thartmann
2020-09-11 11:57:46 +00:00
Roberto Castaneda Lozano
9687dcabb6 8252494: C2: TypeAryPtr::cast_to_autobox_cache does not use ptr_type
Remove dead definition of ptr_type in TypeAryPtr::cast_to_autobox_cache. Also remove
unnecessary cache parameter (always true) for simplicity.

Reviewed-by: shade, vlivanov, thartmann
2020-09-11 11:55:30 +00:00
Robbin Ehn
8777ded123 8253008: Remove develop flags TraceLongCompiles/LongCompileThreshold
Reviewed-by: shade, dholmes, adityam
2020-09-11 07:23:31 +00:00
Robbin Ehn
c7062dc22b 8253026: Remove dummy call to gc alot from VM Thread
Reviewed-by: coleenp, dholmes
2020-09-11 07:07:22 +00:00
Ioi Lam
5144190ea0 8243208: Clean up JVMFlag implementation
Reviewed-by: dholmes, coleenp, gziemski
2020-09-11 04:05:18 +00:00
David Holmes
976acddeb5 8252406: Introduce Thread::as_Java_thread() convenience function
Reviewed-by: shade, coleenp, kbarrett, dcubed
2020-09-11 01:31:32 +00:00
Sergey Bylokhov
488022689f 8171303: sun/java2d/pipe/InterpolationQualityTest.java fails on Windows & Linux
Reviewed-by: prr, psadhukhan, kcr
2020-09-10 21:47:05 +00:00
Sergey Bylokhov
8da6c8d6aa 7183828: Invalid Image Variant when using anything other than BufferedImage
Reviewed-by: prr
2020-09-10 21:26:10 +00:00
Sergey Bylokhov
ff21696bc0 8252817: Cleanup the classes in the java.awt.color package
Reviewed-by: jdv, pbansal
2020-09-10 19:26:39 +00:00
Mandy Chung
44a74dac95 8252919: JDK built with --enable-cds=no fails with NoClassDefFoundError
Reviewed-by: minqi, sundar, alanb, redestad
2020-09-10 16:04:58 +00:00
Roger Riggs
418e4a259c 8252830: Correct missing javadoc comments in java.rmi module
Reviewed-by: dfuchs, lancea, smarks, chegar
2020-09-10 14:38:04 +00:00
Igor Ignatyev
41d29b752b 8252774: remove jdk.test.lib.FileInstaller action from graalunit tests
Reviewed-by: shade, epavlova
2020-09-10 13:25:29 +00:00
Igor Ignatyev
5b30a83133 8252778: remove jdk.test.lib.FileInstaller action from compiler/c2/stemmer test
Reviewed-by: shade, epavlova
2020-09-10 13:23:01 +00:00
Thomas Schatzl
8db333531f 8247928: Refactor G1ConcurrentMarkThread for mark abort
Reviewed-by: sjohanss, kbarrett
2020-09-10 11:06:39 +00:00
Goetz Lindenmaier
7ccf435825 8252846: Fix ppc/s390 after "8231441: AArch64: Initial SVE backend su…
Reviewed-by: shade
2020-09-10 09:16:23 +00:00
Kim Barrett
d236cf4bec 8252995: Non-PCH builds broken by JDK-8250961
Reviewed-by: sjohanss, stefank
2020-09-10 08:48:50 +00:00
Aditya Mandaleeka
6a005343b4 8250961: Move Universe::update_heap_info_at_gc to CollectedHeap
Reviewed-by: stefank, kbarrett
2020-09-10 07:09:19 +00:00
Tobias Hartmann
f78f780570 8252889: Obsolete -XX:+InsertMemBarAfterArraycopy
Reviewed-by: shade, adityam
2020-09-10 05:41:51 +00:00
Daniel D. Daugherty
f9339616e1 8252980: comment only changes extracted from JDK-8247281
Reviewed-by: iklam, dholmes
2020-09-09 23:35:17 +00:00
Vicente Romero
433394203d 8250217: com.sun.tools.javac.api.JavacTaskImpl swallows compiler exceptions potentially producing false positive test results
Reviewed-by: jlahoda
2020-09-09 14:05:00 +00:00
Severin Gehwolf
5166094647 8252957: Wrong comment in CgroupV1Subsystem::cpu_quota
The comment is wrong. The 'us' in 'cpu.cfs_quota_us' stands for
microseconds, which is read verbatim. Similarly for cgroups v2
all units in 'cpu.max' are in microseconds.

Reviewed-by: shade, hseigel
2020-09-09 13:53:10 +00:00
Prasanta Sadhukhan
6329de4504 8248532: Every time I change keyboard language at my MacBook, Java crashes
Reviewed-by: serb, prr
2020-09-09 13:43:06 +00:00
Robbin Ehn
d56096471b 8252794: Creation of JNIMethodBlock should be done with a leaf lock
Reviewed-by: coleenp, dholmes
2020-09-09 13:21:01 +00:00
Jan Lahoda
5fef8ddaff 8235229: Compilation against a modular, multi-release JAR erroneous with --release
Reviewed-by: vromero
2020-09-09 13:03:00 +00:00
Aleksey Shipilev
382b8fedf5 8240751: Shenandoah: fold ShenandoahTracer definition
Reviewed-by: adityam, zgu
2020-09-09 12:10:36 +00:00
Jan Lahoda
c98417ebca 8250840: some tests use --enable-preview unnecessarily
Reviewed-by: vromero
2020-09-09 07:51:43 +00:00
Tobias Hartmann
c655b703a9 8252916: Newline in object field values list of ScopeDesc should be removed
Reviewed-by: vlivanov
2020-09-09 05:57:41 +00:00
Stuart Marks
30fa8d5d34 8157729: examples in LinkedHashMap and LinkedHashSet class doc use raw types
Reviewed-by: darcy, naoto, lancea
2020-09-09 00:43:48 +00:00
Christoph Göttschkes
26c7218ab9 8252773: [TESTBUG] serviceability/jvmti/GetObjectSizeOverflow fails due to OOM conditions
Reviewed-by: cjplummer, lmesnik
2020-09-08 22:59:41 +00:00
Calvin Cheung
e20004d7c1 8249625: cleanup unused SkippedException in the tests under cds/appcds/dynamicArchive/methodHandles
Reviewed-by: iklam
2020-09-08 19:00:50 +00:00
Ivan Walulya
63a5a12949 8252658: G1: Do not consider G1HeapWastePercent during region selection within a gc
Reviewed-by: tschatzl, sjohanss
2020-09-08 18:39:56 +00:00
Ioi Lam
001e51d965 8250563: Add KVHashtable::add_if_absent
Reviewed-by: ccheung, coleenp
2020-09-08 18:27:59 +00:00
Aleksey Shipilev
91a20ca7e5 8252695: Shenandoah: clean up Graal enabled/disabled filter in tests
Reviewed-by: zgu
2020-09-08 17:42:38 +00:00
Robbin Ehn
704f784c88 8252871: fatal error: must own lock JvmtiThreadState_lock
8252816: JvmtiEnvThreadState::clear_to_frame_pop() is not used

Reviewed-by: ysuenaga, dholmes
2020-09-08 13:45:19 +00:00
Robin Westberg
bf5da0c778 8252897: Minor .jcheck/conf update
Reviewed-by: ehelin
2020-09-08 12:04:44 +00:00
Albert Mingkun Yang
76002747d5 8252859: Inconsistent use of alpha in class AbsSeq
Reviewed-by: tschatzl, sjohanss
2020-09-08 11:17:09 +00:00
Nick Gasson
4fb1980fd0 8252853: AArch64: gc/shenandoah/TestVerifyJCStress.java fails intermittently with C1
Reviewed-by: shade
2020-09-08 10:17:25 +00:00
Christoph Göttschkes
73ba3ae1f5 8252500: ZGC on aarch64: Unable to allocate heap for certain Linux kernel configurations
Reviewed-by: stefank, eosterlund, pliden
2020-09-08 09:34:40 +00:00
Jaikiran Pai
5dd1eaded7 8252767: URLConnection.setRequestProperty throws IllegalAccessError
Reviewed-by: chegar, michaelm, alanb
2020-09-08 09:10:15 +00:00
Evgeny Nikitin
2cceeedfe1 8166554: Avoid compilation blocking in OverloadCompileQueueTest.java
Reviewed-by: shade
2020-09-08 08:24:35 +00:00
Stefan Johansson
188b0bc7be 8252868: Clean up unused function from G1MMUTracker
Reviewed-by: tschatzl
2020-09-08 07:58:29 +00:00
Jie Fu
891886b622 8252887: Zero VM is broken after JDK-8252661
Zero VM is broken due to 'block_if_requested' is not a member of 'SafepointMechanism'.

Reviewed-by: dholmes
2020-09-08 02:35:51 +00:00
Sean Coffey
7686e87155 8250968: Symlinks attributes not preserved when using jarsigner on zip files
Reviewed-by: lancea, weijun, hchao
2020-09-07 19:01:07 +00:00
Severin Gehwolf
8d6d43c33b 8251193: bin/idea.sh is generating wrong folder definitions for JVMCI modules
Co-authored-by: Galder Zamarreno <galder@redhat.com>
Reviewed-by: mcimadamore
2020-09-07 16:18:45 +00:00
Filipp Zhinkin
70d5cac961 8251152: ARM32: jtreg c2 Test8202414 test crash
Some CPUs (like ARM32) does not support unaligned memory accesses. To avoid JVM crashes tests that perform such accesses should be skipped on corresponding platforms.

Reviewed-by: iignatyev, clanger
2020-09-07 15:33:27 +00:00
Erik Österlund
e0d5b5f7f2 8252627: Make it safe for JFR thread to read threadObj
Reviewed-by: dholmes, mgronlun
2020-09-07 14:33:10 +00:00
Erik Österlund
e29c3f6123 8252661: Change SafepointMechanism terminology to talk less about "blocking"
Reviewed-by: rehn, shade, dholmes
2020-09-07 13:59:24 +00:00
Robin Westberg
e0c8d4420c 8252844: Update check configuration to Skara format
Reviewed-by: ehelin
2020-09-07 08:20:40 +00:00
Christoph Langer
cc5039e19e 8252837: Cleanup SAP Copyright file headers
Reviewed-by: dholmes
2020-09-07 07:30:10 +00:00
Pankaj Bansal
55c7e769c8 8252825: Add automated test for fix done in JDK-8218479
Reviewed-by: serb, prr
2020-09-07 07:25:30 +00:00
Igor Ignatyev
5f76deb2e0 8252522: nsk/share/test/StressOptions should multiple stressTime by jtreg's timeout-factor
Reviewed-by: dholmes
2020-09-06 16:17:30 +00:00
Sergey Bylokhov
1262ae36af 8252679: Two windows specific FileDIalog tests may fail on some Windows_Server_2016_Standard
Reviewed-by: prr
2020-09-06 01:25:23 +00:00
Phil Race
d0f4366a85 8252715: Problem list java/awt/event/KeyEvent/KeyTyped/CtrlASCII.java on Linux
Reviewed-by: serb
2020-09-05 21:49:01 +00:00
Vicente Romero
4b3a0b789e 8247352: improve error messages for sealed classes and records
Reviewed-by: mcimadamore
2020-09-04 23:51:26 -04:00
Yasumasa Suenaga
3e81b3ad48 8242427: JVMTI frame pop operations should use Thread-Local Handshakes
Reviewed-by: dcubed, dholmes, pchilanomate, rehn, sspitsyn
2020-09-05 12:42:05 +09:00
Vicente Romero
5d2e79e2c3 8252307: javac rejects code with annotation applicable to fields
Reviewed-by: darcy
2020-09-04 13:44:48 -04:00
Igor Ignatyev
15af276157 8252004: remove usage of PropertyResolvingWrapper in vmTestbase/nsk/sysdict
Reviewed-by: dcubed, gziemski
2020-09-04 10:36:05 -07:00
Yumin Qi
8f36580594 8252725: Refactor jlink GenerateJLIClassesPlugin code
Cleanup code for jlink classes generation, move parsing file work to java.lang.invoke and add a new API in interface JavaLangInvokeAccess to generate holder classes, remove old APIs. The new API is used both by JLI and CDS.

Reviewed-by: mchung, sundar
2020-09-04 09:47:18 -07:00
Ningsheng Jian
9b5a9b6189 8231441: AArch64: Initial SVE backend support
Co-authored-by: Joshua Zhu <joshua.zhu@arm.com>
Co-authored-by: Yang Zhang <yang.zhang@arm.com>
Reviewed-by: adinn, pli, ihse, vlivanov, eosterlund
2020-09-02 09:45:44 +08:00
Fernando Guallini
0dadf81e14 8249694: java/lang/StringBuffer/HugeCapacity.java and j/l/StringBuilder/HugeCapacity.java tests shouldn't be @ignore-d
Remove @ignore since @requires os.maxMemory is enough to ensure tests will not be executed if memory requirements are not satisfied

Reviewed-by: coffeys
2020-09-02 17:43:33 +01:00
Richard Reingruber
e25f2a5715 8252521: possible race in java_suspend_self_with_safepoint_check
Reviewed-by: dholmes, rehn
2020-09-04 09:01:45 +02:00
Jie Fu
ae5a6dde2d 8252740: java/util/Properties/LoadAndStoreXMLWithDefaults.java fails after JDK-8252354
Reviewed-by: alanb, joehw
2020-09-03 16:42:17 +08:00
Vladimir Kozlov
a9e78595f0 8252779: compiler/graalunit/HotspotTest.java failed after 8251525
Updated CheckGraalIntrinsics.java test

Reviewed-by: dcubed
2020-09-03 13:01:20 -07:00
Mandy Chung
4e6a4af186 8244090: public lookup should find public members of public exported types
Reviewed-by: lfoltan, psandoz
2020-09-03 12:43:13 -07:00
Magnus Ihse Bursie
49a9d49dbd 8241768: git needs .gitattributes
Reviewed-by: erikj, jvernee, ehelin
2020-09-03 19:14:11 +02:00
Igor Ignatyev
933f90fbfa 8251997: remove usage of PropertyResolvingWrapper in vmTestbase/vm/mlvm/
Reviewed-by: thartmann
2020-09-03 09:21:27 -07:00
Igor Ignatyev
850d62301c 8252720: clean up FileInstaller $test.src $cwd in vmTestbase/vm/compiler/optimizations tests
Reviewed-by: thartmann
2020-09-03 09:21:01 -07:00
Bob Vandette
76f0588aaf 8252359: HotSpot Not Identifying it is Running in a Container
Reviewed-by: sgehwolf
2020-09-03 13:50:11 +00:00
Vipin Sharma
57a27a6fb9 8252538: Replace @exception with @throws java.rmi package
Reviewed-by: rriggs
2020-09-03 09:28:24 -04:00
Jaroslav Bachorik
43d36857d0 8252754: Hash code calculation of JfrStackTrace is inconsistent
Reviewed-by: egahlin
2020-09-03 13:22:52 +02:00
Dmitry Chuyko
35ea00085f 8251525: AARCH64: Faster Math.signum(fp)
Reviewed-by: aph, vlivanov, adinn
2020-09-03 14:54:43 +03:00
Jan Lahoda
a951a15379 8245664: javac erroneously issues deprecation warning for use of a deprecated package
Reviewed-by: vromero
2020-09-03 11:14:23 +02:00
Jan Lahoda
aab706c66f 8160601: unexpected error compiling @Deprecated package
Reviewed-by: jlaskey
2020-09-03 11:13:46 +02:00
Jesper Wilhelmsson
869b05169f Added tag jdk-16+14 for changeset 36b29df125dc 2020-09-03 02:47:38 +02:00
Joe Wang
38cd5d0936 8252354: Properties :: storeToXML method does not throw ClassCastException when supplied non strings
Reviewed-by: lancea, naoto
2020-09-02 21:32:48 +00:00
Aleksey Shipilev
c61204b3f3 8252660: Shenandoah: support manageable SoftMaxHeapSize option
Reviewed-by: zgu
2020-09-02 18:37:31 +02:00
Robert Field
261eb76ea2 8247456: JShell: Handling of top-level final, abstract, and static modifiers
Reviewed-by: jlahoda
2020-09-02 09:37:25 -07:00
Yumin Qi
a588752fd6 8248337: sparc related code clean up after solaris removal
Reviewed-by: dholmes, kvn
2020-09-02 09:29:31 -07:00
Harold Seigel
f3597c4a54 8252249: nsk/stress/stack/stack016.java fails with "Error: TEST_BUG: trickyRecursion() must throw an error anyway!"
Run test separately with both -Xint and -Xcomp to ensure thread stacks are similarly sized.

Reviewed-by: dholmes, coleenp
2020-09-02 13:50:39 +00:00
Fernando Guallini
737ae7742a 8249699: java/io/ByteArrayOutputStream/MaxCapacity.java should use @requires instead of @ignore
Use @requires os.maxMemory in order to run the test only if memory requirements are satisfied as opposed to ignoring it

Reviewed-by: coffeys
2020-09-01 19:04:42 +01:00
Stefan Karlsson
4c73e045ce 8252656: Replace RegisterArrayForGC mechanism with plain Handles
Reviewed-by: coleenp, tschatzl, dholmes
2020-09-02 11:13:11 +02:00
Stefan Karlsson
7282d0deb5 8252589: Code duplication in ParallelSPCleanupTask
Reviewed-by: shade, dholmes
2020-09-02 11:13:10 +02:00
Stefan Karlsson
02049ee6c3 8252514: ZGC: Physical memory splitting is broken
Reviewed-by: eosterlund, pliden
2020-09-02 11:13:09 +02:00
Stefan Karlsson
ac2b1ae5e2 8252513: ZGC: Contiguous memory reservation probing is broken for TB heap sizes
Reviewed-by: eosterlund, pliden
2020-09-02 11:13:09 +02:00
Ivan Walulya
553f3b1497 8252303: G1MMUTrackerQueue::when_sec skip queue iteration on max_gc_time pause time
Reviewed-by: sjohanss, tschatzl
2020-08-25 11:39:38 +02:00
Albert Mingkun Yang
f01e6261a2 8252093: formula used to calculate decaying variance in numberSeq
Reviewed-by: sjohanss, kbarrett
2020-09-02 12:40:16 +02:00
Thomas Schatzl
f9e6f26ca4 8252035: G1: Clean up G1CollectedHeap::*reserved* methods
Reviewed-by: sjohanss, iwalulya
2020-09-02 10:07:03 +02:00
Thomas Schatzl
75a69333f8 8252231: G1AdaptiveIHOP has swapped current_occupancy and additional_buffer_size
Reviewed-by: shade
2020-09-02 10:06:11 +02:00
Aleksey Shipilev
c8257ea4e2 8252691: Build failure after JDK-8252481
Reviewed-by: goetz
2020-09-02 09:14:18 +02:00
Prasanta Sadhukhan
be5ed8666c Merge 2020-09-02 11:47:59 +05:30
Kim Barrett
1e4f886107 8251274: Provide utilities for function SFINAE using extra template parameters
Added ENABLE_IF macro.

Reviewed-by: eosterlund, lfoltan
2020-09-01 21:49:20 -04:00
Igor Ignatyev
ca3374253c 8252402: rewrite vmTestbase/nsk/jvmti/Allocate/alloc001 shell test to Java
Reviewed-by: amenkov
2020-09-01 17:29:34 -07:00
Igor Ignatyev
4fe6a3da68 8252532: use Utils.TEST_NATIVE_PATH instead of System.getProperty("test.nativepath")
Reviewed-by: dholmes, sspitsyn
2020-09-01 17:23:00 -07:00
Ian Graves
de49337060 8252529: Unsafe Documentation around Barrier Methods Inaccurate
Reviewed-by: psandoz
2020-09-01 13:43:26 -07:00
Gerard Ziemski
b3e264187a 8222671: thread_large/thread_large.java times out on MacOSX
Removed unreliable test, and replaced it with more robust one

Reviewed-by: dholmes, iignatyev
2020-09-01 14:36:59 -05:00
Prasanta Sadhukhan
64e2c67e7b Merge 2020-09-01 17:50:05 +05:30
Tejpal Rebari
dc549663d7 8251122: doclint html5 errors in java.desktop/share/classes/javax/swing/plaf/nimbus/doc-files/properties.html
Reviewed-by: serb, aivanov
2020-09-01 12:53:28 +05:30
Aleksey Shipilev
a4ab61339b 8252592: Non-PCH build is broken after JDK-8251560
Reviewed-by: zgu, iklam
2020-09-01 07:06:18 +02:00
Naoto Sato
2914064cf4 8252552: DecimalFormat javadoc contains HTML tags in example code
Reviewed-by: lancea, joehw
2020-08-31 15:32:29 -07:00
Sergey Bylokhov
c89ee9b0a1 8198334: java/awt/FileDialog/8003399/bug8003399.java fails in headless mode
Reviewed-by: pbansal, psadhukhan
2020-08-31 22:30:04 +01:00
Phil Race
9d71814dca Merge 2020-08-31 12:26:58 -07:00
Anton Litvinov
4e3d9e3944 8249183: JVM crash in "AwtFrame::WmSize" method
Reviewed-by: serb, aivanov
2020-08-31 17:06:41 +01:00
Patrick Concannon
79d12507b3 8238286: Add new flatMap stream operation that is more amenable to pushing
This patch adds a new flatmap-like operation called mapMulti to the java.util.Stream class as well as the primitive variations of this operation i.e. mapMultiToInt, IntStream mapMulti, etc.

Reviewed-by: psandoz, smarks
2020-08-31 16:12:32 +01:00
Ioi Lam
dd89c92c50 8251560: Remove excessive header file inclusion from systemDictionary.hpp and others
Reviewed-by: coleenp
2020-08-31 08:05:08 -07:00
Coleen Phillimore
a616bc979b 8230052: MLVM findDeadlock test timed out
Add logging for debugging for the next timeout

Reviewed-by: iignatyev, iklam, pchilanomate, dholmes
2020-08-31 09:32:44 -04:00
Phil Race
62cc45c3df 8245400: Upgrade to LittleCMS 2.11
Reviewed-by: serb, jdv
2020-08-31 06:14:42 -07:00
Prasanta Sadhukhan
1a480ab570 8040914: Test javax/swing/JLabel/6596966/bug6596966.java fails : comboBox isn't focus owner
Reviewed-by: prr
2020-08-31 17:53:04 +05:30
Pankaj Bansal
22bb597d0d 8249548: backward focus traversal gets stuck in button group
Reviewed-by: serb
2020-08-31 15:58:57 +05:30
Christian Hagedorn
8d30bb03ee 8249607: C2: assert(!had_error) failed: bad dominance
Fix prevented igvn optimization in SplitIf for LoadNodes which resulted in dominanance errors with loop strip mining.

Reviewed-by: roland, kvn
2020-08-31 12:10:25 +02:00
Yuri Nesterenko
8f98911c7b 8252497: Incorrect numeric currency code for ROL
Reviewed-by: naoto
2020-08-31 12:26:13 +03:00
Stefan Karlsson
24e9d356df 8252368: Undo JDK-8245002: Windows GDI functions don't support NUMA interleaving
Reviewed-by: eosterlund, sjohanss
2020-08-31 11:02:47 +02:00
Stefan Karlsson
178c2ff5eb 8252367: Undo JDK-8245000: Windows GDI functions don't support large pages
Reviewed-by: eosterlund, sjohanss
2020-08-31 11:01:57 +02:00
Stefan Karlsson
1605edfcc3 8139800: Remove OopsInGenClosure
Reviewed-by: kbarrett, sjohanss
2020-08-31 09:57:44 +02:00
Phil Race
3d7b524593 8074844: Resolve disabled warnings for libfontmanager
Reviewed-by: serb, ihse, erikj
2020-08-29 10:07:22 -07:00
Dmitry Markov
acb329cd0e 8252470: java/awt/dnd/DisposeFrameOnDragCrash/DisposeFrameOnDragTest.java fails on Windows
Reviewed-by: serb, prr
2020-08-29 08:10:18 +01:00
Prasanta Sadhukhan
31cccbe016 Merge 2020-08-29 11:14:49 +05:30
Prasanta Sadhukhan
c8b6cfbdc5 Merge 2020-08-29 11:10:16 +05:30
Sergey Bylokhov
33ee441df1 8252349: Delete the "sun.awt.X11.checkSTRUT" property
Reviewed-by: kizune, prr
2020-08-28 22:55:38 +01:00
Erik Joelsson
50cc54c730 8252233: Put debug symbols in symbols-image
Reviewed-by: ihse, aleonard
2020-08-28 12:03:50 -07:00
Vipin Sharma
bfabf1279d 8252265: Replace @exception with @throws java.util.logging package
@exception should be updated with @throws.

Reviewed-by: dfuchs, lancea
2020-08-29 00:00:10 +05:30
Alexander Scherbatiy
5490b03160 8252248: __SIGRTMAX is not declared in musl libc
Reviewed-by: alanb, vtewari, stuefe
2020-08-31 11:18:20 +03:00
Aleksei Voitylov
b957d802e6 8252250: isnanf is obsolete
Reviewed-by: dcubed, mikael
2020-08-31 09:28:32 +03:00
Dean Long
f0b30a5d24 8209961: [AOT] crash in Graal stub when -XX:+VerifyOops is used
Reviewed-by: kvn
2020-08-30 15:53:46 -07:00
Daniel D. Daugherty
02062b34ad 8252551: JDK-8250630 causes build error on Win*
Reviewed-by: dsamersoff
2020-08-30 12:20:59 -04:00
Dmitry Samersoff
09e86303ab 8250630: test/jdk/com/sun/jdi/JdwpListenTest.java fails on Alpine Linux
Make sure that IN6ADDR_ANY is preferred over mapped INADDR_ANY

Reviewed-by: amenkov, sspitsyn
2020-08-30 15:48:16 +03:00
Rajan Halade
24578630cf 8249176: Update GlobalSignR6CA test certificates
Reviewed-by: xuelei
2020-08-29 13:55:48 -07:00
Rahul Yadav
0f64d4bead 8245308: Replace ThreadLocalCoders decoder/encoder cache in java.net.URI
This fix updates java.net.URI and replaces the ThreadLocalCoders optimization.

Reviewed-by: alanb, dfuchs
2020-08-28 18:05:20 +01:00
Igor Ignatyev
e1d29cd6fb 8252401: Introduce Utils.TEST_NATIVE_PATH
Reviewed-by: sspitsyn
2020-08-28 10:28:06 -07:00
Stefan Karlsson
507ec8ab30 8252294: Remove OopsInGenClosure usage from younger_refs_iterate
Reviewed-by: sjohanss, kbarrett
2020-08-28 17:20:19 +02:00
Stefan Karlsson
07a879a9f7 8252289: Remove usage of OopsInGenClosure from full_process_roots
Reviewed-by: sjohanss, kbarrett
2020-08-28 17:20:13 +02:00
Stefan Karlsson
f0acabc64b 8252245: Remove ScanClosure
Reviewed-by: pliden, sjohanss
2020-08-28 17:20:08 +02:00
Pavel Rappo
26b48999df 8252172: Improve prettiness of printing HTML attributes by DocPretty
Reviewed-by: jjg
2020-08-28 15:26:34 +01:00
Erik Joelsson
7df86108cb 8252145: Unify Info.plist files with correct version strings
Reviewed-by: ihse, serb
2020-08-28 06:23:41 -07:00
Prasanta Sadhukhan
925d275a62 Merge 2020-08-28 17:58:18 +05:30
Aleksei Efimov
30c2dbea95 8251182: Fix "no comment" warnings in java.naming
Reviewed-by: lancea, rriggs, dfuchs
2020-08-28 13:10:32 +01:00
Prasanta Sadhukhan
31f2426821 6542439: Significant memory leak in BasicComboBoxUI and MetalComboBoxButton
Reviewed-by: serb
2020-08-28 17:12:50 +05:30
Daniel Fuchs
80d889189a 8245462: HttpClient send throws InterruptedException when interrupted but does not cancel request
Allows an HTTP operation to be cancelled by calling CompletableFuture::cancel(true)

Reviewed-by: michaelm, chegar, alanb
2020-08-28 10:48:17 +01:00
Robbin Ehn
13918a4519 8252414: Redundant suspend check when determining if a java thread is safe
Reviewed-by: dholmes, dcubed, coleenp
2020-08-28 10:30:02 +02:00
Attila Szegedi
4b1b547020 8251538: Modernize and lint Dynalink code
Reviewed-by: sundar
2020-08-28 10:23:21 +02:00
Ioi Lam
9523001f65 8251557: Avoid dumping unused symbols/strings into the CDS archive
Reviewed-by: minqi, ccheung
2020-08-27 22:24:28 -07:00
Prasanta Sadhukhan
b6c6b4a89a 8252469: Backout JDK-8250935 fix
Reviewed-by: prr, serb
2020-08-28 09:17:47 +05:30
Igor Ignatyev
00452d32f5 8252477: nsk/share/ArgumentParser should expect that jtreg "splits" an argument
Reviewed-by: sspitsyn, dholmes
2020-08-27 19:37:51 -07:00
Igor Ignatyev
c58de6c6ff 8252403: rewrite serviceability/7170638/SDTProbesGNULinuxTest.sh to java
Reviewed-by: sspitsyn, amenkov
2020-09-01 12:25:10 -07:00
Vicente Romero
e19022e515 8230776: Javac throws AssertionError in jvm.Gen.visitExec
8231311: javac throws NPE in TransTypes.retype
8230964: Javac throws AssertionError in PoolReader.resolve
8230963: javac throws j.l.CCE in PoolReader.getName
8230919: javac throws j.l.CCE in ClassReader.readClass

Reviewed-by: jlahoda
2020-09-01 14:31:18 -04:00
Harold Seigel
9924c45fae 8252090: JFR: StreamWriterHost::write_unbuffered() stucks in an infinite loop OpenJDK (build 13.0.1+9)
Reviewed-by: hseigel
2020-09-01 18:01:35 +02:00
Ioi Lam
5ca47be633 8252481: Remove excessive include of memTracker.hpp
Reviewed-by: lfoltan, ccheung
2020-09-01 08:29:15 -07:00
Calvin Cheung
0e42d5c4ae 8251860: ClassLoaderData::loaded_classes_do fails with "assert(ZAddress::is_marked(addr)) failed: Should be marked"
Call ClassLoaderDataGraph::loaded_cld_do to collect ClassLoaderData in a GrowableArray and then walk through them to link the classes in each ClassLoaderData.

Reviewed-by: coleenp, iklam
2020-09-01 15:42:30 +00:00
Coleen Phillimore
6428c693f0 8252652: Buggy looking null check in ServiceThread::oops_do()
Remove the null check.

Reviewed-by: stefank
2020-09-01 10:20:35 -04:00
Stefan Johansson
2c4fbbca23 8252141: Rename G1YoungRemSetSamplingThread to better reflect its purpose
Reviewed-by: kbarrett, tschatzl
2020-09-01 15:55:56 +02:00
Evan Whelan
0d1aa3cbc8 8248772: Extra comma in documentation of Thread#interrupt()
Reviewed-by: coffeys, rriggs
2020-09-01 13:35:47 +00:00
Aleksey Shipilev
a1176dc8c9 8252648: Shenandoah: name gang tasks consistently
Reviewed-by: zgu
2020-09-01 15:23:59 +02:00
Joe Darcy
ba7f7fe417 8251921: Expand default constructor warning to cover more cases
Reviewed-by: jjg, abuckley
2020-08-27 13:01:41 -07:00
Jan Lahoda
235ef8e6df 8252458: Test tools/javac/parser/JavacParserTest.java fails on Windows after JDK-8237041
Reviewed-by: vromero
2020-08-27 20:20:39 +02:00
Vladimir Kozlov
edf36d90c3 8252467: AOT need to process new markId DEOPT_MH_HANDLER_ENTRY in compiled code
Reviewed-by: dlong
2020-08-27 10:51:48 -07:00
Jan Lahoda
0504064717 8237041: AssertionError in parsing
Avoid parser crash for deeply nested classes without closing braces, improve error recovery for classes without an opening brace.

Reviewed-by: vromero
2020-08-27 16:15:11 +02:00
Prasanta Sadhukhan
79dd472913 8250935: JFileChooser incorrectly placed "Date" value in "Type" field
Reviewed-by: prr
2020-08-27 17:07:56 +05:30
Phil Race
e0989c0068 8247867: Upgrade to freetype 2.10.2
Reviewed-by: serb
2020-08-26 09:28:03 -07:00
Prasanta Sadhukhan
4b8ea58b76 8250853: Address reliance on default constructors in the javax.swing APIs
Reviewed-by: serb
2020-08-26 17:20:05 +05:30
Prasanta Sadhukhan
fa31c0de68 8250850: Address reliance on default constructors in the javax.swing.plaf.metal APIs
Reviewed-by: serb
2020-08-26 14:47:38 +05:30
Dmitry Markov
0643f3aa4c 8232114: JVM crashed at imjpapi.dll in native code
Reviewed-by: serb, alitvinov
2020-08-26 08:13:33 +01:00
Sergey Bylokhov
4d4161a57e 8250858: Address reliance on default constructors in the Java Sound APIs
Reviewed-by: prr
2020-08-24 22:12:26 +01:00
Kumar Abhishek
e11ce6d5fe 8136363: Nimbus-LaF: background color cleared when setting component name of JToolBar
Reviewed-by: serb, aivanov, dmarkov
2020-08-24 22:48:26 +01:00
Roland Westrelin
c663323043 8252292: 8240795 may cause anti-dependence to be missed
Reviewed-by: thartmann, kvn
2020-08-24 11:29:40 +02:00
Erik Helin
01dc2644c3 8251552: Add minimal CONTRIBUTING.md file
Reviewed-by: iris, ihse
2020-08-27 14:41:33 +02:00
Erik Helin
6ed221cb9a 8251551: Use .md filename extension for README
Reviewed-by: mr, ihse, darcy
2020-08-27 14:33:42 +02:00
Sergey Bylokhov
484864c932 8251558: J2DBench should support shaped and translucent windows
Reviewed-by: avu
2020-08-24 00:34:35 +01:00
Pankaj Bansal
b6c861f9f8 8251252: Add automated testcase for fix done in JDK-8214253
Reviewed-by: serb, psadhukhan
2020-08-23 13:18:47 +05:30
Pankaj Bansal
8bf5b1d18b 8251254: Add automated test for fix done in JDK-8218472
Reviewed-by: serb
2020-08-23 13:09:00 +05:30
Prasanta Sadhukhan
fb8ceae0a7 Merge 2020-08-22 10:23:35 +05:30
Igor Ignatyev
6612598a13 8251998: remove usage of PropertyResolvingWrapper in vmTestbase/jit/t
Reviewed-by: kvn
2020-08-21 19:00:52 -07:00
Calvin Cheung
31d108c1af 8251918: [Graal] Crash in DumpTimeSharedClassInfo::add_verification_constraint
Add NULL check on the return value of SystemDictionaryShared::find_or_allocate_info_for().

Reviewed-by: iklam, minqi
2020-08-22 00:09:23 +00:00
Alex Menkov
ca6d6385f8 8251384: [TESTBUG] jvmti tests should not be executed with minimal VM
Reviewed-by: sspitsyn, iignatyev
2020-08-21 15:49:09 -07:00
Daniel D. Daugherty
5db57dc1a5 8252125: add an "inflating" entry to the "table" of bit patterns in share/oops/markWord.hpp
Reviewed-by: tschatzl, coleenp
2020-08-21 16:01:46 -04:00
Daniel D. Daugherty
d1ab20c633 8252126: 'GVars.stw_random = os::random()' lost by JDK-8246476
Reviewed-by: eosterlund
2020-08-21 16:00:11 -04:00
Lance Andersen
4ee601c870 8252128: Remove javax.transaction Exception references
Reviewed-by: rriggs
2020-08-21 13:10:04 -04:00
Roland Westrelin
6a85e1454d 8241486: G1/Z give warning when using LoopStripMiningIter and turn off LoopStripMiningIter (0)
Reviewed-by: thartmann, kvn
2020-08-21 17:41:57 +02:00
Patrick Concannon
56d8e8a0a1 8189744: Deprecate the JDK-specific API for setting socket options, jdk.net.Sockets
The JDK-specific API `jdk.net.Sockets` has been redundant since Java SE 9 added standard methods to get/set socket options and retrieve per-Socket supported options. This fix deprecates the class and its public methods.

Reviewed-by: chegar, dfuchs
2020-08-27 10:57:13 +01:00
Stefan Karlsson
08310982f4 8247759: ZGC: Replace ZGC specific array implementations with GrowableArray
Reviewed-by: pliden
2020-08-27 09:54:32 +02:00
Stefan Karlsson
16d8f5f6ef 8252224: ZGC: Convert ZValue to use alias templates
Reviewed-by: pliden, kbarrett
2020-08-27 09:53:31 +02:00
Stefan Karlsson
0351595ba8 8252223: ZGC: Convert ZPage to use delegating constructor
Reviewed-by: pliden, sjohanss, kbarrett
2020-08-27 09:52:22 +02:00
Roland Westrelin
84d2c2678a 8252296: Shenandoah: crash in CallNode::extract_projections
Reviewed-by: chagedorn
2020-08-25 14:25:53 +02:00
Jie Fu
c31bcc58b0 8252404: compiler/c1/TestTraceLinearScanLevel.java fails with release VMs
Reviewed-by: kvn, thartmann
2020-08-27 10:35:00 +08:00
Aleksey Shipilev
124db3be8e 8252215: Remove VerifyOptoOopOffsets flag
Reviewed-by: thartmann, kvn
2020-08-27 06:34:27 +02:00
Aleksey Shipilev
0483ff56a0 8252362: C2: Remove no-op checking for callee-saved-floats
Reviewed-by: vlivanov
2020-08-27 06:34:24 +02:00
Jesper Wilhelmsson
7a702ae55e Added tag jdk-16+13 for changeset fd07cdb26fc7 2020-08-27 04:40:05 +02:00
Igor Ignatyev
c98fd38979 8251127: clean up FileInstaller $test.src $cwd in remaining vmTestbase_vm_compiler tests
Reviewed-by: kvn
2020-08-26 17:06:15 -07:00
Jie Fu
f586b6c0cd 8252264: tools/javac/flags/LockedFlagClash.java fails to compile
Reviewed-by: jlahoda
2020-08-25 12:46:18 +08:00
Ioi Lam
d4e6262f3c 8252398: minimal debug build broken - CURRENT_PC undefined in resourceArea.inline.hpp
Reviewed-by: kbarrett
2020-08-26 14:44:23 -07:00
Ioi Lam
a6f41d513e 8252151: Remove excessive inclusion of arguments.hpp
Reviewed-by: coleenp, stuefe
2020-08-26 14:42:07 -07:00
Joe Wang
88f93f3214 8251561: Fix doclint warnings in the java.xml package
Reviewed-by: lancea, naoto, rriggs, erikj, alanb
2020-08-26 17:48:41 +00:00
Sean Mullan
f879698c63 8241003: Deprecate "denigrated" java.security.cert APIs that represent DNs as Principal or String objects
Reviewed-by: xuelei, valeriep, weijun
2020-08-26 13:31:10 -04:00
Rajan Halade
0df797de94 8238157: Remove intermittent key from AmazonCA.java
Reviewed-by: xuelei
2020-08-26 10:22:21 -07:00
Vicente Romero
55dd4401ce 8230918: j.l.NASE in javap
Reviewed-by: jjg
2020-08-26 13:08:39 -04:00
Christian Hagedorn
6c4a27ccb1 8251093: Improve C1 register allocator logging and debugging support
Various printing and debug improvements to better analyze C1 register allocator problems.

Reviewed-by: kvn, thartmann
2020-08-26 13:46:46 +02:00
Christian Hagedorn
84e62e8597 8252037: Optimized build is broken
Fix some optimized build issues.

Reviewed-by: vlivanov, tschatzl, thartmann, kbarrett
2020-08-26 13:41:49 +02:00
Coleen Phillimore
b978ebee46 8244386: convert runtime/Safepoint/AssertSafepointCheckConsistency tests to gtest
Reviewed-by: stuefe, lfoltan, dcubed
2020-08-26 07:55:05 -04:00
Yasumasa Suenaga
0c20de1954 8250598: Hyper-V is detected in spite of running on host OS
Reviewed-by: mbaesken, mdoerr, dholmes
2020-08-26 19:21:09 +09:00
Joshua Zhu
b4787e6c3f 8252259: AArch64: Adjust default value of FLOATPRESSURE
Reviewed-by: aph
2020-08-26 17:34:48 +08:00
Nick Gasson
7856c1a311 8252108: Modify nsk/stress/stack tests to check page size
Reviewed-by: hseigel, stuefe
2020-08-26 11:28:10 +08:00
Aleksey Shipilev
25af8d8f69 8252291: C2: Assignment in conditional in loopUnswitch.cpp
Reviewed-by: thartmann
2020-08-26 09:29:46 +02:00
Aleksey Shipilev
27b5007ad5 8252290: Remove unused enum in CallGenerator
Reviewed-by: thartmann, rrich
2020-08-26 09:29:37 +02:00
Prasanta Sadhukhan
2847cd5e66 Merge 2020-08-21 14:35:52 +05:30
Aleksey Shipilev
2462995662 8252120: compiler/oracle/TestCompileCommand.java misspells "occured"
Reviewed-by: iignatyev
2020-08-21 09:38:27 +02:00
Igor Ignatyev
ef614ed8af 8251996: remove usage of PropertyResolvingWrapper in vm/compiler/complog/uninit
Reviewed-by: kvn, epavlova
2020-08-20 20:17:44 -07:00
Valerie Peng
03f2ab325d 8246383: NullPointerException in JceSecurity.getVerificationResult when using Entrust provider
Removed the static SecureRandom object in JceSecurity whose instantion caused NPE

Reviewed-by: xuelei
2020-08-21 03:09:42 +00:00
Kumar Abhishek
fc19aa9263 8200281: Add missing @Override annotations in ImageIO plugins
Reviewed-by: prr, dmarkov, aivanov
2020-08-20 23:18:29 +01:00
Igor Ignatyev
b2da6e1a90 8252005: narrow disabling of allowSmartActionArgs in vmTestbase
Reviewed-by: sspitsyn
2020-08-20 11:12:00 -07:00
Mikael Vidstedt
51a3b25d71 8252051: Make mlvmJvmtiUtils strncpy uses GCC 10.x friendly
Reviewed-by: iignatyev, kvn
2020-08-20 11:09:25 -07:00
Lance Andersen
6160353be3 8251208: Add missing javadoc comments to java.sql and java.sql.rowsets
Reviewed-by: joehw
2020-08-20 12:38:39 -04:00
Kevin Walls
99c9b39058 8248295: serviceability/jvmti/CompiledMethodLoad/Zombie.java failure with Graal
Reviewed-by: kvn, sspitsyn
2020-08-20 11:42:12 +01:00
Jesper Wilhelmsson
17bc6915a1 Added tag jdk-16+12 for changeset fc8e62b399bd 2020-08-20 11:43:46 +02:00
Jan Lahoda
b29c1fbbd1 8252031: --patch-module java.base= may fail with \"cyclic inheritance involving Object\"
Avoiding clash in use of Flags.LOCKED between Types.asSuper and Check.checkNonCyclic.

Reviewed-by: jjg
2020-08-20 10:48:36 +02:00
Nick Gasson
b9a37e48e2 8251923: "Invalid JNI handle" assertion failure in JVMCICompiler::force_comp_at_level_simple()
Reviewed-by: kvn, dnsimon
2020-08-20 09:32:01 +08:00
Naoto Sato
49e7609da2 8251499: no-placeholder compact number patterns throw IllegalArgumentException
Reviewed-by: joehw, rriggs
2020-08-19 13:41:08 -07:00
Harold Seigel
93c00472eb 8251490: [TESTBUG] The Java thread stack size specified is too small for nsk/stress/stack. Specify at least 448k
Increase the -Xss stack size for some tests, mark other tests as not runnable on AArch64.

Reviewed-by: gziemski, lfoltan
2020-08-19 19:40:46 +00:00
Pavel Rappo
8e4a4cdbe0 8251454: Wrong "self type" in DCTree.DCEndElement
Reviewed-by: jjg
2020-08-19 17:51:14 +01:00
Pavel Rappo
ecfb2914d0 8251357: [DocCommentParser] Infinite loop while looking for the end of a preamble
Reviewed-by: jjg
2020-08-19 17:44:14 +01:00
Conor Cleary
3fb8f4364d 8246047: Replace LinkedList impl in net.http.websocket.BuilderImpl
Replaced usages of LinkedList with ArrayList in http.websocket.BuilderImpl

Reviewed-by: chegar, dfuchs
2020-08-19 16:27:16 +01:00
Kim Barrett
9fc76c2b2c 8251888: Move HotSpot Style Guide wiki subpages to jdk/jdk/doc
Copy unit-test page from wiki, merge jtreg names page into hotspot-style.md

Reviewed-by: kvn, iignatyev
2020-08-19 06:11:15 -04:00
Roland Westrelin
fcd005c417 8251527: CTW: C2 (Shenandoah) compilation fails with SEGV due to unhandled catchproj == NULL
Reviewed-by: chagedorn, kvn
2020-08-19 10:56:08 +02:00
Coleen Phillimore
fc0d883a13 8252149: Compilation error after JDK-8252043
Reviewed-by: hseigel
2020-08-21 11:23:45 -04:00
Patricio Chilano Mateo
e56002c7d3 8242263: Diagnose synchronization on primitive wrappers
Added diagnostic flag DiagnoseSyncOnPrimitiveWrappers

Reviewed-by: dholmes, mdoerr, dcubed, coleenp, egahlin, mgronlun
2020-08-21 15:04:02 +00:00
Coleen Phillimore
fac22ce20c 8252043: Move inner class metaspace cleaning out of safepoint cleanup tasks
Clean up inner metaspaces from ServiceThread if cleanup is needed for concurrent GCs.

Reviewed-by: eosterlund, pchilanomate
2020-08-21 10:01:40 -04:00
Christoph Dreis
9d00332ee5 8252127: Optimize sun.invoke.util.BytecodeDescriptor.unparse
Reviewed-by: mchung, rriggs
2020-08-21 09:29:08 -04:00
Thomas Schatzl
fe8439f0d4 8252086: G1: Remove g1_rs in G1CollectedHeap::initialize
Reviewed-by: sjohanss
2020-08-21 11:57:55 +02:00
Thomas Schatzl
8a56d7e00d 8252034: G1: Remove *g1_reserved* methods
Remove duplicate methods.

Reviewed-by: sjohanss, kbarrett
2020-08-21 11:54:34 +02:00
Thomas Schatzl
f189db2813 8252038: G1: Remove unused G1MarkStatsCache::_num_stats
Reviewed-by: sjohanss, kbarrett
2020-08-21 11:54:33 +02:00
Ziyi Luo
10fb6f9c4b 8245511: G1 adaptive IHOP does not account for reclamation of humongous objects by young GC
Discount humongous object eager reclaim in IHOP allocation rate.

Reviewed-by: tschatzl, sjohanss
2020-08-21 11:54:32 +02:00
Prasanta Sadhukhan
e6a0c6cf4d 8250852: Address reliance on default constructors in the javax.swing.plaf.basic APIs
Reviewed-by: serb, aivanov
2020-08-19 11:49:54 +05:30
Prasanta Sadhukhan
d8d3cc3ab6 8250851: Address reliance on default constructors in the javax.swing.plaf.synth APIs
Reviewed-by: serb
2020-08-19 11:47:48 +05:30
Rahul Yadav
b328bc14a0 8251715: Throw UncheckedIOException in place of InternalError when HttpClient fails due to unavailability of underlying resources required by SSLContext
This fix updates jdk.internal.net.http.HttpClientImpl to throw an UncheckedIOException instead of InternalError.

Reviewed-by: chegar, dfuchs
2020-08-18 16:44:42 +01:00
Evan Whelan
67b3cbff2e 8250748: Doc of URL(String, String, int, String, URLStreamHandler) does not use link
Reviewed-by: dfuchs
2020-08-19 08:58:00 +00:00
Vicente Romero
c2ee432602 8249902: tools/javac/records/mandated_members/read_resolve_method/CheckReadResolveMethodTest.java uses @ignore w/o bug-id
Reviewed-by: jjg
2020-08-18 19:23:58 -04:00
Anton Kozlov
f1e0780668 8251930: Native types mismatch in hotspot
Reviewed-by: aph
2020-08-18 01:34:46 -07:00
Sergey Bylokhov
a1c29335a8 8251469: Better cleanup for test/jdk/javax/imageio/SetOutput.java
Reviewed-by: prr, pbansal
2020-08-18 00:08:21 +01:00
Sergey Bylokhov
fbad5a0d5b 8022535: [TEST BUG] javax/swing/text/html/parser/Test8017492.java fails
Reviewed-by: prr, pbansal
2020-08-18 00:06:57 +01:00
Prasanta Sadhukhan
69c0df6b8f 8250849: Address reliance on default constructors in the javax.swing.plaf APIs
Reviewed-by: prr, serb
2020-08-17 13:36:36 +05:30
Pankaj Bansal
2ef86262e0 8239137: JAWS does not always announce the value of JSliders in JColorChooser
Reviewed-by: serb, prr, kizune
2020-08-17 11:55:31 +05:30
Tejpal Rebari
0cf76bde34 8251125: doclint errors about missing references in Swing javadoc
Reviewed-by: psadhukhan, pbansal
2020-08-17 11:20:44 +05:30
Tejpal Rebari
d6348691ee 8249674: Redo: Nimbus JTree renderer properties persist across L&F changes
Reviewed-by: psadhukhan, prr
2020-08-17 11:18:19 +05:30
Pankaj Bansal
4264cd9f46 8251124: doclint errors about missing accessibility support in HTML files
Reviewed-by: serb
2020-08-16 11:53:50 +05:30
Pankaj Bansal
a0d6a8a174 8251166: Add automated testcases for changes done in JDK-8214112
Reviewed-by: serb
2020-08-16 11:44:05 +05:30
Prasanta Sadhukhan
8d432d29b8 Merge 2020-08-15 11:06:44 +05:30
Gerard Ziemski
087cbbfd69 8237591: Mac: include OS X version in hs_err_pid crash log file
Added macOS and build version to crash lof report

Reviewed-by: dholmes, dcubed
2020-08-14 13:24:24 -05:00
Charlie Gracie
65b99c7b1a 8241065: Shenandoah: remove leftover code after JDK-8231086
Reviewed-by: rkennke
2020-08-14 18:23:43 +02:00
Harold Seigel
5732032707 8251414: Add test that invokeinterface of a protected method in java.lang.Object throws NoSuchMethodError
Add the missing test cases to existing test InterfaceObjectTest.java

Reviewed-by: lfoltan, coleenp
2020-08-14 15:42:09 +00:00
Brian Burkhalter
a963aab1a8 8181919: Refactor test/java/io/File/GetXSpace.sh to java test
Reviewed-by: naoto
2020-08-14 08:12:13 -07:00
Prasanta Sadhukhan
9573ef8bda Merge 2020-08-14 15:49:27 +05:30
Christian Hagedorn
552a73301c 8248791: sun/util/resources/cldr/TimeZoneNamesTest.java fails with -XX:-ReduceInitialCardMarks -XX:-ReduceBulkZeroing
Fix wrong replacement of loads by zero for non-completed InitializationNodes belonging to a clone when ReduceBulkZeroing is disabled.

Reviewed-by: kvn, thartmann
2020-08-14 10:30:51 +02:00
Prasanta Sadhukhan
50f1b87a97 8250811: Address reliance on default constructors in the javax.swing.plaf.multi APIs
Reviewed-by: prr, serb
2020-08-12 19:32:29 +05:30
Sergey Bylokhov
fe8fcfb4be 8078228: Default file manager and web browser didn't launch and got SecurityException
Reviewed-by: jdv, dmarkov
2020-08-11 06:03:16 +01:00
Martin Desruisseaux
d2d5bc7038 8166038: BufferedImage methods getTileGridXOffset() and getTileGridYOffset() return a non 0 value for sub images
Reviewed-by: jdv, serb
2020-08-11 05:52:35 +01:00
Sergey Bylokhov
3148072079 8250857: Address reliance on default constructors in the Java Beans API
Reviewed-by: prr
2020-08-11 05:34:33 +01:00
Sergey Bylokhov
dce1aee4ef 8250856: Address reliance on default constructors in the AWT APIs
Reviewed-by: prr
2020-08-11 05:30:52 +01:00
Phil Race
62a67c5d90 Merge 2020-08-11 10:56:30 -07:00
Phil Race
63b3498733 8251367: [windows] harfbuzz.dll not found causes failure to load sun.font.SunFontManager
Reviewed-by: serb
2020-08-10 21:12:47 -07:00
Patric Hedlin
5d2f6e737b 8250848: [aarch64] nativeGotJump_at() missing call to verify()
Reviewed-by: aph
2020-08-10 17:36:46 +02:00
Magnus Ihse Bursie
d6bd183b84 8251399: JDK-8248701 had incorrect indentation
Reviewed-by: erikj
2020-08-11 16:07:04 +02:00
Coleen Phillimore
b16a01bb67 8251302: Create dedicated OopStorages for Management and Jvmti
Reviewed-by: sspitsyn, dholmes
2020-08-11 07:29:45 -04:00
Dmitry Cherepanov
28f963f6fc 8251365: Build failure on AIX after 8250636
Reviewed-by: dholmes
2020-08-11 13:03:15 +03:00
Hannes Wallnöfer
315ae4c51c 8250954: Avoid multiple warnings for external docs with mismatching modularity
Reviewed-by: jjg
2020-08-11 08:38:47 +02:00
Xiaohong Gong
23ed3a9e91 8250808: Re-associate loop invariants with other associative operations
Reviewed-by: kvn, thartmann
2020-08-11 06:00:43 +00:00
Mikael Vidstedt
91926e262c Merge 2020-08-10 22:25:26 -07:00
Vladimir Kozlov
b83ea8b391 8251369: [JVMCI] Backout 8246347 changes
Reviewed-by: dholmes
2020-08-10 16:26:08 -07:00
Vladimir Kozlov
092389e3c9 8249749: modify a primitive array through a stream and a for cycle causes jre crash
Check align_to_ref for NULL early and bailout SuperWord optimization.

Reviewed-by: vlivanov, thartmann
2020-08-10 15:31:01 -07:00
Mandy Chung
6cfe3fea08 Merge 2020-08-10 14:57:53 -07:00
Doug Simon
e64a25b256 8246347: [JVMCI] Set is_method_handle_invoke flag accordingly when describing scope in jvmciCodeInstaller
Reviewed-by: kvn, dlong
2020-08-10 21:52:02 +02:00
Vladimir Kempik
5e9702d390 8250876: Fix issues with cross-compile on macos
Reviewed-by: erikj, ihse
2020-08-10 22:42:09 +03:00
Evgeny Nikitin
929ffca471 8069411: OutOfMemoryError in OverloadCompileQueueTest.java
OOME seems to have happened in older version and does not show up in modern VM, hence the test OverloadCompileQueueTest.java gets un-quarantined.

Reviewed-by: iignatyev
2020-08-10 16:11:40 +02:00
Evgeny Nikitin
714db70bf3 8251349: Add TestCaseImpl to OverloadCompileQueueTest.java's build dependencies
Reviewed-by: iignatyev, kvn
2020-08-10 20:31:27 +02:00
Claes Redestad
ae912be86f 8251459: Compute caller save exclusion RegMasks once
Reviewed-by: kvn, vlivanov
2020-08-18 15:34:28 -07:00
Zhengyu Gu
f797e19e3d 8251910: Shenandoah: Handshake threads between weak-roots and reset phases
Reviewed-by: rkennke
2020-08-18 13:34:10 -04:00
Pavel Rappo
9871f3a27a 8251939: Fix copy-paste issues and address TODOs
Reviewed-by: jjg
2020-08-18 17:34:59 +01:00
Magnus Ihse Bursie
74cb1b4e75 8251541: "no symbols" printed when building hotspot
Reviewed-by: erikj
2020-08-18 17:35:38 +02:00
Evan Whelan
54490d30c8 8249691: jdk/lambda/vm/StrictfpDefault.java file can be removed
Reviewed-by: coffeys
2020-08-18 14:43:28 +00:00
Per Lidén
e8d284faac 8248266: ZGC: TestUncommit.java fails due to "Exception: Uncommitted too fast" again
Reviewed-by: shade, eosterlund
2020-08-18 16:37:09 +02:00
Dong Bo
f779affda0 8251885: aarch64: aarch64-asmtest.py script generates unpredictable instructions
Reviewed-by: aph
2020-08-18 10:20:23 +08:00
Aleksey Shipilev
70c0815335 8251924: 32-bit build failures after JDK-8235765
Reviewed-by: dholmes
2020-08-18 12:46:33 +02:00
Daniel Fuchs
daffaa8376 8251160: Fix "no comment" warnings in java.logging
Add missing documentation to the Serialized Form of Level and LogRecord.

Reviewed-by: lancea, mchung
2020-08-18 11:37:17 +01:00
Albert Mingkun Yang
74ae13716b 8251463: Obsolete -XX:ForceNUMA option
Reviewed-by: kbarrett, sjohanss, lkorinth
2020-08-18 11:43:24 +02:00
Pavel Rappo
cc8d52020d 8251550: Clean up jdk.javadoc and the related parts of jdk.compiler
Reviewed-by: jjg
2020-08-18 10:29:06 +01:00
Joe Darcy
61e42ed85d 8071961: Add javac lint warning when a default constructor is created
Reviewed-by: jjg, jlahoda, abuckley, erikj, mcimadamore
2020-08-17 18:58:20 -07:00
Rajan Halade
39c9560cbf 8251859: sun/security/validator/PKIXValAndRevCheckTests.java fails
Reviewed-by: jnimeh
2020-08-17 17:26:30 -07:00
Jesper Wilhelmsson
38f4f06ccc Merge 2020-08-18 01:08:18 +02:00
Vicente Romero
c190193eac 8246804: Incorrect copyright header in TypeAnnotationParser.java
Reviewed-by: darcy, psandoz
2020-08-17 17:33:51 -04:00
Alexander Matveev
89d7530411 8250803: pkgbuild failed with exit code 134
Reviewed-by: herrick, asemenyuk
2020-08-17 13:41:22 -07:00
Calvin Cheung
57d2c86985 8247529: Crash in runtime/cds/appcds/dynamicArchive/LambdaProxyCallerIsHidden.java with Graal
Avoid inserting InstanceKlass into the DumpTimeSharedClassTable after dynamic CDS dumping has started. Acquire the DumpTimeTable_lock before iterations on _dumptime_table to ensure memory order correctness.

Reviewed-by: iklam, minqi
2020-08-17 18:46:38 +00:00
Andy Herrick
5dbcdbbef7 8250611: Cannot display splash screen on Windows
Reviewed-by: asemenyuk, almatvee, prr
2020-08-17 11:59:36 -04:00
Coleen Phillimore
35421399a4 8235765: Use of the long type should be avoided in shared code
Changed some long declarations to uint64_t/int64_t or unsigned int, depending on context.

Reviewed-by: lfoltan, kvn, dholmes
2020-08-17 10:08:36 -04:00
Stefan Karlsson
51c8ac362e 8251837: Rename get_safepoint_workers to safepoint_workers
Reviewed-by: tschatzl
2020-08-17 11:36:09 +02:00
Patrick Concannon
34949494e4 7164518: No PortUnreachableException when connecting to a non-existing DatagramSocket (mac)
This fix changes the test to run with the new impl of DatagramSocket, which remedies the issue that caused the test to fail with a wrong expection and can now be taken off the ProblemList.

Reviewed-by: dfuchs
2020-08-17 10:36:20 +01:00
Stefan Karlsson
5d9c1e45dc 8251835: JDK-8251374 breaks jmap -dump:all
Reviewed-by: phh, sspitsyn
2020-08-17 11:34:49 +02:00
Stefan Karlsson
2631422bc5 8251570: JDK-8215624 causes assert(worker_id <' _n_workers) failed: Invalid worker_id
Reviewed-by: kbarrett, sjohanss
2020-08-17 11:32:26 +02:00
Stefan Karlsson
ea73b5b0d9 8233281: Obsolete UseSemaphoreGCThreadsSynchronization
Reviewed-by: tschatzl, kbarrett, ayang
2020-08-17 11:30:09 +02:00
Thomas Schatzl
55e3560abc 8245721: Refactor the TaskTerminator
Improve the structure of the TaskTerminator code to make it more understandable and amenable to improvements.

Reviewed-by: zgu, kbarrett, lkorinth
2020-08-17 11:23:54 +02:00
Martin Doerr
f1a5cbb11e 8251846: Replace __linux which is no longer defined
Reviewed-by: dholmes, goetz
2020-08-17 10:40:46 +02:00
Nick Gasson
fb300a3ff3 8251517: [TESTBUG] com/sun/net/httpserver/bugs/B6393710.java does not scale socket timeout
Reviewed-by: dfuchs
2020-08-14 18:08:30 +08:00
Ioi Lam
77522d1270 8251559: Remove empty file utilities/sizes.cpp
Reviewed-by: ccheung, dholmes
2020-08-15 18:13:49 -07:00
Daniel D. Daugherty
50c37fc749 8251543: add mention of INFLATING() to share/oops/markWord.hpp header comment
Reviewed-by: kbarrett
2020-08-15 16:02:29 -04:00
Mikael Vidstedt
d1b6691295 Added tag jdk-15+36 for changeset e3f940bd3c8f 2020-08-12 20:07:07 -07:00
Pankaj Bansal
79a4a019bb 8247753: UIManager.getSytemLookAndFeelClassName() returns wrong value on Fedora 32
Reviewed-by: prr, psadhukhan
2020-08-09 14:30:02 +05:30
Athijegannathan Sundararajan
f70fc149b5 8251276: JDK-8248299 breaks JDK 15 validate-headers build
Reviewed-by: mchung, iris, vtewari
2020-08-08 12:22:05 +05:30
Nick Gasson
90f0612ada 8247354: [aarch64] PopFrame causes assert(oopDesc::is_oop(obj)) failed: not an oop
Reviewed-by: adinn
2020-08-07 14:10:55 +08:00
Ioi Lam
35e3226df8 8250990: Consolidate object copying code for CDS static/dynamic archive dumping
Reviewed-by: coleenp, ccheung
2020-08-13 18:40:51 -07:00
Lin Zang
7638580477 8251374: jmap -dump could accept invalid options
Emit usage(1) in dump() argument loop

Reviewed-by: sspitsyn, phh
2020-08-13 13:57:12 -07:00
Daniel D. Daugherty
0db838628c Merge 2020-08-13 15:42:21 -04:00
Xue-Lei Andrew Fan
473fa82000 8250839: Improve test template SSLEngineTemplate with SSLContextTemplate
Reviewed-by: ascarpino
2020-08-13 12:31:12 -07:00
Lin Zang
3498a10a2b 8215624: Add parallel heap iteration for jmap –histo
Chunk and parallelize the heap scan

Reviewed-by: sspitsyn, stefank, phh
2020-08-13 11:31:37 -07:00
Paul Hohensee
9f090cb6f8 8215624: Add parallel heap iteration for jmap –histo
Chunk and parallelize the heap scan

Reviewed-by: sspitsyn, stefank, phh
2020-08-13 11:31:37 -07:00
Igor Ignatyev
e44575ad3e 8251526: CTW fails to build after JDK-8251121
Reviewed-by: shade
2020-08-13 10:33:51 -07:00
Rahul Yadav
d8355e0281 8249773: Upgrade ReceiveISA.java test to be resilient to failure due to stray packets and interference
This fix upgrades java/nio/channels/DatagramChannel/ReceiveISA.java so it can handle interference from stray packets.

Reviewed-by: alanb, dfuchs
2020-08-13 17:48:15 +01:00
Brian Burkhalter
03e5f256ca 8245304: Re-examine ThreadLocal usage in java.math.BigDecimal
Reviewed-by: darcy, alanb
2020-08-13 09:33:28 -07:00
Patricio Chilano Mateo
12ae68b197 8251118: BiasedLocking::preserve_marks should not have a HandleMark
Removed HandleMark from BiasedLocking::preserve_marks() method

Reviewed-by: hseigel, coleenp, dcubed, tschatzl, dholmes
2020-08-13 15:42:41 +00:00
Magnus Ihse Bursie
19a08080e4 8251516: VSCode IDE configuration specifies c++03
Reviewed-by: erikj
2020-08-13 17:34:31 +02:00
Magnus Ihse Bursie
9edcdf12a0 8251533: MacOS build of libjimage explicitly adds C++ standard library
Reviewed-by: erikj
2020-08-13 17:10:48 +02:00
Patrick Concannon
a096c0a83f 8240901: Add a test to check that large datagrams are sent/received on the network correctly
This fix updates `java/net/DatagramSocket/SendReceiveMaxSize.java` and `java/net/DatagramSocket/SendReceiveMaxSize.java` to check (on all platforms) that the sending/receiving of large datagrams across a network are sent, fragmented, and re-assembled correctly

Reviewed-by: alanb, dfuchs
2020-08-13 15:40:13 +01:00
Kim Barrett
e648a907b3 8250597: G1: Improve inlining around trim_queue
Refactor, using NOINLINE and (new) ATTRIBUTE_FLATTEN for control.

Reviewed-by: tschatzl, sjohanss
2020-08-13 10:02:35 -04:00
Tobias Hartmann
191e1e6075 8251458: Parse::do_lookupswitch fails with "assert(_cnt >= 0) failed"
Limit the counter value to max_jint.

Reviewed-by: kvn, vlivanov, chagedorn
2020-08-13 16:01:45 +02:00
Tobias Hartmann
51b3bd2c2e 8251456: [TESTBUG] compiler/vectorization/TestVectorsNotSavedAtSafepoint.java failed OutOfMemoryError
Removed allocation of large arrays to avoid OOME.

Reviewed-by: kvn, chagedorn
2020-08-13 15:59:12 +02:00
Prasanta Sadhukhan
0615eac2e6 8249838: javax.swing.JLayeredPane has used valueOf twice in example code in documentation
Reviewed-by: jdv, pbansal
2020-08-07 09:23:54 +05:30
Prasanta Sadhukhan
2c00d740d4 8251187: Mark BasicComboNPE regression test as headful
Reviewed-by: prr
2020-08-07 09:21:46 +05:30
Athijegannathan Sundararajan
764b50a7e3 8248299: two jdeps files miss copyright header
Reviewed-by: mchung
2020-08-07 07:03:12 +05:30
Phil Race
c32923e06f 8240487: Cleanup whitespace in .cc, .hh, .m, and .mm files
Reviewed-by: serb, kizune, kcr, cjplummer
2020-08-06 09:43:10 -07:00
Mikael Vidstedt
44c6537b57 Added tag jdk-15+35 for changeset fd60c3146a02 2020-08-05 18:59:04 -07:00
Mandy Chung
18d5626e25 8250929: Missing "classpath exception" in LambdaProxyClassArchive.java
Reviewed-by: sundar
2020-08-05 13:24:53 -07:00
Leonid Mesnik
13946835b5 8244537: JDI tests fail due to "ERROR: Exception : nsk.share.jdi.JDITestRuntimeException: JDITestRuntimeException : ** event IS NOT a breakpoint **"
Reviewed-by: sspitsyn, amenkov
2020-08-05 10:48:55 -07:00
Igor Ignatyev
0019679c69 8251190: nsk jdi tests failing "TestBug: Exception during config file parsing: java.io.FileNotFoundException"
Reviewed-by: dholmes, sspitsyn
2020-08-05 08:57:21 -07:00
Prasanta Sadhukhan
c798b3d040 6709913: BasicComboBoxUI.isPopupVisible returns NullPointerException
Reviewed-by: serb
2020-08-05 17:49:11 +05:30
Galder Zamarreno
96f56eb4fc 8248158: Configure fails with autoconf not found even though it's installed
Reviewed-by: erikj, ihse, stooke
2020-08-05 11:59:10 +02:00
Coleen Phillimore
97bbbbba51 8235573: Move JFR ObjectSample oop into OopStorage
Reviewed-by: mgronlun, dholmes, kbarrett
2020-08-05 10:25:49 -04:00
Harold Seigel
c200b4f1cb 8139875: [TESTBUG] Improve nsk/stress/stack/* tests
Use -Xss200k to limit the stack size, avoid running with -Xcomp, and, in one test, reduce iterations.

Reviewed-by: dholmes, lfoltan
2020-08-05 13:27:43 +00:00
Boris Ulasevich
1066357887 8248445: Use of AbsI/AbsL nodes should be limited to supported platforms
Reviewed-by: kvn, vlivanov
2020-08-05 06:31:32 -04:00
Alexander Zuev
7f74c7dd7f 8212226: SurfaceManager throws "Invalid Image variant" for MultiResolutionImage (Windows)
Reviewed-by: serb
2020-08-05 12:52:33 +03:00
Joe Darcy
3a0741afa1 8250920: Increase @jls usage in core reflection
Reviewed-by: mchung
2020-08-04 20:31:57 -07:00
Igor Ignatyev
61ebb6adb7 8249030: clean up FileInstaller $test.src $cwd in vmTestbase_nsk_jdi tests
Reviewed-by: dholmes, sspitsyn
2020-08-04 20:05:47 -07:00
Igor Ignatyev
a53ecac07c 8251128: remove vmTestbase/vm/compiler/jbe/combine
Reviewed-by: kvn
2020-08-04 20:04:47 -07:00
Jie Fu
30c8811d11 8251031: Some vmTestbase/nsk/monitoring/RuntimeMXBean tests fail with hostnames starting from digits
Reviewed-by: dholmes, cjplummer, sspitsyn
2020-08-05 10:54:18 +08:00
David Holmes
6b8c16cf41 8248906: runtime/Thread/ThreadObjAccessAtExit.java fails due to OutOfMemoryErrors
Reviewed-by: mdoerr
2020-08-04 21:11:45 -04:00
Alexander Matveev
45c4d9d519 8250646: hdiutil detach fix JDK-8245311 still fails sometimes
Reviewed-by: herrick, asemenyuk
2020-08-04 17:47:51 -07:00
Yasumasa Suenaga
36b129fe84 8250826: jhsdb does not work with coredump which comes from Substrate VM
Reviewed-by: cjplummer, sspitsyn
2020-08-05 09:24:02 +09:00
Chris Plummer
eaf70e0ab8 8247516: DSO.closestSymbolToPC() should use dbg.lookup() rather than rely on java ELF file support
Reviewed-by: sspitsyn, ysuenaga
2020-08-04 13:58:11 -07:00
Zdenek Zambersky
1cc09ccaef 8251117: Cannot check P11Key size in P11Cipher and P11AEADCipher
Reviewed-by: valeriep
2020-08-04 17:19:21 -03:00
Charlie Gracie
ed5696dd2c 8251361: Potential race between Logger configuration and GCs in HttpURLConWithProxy test
Keep a static reference to the logger to prevent its inadvertent garbage collection while the test is running.

Reviewed-by: dfuchs
2020-08-10 19:21:50 +01:00
Brian Burkhalter
688e5d9071 Merge 2020-08-10 10:32:27 -07:00
Brian Burkhalter
d0d925c13a 8251017: java/io/File/GetXSpace.java fails on UNIX
Reviewed-by: naoto
2020-08-10 10:25:17 -07:00
Joe Wang
b5f785ba9b 8246816: XMLGregorianCalendar.hashCode() produces far too many identical hashes
Reviewed-by: naoto, rriggs
2020-08-10 17:16:56 +00:00
Brian Burkhalter
db1e207a72 8249703: test/jdk/java/io/File/GetXSpace.java fails on macos
Reviewed-by: naoto
2020-08-10 09:54:34 -07:00
Tagir F. Valeev
55e381b32f 8247605: Avoid array allocation when concatenating with empty string
Reviewed-by: redestad, plevart
2020-08-10 16:14:03 +00:00
Rahul Yadav
8e687450d6 8248006: Revisit exceptions thrown when creating an HttpClient fails due to unavailability of underlying resources
This fix updates jdk.internal.net.http.HttpClientImpl to throw an UncheckedIOException instead of InternalError.

Reviewed-by: chegar, dfuchs
2020-08-10 15:15:10 +01:00
Kim Barrett
b35a3bdee9 8251322: Improve BitMap::iterate
Rewrite and inline BitMap::iterate.

Reviewed-by: stuefe, dholmes, tschatzl
2020-08-10 10:54:56 -04:00
Thomas Stuefe
c57d89ad1a 8251255: [linux] Add process-memory information to hs-err and VM.info
Reviewed-by: dholmes, mdoerr
2020-08-10 15:42:20 +02:00
Nikola Grcevski
c2fa441d8d 8250521: Configure initial RTO to use minimal retry for loopback connections on Windows
Reviewed-by: alanb
2020-08-10 12:57:38 +01:00
Charlie Gracie
7332181372 8251303: C2: remove unused _site_invoke_ratio and related code from InlineTree
Reviewed-by: vlivanov, thartmann
2020-08-10 12:12:40 +03:00
Dmitry Cherepanov
1d480a7b96 8250636: iso8601_time returns incorrect offset part on MacOS
Reviewed-by: dholmes, gziemski
2020-08-10 11:25:38 +03:00
Charlie Gracie
660272ce7c 8241574: Shenandoah: remove ShenandoahAssertToSpaceClosure
Reviewed-by: zgu, bmathiske, shade
2020-08-10 08:37:05 +02:00
Nikola Grcevski
032a4d6b9f 8241007: Shenandoah: remove ShenandoahCriticalControlThreadPriority support
Reviewed-by: adityam, shade
2020-08-10 08:36:56 +02:00
Tobias Hartmann
970e251a54 8249608: Vector register used by C2 compiled method corrupted at safepoint
Always update 'max_vlen_in_bytes'.

Reviewed-by: kvn, vlivanov, chagedorn
2020-08-10 08:21:14 +02:00
Ioi Lam
c1093dc244 8251213: [TESTBUG] CDS tests shouldn't write output files into test.classes directory
Reviewed-by: minqi, ccheung
2020-08-09 20:56:04 -07:00
Chris Plummer
ee060c777c 8241951: SA core file tests failed to find core file for signed binaries on OSX 10.15
Reviewed-by: amenkov, dcubed
2020-08-09 19:38:51 -07:00
Thomas Stuefe
6df465de73 8251257: NMT: jcmd VM.native_memory scale=1 crashes target VM
Reviewed-by: zgu, dholmes
2020-08-09 09:20:02 +02:00
Abdul Kolarkunnu
b5d775f115 8248745: Add jarsigner and keytool tests for restricted algorithms
Reviewed-by: mullan, hchao
2020-08-08 20:29:27 -07:00
Jatin Bhateja
3ed56830b4 8248830: C2: Optimize Rotate API on x86
Improved existing scalar rotate operations, added support for vector rotate operations using new AVX512 instructions.

Reviewed-by: vlivanov, kvn
2020-08-09 02:03:09 +05:30
Alexander Matveev
084e15bca3 8248905: [macos] symbolic links not properly resolved
Reviewed-by: herrick, asemenyuk
2020-08-07 19:04:45 -07:00
Vladimir Kozlov
c79e6346d0 8250233: -XX:+CITime triggers guarantee(events != NULL) in jvmci.cpp:173
Add missing EnableJVMCI flag check. Refactoring compiler print statistic code.

Reviewed-by: thartmann
2020-08-04 13:16:45 -07:00
Phil Race
84e397b4de 8250894: Provide a configure option to build and run against the platform libharfbuzz
Reviewed-by: erikj
2020-08-04 12:20:37 -07:00
Calvin Cheung
d7c7f70a6a 8249586: Test runtime/cds/appcds/DirClasspathTest.java will fail if run twice
Add the StandardCopyOption.REPLACE_EXISTING option when calling Files.copy().

Reviewed-by: iklam
2020-08-04 19:17:31 +00:00
Mandy Chung
f4de95a97c 8250219: Proxy::newProxyInstance spec should specify the behavior if a given proxy interface is hidden
Reviewed-by: alanb
2020-08-04 10:36:02 -07:00
Mandy Chung
38af8be984 8022795: Method.isVarargs of dynamic proxy generated method to match the proxy interface method
Reviewed-by: rriggs, darcy
2020-08-04 10:26:39 -07:00
Kim Barrett
b0ceab23dd 8250652: Add logical operations on types
Add stand-ins for C++17 logical operations on types.

Reviewed-by: eosterlund, tschatzl
2020-08-04 04:19:23 -04:00
Yasumasa Suenaga
39616b4d7c 8250930: [TESTBUG] Some forceEarlyReturn00* tests failed due to compiler optimization
Reviewed-by: cjplummer, dholmes
2020-08-04 15:28:27 +09:00
Mikael Vidstedt
00d223cff6 8250899: Backout JDK-8249628 from jdk/jdk
Reviewed-by: erikj
2020-08-03 22:10:31 -07:00
Mikael Vidstedt
bafa476135 Merge 2020-08-03 22:08:37 -07:00
Mikael Vidstedt
15a9c29036 Merge 2020-08-03 21:56:35 -07:00
Mikhailo Seledtsov
4bd94fb9ea 8250986: Problem list docker/TestMemoryAwareness.java and docker/TestDockerMemoryMetrics.java for linux-5.4.0-1019-oracle
Problem listed the tests

Reviewed-by: dholmes
2020-08-03 18:58:53 -07:00
Chris Plummer
54bed60bfe 8250750: JDK-8247515 fix for OSX pc_to_symbol() lookup fails with some symbols
8249150: SA core file tests sometimes time out on OSX with "java.io.IOException: App waiting timeout"

Reviewed-by: sspitsyn, amenkov
2020-08-03 17:38:22 -07:00
Chris Plummer
d12fdfa3b7 8250750: JDK-8247515 fix for OSX pc_to_symbol() lookup fails with some symbols
Reviewed-by: sspitsyn, kevinw
2020-08-03 16:11:41 -07:00
Rajan Halade
1e535dfa53 8243320: Add SSL root certificates to Oracle Root CA program
Reviewed-by: mullan
2020-08-03 11:35:24 -07:00
Albert Mingkun Yang
9385203fbd 8250628: ZGC: fixup_partial_loads was removed, but still are referenced
Reviewed-by: eosterlund, kbarrett, lkorinth
2020-08-03 14:01:00 +02:00
Jayathirth D V
42f4170b2a 8243674: Remove language tag length limit for iTXt chunk in PNGImageReader
Reviewed-by: prr, serb
2020-08-03 17:27:05 +05:30
Christian Hagedorn
696b9e1847 8249605: C2: assert(no_dead_loop) failed: dead loop detected
Fixed dead loop detection in PhiNode::Ideal() to additionally account for dead MergeMemNodes

Reviewed-by: kvn, thartmann
2020-08-03 09:21:45 +02:00
Yasumasa Suenaga
e15e30fef2 8249215: JFrame::setVisible crashed with -Dfile.encoding=UTF-8 on Japanese Windows
Reviewed-by: prr, serb
2020-08-03 15:29:48 +09:00
Monica Beckwith
d9abf606d9 8250824: AArch64: follow up for JDK-8248414
The original change missed to update an assert.

Co-authored-by: Ludovic Henry <luhenry@microsoft.com>
Co-authored-by: Bernhard Urban-Forster <beurba@microsoft.com>
Reviewed-by: dholmes
2020-08-03 00:16:49 -04:00
Aleksey Shipilev
ddb726d4a0 8250844: Make sure {type,obj}ArrayOopDesc accessors check the bounds
Reviewed-by: rrich, coleenp
2020-08-02 16:58:14 +02:00
Thomas Stuefe
aab365f746 8250911: [windows] os::pd_map_memory() error detection broken
Reviewed-by: iklam, kbarrett
2020-08-02 09:54:33 +02:00
Prasanta Sadhukhan
13a335722f Merge 2020-08-02 10:34:21 +05:30
Robert Field
9390446081 8249566: jshell tool: retained modes from JDK-13 or prior cause confusing messages to be generated for records
Reviewed-by: jlahoda
2020-08-01 14:18:06 -07:00
Prasanta Sadhukhan
b76a154c6d Merge 2020-08-01 17:54:03 +05:30
Chihiro Ito
ee5dc7cbb4 8250818: idea.sh script doesn't work on WSL 1 and 2
Reviewed-by: erikj
2020-08-01 20:25:02 +09:00
Jie Fu
e03ca73dc1 8250825: C2 crashes with assert(field != __null) failed: missing field
Reviewed-by: kvn, thartmann
2020-07-31 17:10:46 +08:00
Xin Liu
a9ad296a55 8249809: avoid calling DirectiveSet::clone(this) in compilecommand_compatibility_init
Add DirectiveSet smart pointer to isolate cloning

Reviewed-by: simonis, thartmann
2020-07-31 11:35:25 -07:00
Joe Wang
024fa0969a 8250638: Address reliance on default constructors in java.xml
Reviewed-by: darcy, lancea
2020-07-31 18:25:12 +00:00
Patrick Concannon
dc71097c2e 8250889: Disable testing SendReceiveMaxSize with preferIPv4Stack=true on the old impl until JDK-8250886 is fixed
The `test java/net/DatagramSocket/SendReceiveMaxSize` is currently failing when run with `-Djdk.net.usePlainDatagramSocketImpl` and `-Djava.net.preferIPv4Stack=true`. This fix removes these run settings from the test until a more permanent solution can be found.

Reviewed-by: dfuchs
2020-07-31 18:59:27 +01:00
Vicente Romero
229f41808d 8250629: do not allow C-style array declaration in record components
Reviewed-by: jlahoda
2020-07-31 12:13:52 -04:00
Naoto Sato
58107e52a8 8233048: WeekFields.ISO is not a singleton
Reviewed-by: joehw, rriggs, scolebourne
2020-07-31 09:09:53 -07:00
Vicente Romero
0f5e57aa8c 8250741: an annotation interface may not be declared as a local interface
Reviewed-by: jlahoda
2020-07-31 12:05:55 -04:00
Patrick Concannon
7fd5cb6117 8242885: PlainDatagramSocketImpl doesn’t allow for the sending of IPv6 datagrams on macOS with sizes between 65508-65527 bytes
This fix changes the current max size for IPv6 datagrams on macOS from it's current size of 65507, which is the IPv4 limit, to 65527, the actual limit for IPv6 on macOS

Reviewed-by: alanb, dfuchs, vtewari
2020-07-31 12:42:32 +01:00
Patrick Concannon
2dda9965cd 8246164: SendDatagramToBadAddress.java and ChangingAddress.java should be changed to explicitly require the new DatagramSocket implementation
This fix updates these tests to explicitly run with `-Djdk.net.usePlainDatagramSocketImpl=false` to avoid false failures when running all tests with a global jtreg -Djdk.net.usePlainDatagramSocketImpl switch.

Reviewed-by: vtewari
2020-07-31 12:12:49 +01:00
Hannes Wallnöfer
1cc8d3a34b 8241518: Member signature parameter span contains closing but not opening parens
Reviewed-by: prappo
2020-07-31 12:09:59 +02:00
Pankaj Bansal
38636a8c96 8233635: [TESTBUG] ProgressMonitorEscapeKeyPress.java fails on macos
Reviewed-by: psadhukhan
2020-07-31 13:25:15 +05:30
Richard Reingruber
c4bb35ef33 8249293: Unsafe stackwalk in VM_GetOrSetLocal::doit_prologue()
Reviewed-by: sspitsyn, dholmes
2020-07-31 09:07:29 +02:00
Kim Barrett
52117c6f62 8251850: Refactor ResourceMark and DeoptResourceMark for better code sharing
Move saved state to ResourceArea, merge most of marks into shared helper.

Reviewed-by: stuefe, iklam, tschatzl, xliu, vlivanov
2020-08-25 22:17:04 -04:00
Vladimir Kozlov
0ea0338055 8252331: JDK-8252058 is causing failures in Tier1
Added Graal changes which were missing in 8252058 push.

Reviewed-by: dcubed
2020-08-25 15:00:37 -07:00
Yudi Zheng
13c176bee4 8252058: [JVMCI] Rework setting is_method_handle_invoke flag in jvmciCodeInstaller
Reviewed-by: kvn, dlong
2020-08-25 22:23:08 +02:00
Roger Riggs
afce1f4ebd 8251203: Fix "no comment" warnings in java.base/java.lang and java/io
Reviewed-by: dfuchs, lancea, mchung, naoto
2020-08-25 10:20:14 -04:00
Jie Fu
5585e6f63a 8251155: HostIdentifier fails to canonicalize hostnames starting with digits
Reviewed-by: sspitsyn, redestad
2020-08-05 15:07:25 +08:00
Andy Herrick
9e6782d24b 8251988: jpackage --runtime-image fails on mac when using JDK11 based runtime
Reviewed-by: asemenyuk, almatvee, prr
2020-08-25 07:54:59 -04:00
Vipin Sharma
d4626d89cc 8251542: Several small Javadoc errors in java.base
Fixing wrong exception type in throws clause and wrong return type description

Reviewed-by: darcy, dfuchs, mullan, mchung, rriggs
2020-08-25 09:27:36 +01:00
Jose Ziviani
eaeddeddb1 8248190: Enable Power10 system and implement new byte-reverse instructions
Reviewed-by: mdoerr, stuefe
2020-08-25 09:01:54 +09:00
Lin Zang
8ebe591a28 8252101: Add description of expected behavior of using "live" and "all" options together for jmap
Update description

Reviewed-by: dcubed, sspitsyn, phh
2020-08-24 13:48:17 -07:00
Lin Zang
58a3e40a5c 8251848: JMap.histo() and JMap.dump() should parse sub-arguments similarly
Update JMap histo/dump parsing code

Reviewed-by: sspitsyn, phh
2020-08-24 13:47:33 -07:00
Igor Ignatyev
8ce2053723 8252186: remove FileInstaller action from vmTestbase/jit/graph tests
Reviewed-by: kvn
2020-08-24 13:23:34 -07:00
Attila Szegedi
97f8261e41 8252124: Restore Dynalink tests
Reviewed-by: sundar
2020-08-23 14:58:59 +02:00
Ioi Lam
e4eaa2377b 8252056: Move DumpRegion/ReadClosure/WriteClosure to archiveUtils.hpp
Reviewed-by: ccheung, minqi
2020-08-22 17:09:41 -07:00
Yumin Qi
56881d6465 8249096: Clean up code for DumpLoadedClassList
Clean up code for DumpLoadedClassList output code, centralize in InstanceKlass.

Reviewed-by: iklam, dcubed
2020-08-21 22:23:12 -07:00
Sergey Bylokhov
72b530aac4 8250755: Better cleanup for jdk/test/javax/imageio/plugins/shared/CanWriteSequence.java
Reviewed-by: jdv
2020-07-31 00:19:42 +01:00
Bernhard Urban
d3776c7d30 8248816: C1: Fix signature mismatch of LIRGenerator::strengh_reduce_multiply
Co-authored-by: Monica Beckwith <monica.beckwith@microsoft.com>
Co-authored-by: Ludovic Henry <luhenry@microsoft.com>
Reviewed-by: aph
2020-07-30 15:05:22 +02:00
David Holmes
07c3021936 8251460: Fix the biased-locking code in ObjectSynchronizer::FastHashCode
Reviewed-by: coleenp, dcubed, pchilanomate
2020-08-13 00:20:42 -04:00
Mikael Vidstedt
60745d14ec Added tag jdk-16+11 for changeset 5c18d696c7ce 2020-08-12 20:23:40 -07:00
Coleen Phillimore
5735fce331 8251489: universe.cpp includes too many headers
Reviewed-by: lfoltan, stuefe
2020-08-12 12:37:16 -04:00
Alexey Semenyuk
ee2e61d7e0 8232621: L10n issues with msi installers
Reviewed-by: herrick, almatvee
2020-08-12 11:38:30 -04:00
Alexander Scherbatiy
c55e52e01f 8241053: Hotspot runtime/CommandLine/OptionsValidation/TestOptionsWithRanges.java test fails on Alpine Linux with debug build
Reviewed-by: dholmes, stuefe, dsamersoff
2020-08-12 15:01:12 +03:00
Coleen Phillimore
7f0777ae88 8251336: OopHandle release can not be called in a safepoint
Release OopStorage oops for threadObj for exiting threads outside the service lock region that is marked as safe for safepoint.

Reviewed-by: zgu, dholmes, kbarrett
2020-08-12 07:54:17 -04:00
Conor Cleary
831f23ee86 8246707: (sc) SocketChannel.read/write throws AsynchronousCloseException on closed channel
This fix addresses an issue where an AsynchronousCloseException was being thrown instead of a ChannelClosedException when SocketChannel.write() is called on a closed SocketChannel.

Reviewed-by: alanb, chegar, dfuchs
2020-08-12 12:32:54 +01:00
Roman Kennke
c540da3c4c 8251451: Shenandoah: Remark ObjectSynchronizer roots with I-U
Reviewed-by: shade
2020-08-12 13:19:44 +02:00
Aleksei Efimov
6a5203877e 8251189: com/sun/jndi/ldap/LdapDnsProviderTest.java failed due to timeout
Reviewed-by: dfuchs, vtewari
2020-08-12 12:01:52 +01:00
Aleksei Efimov
d502554467 8250772: Test com/sun/jndi/ldap/NamingExceptionMessageTest.java fails intermittently with javax.naming.ServiceUnavailableException
Reviewed-by: dfuchs
2020-08-12 11:45:18 +01:00
Christian Hagedorn
9885ac18ac 8249603: C1: assert(has_error == false) failed: register allocation invalid
Added bailout in combine_spilled_intervals() to avoid an overlap between two intervals

Reviewed-by: kvn, thartmann
2020-08-12 08:45:44 +02:00
Ioi Lam
178eea6065 8249276: CDS archived objects must have "neutral" markwords
Reviewed-by: coleenp, dholmes
2020-08-11 22:05:56 -07:00
Vladimir Kozlov
a5ae1e306e 8251306: compiler/aot/cli/jaotc/IgnoreErrorsTest.java timed out on MacOS
Icrease test timout to 6 min

Reviewed-by: iignatyev
2020-08-11 19:44:40 -07:00
David Holmes
fe5817aae8 8251383: Disable Event::log from linux_mprotect when processing the assertion poison page
Reviewed-by: stuefe, dcubed
2020-08-11 20:05:58 -04:00
Clive Verghese
832d896443 8251268: Move PhaseChaitin definitions from live.cpp to chaitin.cpp
Move PhaseChaitin verify_base_ptrs() and verify() from live.cpp to chaitin.cpp

Reviewed-by: chagedorn, kvn
2020-08-11 15:32:55 -07:00
Lance Andersen
dc8026d66d 8251205: Add missing javadoc comments to ZipConstants.java
Reviewed-by: naoto, rriggs
2020-08-11 15:41:47 -04:00
Zhengyu Gu
7ca448b4fc 8251359: Shenandoah: filter null oops before calling enqueue/SATB barrier
Reviewed-by: shade
2020-08-11 14:41:52 -04:00
Prasanta Sadhukhan
fff8122978 8146451: javax/swing/JComponent/4337267/bug4337267.java failed on Windows
Reviewed-by: serb
2020-07-29 17:29:45 +05:30
Prasanta Sadhukhan
8812113984 8169959: javax/swing/JTable/6263446/bug6263446.java: Table should be editing
Reviewed-by: serb
2020-07-28 12:07:20 +05:30
Prasanta Sadhukhan
74eb250e36 8246742: ServiceUI.printDialog does not support properties dialog
Reviewed-by: prr, jdv
2020-07-28 12:00:55 +05:30
Huang Wang
846d21961c 8250609: C2 crash in IfNode::fold_compares
Reviewed-by: kvn, chagedorn
2020-07-28 10:38:04 +08:00
Dean Long
6986d53af9 8248597: [Graal] api/java_security/SignatureSpi/DelegationTests.html fails with Method "javasoft.sqe.tests.api.java.security.SignatureSpi.JCKSignatureSpi.clear" doesn't exist
Reviewed-by: kvn
2020-07-29 23:15:48 -07:00
Matthias Baesken
11a8c9c13e 8250770: Net.java translateToSocketException does not handle IOException
Reviewed-by: alanb, dfuchs
2020-07-29 12:56:02 +02:00
Mikael Vidstedt
7efa6090e8 Added tag jdk-15+34 for changeset b0817631d2f4 2020-07-29 18:24:00 -07:00
Evgeny Nikitin
3c276ce1fe 8067651: LevelTransitionTest.java, fix trivial methods levels logic
Make test method really trivial, adjust trivial logic, make logic independent of background compilation.

Reviewed-by: iignatyev, thartmann, kvn
2020-07-27 21:17:44 +02:00
Raffaello Giulietti
4ac45a3b50 8245036: DataInputStream.readFully(byte[], int, int) does not throw expected IndexOutOfBoundsExceptions
Reviewed-by: bpb
2020-08-07 12:58:40 -07:00
Patrick Concannon
c8c4d8377a 8250886: java/net/DatagramSocket/SendReceiveMaxSize.java fails in timeout
SO_RCVBUF was previously set to match the SO_SNDBUF, however the kernel value for SO_RCVBUF is much larger. This mismatch caused the test to fail, and the fix removes this issue.

Reviewed-by: alanb, dfuchs
2020-08-07 20:39:10 +01:00
Thomas Schatzl
9852a6f75c 8248401: Refactor/unify RMI gc support functionality
Move recent timestamp of most recent whole heap liveness analysis into CollectedHeap, removing the duplicates in all collectors

Reviewed-by: kbarrett, ayang, stefank
2020-08-07 19:23:53 +02:00
Vladimir Kozlov
1ad1659413 8251260: two MD5 tests fail "RuntimeException: Unexpected count of intrinsic"
Do not run intrinsics/sha/sanity tests with AOTed java.base

Reviewed-by: vlivanov
2020-08-07 10:16:19 -07:00
Andy Herrick
e800cc2d2d 8251184: File association without description causes exception
Reviewed-by: asemenyuk, almatvee
2020-08-07 11:42:42 -04:00
Daniel Fuchs
77c46ea911 8229822: ThrowingPushPromises tests sometimes fail due to EOF
SocketTube is fixed to cater for errors caused by pausing/resuming events on an asynchronously closed connection, from within the selector's manager thread. Http2Connection and Stream are fixed to prevent sending a DataFrame on a stream after Reset has been sent.

Reviewed-by: chegar
2020-08-07 16:16:45 +01:00
Daniel Fuchs
45c89daf72 8249786: java/net/httpclient/websocket/PendingPingTextClose.java fails very infrequently
TransportImpl is modified to make sure the CLOSED state is recorded before the channel is closed. The tests are modified to enable their retry mechanism on windows, similar to what was done previously for macOS.

Reviewed-by: prappo, chegar
2020-08-07 15:09:19 +01:00
Coleen Phillimore
0c9e0c2e7f 8244997: Convert the JavaThread::_threadObj oop to use OopStorage
Move the oop and handle releasing it in the service thread.  Remove Universe::oops_do from callers.

Co-authored-by: Erik Osterlund <erik.osterlund@oracle.com>
Co-authored-by: Tom Rodriguez <tom.rodriguez@oracle.com>
Reviewed-by: dholmes, zgu, eosterlund, cjplummer
2020-08-07 07:53:26 -04:00
Markus Grönlund
4d3baa2d37 8251179: Word tearing problem with _last_sweep
Reviewed-by: coleenp, dholmes, kbarrett
2020-08-07 11:52:09 +02:00
Dong Bo
c148c2c176 8165404: AArch64: Implement SHA512 accelerator/intrinsic
Reviewed-by: aph
2020-08-07 12:35:30 +08:00
Mikael Vidstedt
555f0e6e2a Added tag jdk-16+10 for changeset b01985b4f88f 2020-08-06 20:56:46 -07:00
Gabriel Reid
12879e91b4 8250928: JFR: Improve hash algorithm for stack traces
Reviewed-by: egahlin
2020-08-07 04:21:57 +02:00
Leo Jiang
ef86f06c42 8250665: Wrong translation for the month name of May in ar_JO,LB,SY
Reviewed-by: naoto
2020-08-07 01:48:31 +00:00
Brian Burkhalter
70885cae5e Merge 2020-08-06 18:27:33 -07:00
Brian Burkhalter
d02e7d55e8 8251272: Typo in java.util.Formatter: "Numberic" should be "Numeric"
Reviewed-by: bchristi, naoto, jlaskey
2020-08-06 18:23:21 -07:00
Chris Plummer
db46b297fa 8251121: six SA tests leave core files behind on macOS
Reviewed-by: dholmes, dcubed
2020-08-06 18:21:21 -07:00
David Holmes
c202bd705e 8250606: Remove unnecessary assertions in ObjectSynchronizer FastHashcode and inflate
Reviewed-by: dcubed, coleenp
2020-08-06 21:03:18 -04:00
Alex Menkov
111ba18ac6 8249550: jdb should use loopback address when not using remote agent
Reviewed-by: cjplummer, sspitsyn
2020-08-06 15:59:47 -07:00
Leonid Mesnik
c02b75705f 8161684: [testconf] Add VerifyOops' testing into compiler tiers
Reviewed-by: kvn
2020-08-06 13:29:15 -07:00
Chris Plummer
9886b7e9e9 8248879: SA core file support on OSX has some bugs trying to locate the jvm libraries
Reviewed-by: sspitsyn, amenkov
2020-08-06 13:14:15 -07:00
Lois Foltan
deaadfad52 8247938: Change various JVM enums like LinkInfo::AccessCheck and Klass::DefaultsLookupMode to enum class
Use C++11 scoped enumeration declarations for several different Klass and LinkInfo enumerations.

Reviewed-by: coleenp, hseigel, kbarrett
2020-08-06 18:13:56 +00:00
Joe Darcy
99c7b2b85b 8249273: Documentation of BigInteger(String) constructor does not mention leading plus
Reviewed-by: bpb
2020-08-06 09:58:57 -07:00
Chihiro Ito
db4d59cc0c 8250912: Recording#copy() doesn't copy the flush interval
Reviewed-by: jbachorik
2020-08-06 23:47:55 +09:00
Zhengyu Gu
b0e4e9a2e4 8251192: Shenandoah: Shenandoah build failed after JDK-8235573
Reviewed-by: stuefe, ysuenaga, adityam
2020-08-06 08:30:37 -04:00
Joe Darcy
2d3372c8b5 8250660: Clarify that WildcardType and AnnotatedWildcardType bounds methods return one
Reviewed-by: mchung, dholmes
2020-08-05 23:02:22 -07:00
Mikael Vidstedt
dc86b2e22b Added tag jdk-16+9 for changeset c075a286cc7d 2020-08-05 19:05:05 -07:00
Igor Ignatyev
b37b1a391a 8251126: nsk.share.GoldChecker should read golden file from ${test.src}
Reviewed-by: dholmes
2020-08-05 16:39:38 -07:00
Igor Ignatyev
65577cf58a 8251132: make main classes public in vmTestbase/jit tests
Reviewed-by: kvn
2020-08-05 16:39:08 -07:00
Brian Burkhalter
3ea5fdc9ac 8235792: LineNumberReader.getLineNumber() behavior is inconsistent with respect to EOF
Reviewed-by: alanb, darcy, rriggs
2020-08-05 11:40:07 -07:00
Ludovic Henry
339016a0f2 8250902: Implement MD5 Intrinsics on x86
Reviewed-by: kvn, vdeshpande, ascarpino
2020-08-05 11:32:15 -07:00
Jerry Zhou
4d13bf33d4 8249628: Remove EA from JDK 15 version string starting with Initial RC promotion
Reviewed-by: tbell, erikj
2020-07-17 01:50:44 +00:00
Prasadrao Koppula
4a588d89f0 8246031: SSLSocket.getSession() doesn't close connection for timeout/ interrupts
Reviewed-by: xuelei, coffeys
2020-06-11 21:54:51 +05:30
5215 changed files with 91343 additions and 75845 deletions

1
.gitattributes vendored Normal file
View File

@@ -0,0 +1 @@
* -text

949
.github/workflows/submit.yml vendored Normal file
View File

@@ -0,0 +1,949 @@
name: Pre-submit tests
on:
push:
branches-ignore:
- master
workflow_dispatch:
inputs:
platforms:
description: "Platform(s) to execute on"
required: true
default: "Linux x64, Windows x64, macOS x64"
jobs:
prerequisites:
name: Prerequisites
runs-on: "ubuntu-latest"
outputs:
should_run: ${{ steps.check_submit.outputs.should_run }}
bundle_id: ${{ steps.check_bundle_id.outputs.bundle_id }}
platform_linux_x64: ${{ steps.check_platforms.outputs.platform_linux_x64 }}
platform_windows_x64: ${{ steps.check_platforms.outputs.platform_windows_x64 }}
platform_macos_x64: ${{ steps.check_platforms.outputs.platform_macos_x64 }}
dependencies: ${{ steps.check_deps.outputs.dependencies }}
steps:
- name: Check if submit tests should actually run depending on secrets and manual triggering
id: check_submit
run: echo "::set-output name=should_run::${{ github.event.inputs.platforms != '' || (!secrets.JDK_SUBMIT_FILTER || startsWith(github.ref, 'refs/heads/submit/')) }}"
- name: Check which platforms should be included
id: check_platforms
run: |
echo "::set-output name=platform_linux_x64::${{ contains(github.event.inputs.platforms, 'linux x64') || (github.event.inputs.platforms == '' && (secrets.JDK_SUBMIT_PLATFORMS == '' || contains(secrets.JDK_SUBMIT_PLATFORMS, 'linux x64'))) }}"
echo "::set-output name=platform_windows_x64::${{ contains(github.event.inputs.platforms, 'windows x64') || (github.event.inputs.platforms == '' && (secrets.JDK_SUBMIT_PLATFORMS == '' || contains(secrets.JDK_SUBMIT_PLATFORMS, 'windows x64'))) }}"
echo "::set-output name=platform_macos_x64::${{ contains(github.event.inputs.platforms, 'macos x64') || (github.event.inputs.platforms == '' && (secrets.JDK_SUBMIT_PLATFORMS == '' || contains(secrets.JDK_SUBMIT_PLATFORMS, 'macos x64'))) }}"
if: steps.check_submit.outputs.should_run != 'false'
- name: Determine unique bundle identifier
run: echo "::set-output name=bundle_id::${GITHUB_ACTOR}_${GITHUB_SHA:0:8}"
if: steps.check_submit.outputs.should_run != 'false'
- name: Checkout the source
uses: actions/checkout@v2
with:
path: jdk
if: steps.check_submit.outputs.should_run != 'false'
- name: Determine versions and locations to be used for dependencies
id: check_deps
run: "echo ::set-output name=dependencies::`cat make/autoconf/version-numbers make/conf/test-dependencies | sed -e '1i {' -e 's/#.*//g' -e 's/\"//g' -e 's/\\(.*\\)=\\(.*\\)/\"\\1\": \"\\2\",/g' -e '$s/,\\s\\{0,\\}$/\\}/'`"
working-directory: jdk
if: steps.check_submit.outputs.should_run != 'false'
- name: Print extracted dependencies to the log
run: "echo '${{ steps.check_deps.outputs.dependencies }}'"
if: steps.check_submit.outputs.should_run != 'false'
- name: Determine the jtreg ref to checkout
run: "echo JTREG_REF=jtreg${{ fromJson(steps.check_deps.outputs.dependencies).JTREG_VERSION }}-${{ fromJson(steps.check_deps.outputs.dependencies).JTREG_BUILD }} >> $GITHUB_ENV"
if: steps.check_submit.outputs.should_run != 'false'
- name: Check if a jtreg image is present in the cache
id: jtreg
uses: actions/cache@v2
with:
path: ~/jtreg/
key: jtreg-${{ env.JTREG_REF }}-v1
if: steps.check_submit.outputs.should_run != 'false'
- name: Checkout the jtreg source
uses: actions/checkout@v2
with:
repository: "openjdk/jtreg"
ref: ${{ env.JTREG_REF }}
path: jtreg
if: steps.check_submit.outputs.should_run != 'false' && steps.jtreg.outputs.cache-hit != 'true'
- name: Build jtreg
run: sh make/build-all.sh ${JAVA_HOME}
working-directory: jtreg
if: steps.check_submit.outputs.should_run != 'false' && steps.jtreg.outputs.cache-hit != 'true'
- name: Move jtreg image to destination folder
run: mv build/images/jtreg ~/
working-directory: jtreg
if: steps.check_submit.outputs.should_run != 'false' && steps.jtreg.outputs.cache-hit != 'true'
- name: Store jtreg for use by later steps
uses: actions/upload-artifact@v2
with:
name: transient_jtreg_${{ steps.check_bundle_id.outputs.bundle_id }}
path: ~/jtreg/
if: steps.check_submit.outputs.should_run != 'false'
linux_x64_build:
name: Linux x64
runs-on: "ubuntu-latest"
needs: prerequisites
if: needs.prerequisites.outputs.should_run != 'false' && needs.prerequisites.outputs.platform_linux_x64 != 'false'
strategy:
fail-fast: false
matrix:
flavor:
- build release
- build debug
- build hotspot no-pch
include:
- flavor: build debug
flags: --enable-debug
artifact: -debug
- flavor: build hotspot no-pch
flags: --disable-precompiled-headers
build-target: hotspot
env:
JDK_VERSION: "${{ fromJson(needs.prerequisites.outputs.dependencies).DEFAULT_VERSION_FEATURE }}"
BOOT_JDK_VERSION: "${{ fromJson(needs.prerequisites.outputs.dependencies).BOOT_JDK_VERSION }}"
BOOT_JDK_FILENAME: "${{ fromJson(needs.prerequisites.outputs.dependencies).LINUX_X64_BOOT_JDK_FILENAME }}"
BOOT_JDK_URL: "${{ fromJson(needs.prerequisites.outputs.dependencies).LINUX_X64_BOOT_JDK_URL }}"
BOOT_JDK_SHA256: "${{ fromJson(needs.prerequisites.outputs.dependencies).LINUX_X64_BOOT_JDK_SHA256 }}"
steps:
- name: Checkout the source
uses: actions/checkout@v2
with:
path: jdk
- name: Restore boot JDK from cache
id: bootjdk
uses: actions/cache@v2
with:
path: ~/bootjdk/${{ env.BOOT_JDK_VERSION }}
key: bootjdk-${{ runner.os }}-${{ env.BOOT_JDK_VERSION }}-${{ env.BOOT_JDK_SHA256 }}-v1
- name: Download boot JDK
run: |
mkdir -p "${HOME}/bootjdk/${BOOT_JDK_VERSION}"
wget -O "${HOME}/bootjdk/${BOOT_JDK_FILENAME}" "${BOOT_JDK_URL}"
echo "${BOOT_JDK_SHA256} ${HOME}/bootjdk/${BOOT_JDK_FILENAME}" | sha256sum -c >/dev/null -
tar -xf "${HOME}/bootjdk/${BOOT_JDK_FILENAME}" -C "${HOME}/bootjdk/${BOOT_JDK_VERSION}"
mv "${HOME}/bootjdk/${BOOT_JDK_VERSION}/"*/* "${HOME}/bootjdk/${BOOT_JDK_VERSION}/"
if: steps.bootjdk.outputs.cache-hit != 'true'
- name: Restore jtreg artifact
id: jtreg_restore
uses: actions/download-artifact@v2
with:
name: transient_jtreg_${{ needs.prerequisites.outputs.bundle_id }}
path: ~/jtreg/
continue-on-error: true
- name: Restore jtreg artifact (retry)
uses: actions/download-artifact@v2
with:
name: transient_jtreg_${{ needs.prerequisites.outputs.bundle_id }}
path: ~/jtreg/
if: steps.jtreg_restore.outcome == 'failure'
- name: Checkout gtest sources
uses: actions/checkout@v2
with:
repository: "google/googletest"
ref: "release-${{ fromJson(needs.prerequisites.outputs.dependencies).GTEST_VERSION }}"
path: gtest
- name: Install dependencies
run: sudo apt-get install libxrandr-dev libxtst-dev libcups2-dev libasound2-dev
- name: Configure
run: >
bash configure
--with-conf-name=linux-x64
${{ matrix.flags }}
--with-version-opt=${GITHUB_ACTOR}-${GITHUB_SHA}
--with-version-build=0
--with-boot-jdk=${HOME}/bootjdk/${BOOT_JDK_VERSION}
--with-jtreg=${HOME}/jtreg
--with-gtest=${GITHUB_WORKSPACE}/gtest
--with-default-make-target="product-bundles test-bundles"
--with-zlib=system
--enable-jtreg-failure-handler
working-directory: jdk
- name: Build
run: make CONF_NAME=linux-x64 ${{ matrix.build-target }}
working-directory: jdk
- name: Persist test bundles
uses: actions/upload-artifact@v2
with:
name: transient_jdk-linux-x64${{ matrix.artifact }}_${{ needs.prerequisites.outputs.bundle_id }}
path: |
jdk/build/linux-x64/bundles/jdk-${{ env.JDK_VERSION }}-internal+0_linux-x64_bin${{ matrix.artifact }}.tar.gz
jdk/build/linux-x64/bundles/jdk-${{ env.JDK_VERSION }}-internal+0_linux-x64_bin-tests${{ matrix.artifact }}.tar.gz
if: matrix.build-target == false
linux_x64_test:
name: Linux x64
runs-on: "ubuntu-latest"
needs:
- prerequisites
- linux_x64_build
strategy:
fail-fast: false
matrix:
test:
- jdk/tier1 part 1
- jdk/tier1 part 2
- jdk/tier1 part 3
- langtools/tier1
- hs/tier1 common
- hs/tier1 compiler
- hs/tier1 gc
- hs/tier1 runtime
- hs/tier1 serviceability
include:
- test: jdk/tier1 part 1
suites: test/jdk/:tier1_part1
- test: jdk/tier1 part 2
suites: test/jdk/:tier1_part2
- test: jdk/tier1 part 3
suites: test/jdk/:tier1_part3
- test: langtools/tier1
suites: test/langtools/:tier1
- test: hs/tier1 common
suites: test/hotspot/jtreg/:tier1_common
artifact: -debug
- test: hs/tier1 compiler
suites: test/hotspot/jtreg/:tier1_compiler
artifact: -debug
- test: hs/tier1 gc
suites: test/hotspot/jtreg/:tier1_gc
artifact: -debug
- test: hs/tier1 runtime
suites: test/hotspot/jtreg/:tier1_runtime
artifact: -debug
- test: hs/tier1 serviceability
suites: test/hotspot/jtreg/:tier1_serviceability
artifact: -debug
env:
JDK_VERSION: "${{ fromJson(needs.prerequisites.outputs.dependencies).DEFAULT_VERSION_FEATURE }}"
BOOT_JDK_VERSION: "${{ fromJson(needs.prerequisites.outputs.dependencies).BOOT_JDK_VERSION }}"
BOOT_JDK_FILENAME: "${{ fromJson(needs.prerequisites.outputs.dependencies).LINUX_X64_BOOT_JDK_FILENAME }}"
BOOT_JDK_URL: "${{ fromJson(needs.prerequisites.outputs.dependencies).LINUX_X64_BOOT_JDK_URL }}"
BOOT_JDK_SHA256: "${{ fromJson(needs.prerequisites.outputs.dependencies).LINUX_X64_BOOT_JDK_SHA256 }}"
steps:
- name: Checkout the source
uses: actions/checkout@v2
- name: Restore boot JDK from cache
id: bootjdk
uses: actions/cache@v2
with:
path: ~/bootjdk/${{ env.BOOT_JDK_VERSION }}
key: bootjdk-${{ runner.os }}-${{ env.BOOT_JDK_VERSION }}-${{ env.BOOT_JDK_SHA256 }}-v1
- name: Download boot JDK
run: |
mkdir -p "${HOME}/bootjdk/${BOOT_JDK_VERSION}"
wget -O "${HOME}/bootjdk/${BOOT_JDK_FILENAME}" "${BOOT_JDK_URL}"
echo "${BOOT_JDK_SHA256} ${HOME}/bootjdk/${BOOT_JDK_FILENAME}" | sha256sum -c >/dev/null -
tar -xf "${HOME}/bootjdk/${BOOT_JDK_FILENAME}" -C "${HOME}/bootjdk/${BOOT_JDK_VERSION}"
mv "${HOME}/bootjdk/${BOOT_JDK_VERSION}/"*/* "${HOME}/bootjdk/${BOOT_JDK_VERSION}/"
if: steps.bootjdk.outputs.cache-hit != 'true'
- name: Restore jtreg artifact
id: jtreg_restore
uses: actions/download-artifact@v2
with:
name: transient_jtreg_${{ needs.prerequisites.outputs.bundle_id }}
path: ~/jtreg/
continue-on-error: true
- name: Restore jtreg artifact (retry)
uses: actions/download-artifact@v2
with:
name: transient_jtreg_${{ needs.prerequisites.outputs.bundle_id }}
path: ~/jtreg/
if: steps.jtreg_restore.outcome == 'failure'
- name: Restore build artifacts
id: build_restore
uses: actions/download-artifact@v2
with:
name: transient_jdk-linux-x64${{ matrix.artifact }}_${{ needs.prerequisites.outputs.bundle_id }}
path: ~/jdk-linux-x64${{ matrix.artifact }}
continue-on-error: true
- name: Restore build artifacts (retry)
uses: actions/download-artifact@v2
with:
name: transient_jdk-linux-x64${{ matrix.artifact }}_${{ needs.prerequisites.outputs.bundle_id }}
path: ~/jdk-linux-x64${{ matrix.artifact }}
if: steps.build_restore.outcome == 'failure'
- name: Unpack jdk
run: |
mkdir -p "${HOME}/jdk-linux-x64${{ matrix.artifact }}/jdk-${{ env.JDK_VERSION }}-internal+0_linux-x64_bin${{ matrix.artifact }}"
tar -xf "${HOME}/jdk-linux-x64${{ matrix.artifact }}/jdk-${{ env.JDK_VERSION }}-internal+0_linux-x64_bin${{ matrix.artifact }}.tar.gz" -C "${HOME}/jdk-linux-x64${{ matrix.artifact }}/jdk-${{ env.JDK_VERSION }}-internal+0_linux-x64_bin${{ matrix.artifact }}"
- name: Unpack tests
run: |
mkdir -p "${HOME}/jdk-linux-x64${{ matrix.artifact }}/jdk-${{ env.JDK_VERSION }}-internal+0_linux-x64_bin-tests${{ matrix.artifact }}"
tar -xf "${HOME}/jdk-linux-x64${{ matrix.artifact }}/jdk-${{ env.JDK_VERSION }}-internal+0_linux-x64_bin-tests${{ matrix.artifact }}.tar.gz" -C "${HOME}/jdk-linux-x64${{ matrix.artifact }}/jdk-${{ env.JDK_VERSION }}-internal+0_linux-x64_bin-tests${{ matrix.artifact }}"
- name: Find root of jdk image dir
run: |
imageroot=`find ${HOME}/jdk-linux-x64${{ matrix.artifact }}/jdk-${{ env.JDK_VERSION }}-internal+0_linux-x64_bin${{ matrix.artifact }} -name release -type f`
echo "imageroot=`dirname ${imageroot}`" >> $GITHUB_ENV
- name: Run tests
run: >
JDK_IMAGE_DIR=${{ env.imageroot }}
TEST_IMAGE_DIR=${HOME}/jdk-linux-x64${{ matrix.artifact }}/jdk-${{ env.JDK_VERSION }}-internal+0_linux-x64_bin-tests${{ matrix.artifact }}
BOOT_JDK=${HOME}/bootjdk/${BOOT_JDK_VERSION}
JT_HOME=${HOME}/jtreg
make test-prebuilt
CONF_NAME=run-test-prebuilt
LOG_CMDLINES=true
JTREG_VERBOSE=fail,error,time
TEST="${{ matrix.suites }}"
TEST_OPTS_JAVA_OPTIONS=
JTREG_KEYWORDS="!headful"
JTREG="JAVA_OPTIONS=-XX:-CreateCoredumpOnCrash"
- name: Check that all tests executed successfully
if: always()
run: >
if ! grep --include=test-summary.txt -lqr build/*/test-results -e "TEST SUCCESS" ; then
cat build/*/test-results/*/text/newfailures.txt ;
exit 1 ;
fi
- name: Create suitable test log artifact name
if: always()
run: echo "logsuffix=`echo ${{ matrix.test }} | sed -e 's!/!_!'g -e 's! !_!'g`" >> $GITHUB_ENV
- name: Persist test logs
if: always()
uses: actions/upload-artifact@v2
with:
name: linux-x64${{ matrix.artifact }}_testlogs_${{ env.logsuffix }}
path: build/*/test-results
continue-on-error: true
windows_x64_build:
name: Windows x64
runs-on: "windows-latest"
needs: prerequisites
if: needs.prerequisites.outputs.should_run != 'false' && needs.prerequisites.outputs.platform_windows_x64 != 'false'
strategy:
fail-fast: false
matrix:
flavor:
- build release
- build debug
include:
- flavor: build debug
flags: --enable-debug
artifact: -debug
env:
JDK_VERSION: "${{ fromJson(needs.prerequisites.outputs.dependencies).DEFAULT_VERSION_FEATURE }}"
BOOT_JDK_VERSION: "${{ fromJson(needs.prerequisites.outputs.dependencies).BOOT_JDK_VERSION }}"
BOOT_JDK_FILENAME: "${{ fromJson(needs.prerequisites.outputs.dependencies).WINDOWS_X64_BOOT_JDK_FILENAME }}"
BOOT_JDK_URL: "${{ fromJson(needs.prerequisites.outputs.dependencies).WINDOWS_X64_BOOT_JDK_URL }}"
BOOT_JDK_SHA256: "${{ fromJson(needs.prerequisites.outputs.dependencies).WINDOWS_X64_BOOT_JDK_SHA256 }}"
steps:
- name: Restore cygwin packages from cache
id: cygwin
uses: actions/cache@v2
with:
path: ~/cygwin/packages
key: cygwin-packages-${{ runner.os }}-v1
- name: Install cygwin
run: |
New-Item -Force -ItemType directory -Path "$HOME\cygwin"
& curl -L "https://www.cygwin.com/setup-x86_64.exe" -o "$HOME/cygwin/setup-x86_64.exe"
Start-Process -FilePath "$HOME\cygwin\setup-x86_64.exe" -ArgumentList "--quiet-mode --packages autoconf,make,zip,unzip --root $HOME\cygwin\cygwin64 --local-package-dir $HOME\cygwin\packages --site http://mirrors.kernel.org/sourceware/cygwin --no-desktop --no-shortcuts --no-startmenu --no-admin" -Wait -NoNewWindow
- name: Checkout the source
uses: actions/checkout@v2
with:
path: jdk
- name: Restore boot JDK from cache
id: bootjdk
uses: actions/cache@v2
with:
path: ~/bootjdk/${{ env.BOOT_JDK_VERSION }}
key: bootjdk-${{ runner.os }}-${{ env.BOOT_JDK_VERSION }}-${{ env.BOOT_JDK_SHA256 }}-v1
- name: Download boot JDK
run: |
mkdir -p "$HOME\bootjdk\$env:BOOT_JDK_VERSION"
& curl -L "$env:BOOT_JDK_URL" -o "$HOME/bootjdk/$env:BOOT_JDK_FILENAME"
$FileHash = Get-FileHash -Algorithm SHA256 "$HOME/bootjdk/$env:BOOT_JDK_FILENAME"
$FileHash.Hash -eq $env:BOOT_JDK_SHA256
& tar -xf "$HOME/bootjdk/$env:BOOT_JDK_FILENAME" -C "$HOME/bootjdk/$env:BOOT_JDK_VERSION"
Get-ChildItem "$HOME\bootjdk\$env:BOOT_JDK_VERSION\*\*" | Move-Item -Destination "$HOME\bootjdk\$env:BOOT_JDK_VERSION"
if: steps.bootjdk.outputs.cache-hit != 'true'
- name: Checkout gtest sources
uses: actions/checkout@v2
with:
repository: "google/googletest"
ref: "release-${{ fromJson(needs.prerequisites.outputs.dependencies).GTEST_VERSION }}"
path: gtest
- name: Restore jtreg artifact
id: jtreg_restore
uses: actions/download-artifact@v2
with:
name: transient_jtreg_${{ needs.prerequisites.outputs.bundle_id }}
path: ~/jtreg/
continue-on-error: true
- name: Restore jtreg artifact (retry)
uses: actions/download-artifact@v2
with:
name: transient_jtreg_${{ needs.prerequisites.outputs.bundle_id }}
path: ~/jtreg/
if: steps.jtreg_restore.outcome == 'failure'
- name: Configure
run: >
$env:Path = "$HOME\cygwin\cygwin64\bin;$HOME\cygwin\cygwin64\bin;$env:Path" ;
$env:Path = $env:Path -split ";" -match "C:\\Windows|PowerShell|cygwin" -join ";" ;
& bash configure
--with-conf-name=windows-x64
${{ matrix.flags }}
--with-version-opt="$env:GITHUB_ACTOR-$env:GITHUB_SHA"
--with-version-build=0
--with-boot-jdk="$HOME/bootjdk/$env:BOOT_JDK_VERSION"
--with-jtreg="$HOME/jtreg"
--with-gtest="$env:GITHUB_WORKSPACE/gtest"
--with-default-make-target="product-bundles test-bundles"
--enable-jtreg-failure-handler
working-directory: jdk
- name: Build
run: |
$env:Path = "$HOME\cygwin\cygwin64\bin;$HOME\cygwin\cygwin64\bin;$env:Path" ;
$env:Path = $env:Path -split ";" -match "C:\\Windows|PowerShell|cygwin" -join ";" ;
& make CONF_NAME=windows-x64 ${{ matrix.build-target }}
working-directory: jdk
- name: Persist test bundles
uses: actions/upload-artifact@v2
with:
name: transient_jdk-windows-x64${{ matrix.artifact }}_${{ needs.prerequisites.outputs.bundle_id }}
path: |
jdk/build/windows-x64/bundles/jdk-${{ env.JDK_VERSION }}-internal+0_windows-x64_bin${{ matrix.artifact }}.zip
jdk/build/windows-x64/bundles/jdk-${{ env.JDK_VERSION }}-internal+0_windows-x64_bin-tests${{ matrix.artifact }}.tar.gz
jdk/build/windows-x64/bundles/jdk-${{ env.JDK_VERSION }}-internal+0_windows-x64_bin${{ matrix.artifact }}-symbols.tar.gz
if: matrix.build-target == false
windows_x64_test:
name: Windows x64
runs-on: "windows-latest"
needs:
- prerequisites
- windows_x64_build
strategy:
fail-fast: false
matrix:
test:
- jdk/tier1 part 1
- jdk/tier1 part 2
- jdk/tier1 part 3
- langtools/tier1
- hs/tier1 common
- hs/tier1 compiler
- hs/tier1 gc
- hs/tier1 runtime
- hs/tier1 serviceability
include:
- test: jdk/tier1 part 1
suites: test/jdk/:tier1_part1
- test: jdk/tier1 part 2
suites: test/jdk/:tier1_part2
- test: jdk/tier1 part 3
suites: test/jdk/:tier1_part3
- test: langtools/tier1
suites: test/langtools/:tier1
- test: hs/tier1 common
suites: test/hotspot/jtreg/:tier1_common
artifact: -debug
- test: hs/tier1 compiler
suites: test/hotspot/jtreg/:tier1_compiler
artifact: -debug
- test: hs/tier1 gc
suites: test/hotspot/jtreg/:tier1_gc
artifact: -debug
- test: hs/tier1 runtime
suites: test/hotspot/jtreg/:tier1_runtime
artifact: -debug
- test: hs/tier1 serviceability
suites: test/hotspot/jtreg/:tier1_serviceability
artifact: -debug
env:
JDK_VERSION: "${{ fromJson(needs.prerequisites.outputs.dependencies).DEFAULT_VERSION_FEATURE }}"
BOOT_JDK_VERSION: "${{ fromJson(needs.prerequisites.outputs.dependencies).BOOT_JDK_VERSION }}"
BOOT_JDK_FILENAME: "${{ fromJson(needs.prerequisites.outputs.dependencies).WINDOWS_X64_BOOT_JDK_FILENAME }}"
BOOT_JDK_URL: "${{ fromJson(needs.prerequisites.outputs.dependencies).WINDOWS_X64_BOOT_JDK_URL }}"
BOOT_JDK_SHA256: "${{ fromJson(needs.prerequisites.outputs.dependencies).WINDOWS_X64_BOOT_JDK_SHA256 }}"
steps:
- name: Checkout the source
uses: actions/checkout@v2
- name: Restore boot JDK from cache
id: bootjdk
uses: actions/cache@v2
with:
path: ~/bootjdk/${{ env.BOOT_JDK_VERSION }}
key: bootjdk-${{ runner.os }}-${{ env.BOOT_JDK_VERSION }}-${{ env.BOOT_JDK_SHA256 }}-v1
- name: Download boot JDK
run: |
mkdir -p "$HOME\bootjdk\$env:BOOT_JDK_VERSION"
& curl -L "$env:BOOT_JDK_URL" -o "$HOME/bootjdk/$env:BOOT_JDK_FILENAME"
$FileHash = Get-FileHash -Algorithm SHA256 "$HOME/bootjdk/$env:BOOT_JDK_FILENAME"
$FileHash.Hash -eq $env:BOOT_JDK_SHA256
& tar -xf "$HOME/bootjdk/$env:BOOT_JDK_FILENAME" -C "$HOME/bootjdk/$env:BOOT_JDK_VERSION"
Get-ChildItem "$HOME\bootjdk\$env:BOOT_JDK_VERSION\*\*" | Move-Item -Destination "$HOME\bootjdk\$env:BOOT_JDK_VERSION"
if: steps.bootjdk.outputs.cache-hit != 'true'
- name: Restore cygwin packages from cache
id: cygwin
uses: actions/cache@v2
with:
path: ~/cygwin/packages
key: cygwin-packages-${{ runner.os }}-v1
- name: Install cygwin
run: |
New-Item -Force -ItemType directory -Path "$HOME\cygwin"
& curl -L "https://www.cygwin.com/setup-x86_64.exe" -o "$HOME/cygwin/setup-x86_64.exe"
Start-Process -FilePath "$HOME\cygwin\setup-x86_64.exe" -ArgumentList "--quiet-mode --packages autoconf,make,zip,unzip --root $HOME\cygwin\cygwin64 --local-package-dir $HOME\cygwin\packages --site http://mirrors.kernel.org/sourceware/cygwin --no-desktop --no-shortcuts --no-startmenu --no-admin" -Wait -NoNewWindow
- name: Restore jtreg artifact
id: jtreg_restore
uses: actions/download-artifact@v2
with:
name: transient_jtreg_${{ needs.prerequisites.outputs.bundle_id }}
path: ~/jtreg/
continue-on-error: true
- name: Restore jtreg artifact (retry)
uses: actions/download-artifact@v2
with:
name: transient_jtreg_${{ needs.prerequisites.outputs.bundle_id }}
path: ~/jtreg/
if: steps.jtreg_restore.outcome == 'failure'
- name: Restore build artifacts
id: build_restore
uses: actions/download-artifact@v2
with:
name: transient_jdk-windows-x64${{ matrix.artifact }}_${{ needs.prerequisites.outputs.bundle_id }}
path: ~/jdk-windows-x64${{ matrix.artifact }}
continue-on-error: true
- name: Restore build artifacts (retry)
uses: actions/download-artifact@v2
with:
name: transient_jdk-windows-x64${{ matrix.artifact }}_${{ needs.prerequisites.outputs.bundle_id }}
path: ~/jdk-windows-x64${{ matrix.artifact }}
if: steps.build_restore.outcome == 'failure'
- name: Unpack jdk
run: |
mkdir -p "${HOME}/jdk-windows-x64${{ matrix.artifact }}/jdk-${{ env.JDK_VERSION }}-internal+0_windows-x64_bin${{ matrix.artifact }}"
tar -xf "${HOME}/jdk-windows-x64${{ matrix.artifact }}/jdk-${{ env.JDK_VERSION }}-internal+0_windows-x64_bin${{ matrix.artifact }}.zip" -C "${HOME}/jdk-windows-x64${{ matrix.artifact }}/jdk-${{ env.JDK_VERSION }}-internal+0_windows-x64_bin${{ matrix.artifact }}"
- name: Unpack symbols
run: |
mkdir -p "${HOME}/jdk-windows-x64${{ matrix.artifact }}/jdk-${{ env.JDK_VERSION }}-internal+0_windows-x64_bin${{ matrix.artifact }}-symbols"
tar -xf "${HOME}/jdk-windows-x64${{ matrix.artifact }}/jdk-${{ env.JDK_VERSION }}-internal+0_windows-x64_bin${{ matrix.artifact }}-symbols.tar.gz" -C "${HOME}/jdk-windows-x64${{ matrix.artifact }}/jdk-${{ env.JDK_VERSION }}-internal+0_windows-x64_bin${{ matrix.artifact }}-symbols"
- name: Unpack tests
run: |
mkdir -p "${HOME}/jdk-windows-x64${{ matrix.artifact }}/jdk-${{ env.JDK_VERSION }}-internal+0_windows-x64_bin-tests${{ matrix.artifact }}"
tar -xf "${HOME}/jdk-windows-x64${{ matrix.artifact }}/jdk-${{ env.JDK_VERSION }}-internal+0_windows-x64_bin-tests${{ matrix.artifact }}.tar.gz" -C "${HOME}/jdk-windows-x64${{ matrix.artifact }}/jdk-${{ env.JDK_VERSION }}-internal+0_windows-x64_bin-tests${{ matrix.artifact }}"
- name: Find root of jdk image dir
run: echo ("imageroot=" + (Get-ChildItem -Path $HOME/jdk-windows-x64${{ matrix.artifact }}/jdk-${{ env.JDK_VERSION }}-internal+0_windows-x64_bin${{ matrix.artifact }} -Filter release -Recurse -ErrorAction SilentlyContinue -Force).DirectoryName) | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8
- name: Run tests
run: >
$env:Path = "$HOME\cygwin\cygwin64\bin;$HOME\cygwin\cygwin64\bin;$env:Path" ;
$env:Path = $env:Path -split ";" -match "C:\\Windows|PowerShell|cygwin" -join ";" ;
$env:JDK_IMAGE_DIR = cygpath "${{ env.imageroot }}" ;
$env:SYMBOLS_IMAGE_DIR = cygpath "${{ env.imageroot }}" ;
$env:TEST_IMAGE_DIR = cygpath "$HOME/jdk-windows-x64${{ matrix.artifact }}/jdk-${{ env.JDK_VERSION }}-internal+0_windows-x64_bin-tests${{ matrix.artifact }}" ;
$env:BOOT_JDK = cygpath "$HOME/bootjdk/$env:BOOT_JDK_VERSION" ;
$env:JT_HOME = cygpath "$HOME/jtreg" ;
& make test-prebuilt
CONF_NAME=run-test-prebuilt
LOG_CMDLINES=true
JTREG_VERBOSE=fail,error,time
TEST=${{ matrix.suites }}
TEST_OPTS_JAVA_OPTIONS=
JTREG_KEYWORDS="!headful"
JTREG="JAVA_OPTIONS=-XX:-CreateCoredumpOnCrash"
- name: Check that all tests executed successfully
if: always()
run: >
if ((Get-ChildItem -Path build\*\test-results\test-summary.txt -Recurse | Select-String -Pattern "TEST SUCCESS" ).Count -eq 0) {
Get-Content -Path build\*\test-results\*\*\newfailures.txt ;
exit 1
}
- name: Create suitable test log artifact name
if: always()
run: echo ("logsuffix=" + ("${{ matrix.test }}" -replace "/", "_" -replace " ", "_")) | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8
- name: Persist test logs
if: always()
uses: actions/upload-artifact@v2
with:
name: windows-x64${{ matrix.artifact }}_testlogs_${{ env.logsuffix }}
path: build/*/test-results
continue-on-error: true
macos_x64_build:
name: macOS x64
runs-on: "macos-latest"
needs: prerequisites
if: needs.prerequisites.outputs.should_run != 'false' && needs.prerequisites.outputs.platform_macos_x64 != 'false'
strategy:
fail-fast: false
matrix:
flavor:
- build release
- build debug
include:
- flavor: build release
- flavor: build debug
flags: --enable-debug
artifact: -debug
env:
JDK_VERSION: "${{ fromJson(needs.prerequisites.outputs.dependencies).DEFAULT_VERSION_FEATURE }}"
BOOT_JDK_VERSION: "${{ fromJson(needs.prerequisites.outputs.dependencies).BOOT_JDK_VERSION }}"
BOOT_JDK_FILENAME: "${{ fromJson(needs.prerequisites.outputs.dependencies).MACOS_X64_BOOT_JDK_FILENAME }}"
BOOT_JDK_URL: "${{ fromJson(needs.prerequisites.outputs.dependencies).MACOS_X64_BOOT_JDK_URL }}"
BOOT_JDK_SHA256: "${{ fromJson(needs.prerequisites.outputs.dependencies).MACOS_X64_BOOT_JDK_SHA256 }}"
steps:
- name: Checkout the source
uses: actions/checkout@v2
with:
path: jdk
- name: Restore boot JDK from cache
id: bootjdk
uses: actions/cache@v2
with:
path: ~/bootjdk/${{ env.BOOT_JDK_VERSION }}
key: bootjdk-${{ runner.os }}-${{ env.BOOT_JDK_VERSION }}-${{ env.BOOT_JDK_SHA256 }}-v1
- name: Download boot JDK
run: |
mkdir -p ${HOME}/bootjdk/${BOOT_JDK_VERSION} || true
wget -O "${HOME}/bootjdk/${BOOT_JDK_FILENAME}" "${BOOT_JDK_URL}"
echo "${BOOT_JDK_SHA256} ${HOME}/bootjdk/${BOOT_JDK_FILENAME}" | shasum -a 256 -c >/dev/null -
tar -xf "${HOME}/bootjdk/${BOOT_JDK_FILENAME}" -C "${HOME}/bootjdk/${BOOT_JDK_VERSION}"
mv "${HOME}/bootjdk/${BOOT_JDK_VERSION}/"*/* "${HOME}/bootjdk/${BOOT_JDK_VERSION}/"
if: steps.bootjdk.outputs.cache-hit != 'true'
- name: Restore jtreg artifact
id: jtreg_restore
uses: actions/download-artifact@v2
with:
name: transient_jtreg_${{ needs.prerequisites.outputs.bundle_id }}
path: ~/jtreg/
continue-on-error: true
- name: Restore jtreg artifact (retry)
uses: actions/download-artifact@v2
with:
name: transient_jtreg_${{ needs.prerequisites.outputs.bundle_id }}
path: ~/jtreg/
if: steps.jtreg_restore.outcome == 'failure'
- name: Checkout gtest sources
uses: actions/checkout@v2
with:
repository: "google/googletest"
ref: "release-${{ fromJson(needs.prerequisites.outputs.dependencies).GTEST_VERSION }}"
path: gtest
- name: Install dependencies
run: brew install make
- name: Configure
run: >
bash configure
--with-conf-name=macos-x64
${{ matrix.flags }}
--with-version-opt=${GITHUB_ACTOR}-${GITHUB_SHA}
--with-version-build=0
--with-boot-jdk=${HOME}/bootjdk/${BOOT_JDK_VERSION}/Contents/Home
--with-jtreg=${HOME}/jtreg
--with-gtest=${GITHUB_WORKSPACE}/gtest
--with-default-make-target="product-bundles test-bundles"
--with-zlib=system
--enable-jtreg-failure-handler
working-directory: jdk
- name: Build
run: make CONF_NAME=macos-x64 ${{ matrix.build-target }}
working-directory: jdk
- name: Persist test bundles
uses: actions/upload-artifact@v2
with:
name: transient_jdk-macos-x64${{ matrix.artifact }}_${{ needs.prerequisites.outputs.bundle_id }}
path: |
jdk/build/macos-x64/bundles/jdk-${{ env.JDK_VERSION }}-internal+0_osx-x64_bin${{ matrix.artifact }}.tar.gz
jdk/build/macos-x64/bundles/jdk-${{ env.JDK_VERSION }}-internal+0_osx-x64_bin-tests${{ matrix.artifact }}.tar.gz
if: matrix.build-target == false
macos_x64_test:
name: macOS x64
runs-on: "macos-latest"
needs:
- prerequisites
- macos_x64_build
strategy:
fail-fast: false
matrix:
test:
- jdk/tier1 part 1
- jdk/tier1 part 2
- jdk/tier1 part 3
- langtools/tier1
- hs/tier1 common
- hs/tier1 compiler
- hs/tier1 gc
- hs/tier1 runtime
- hs/tier1 serviceability
include:
- test: jdk/tier1 part 1
suites: test/jdk/:tier1_part1
- test: jdk/tier1 part 2
suites: test/jdk/:tier1_part2
- test: jdk/tier1 part 3
suites: test/jdk/:tier1_part3
- test: langtools/tier1
suites: test/langtools/:tier1
- test: hs/tier1 common
suites: test/hotspot/jtreg/:tier1_common
artifact: -debug
- test: hs/tier1 compiler
suites: test/hotspot/jtreg/:tier1_compiler
artifact: -debug
- test: hs/tier1 gc
suites: test/hotspot/jtreg/:tier1_gc
artifact: -debug
- test: hs/tier1 runtime
suites: test/hotspot/jtreg/:tier1_runtime
artifact: -debug
- test: hs/tier1 serviceability
suites: test/hotspot/jtreg/:tier1_serviceability
artifact: -debug
env:
JDK_VERSION: "${{ fromJson(needs.prerequisites.outputs.dependencies).DEFAULT_VERSION_FEATURE }}"
BOOT_JDK_VERSION: "${{ fromJson(needs.prerequisites.outputs.dependencies).BOOT_JDK_VERSION }}"
BOOT_JDK_FILENAME: "${{ fromJson(needs.prerequisites.outputs.dependencies).MACOS_X64_BOOT_JDK_FILENAME }}"
BOOT_JDK_URL: "${{ fromJson(needs.prerequisites.outputs.dependencies).MACOS_X64_BOOT_JDK_URL }}"
BOOT_JDK_SHA256: "${{ fromJson(needs.prerequisites.outputs.dependencies).MACOS_X64_BOOT_JDK_SHA256 }}"
steps:
- name: Checkout the source
uses: actions/checkout@v2
- name: Restore boot JDK from cache
id: bootjdk
uses: actions/cache@v2
with:
path: ~/bootjdk/${{ env.BOOT_JDK_VERSION }}
key: bootjdk-${{ runner.os }}-${{ env.BOOT_JDK_VERSION }}-${{ env.BOOT_JDK_SHA256 }}-v1
- name: Download boot JDK
run: |
mkdir -p ${HOME}/bootjdk/${BOOT_JDK_VERSION} || true
wget -O "${HOME}/bootjdk/${BOOT_JDK_FILENAME}" "${BOOT_JDK_URL}"
echo "${BOOT_JDK_SHA256} ${HOME}/bootjdk/${BOOT_JDK_FILENAME}" | shasum -a 256 -c >/dev/null -
tar -xf "${HOME}/bootjdk/${BOOT_JDK_FILENAME}" -C "${HOME}/bootjdk/${BOOT_JDK_VERSION}"
mv "${HOME}/bootjdk/${BOOT_JDK_VERSION}/"*/* "${HOME}/bootjdk/${BOOT_JDK_VERSION}/"
if: steps.bootjdk.outputs.cache-hit != 'true'
- name: Restore jtreg artifact
id: jtreg_restore
uses: actions/download-artifact@v2
with:
name: transient_jtreg_${{ needs.prerequisites.outputs.bundle_id }}
path: ~/jtreg/
continue-on-error: true
- name: Restore jtreg artifact (retry)
uses: actions/download-artifact@v2
with:
name: transient_jtreg_${{ needs.prerequisites.outputs.bundle_id }}
path: ~/jtreg/
if: steps.jtreg_restore.outcome == 'failure'
- name: Restore build artifacts
id: build_restore
uses: actions/download-artifact@v2
with:
name: transient_jdk-macos-x64${{ matrix.artifact }}_${{ needs.prerequisites.outputs.bundle_id }}
path: ~/jdk-macos-x64${{ matrix.artifact }}
continue-on-error: true
- name: Restore build artifacts (retry)
uses: actions/download-artifact@v2
with:
name: transient_jdk-macos-x64${{ matrix.artifact }}_${{ needs.prerequisites.outputs.bundle_id }}
path: ~/jdk-macos-x64${{ matrix.artifact }}
if: steps.build_restore.outcome == 'failure'
- name: Unpack jdk
run: |
mkdir -p "${HOME}/jdk-macos-x64${{ matrix.artifact }}/jdk-${{ env.JDK_VERSION }}-internal+0_osx-x64_bin${{ matrix.artifact }}"
tar -xf "${HOME}/jdk-macos-x64${{ matrix.artifact }}/jdk-${{ env.JDK_VERSION }}-internal+0_osx-x64_bin${{ matrix.artifact }}.tar.gz" -C "${HOME}/jdk-macos-x64${{ matrix.artifact }}/jdk-${{ env.JDK_VERSION }}-internal+0_osx-x64_bin${{ matrix.artifact }}"
- name: Unpack tests
run: |
mkdir -p "${HOME}/jdk-macos-x64${{ matrix.artifact }}/jdk-${{ env.JDK_VERSION }}-internal+0_osx-x64_bin-tests${{ matrix.artifact }}"
tar -xf "${HOME}/jdk-macos-x64${{ matrix.artifact }}/jdk-${{ env.JDK_VERSION }}-internal+0_osx-x64_bin-tests${{ matrix.artifact }}.tar.gz" -C "${HOME}/jdk-macos-x64${{ matrix.artifact }}/jdk-${{ env.JDK_VERSION }}-internal+0_osx-x64_bin-tests${{ matrix.artifact }}"
- name: Install dependencies
run: brew install make
- name: Find root of jdk image dir
run: |
imageroot=`find ${HOME}/jdk-macos-x64${{ matrix.artifact }}/jdk-${{ env.JDK_VERSION }}-internal+0_osx-x64_bin${{ matrix.artifact }} -name release -type f`
echo "imageroot=`dirname ${imageroot}`" >> $GITHUB_ENV
- name: Run tests
run: >
JDK_IMAGE_DIR=${{ env.imageroot }}
TEST_IMAGE_DIR=${HOME}/jdk-macos-x64${{ matrix.artifact }}/jdk-${{ env.JDK_VERSION }}-internal+0_osx-x64_bin-tests${{ matrix.artifact }}
BOOT_JDK=${HOME}/bootjdk/${BOOT_JDK_VERSION}/Contents/Home
JT_HOME=${HOME}/jtreg
gmake test-prebuilt
CONF_NAME=run-test-prebuilt
LOG_CMDLINES=true
JTREG_VERBOSE=fail,error,time
TEST=${{ matrix.suites }}
TEST_OPTS_JAVA_OPTIONS=
JTREG_KEYWORDS="!headful"
JTREG="JAVA_OPTIONS=-XX:-CreateCoredumpOnCrash"
- name: Check that all tests executed successfully
if: always()
run: >
if ! grep --include=test-summary.txt -lqr build/*/test-results -e "TEST SUCCESS" ; then
cat build/*/test-results/*/text/newfailures.txt ;
exit 1 ;
fi
- name: Create suitable test log artifact name
if: always()
run: echo "logsuffix=`echo ${{ matrix.test }} | sed -e 's!/!_!'g -e 's! !_!'g`" >> $GITHUB_ENV
- name: Persist test logs
if: always()
uses: actions/upload-artifact@v2
with:
name: macos-x64${{ matrix.artifact }}_testlogs_${{ env.logsuffix }}
path: build/*/test-results
continue-on-error: true
artifacts:
name: Post-process artifacts
runs-on: "ubuntu-latest"
if: always()
continue-on-error: true
needs:
- linux_x64_test
- windows_x64_test
- macos_x64_test
steps:
- name: Determine current artifacts endpoint
id: actions_runtime
uses: actions/github-script@v3
with:
script: "return { url: process.env['ACTIONS_RUNTIME_URL'], token: process.env['ACTIONS_RUNTIME_TOKEN'] }"
- name: Display current artifacts
run: >
curl -s -H 'Accept: application/json;api-version=6.0-preview'
-H 'Authorization: Bearer ${{ fromJson(steps.actions_runtime.outputs.result).token }}'
'${{ fromJson(steps.actions_runtime.outputs.result).url }}_apis/pipelines/workflows/${{ github.run_id }}/artifacts?api-version=6.0-preview'
- name: Delete transient artifacts
run: >
for url in `
curl -s -H 'Accept: application/json;api-version=6.0-preview'
-H 'Authorization: Bearer ${{ fromJson(steps.actions_runtime.outputs.result).token }}'
'${{ fromJson(steps.actions_runtime.outputs.result).url }}_apis/pipelines/workflows/${{ github.run_id }}/artifacts?api-version=6.0-preview' |
jq -r -c '.value | map(select(.name|startswith("transient_"))) | .[].url'`; do
curl -s -H 'Accept: application/json;api-version=6.0-preview'
-H 'Authorization: Bearer ${{ fromJson(steps.actions_runtime.outputs.result).token }}'
-X DELETE "${url}";
done
- name: Fetch remaining artifacts (test results)
uses: actions/download-artifact@v2
with:
path: test-results
- name: Delete remaining artifacts
run: >
for url in `
curl -s -H 'Accept: application/json;api-version=6.0-preview'
-H 'Authorization: Bearer ${{ fromJson(steps.actions_runtime.outputs.result).token }}'
'${{ fromJson(steps.actions_runtime.outputs.result).url }}_apis/pipelines/workflows/${{ github.run_id }}/artifacts?api-version=6.0-preview' |
jq -r -c '.value | .[].url'`; do
curl -s -H 'Accept: application/json;api-version=6.0-preview'
-H 'Authorization: Bearer ${{ fromJson(steps.actions_runtime.outputs.result).token }}'
-X DELETE "${url}";
done
- name: Upload a combined test results artifact
uses: actions/upload-artifact@v2
with:
name: test-results_${{ needs.prerequisites.outputs.bundle_id }}
path: test-results

View File

@@ -652,4 +652,13 @@ a32f58c6b8be81877411767de7ba9c4cf087c1b5 jdk-15+31
4a8fd81d64bafa523cddb45f82805536edace106 jdk-16+6
6b65f4e7a975628df51ef755b02642075390041d jdk-15+33
c3a4a7ea7c304cabdacdc31741eb94c51351668d jdk-16+7
b0817631d2f4395508cb10e81c3858a94d9ae4de jdk-15+34
0a73d6f3aab48ff6d7e61e47f0bc2d87a054f217 jdk-16+8
fd60c3146a024037cdd9be34c645bb793995a7cc jdk-15+35
c075a286cc7df767cce28e8057d6ec5051786490 jdk-16+9
b01985b4f88f554f97901e53e1ba314681dd9c19 jdk-16+10
e3f940bd3c8fcdf4ca704c6eb1ac745d155859d5 jdk-15+36
5c18d696c7ce724ca36df13933aa53f50e12b9e0 jdk-16+11
fc8e62b399bd93d06e8d13dc3b384c450e853dcd jdk-16+12
fd07cdb26fc70243ef23d688b545514f4ddf1c2b jdk-16+13
36b29df125dc88f11657ce93b4998aa9ff5f5d41 jdk-16+14

View File

@@ -1,2 +1,33 @@
[general]
project=jdk
bugids=dup
jbs=JDK
[checks]
error=author,committer,reviewers,merge,issues,executable,symlink,message,hg-tag,whitespace,problemlists
[repository]
tags=(?:jdk-(?:[1-9]([0-9]*)(?:\.(?:0|[1-9][0-9]*)){0,4})(?:\+(?:(?:[0-9]+))|(?:-ga)))|(?:jdk[4-9](?:u\d{1,3})?-(?:(?:b\d{2,3})|(?:ga)))|(?:hs\d\d(?:\.\d{1,2})?-b\d\d)
branches=
[census]
version=0
domain=openjdk.org
[checks "whitespace"]
files=.*\.cpp|.*\.hpp|.*\.c|.*\.h|.*\.java|.*\.cc|.*\.hh|.*\.m|.*\.mm
[checks "merge"]
message=Merge
[checks "reviewers"]
reviewers=1
ignore=duke
[checks "committer"]
role=committer
[checks "issues"]
pattern=^([124-8][0-9]{6}): (\S.*)$
[checks "problemlists"]
dirs=test/jdk|test/langtools|test/lib-test|test/hotspot/jtreg|test/jaxp

3
CONTRIBUTING.md Normal file
View File

@@ -0,0 +1,3 @@
# Contributing to the JDK
Please see <https://openjdk.java.net/contribute/> for how to contribute.

12
README
View File

@@ -1,12 +0,0 @@
Welcome to the JDK!
===================
For build instructions, please see either of these files:
* doc/building.html (html version)
* doc/building.md (markdown version)
See https://openjdk.java.net/ for more information about
the OpenJDK Community and the JDK.

11
README.md Normal file
View File

@@ -0,0 +1,11 @@
# Welcome to the JDK!
For build instructions please see the
[online documentation](https://openjdk.java.net/groups/build/doc/building.html),
or either of these files:
- [doc/building.html](doc/building.html) (html version)
- [doc/building.md](doc/building.md) (markdown version)
See <https://openjdk.java.net/> for more information about
the OpenJDK Community and the JDK.

View File

@@ -147,13 +147,7 @@ add_replacement() {
add_replacement "###MODULE_NAMES###" "$MODULE_NAMES"
add_replacement "###VCS_TYPE###" "$VCS_TYPE"
SPEC_DIR=`dirname $SPEC`
if [ "x$CYGPATH" = "x" ]; then
add_replacement "###BUILD_DIR###" "$SPEC_DIR"
add_replacement "###JTREG_HOME###" "$JT_HOME"
add_replacement "###IMAGES_DIR###" "$SPEC_DIR/images/jdk"
add_replacement "###ROOT_DIR###" "$TOPLEVEL_DIR"
add_replacement "###IDEA_DIR###" "$IDEA_OUTPUT"
else
if [ "x$CYGPATH" != "x" ]; then
add_replacement "###BUILD_DIR###" "`cygpath -am $SPEC_DIR`"
add_replacement "###IMAGES_DIR###" "`cygpath -am $SPEC_DIR`/images/jdk"
add_replacement "###ROOT_DIR###" "`cygpath -am $TOPLEVEL_DIR`"
@@ -163,6 +157,22 @@ else
else
add_replacement "###JTREG_HOME###" "`cygpath -am $JT_HOME`"
fi
elif [ "x$WSL_DISTRO_NAME" != "x" ]; then
add_replacement "###BUILD_DIR###" "`wslpath -am $SPEC_DIR`"
add_replacement "###IMAGES_DIR###" "`wslpath -am $SPEC_DIR`/images/jdk"
add_replacement "###ROOT_DIR###" "`wslpath -am $TOPLEVEL_DIR`"
add_replacement "###IDEA_DIR###" "`wslpath -am $IDEA_OUTPUT`"
if [ "x$JT_HOME" = "x" ]; then
add_replacement "###JTREG_HOME###" ""
else
add_replacement "###JTREG_HOME###" "`wslpath -am $JT_HOME`"
fi
else
add_replacement "###BUILD_DIR###" "$SPEC_DIR"
add_replacement "###JTREG_HOME###" "$JT_HOME"
add_replacement "###IMAGES_DIR###" "$SPEC_DIR/images/jdk"
add_replacement "###ROOT_DIR###" "$TOPLEVEL_DIR"
add_replacement "###IDEA_DIR###" "$IDEA_OUTPUT"
fi
SOURCE_PREFIX="<sourceFolder url=\"file://"
@@ -170,9 +180,22 @@ SOURCE_POSTFIX="\" isTestSource=\"false\" />"
for root in $MODULE_ROOTS; do
if [ "x$CYGPATH" != "x" ]; then
root=`cygpath -am $root`
root=`cygpath -am $root`
elif [ "x$WSL_DISTRO_NAME" != "x" ]; then
root=`wslpath -am $root`
fi
VM_CI="jdk.internal.vm.ci/share/classes"
VM_COMPILER="src/jdk.internal.vm.compiler/share/classes"
if test "${root#*$VM_CI}" != "$root" || test "${root#*$VM_COMPILER}" != "$root"; then
for subdir in "$root"/*; do
if [ -d "$subdir" ]; then
SOURCES=$SOURCES" $SOURCE_PREFIX""$subdir"/src"$SOURCE_POSTFIX"
fi
done
else
SOURCES=$SOURCES" $SOURCE_PREFIX""$root""$SOURCE_POSTFIX"
fi
SOURCES=$SOURCES" $SOURCE_PREFIX""$root""$SOURCE_POSTFIX"
done
add_replacement "###SOURCE_ROOTS###" "$SOURCES"
@@ -196,16 +219,30 @@ fi
CP=$ANT_HOME/lib/ant.jar
rm -rf $CLASSES; mkdir $CLASSES
if [ "x$CYGPATH" = "x" ] ; then ## CYGPATH may be set in env.cfg
JAVAC_SOURCE_FILE=$IDEA_OUTPUT/src/idea/IdeaLoggerWrapper.java
JAVAC_SOURCE_PATH=$IDEA_OUTPUT/src
JAVAC_CLASSES=$CLASSES
JAVAC_CP=$CP
else
if [ "x$CYGPATH" != "x" ] ; then ## CYGPATH may be set in env.cfg
JAVAC_SOURCE_FILE=`cygpath -am $IDEA_OUTPUT/src/idea/IdeaLoggerWrapper.java`
JAVAC_SOURCE_PATH=`cygpath -am $IDEA_OUTPUT/src`
JAVAC_CLASSES=`cygpath -am $CLASSES`
JAVAC_CP=`cygpath -am $CP`
JAVAC=javac
elif [ "x$WSL_DISTRO_NAME" != "x" ]; then
JAVAC_SOURCE_FILE=`realpath --relative-to=./ $IDEA_OUTPUT/src/idea/IdeaLoggerWrapper.java`
JAVAC_SOURCE_PATH=`realpath --relative-to=./ $IDEA_OUTPUT/src`
JAVAC_CLASSES=`realpath --relative-to=./ $CLASSES`
ANT_TEMP=`mktemp -d -p ./`
cp $ANT_HOME/lib/ant.jar $ANT_TEMP/ant.jar
JAVAC_CP=$ANT_TEMP/ant.jar
JAVAC=javac.exe
else
JAVAC_SOURCE_FILE=$IDEA_OUTPUT/src/idea/IdeaLoggerWrapper.java
JAVAC_SOURCE_PATH=$IDEA_OUTPUT/src
JAVAC_CLASSES=$CLASSES
JAVAC_CP=$CP
JAVAC=javac
fi
$BOOT_JDK/bin/javac -d $JAVAC_CLASSES -sourcepath $JAVAC_SOURCE_PATH -cp $JAVAC_CP $JAVAC_SOURCE_FILE
$BOOT_JDK/bin/$JAVAC -d $JAVAC_CLASSES -sourcepath $JAVAC_SOURCE_PATH -cp $JAVAC_CP $JAVAC_SOURCE_FILE
if [ "x$WSL_DISTRO_NAME" != "x" ]; then
rm -rf $ANT_TEMP
fi

View File

@@ -265,7 +265,7 @@
<tbody>
<tr class="odd">
<td style="text-align: left;">Linux</td>
<td style="text-align: left;">gcc 9.2.0</td>
<td style="text-align: left;">gcc 10.2.0</td>
</tr>
<tr class="even">
<td style="text-align: left;">macOS</td>
@@ -273,14 +273,14 @@
</tr>
<tr class="odd">
<td style="text-align: left;">Windows</td>
<td style="text-align: left;">Microsoft Visual Studio 2019 update 16.5.3</td>
<td style="text-align: left;">Microsoft Visual Studio 2019 update 16.7.2</td>
</tr>
</tbody>
</table>
<p>All compilers are expected to be able to compile to the C99 language standard, as some C99 features are used in the source code. Microsoft Visual Studio doesn't fully support C99 so in practice shared code is limited to using C99 features that it does support.</p>
<h3 id="gcc">gcc</h3>
<p>The minimum accepted version of gcc is 5.0. Older versions will generate a warning by <code>configure</code> and are unlikely to work.</p>
<p>The JDK is currently known to be able to compile with at least version 9.2 of gcc.</p>
<p>The JDK is currently known to be able to compile with at least version 10.2 of gcc.</p>
<p>In general, any version between these two should be usable.</p>
<h3 id="clang">clang</h3>
<p>The minimum accepted version of clang is 3.5. Older versions will not be accepted by <code>configure</code>.</p>

View File

@@ -302,9 +302,9 @@ issues.
Operating system Toolchain version
------------------ -------------------------------------------------------
Linux gcc 9.2.0
Linux gcc 10.2.0
macOS Apple Xcode 10.1 (using clang 10.0.0)
Windows Microsoft Visual Studio 2019 update 16.5.3
Windows Microsoft Visual Studio 2019 update 16.7.2
All compilers are expected to be able to compile to the C99 language standard,
as some C99 features are used in the source code. Microsoft Visual Studio
@@ -316,7 +316,7 @@ features that it does support.
The minimum accepted version of gcc is 5.0. Older versions will generate a warning
by `configure` and are unlikely to work.
The JDK is currently known to be able to compile with at least version 9.2 of
The JDK is currently known to be able to compile with at least version 10.2 of
gcc.
In general, any version between these two should be usable.

View File

@@ -28,7 +28,8 @@
</ul></li>
<li><a href="#structure-and-formatting">Structure and Formatting</a><ul>
<li><a href="#factoring-and-class-design">Factoring and Class Design</a></li>
<li><a href="#files">Files</a></li>
<li><a href="#source-files">Source Files</a></li>
<li><a href="#jtreg-tests">JTReg Tests</a></li>
<li><a href="#naming">Naming</a></li>
<li><a href="#commenting">Commenting</a></li>
<li><a href="#macros">Macros</a></li>
@@ -87,7 +88,7 @@
<li><p>Don't use the Copy and Paste keys to replicate more than a couple lines of code. Name what you must repeat.</p></li>
<li><p>If a class needs a member function to change a user-visible attribute, the change should be done with a &quot;setter&quot; accessor matched to the simple &quot;getter&quot;.</p></li>
</ul>
<h3 id="files">Files</h3>
<h3 id="source-files">Source Files</h3>
<ul>
<li><p>All source files must have a globally unique basename. The build system depends on this uniqueness.</p></li>
<li><p>Do not put non-trivial function implementations in .hpp files. If the implementation depends on other .hpp files, put it in a .cpp or a .inline.hpp file.</p></li>
@@ -97,6 +98,15 @@
<li><p>Keep the include lines alphabetically sorted.</p></li>
<li><p>Put conditional inclusions (<code>#if ...</code>) at the end of the include list.</p></li>
</ul>
<h3 id="jtreg-tests">JTReg Tests</h3>
<ul>
<li><p>JTReg tests should have meaningful names.</p></li>
<li><p>JTReg tests associated with specific bugs should be tagged with the <code>@bug</code> keyword in the test description.</p></li>
<li><p>JTReg tests should be organized by component or feature under <code>test/</code>, in a directory hierarchy that generally follows that of the <code>src/</code> directory. There may be additional subdirectories to further categorize tests by feature. This structure makes it easy to run a collection of tests associated with a specific feature by specifying the associated directory as the source of the tests to run.</p>
<ul>
<li>Some (older) tests use the associated bug number in the directory name, the test name, or both. That naming style should no longer be used, with existing tests using that style being candidates for migration.</li>
</ul></li>
</ul>
<h3 id="naming">Naming</h3>
<ul>
<li><p>The length of a name may be correlated to the size of its scope. In particular, short names (even single letter names) may be fine in a small scope, but are usually inappropriate for larger scopes.</p></li>

View File

@@ -126,7 +126,7 @@ lines of code. Name what you must repeat.
change should be done with a "setter" accessor matched to the simple
"getter".
### Files
### Source Files
* All source files must have a globally unique basename. The build
system depends on this uniqueness.
@@ -147,6 +147,24 @@ it to resolve include problems.
* Put conditional inclusions (`#if ...`) at the end of the include list.
### JTReg Tests
* JTReg tests should have meaningful names.
* JTReg tests associated with specific bugs should be tagged with the
`@bug` keyword in the test description.
* JTReg tests should be organized by component or feature under
`test/`, in a directory hierarchy that generally follows that of the
`src/` directory. There may be additional subdirectories to further
categorize tests by feature. This structure makes it easy to run a
collection of tests associated with a specific feature by specifying
the associated directory as the source of the tests to run.
* Some (older) tests use the associated bug number in the directory
name, the test name, or both. That naming style should no longer be
used, with existing tests using that style being candidates for migration.
### Naming
* The length of a name may be correlated to the size of its scope. In

223
doc/hotspot-unit-tests.html Normal file
View File

@@ -0,0 +1,223 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" lang="" xml:lang="">
<head>
<meta charset="utf-8" />
<meta name="generator" content="pandoc" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" />
<title>Native/Unit Test Development Guidelines</title>
<style type="text/css">
code{white-space: pre-wrap;}
span.smallcaps{font-variant: small-caps;}
span.underline{text-decoration: underline;}
div.column{display: inline-block; vertical-align: top; width: 50%;}
</style>
<link rel="stylesheet" href="../make/data/docs-resources/resources/jdk-default.css" />
<!--[if lt IE 9]>
<script src="//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv-printshiv.min.js"></script>
<![endif]-->
</head>
<body>
<header id="title-block-header">
<h1 class="title">Native/Unit Test Development Guidelines</h1>
</header>
<nav id="TOC">
<ul>
<li><a href="#good-test-properties">Good test properties</a><ul>
<li><a href="#lightness">Lightness</a></li>
<li><a href="#isolation">Isolation</a></li>
<li><a href="#atomicity-and-self-containment">Atomicity and self-containment</a></li>
<li><a href="#repeatability">Repeatability</a></li>
<li><a href="#informativeness">Informativeness</a></li>
<li><a href="#testing-instead-of-visiting">Testing instead of visiting</a></li>
<li><a href="#nearness">Nearness</a></li>
</ul></li>
<li><a href="#asserts">Asserts</a><ul>
<li><a href="#several-checks">Several checks</a></li>
<li><a href="#first-parameter-is-expected-value">First parameter is expected value</a></li>
<li><a href="#floating-point-comparison">Floating-point comparison</a></li>
<li><a href="#c-string-comparison">C string comparison</a></li>
<li><a href="#error-messages">Error messages</a></li>
<li><a href="#uncluttered-output">Uncluttered output</a></li>
<li><a href="#failures-propagation">Failures propagation</a></li>
</ul></li>
<li><a href="#naming-and-grouping">Naming and Grouping</a><ul>
<li><a href="#test-group-names">Test group names</a></li>
<li><a href="#filename">Filename</a></li>
<li><a href="#file-location">File location</a></li>
<li><a href="#test-names">Test names</a></li>
<li><a href="#fixture-classes">Fixture classes</a></li>
<li><a href="#friend-classes">Friend classes</a></li>
<li><a href="#oscpu-specific-tests">OS/CPU specific tests</a></li>
</ul></li>
<li><a href="#miscellaneous">Miscellaneous</a><ul>
<li><a href="#hotspot-style">Hotspot style</a></li>
<li><a href="#codetest-metrics">Code/test metrics</a></li>
<li><a href="#access-to-non-public-members">Access to non-public members</a></li>
<li><a href="#death-tests">Death tests</a></li>
<li><a href="#external-flags">External flags</a></li>
<li><a href="#test-specific-flags">Test-specific flags</a></li>
<li><a href="#flag-restoring">Flag restoring</a></li>
<li><a href="#googletest-documentation">GoogleTest documentation</a></li>
</ul></li>
<li><a href="#todo">TODO</a></li>
</ul>
</nav>
<p>The purpose of these guidelines is to establish a shared vision on what kind of native tests and how we want to develop them for Hotspot using GoogleTest. Hence these guidelines include style items as well as test approach items.</p>
<p>First section of this document describes properties of good tests which are common for almost all types of test regardless of language, framework, etc. Further sections provide recommendations to achieve those properties and other HotSpot and/or GoogleTest specific guidelines.</p>
<h2 id="good-test-properties">Good test properties</h2>
<h3 id="lightness">Lightness</h3>
<p>Use the most lightweight type of tests.</p>
<p>In Hotspot, there are 3 different types of tests regarding their dependency on a JVM, each next level is slower than previous</p>
<ul>
<li><p><code>TEST</code> : a test does not depend on a JVM</p></li>
<li><p><code>TEST_VM</code> : a test does depend on an initialized JVM, but are supposed not to break a JVM, i.e. leave it in a workable state.</p></li>
<li><p><code>TEST_OTHER_VM</code> : a test depends on a JVM and requires a freshly initialized JVM or leaves a JVM in non-workable state</p></li>
</ul>
<h3 id="isolation">Isolation</h3>
<p>Tests have to be isolated: not to have visible side-effects, influences on other tests results.</p>
<p>Results of one test should not depend on test execution order, other tests, otherwise it is becoming almost impossible to find out why a test failed. Due to hotspot-specific, it is not so easy to get a full isolation, e.g. we share an initialized JVM between all <code>TEST_VM</code> tests, so if your test changes JVM's state too drastically and does not change it back, you had better consider <code>TEST_OTHER_VM</code>.</p>
<h3 id="atomicity-and-self-containment">Atomicity and self-containment</h3>
<p>Tests should be <em>atomic</em> and <em>self-contained</em> at the same time.</p>
<p>One test should check a particular part of a class, subsystem, functionality, etc. Then it is quite easy to determine what parts of a product are broken basing on test failures. On the other hand, a test should test that part more-or-less entirely, because when one sees a test <code>FooTest::bar</code>, they assume all aspects of bar from <code>Foo</code> are tested.</p>
<p>However, it is impossible to cover all aspects even of a method, not to mention a subsystem. In such cases, it is recommended to have several tests, one for each aspect of a thing under test. For example one test to tests how <code>Foo::bar</code> works if an argument is <code>null</code>, another test to test how it works if an argument is acceptable but <code>Foo</code> is not in the right state to accept it and so on. This helps not only to make tests atomic, self-contained but also makes test name self-descriptive (discussed in more details in <a href="#test-names">Test names</a>).</p>
<h3 id="repeatability">Repeatability</h3>
<p>Tests have to be repeatable.</p>
<p>Reproducibility is very crucial for a test. No one likes sporadic test failures, they are hard to investigate, fix and verify a fix.</p>
<p>In some cases, it is quite hard to write a 100% repeatable test, since besides a test there can be other moving parts, e.g. in case of <code>TEST_VM</code> there are several concurrently running threads. Despite this, we should try to make a test as reproducible as possible.</p>
<h3 id="informativeness">Informativeness</h3>
<p>In case of a failure, a test should be as <em>informative</em> as possible.</p>
<p>Having more information about a test failure than just compared values can be very useful for failure troubleshooting, it can reduce or even completely eliminate debugging hours. This is even more important in case of not 100% reproducible failures.</p>
<p>Achieving this property, one can easily make a test too verbose, so it will be really hard to find useful information in the ocean of useless information. Hence they should not only think about how to provide <a href="#error-messages">good information</a>, but also <a href="#uncluttered-output">when to do it</a>.</p>
<h3 id="testing-instead-of-visiting">Testing instead of visiting</h3>
<p>Tests should <em>test</em>.</p>
<p>It is not enough just to &quot;visit&quot; some code, a test should check that code does that it has to do, compare return values with expected values, check that desired side effects are done, and undesired are not, and so on. In other words, a test should contain at least one GoogleTest assertion and do not rely on JVM asserts.</p>
<p>Generally speaking to write a good test, one should create a model of the system under tests, a model of possible bugs (or bugs which one wants to find) and design tests using those models.</p>
<h3 id="nearness">Nearness</h3>
<p>Prefer having checks inside test code.</p>
<p>Not only does having test logic outside, e.g. verification method, depending on asserts in product code contradict with several items above but also decreases tests readability and stability. It is much easier to understand that a test is testing when all testing logic is located inside a test or nearby in shared test libraries. As a rule of thumb, the closer a check to a test, the better.</p>
<h2 id="asserts">Asserts</h2>
<h3 id="several-checks">Several checks</h3>
<p>Prefer <code>EXPECT</code> over <code>ASSERT</code> if possible.</p>
<p>This is related to the <a href="#informativeness">informativeness</a> property of tests, information for other checks can help to better localize a defects root-cause. One should use <code>ASSERT</code> if it is impossible to continue test execution or if it does not make much sense. Later in the text, <code>EXPECT</code> forms will be used to refer to both <code>ASSERT/EXPECT</code>.</p>
<p>When it is possible to make several different checks, but impossible to continue test execution if at least one check fails, you can use <code>::testing::Test::HasNonfatalFailure()</code> function. The recommended way to express that is <code>ASSERT_FALSE(::testing::Test::HasNonfatalFailure())</code>. Besides making it clear why a test is aborted, it also allows you to provide more information about a failure.</p>
<h3 id="first-parameter-is-expected-value">First parameter is expected value</h3>
<p>In all equality assertions, expected values should be passed as the first parameter.</p>
<p>This convention is adopted by GoogleTest, and there is a slight difference in how GoogleTest treats parameters, the most important one is <code>null</code> detection. Due to different reasons, <code>null</code> detection is enabled only for the first parameter, that is to said <code>EXPECT_EQ(NULL, object)</code> checks that object is <code>null</code>, while <code>EXPECT_EQ(object, NULL)</code> checks that object equals to <code>NULL</code>, GoogleTest is very strict regarding types of compared values so the latter will generates a compile-time error.</p>
<h3 id="floating-point-comparison">Floating-point comparison</h3>
<p>Use floating-point special macros to compare <code>float/double</code> values.</p>
<p>Because of floating-point number representations and round-off errors, regular equality comparison will not return true in most cases. There are special <code>EXPECT_FLOAT_EQ/EXPECT_DOUBLE_EQ</code> assertions which check that the distance between compared values is not more than 4 ULPs, there is also <code>EXPECT_NEAR(v1, v2, eps)</code> which checks that the absolute value of the difference between <code>v1</code> and <code>v2</code> is not greater than <code>eps</code>.</p>
<h3 id="c-string-comparison">C string comparison</h3>
<p>Use string special macros for C strings comparisons.</p>
<p><code>EXPECT_EQ</code> just compares pointers values, which is hardly what one wants comparing C strings. GoogleTest provides <code>EXPECT_STREQ</code> and <code>EXPECT_STRNE</code> macros to compare C string contents. There are also case-insensitive versions <code>EXPECT_STRCASEEQ</code>, <code>EXPECT_STRCASENE</code>.</p>
<h3 id="error-messages">Error messages</h3>
<p>Provide informative, but not too verbose error messages.</p>
<p>All GoogleTest asserts print compared expressions and their values, so there is no need to have them in error messages. Asserts print only compared values, they do not print any of interim variables, e.g. <code>ASSERT_TRUE((val1 == val2 &amp;&amp; isFail(foo(8)) || i == 18)</code> prints only one value. If you use some complex predicates, please consider <code>EXPECT_PRED*</code> or <code>EXPECT_FORMAT_PRED</code> assertions family, they check that a predicate returns true/success and print out all parameters values.</p>
<p>However in some cases, default information is not enough, a commonly used example is an assert inside a loop, GoogleTest will not print iteration values (unless it is an assert's parameter). Other demonstrative examples are printing error code and a corresponding error message; printing internal states which might have an impact on results. One should add this information to assert message using <code>&lt;&lt;</code> operator.</p>
<h3 id="uncluttered-output">Uncluttered output</h3>
<p>Print information only if it is needed.</p>
<p>Too verbose tests which print all information even if they pass are very bad practice. They just pollute output, so it becomes harder to find useful information. In order not print information till it is really needed, one should consider saving it to a temporary buffer and pass to an assert. <a href="https://hg.openjdk.java.net/jdk/jdk/file/tip/test/hotspot/gtest/gc/shared/test_memset_with_concurrent_readers.cpp" class="uri">https://hg.openjdk.java.net/jdk/jdk/file/tip/test/hotspot/gtest/gc/shared/test_memset_with_concurrent_readers.cpp</a> has a good example how to do that.</p>
<h3 id="failures-propagation">Failures propagation</h3>
<p>Wrap a subroutine call into <code>EXPECT_NO_FATAL_FAILURE</code> macro to propagate failures.</p>
<p><code>ASSERT</code> and <code>FAIL</code> abort only the current function, so if you have them in a subroutine, a test will not be aborted after the subroutine even if <code>ASSERT</code> or <code>FAIL</code> fails. You should call such subroutines in <code>ASSERT_NO_FATAL_FAILURE</code> macro to propagate fatal failures and abort a test. <code>(EXPECT|ASSERT)_NO_FATAL_FAILURE</code> can also be used to provide more information.</p>
<p>Due to obvious reasons, there are no <code>(EXPECT|ASSERT)_NO_NONFATAL_FAILURE</code> macros. However, if you need to check if a subroutine generated a nonfatal failure (failed an <code>EXPECT</code>), you can use <code>::testing::Test::HasNonfatalFailure</code> function, or <code>::testing::Test::HasFailure</code> function to check if a subroutine generated any failures, see <a href="#several-checks">Several checks</a>.</p>
<h2 id="naming-and-grouping">Naming and Grouping</h2>
<h3 id="test-group-names">Test group names</h3>
<p>Test group names should be in CamelCase, start and end with a letter. A test group should be named after tested class, functionality, subsystem, etc.</p>
<p>This naming scheme helps to find tests, filter them and simplifies test failure analysis. For example, class <code>Foo</code> - test group <code>Foo</code>, compiler logging subsystem - test group <code>CompilerLogging</code>, G1 GC — test group <code>G1GC</code>, and so forth.</p>
<h3 id="filename">Filename</h3>
<p>A test file must have <code>test_</code> prefix and <code>.cpp</code> suffix.</p>
<p>Both are actually requirements from the current build system to recognize your tests.</p>
<h3 id="file-location">File location</h3>
<p>Test file location should reflect a location of the tested part of the product.</p>
<ul>
<li><p>All unit tests for a class from <code>foo/bar/baz.cpp</code> should be placed <code>foo/bar/test_baz.cpp</code> in <code>hotspot/test/native/</code> directory. Having all tests for a class in one file is a common practice for unit tests, it helps to see all existing tests at once, share functions and/or resources without losing encapsulation.</p></li>
<li><p>For tests which test more than one class, directory hierarchy should be the same as product hierarchy, and file name should reflect the name of the tested subsystem/functionality. For example, if a sub-system under tests belongs to <code>gc/g1</code>, tests should be placed in <code>gc/g1</code> directory.</p></li>
</ul>
<p>Please note that framework prepends directory name to a test group name. For example, if <code>TEST(foo, check_this)</code> and <code>TEST(bar, check_that)</code> are defined in <code>hotspot/test/native/gc/shared/test_foo.cpp</code> file, they will be reported as <code>gc/shared/foo::check_this</code> and <code>gc/shared/bar::check_that</code>.</p>
<h3 id="test-names">Test names</h3>
<p>Test names should be in small_snake_case, start and end with a letter. A test name should reflect that a test checks.</p>
<p>Such naming makes tests self-descriptive and helps a lot during the whole test life cycle. It is easy to do test planning, test inventory, to see what things are not tested, to review tests, to analyze test failures, to evolve a test, etc. For example <code>foo_return_0_if_name_is_null</code> is better than <code>foo_sanity</code> or <code>foo_basic</code> or just <code>foo</code>, <code>humongous_objects_can_not_be_moved_by_young_gc</code> is better than <code>ho_young_gc</code>.</p>
<p>Actually using underscore is against GoogleTest project convention, because it can lead to illegal identifiers, however, this is too strict. Restricting usage of underscore for test names only and prohibiting test name starts or ends with an underscore are enough to be safe.</p>
<h3 id="fixture-classes">Fixture classes</h3>
<p>Fixture classes should be named after tested classes, subsystems, etc (follow <a href="#test-group-names">Test group names rule</a>) and have <code>Test</code> suffix to prevent class name conflicts.</p>
<h3 id="friend-classes">Friend classes</h3>
<p>All test purpose friends should have either <code>Test</code> or <code>Testable</code> suffix.</p>
<p>It greatly simplifies understanding of friendships purpose and allows statically check that private members are not exposed unexpectedly. Having <code>FooTest</code> as a friend of <code>Foo</code> without any comments will be understood as a necessary evil to get testability.</p>
<h3 id="oscpu-specific-tests">OS/CPU specific tests</h3>
<p>Guard OS/CPU specific tests by <code>#ifdef</code> and have OS/CPU name in filename.</p>
<p>For the time being, we do not support separate directories for OS, CPU, OS-CPU specific tests, in case we will have lots of such tests, we will change directory layout and build system to support that in the same way it is done in hotspot.</p>
<h2 id="miscellaneous">Miscellaneous</h2>
<h3 id="hotspot-style">Hotspot style</h3>
<p>Abide the norms and rules accepted in Hotspot style guide.</p>
<p>Tests are a part of Hotspot, so everything (if applicable) we use for Hotspot, should be used for tests as well. Those guidelines cover test-specific things.</p>
<h3 id="codetest-metrics">Code/test metrics</h3>
<p>Coverage information and other code/test metrics are quite useful to decide what tests should be written, what tests should be improved and what can be removed.</p>
<p>For unit tests, widely used and well-known coverage metric is branch coverage, which provides good quality of tests with relatively easy test development process. For other levels of testing, branch coverage is not as good, and one should consider others metrics, e.g. transaction flow coverage, data flow coverage.</p>
<h3 id="access-to-non-public-members">Access to non-public members</h3>
<p>Use explicit friend class to get access to non-public members.</p>
<p>We do not use GoogleTest macro to declare friendship relation, because, from our point of view, it is less clear than an explicit declaration.</p>
<p>Declaring a test fixture class as a friend class of a tested test is the easiest and the clearest way to get access. However, it has some disadvantages, here is some of them:</p>
<ul>
<li>Each test has to be declared as a friend</li>
<li>Subclasses do not inheritance friendship relation</li>
</ul>
<p>In other words, it is harder to share code between tests. Hence if you want to share code or expect it to be useful in other tests, you should consider making members in a tested class protected and introduce a shared test-only class which expose those members via public functions, or even making members publicly accessible right away in a product class. If it is not an option to change members visibility, one can create a friend class which exposes members.</p>
<h3 id="death-tests">Death tests</h3>
<p>You can not use death tests inside <code>TEST_OTHER_VM</code> and <code>TEST_VM_ASSERT*</code>.</p>
<p>We tried to make Hotspot-GoogleTest integration as transparent as possible, however, due to the current implementation of <code>TEST_OTHER_VM</code> and <code>TEST_VM_ASSERT*</code> tests, you cannot use death test functionality in them. These tests are implemented as GoogleTest death tests, and GoogleTest does not allow to have a death test inside another death test.</p>
<h3 id="external-flags">External flags</h3>
<p>Passing external flags to a tested JVM is not supported.</p>
<p>The rationality of such design decision is to simplify both tests and a test framework and to avoid failures related to incompatible flags combination till there is a good solution for that. However there are cases when one wants to test a JVM with specific flags combination, <code>_JAVA_OPTIONS</code> environment variable can be used to do that. Flags from <code>_JAVA_OPTIONS</code> will be used in <code>TEST_VM</code>, <code>TEST_OTHER_VM</code> and <code>TEST_VM_ASSERT*</code> tests.</p>
<h3 id="test-specific-flags">Test-specific flags</h3>
<p>Passing flags to a tested JVM in <code>TEST_OTHER_VM</code> and <code>TEST_VM_ASSERT*</code> should be possible, but is not implemented yet.</p>
<p>Facility to pass test-specific flags is needed for system, regression or other types of tests which require a fully initialized JVM in some particular configuration, e.g. with Serial GC selected. There is no support for such tests now, however, there is a plan to add that in upcoming releases.</p>
<p>For now, if a test depends on flags values, it should have <code>if (!&lt;flag&gt;) { return }</code> guards in the very beginning and <code>@requires</code> comment similar to jtreg <code>@requires</code> directive right before test macros. <a href="https://hg.openjdk.java.net/jdk/jdk/file/tip/test/hotspot/gtest/gc/g1/test_g1IHOPControl.cpp" class="uri">https://hg.openjdk.java.net/jdk/jdk/file/tip/test/hotspot/gtest/gc/g1/test_g1IHOPControl.cpp</a> ha an example of this temporary workaround. It is important to follow that pattern as it allows us to easily find all such tests and update them as soon as there is an implementation of flag passing facility.</p>
<p>In long-term, we expect jtreg to support GoogleTest tests as first class citizens, that is to say, jtreg will parse <span class="citation" data-cites="requires">@requires</span> comments and filter out inapplicable tests.</p>
<h3 id="flag-restoring">Flag restoring</h3>
<p>Restore changed flags.</p>
<p>It is quite common for tests to configure JVM in a certain way changing flags values. GoogleTest provides two ways to set up environment before a test and restore it afterward: using either constructor and destructor or <code>SetUp</code> and <code>TearDown</code> functions. Both ways require to use a test fixture class, which sometimes is too wordy. The simpler facilities like <code>FLAG_GUARD</code> macro or <code>*FlagSetting</code> classes could be used in such cases to restore/set values.</p>
<p>Caveats:</p>
<ul>
<li><p>Changing a flags value could break the invariants between flags' values and hence could lead to unexpected/unsupported JVM state.</p></li>
<li><p><code>FLAG_SET_*</code> macros can change more than one flag (in order to maintain invariants) so it is hard to predict what flags will be changed and it makes restoring all changed flags a nontrivial task. Thus in case one uses <code>FLAG_SET_*</code> macros, they should use <code>TEST_OTHER_VM</code> test type.</p></li>
</ul>
<h3 id="googletest-documentation">GoogleTest documentation</h3>
<p>In case you have any questions regarding GoogleTest itself, its asserts, test declaration macros, other macros, etc, please consult its documentation.</p>
<h2 id="todo">TODO</h2>
<p>Although this document provides guidelines on the most important parts of test development using GTest, it still misses a few items:</p>
<ul>
<li><p>Examples, esp for <a href="#access-to-non-public-members">access to non-public members</a></p></li>
<li>test types: purpose, drawbacks, limitation
<ul>
<li><code>TEST_VM</code></li>
<li><code>TEST_VM_F</code></li>
<li><code>TEST_OTHER_VM</code></li>
<li><code>TEST_VM_ASSERT</code></li>
<li><code>TEST_VM_ASSERT_MSG</code></li>
</ul></li>
<li>Miscellaneous
<ul>
<li>Test libraries
<ul>
<li>where to place</li>
<li>how to write</li>
<li>how to use</li>
</ul></li>
<li>test your tests
<ul>
<li>how to run tests in random order</li>
<li>how to run only specific tests</li>
<li>how to run each test separately</li>
<li>check that a test can find bugs it is supposed to by introducing them</li>
</ul></li>
<li>mocks/stubs/dependency injection</li>
<li>setUp/tearDown
<ul>
<li>vs c-tor/d-tor</li>
<li>empty test to test them</li>
</ul></li>
<li>internal (declared in .cpp) struct/classes</li>
</ul></li>
</ul>
</body>
</html>

451
doc/hotspot-unit-tests.md Normal file
View File

@@ -0,0 +1,451 @@
% Native/Unit Test Development Guidelines
The purpose of these guidelines is to establish a shared vision on
what kind of native tests and how we want to develop them for Hotspot
using GoogleTest. Hence these guidelines include style items as well
as test approach items.
First section of this document describes properties of good tests
which are common for almost all types of test regardless of language,
framework, etc. Further sections provide recommendations to achieve
those properties and other HotSpot and/or GoogleTest specific
guidelines.
## Good test properties
### Lightness
Use the most lightweight type of tests.
In Hotspot, there are 3 different types of tests regarding their
dependency on a JVM, each next level is slower than previous
* `TEST` : a test does not depend on a JVM
* `TEST_VM` : a test does depend on an initialized JVM, but are
supposed not to break a JVM, i.e. leave it in a workable state.
* `TEST_OTHER_VM` : a test depends on a JVM and requires a freshly
initialized JVM or leaves a JVM in non-workable state
### Isolation
Tests have to be isolated: not to have visible side-effects,
influences on other tests results.
Results of one test should not depend on test execution order, other
tests, otherwise it is becoming almost impossible to find out why a
test failed. Due to hotspot-specific, it is not so easy to get a full
isolation, e.g. we share an initialized JVM between all `TEST_VM` tests,
so if your test changes JVM's state too drastically and does not
change it back, you had better consider `TEST_OTHER_VM`.
### Atomicity and self-containment
Tests should be *atomic* and *self-contained* at the same time.
One test should check a particular part of a class, subsystem,
functionality, etc. Then it is quite easy to determine what parts of a
product are broken basing on test failures. On the other hand, a test
should test that part more-or-less entirely, because when one sees a
test `FooTest::bar`, they assume all aspects of bar from `Foo` are tested.
However, it is impossible to cover all aspects even of a method, not
to mention a subsystem. In such cases, it is recommended to have
several tests, one for each aspect of a thing under test. For example
one test to tests how `Foo::bar` works if an argument is `null`, another
test to test how it works if an argument is acceptable but `Foo` is not
in the right state to accept it and so on. This helps not only to make
tests atomic, self-contained but also makes test name self-descriptive
(discussed in more details in [Test names](#test-names)).
### Repeatability
Tests have to be repeatable.
Reproducibility is very crucial for a test. No one likes sporadic test
failures, they are hard to investigate, fix and verify a fix.
In some cases, it is quite hard to write a 100% repeatable test, since
besides a test there can be other moving parts, e.g. in case of
`TEST_VM` there are several concurrently running threads. Despite this,
we should try to make a test as reproducible as possible.
### Informativeness
In case of a failure, a test should be as *informative* as possible.
Having more information about a test failure than just compared values
can be very useful for failure troubleshooting, it can reduce or even
completely eliminate debugging hours. This is even more important in
case of not 100% reproducible failures.
Achieving this property, one can easily make a test too verbose, so it
will be really hard to find useful information in the ocean of useless
information. Hence they should not only think about how to provide
[good information](#error-messages), but also
[when to do it](#uncluttered-output).
### Testing instead of visiting
Tests should *test*.
It is not enough just to "visit" some code, a test should check that
code does that it has to do, compare return values with expected
values, check that desired side effects are done, and undesired are
not, and so on. In other words, a test should contain at least one
GoogleTest assertion and do not rely on JVM asserts.
Generally speaking to write a good test, one should create a model of
the system under tests, a model of possible bugs (or bugs which one
wants to find) and design tests using those models.
### Nearness
Prefer having checks inside test code.
Not only does having test logic outside, e.g. verification method,
depending on asserts in product code contradict with several items
above but also decreases tests readability and stability. It is much
easier to understand that a test is testing when all testing logic is
located inside a test or nearby in shared test libraries. As a rule of
thumb, the closer a check to a test, the better.
## Asserts
### Several checks
Prefer `EXPECT` over `ASSERT` if possible.
This is related to the [informativeness](#informativeness) property of
tests, information for other checks can help to better localize a
defects root-cause. One should use `ASSERT` if it is impossible to
continue test execution or if it does not make much sense. Later in
the text, `EXPECT` forms will be used to refer to both
`ASSERT/EXPECT`.
When it is possible to make several different checks, but impossible
to continue test execution if at least one check fails, you can
use `::testing::Test::HasNonfatalFailure()` function. The recommended
way to express that is
`ASSERT_FALSE(::testing::Test::HasNonfatalFailure())`. Besides making it
clear why a test is aborted, it also allows you to provide more
information about a failure.
### First parameter is expected value
In all equality assertions, expected values should be passed as the
first parameter.
This convention is adopted by GoogleTest, and there is a slight
difference in how GoogleTest treats parameters, the most important one
is `null` detection. Due to different reasons, `null` detection is enabled
only for the first parameter, that is to said `EXPECT_EQ(NULL, object)`
checks that object is `null`, while `EXPECT_EQ(object, NULL)` checks that
object equals to `NULL`, GoogleTest is very strict regarding types of
compared values so the latter will generates a compile-time error.
### Floating-point comparison
Use floating-point special macros to compare `float/double` values.
Because of floating-point number representations and round-off errors,
regular equality comparison will not return true in most cases. There
are special `EXPECT_FLOAT_EQ/EXPECT_DOUBLE_EQ` assertions which check
that the distance between compared values is not more than 4 ULPs,
there is also `EXPECT_NEAR(v1, v2, eps)` which checks that the absolute
value of the difference between `v1` and `v2` is not greater than `eps`.
### C string comparison
Use string special macros for C strings comparisons.
`EXPECT_EQ` just compares pointers values, which is hardly what one
wants comparing C strings. GoogleTest provides `EXPECT_STREQ` and
`EXPECT_STRNE` macros to compare C string contents. There are also
case-insensitive versions `EXPECT_STRCASEEQ`, `EXPECT_STRCASENE`.
### Error messages
Provide informative, but not too verbose error messages.
All GoogleTest asserts print compared expressions and their values, so
there is no need to have them in error messages. Asserts print only
compared values, they do not print any of interim variables, e.g.
`ASSERT_TRUE((val1 == val2 && isFail(foo(8)) || i == 18)` prints only
one value. If you use some complex predicates, please consider
`EXPECT_PRED*` or `EXPECT_FORMAT_PRED` assertions family, they check that
a predicate returns true/success and print out all parameters values.
However in some cases, default information is not enough, a commonly
used example is an assert inside a loop, GoogleTest will not print
iteration values (unless it is an assert's parameter). Other
demonstrative examples are printing error code and a corresponding
error message; printing internal states which might have an impact on
results. One should add this information to assert message using `<<`
operator.
### Uncluttered output
Print information only if it is needed.
Too verbose tests which print all information even if they pass are
very bad practice. They just pollute output, so it becomes harder to
find useful information. In order not print information till it is
really needed, one should consider saving it to a temporary buffer and
pass to an assert.
<https://hg.openjdk.java.net/jdk/jdk/file/tip/test/hotspot/gtest/gc/shared/test_memset_with_concurrent_readers.cpp>
has a good example how to do that.
### Failures propagation
Wrap a subroutine call into `EXPECT_NO_FATAL_FAILURE` macro to
propagate failures.
`ASSERT` and `FAIL` abort only the current function, so if you have them
in a subroutine, a test will not be aborted after the subroutine even
if `ASSERT` or `FAIL` fails. You should call such subroutines in
`ASSERT_NO_FATAL_FAILURE` macro to propagate fatal failures and abort a
test. `(EXPECT|ASSERT)_NO_FATAL_FAILURE` can also be used to provide
more information.
Due to obvious reasons, there are no
`(EXPECT|ASSERT)_NO_NONFATAL_FAILURE` macros. However, if you need to
check if a subroutine generated a nonfatal failure (failed an `EXPECT`),
you can use `::testing::Test::HasNonfatalFailure` function,
or `::testing::Test::HasFailure` function to check if a subroutine
generated any failures, see [Several checks](#several-checks).
## Naming and Grouping
### Test group names
Test group names should be in CamelCase, start and end with a letter.
A test group should be named after tested class, functionality,
subsystem, etc.
This naming scheme helps to find tests, filter them and simplifies
test failure analysis. For example, class `Foo` - test group `Foo`,
compiler logging subsystem - test group `CompilerLogging`, G1 GC — test
group `G1GC`, and so forth.
### Filename
A test file must have `test_` prefix and `.cpp` suffix.
Both are actually requirements from the current build system to
recognize your tests.
### File location
Test file location should reflect a location of the tested part of the product.
* All unit tests for a class from `foo/bar/baz.cpp` should be placed
`foo/bar/test_baz.cpp` in `hotspot/test/native/` directory. Having all
tests for a class in one file is a common practice for unit tests, it
helps to see all existing tests at once, share functions and/or
resources without losing encapsulation.
* For tests which test more than one class, directory hierarchy should
be the same as product hierarchy, and file name should reflect the
name of the tested subsystem/functionality. For example, if a
sub-system under tests belongs to `gc/g1`, tests should be placed in
`gc/g1` directory.
Please note that framework prepends directory name to a test group
name. For example, if `TEST(foo, check_this)` and `TEST(bar, check_that)`
are defined in `hotspot/test/native/gc/shared/test_foo.cpp` file, they
will be reported as `gc/shared/foo::check_this` and
`gc/shared/bar::check_that`.
### Test names
Test names should be in small_snake_case, start and end with a letter.
A test name should reflect that a test checks.
Such naming makes tests self-descriptive and helps a lot during the
whole test life cycle. It is easy to do test planning, test inventory,
to see what things are not tested, to review tests, to analyze test
failures, to evolve a test, etc. For example
`foo_return_0_if_name_is_null` is better than `foo_sanity` or `foo_basic` or
just `foo`, `humongous_objects_can_not_be_moved_by_young_gc` is better
than `ho_young_gc`.
Actually using underscore is against GoogleTest project convention,
because it can lead to illegal identifiers, however, this is too
strict. Restricting usage of underscore for test names only and
prohibiting test name starts or ends with an underscore are enough to
be safe.
### Fixture classes
Fixture classes should be named after tested classes, subsystems, etc
(follow [Test group names rule](#test-group-names)) and have
`Test` suffix to prevent class name conflicts.
### Friend classes
All test purpose friends should have either `Test` or `Testable` suffix.
It greatly simplifies understanding of friendships purpose and allows
statically check that private members are not exposed unexpectedly.
Having `FooTest` as a friend of `Foo` without any comments will be
understood as a necessary evil to get testability.
### OS/CPU specific tests
Guard OS/CPU specific tests by `#ifdef` and have OS/CPU name in filename.
For the time being, we do not support separate directories for OS,
CPU, OS-CPU specific tests, in case we will have lots of such tests,
we will change directory layout and build system to support that in
the same way it is done in hotspot.
## Miscellaneous
### Hotspot style
Abide the norms and rules accepted in Hotspot style guide.
Tests are a part of Hotspot, so everything (if applicable) we use for
Hotspot, should be used for tests as well. Those guidelines cover
test-specific things.
### Code/test metrics
Coverage information and other code/test metrics are quite useful to
decide what tests should be written, what tests should be improved and
what can be removed.
For unit tests, widely used and well-known coverage metric is branch
coverage, which provides good quality of tests with relatively easy
test development process. For other levels of testing, branch coverage
is not as good, and one should consider others metrics, e.g.
transaction flow coverage, data flow coverage.
### Access to non-public members
Use explicit friend class to get access to non-public members.
We do not use GoogleTest macro to declare friendship relation,
because, from our point of view, it is less clear than an explicit
declaration.
Declaring a test fixture class as a friend class of a tested test is
the easiest and the clearest way to get access. However, it has some
disadvantages, here is some of them:
* Each test has to be declared as a friend
* Subclasses do not inheritance friendship relation
In other words, it is harder to share code between tests. Hence if you
want to share code or expect it to be useful in other tests, you
should consider making members in a tested class protected and
introduce a shared test-only class which expose those members via
public functions, or even making members publicly accessible right
away in a product class. If it is not an option to change members
visibility, one can create a friend class which exposes members.
### Death tests
You can not use death tests inside `TEST_OTHER_VM` and `TEST_VM_ASSERT*`.
We tried to make Hotspot-GoogleTest integration as transparent as
possible, however, due to the current implementation of `TEST_OTHER_VM`
and `TEST_VM_ASSERT*` tests, you cannot use death test functionality in
them. These tests are implemented as GoogleTest death tests, and
GoogleTest does not allow to have a death test inside another death
test.
### External flags
Passing external flags to a tested JVM is not supported.
The rationality of such design decision is to simplify both tests and
a test framework and to avoid failures related to incompatible flags
combination till there is a good solution for that. However there are
cases when one wants to test a JVM with specific flags combination,
`_JAVA_OPTIONS` environment variable can be used to do that. Flags from
`_JAVA_OPTIONS` will be used in `TEST_VM`, `TEST_OTHER_VM` and
`TEST_VM_ASSERT*` tests.
### Test-specific flags
Passing flags to a tested JVM in `TEST_OTHER_VM` and `TEST_VM_ASSERT*`
should be possible, but is not implemented yet.
Facility to pass test-specific flags is needed for system, regression
or other types of tests which require a fully initialized JVM in some
particular configuration, e.g. with Serial GC selected. There is no
support for such tests now, however, there is a plan to add that in
upcoming releases.
For now, if a test depends on flags values, it should have `if
(!<flag>) { return }` guards in the very beginning and `@requires`
comment similar to jtreg `@requires` directive right before test macros.
<https://hg.openjdk.java.net/jdk/jdk/file/tip/test/hotspot/gtest/gc/g1/test_g1IHOPControl.cpp>
ha an example of this temporary workaround. It is important to follow
that pattern as it allows us to easily find all such tests and update
them as soon as there is an implementation of flag passing facility.
In long-term, we expect jtreg to support GoogleTest tests as first
class citizens, that is to say, jtreg will parse @requires comments
and filter out inapplicable tests.
### Flag restoring
Restore changed flags.
It is quite common for tests to configure JVM in a certain way
changing flags values. GoogleTest provides two ways to set up
environment before a test and restore it afterward: using either
constructor and destructor or `SetUp` and `TearDown` functions. Both ways
require to use a test fixture class, which sometimes is too wordy. The
simpler facilities like `FLAG_GUARD` macro or `*FlagSetting` classes could
be used in such cases to restore/set values.
Caveats:
* Changing a flags value could break the invariants between flags' values and hence could lead to unexpected/unsupported JVM state.
* `FLAG_SET_*` macros can change more than one flag (in order to
maintain invariants) so it is hard to predict what flags will be
changed and it makes restoring all changed flags a nontrivial task.
Thus in case one uses `FLAG_SET_*` macros, they should use `TEST_OTHER_VM`
test type.
### GoogleTest documentation
In case you have any questions regarding GoogleTest itself, its
asserts, test declaration macros, other macros, etc, please consult
its documentation.
## TODO
Although this document provides guidelines on the most important parts
of test development using GTest, it still misses a few items:
* Examples, esp for [access to non-public members](#access-to-non-public-members)
* test types: purpose, drawbacks, limitation
* `TEST_VM`
* `TEST_VM_F`
* `TEST_OTHER_VM`
* `TEST_VM_ASSERT`
* `TEST_VM_ASSERT_MSG`
* Miscellaneous
* Test libraries
* where to place
* how to write
* how to use
* test your tests
* how to run tests in random order
* how to run only specific tests
* how to run each test separately
* check that a test can find bugs it is supposed to by introducing them
* mocks/stubs/dependency injection
* setUp/tearDown
* vs c-tor/d-tor
* empty test to test them
* internal (declared in .cpp) struct/classes

View File

@@ -1,10 +0,0 @@
# jetbrains/runtime:jbr15env
FROM centos:7
RUN yum -y install centos-release-scl
RUN yum -y install devtoolset-8
RUN yum -y install zip bzip2 unzip tar wget make autoconf automake libtool alsa-devel cups-devel xorg-x11-devel libjpeg62-devel giflib-devel freetype-devel file which libXtst-devel libXt-devel libXrender-devel alsa-lib-devel fontconfig-devel libXrandr-devel libXi-devel git
# Install Java 11
RUN wget https://download.java.net/java/GA/jdk14.0.1/664493ef4a6946b186ff29eb326336a2/7/GPL/openjdk-14.0.1_linux-x64_bin.tar.gz \
-O - | tar xz -C /
ENV JAVA_HOME /jbrsdk
ENV PATH $JAVA_HOME/bin:/opt/rh/devtoolset-8/root/usr/bin:$PATH

View File

@@ -1,9 +0,0 @@
#!/bin/bash -x
JBSDK_VERSION=$1
JDK_BUILD_NUMBER=$2
build_number=$3
script_dir=jb/project/tools/linux/scripts
${script_dir}/mkimages_x64.sh $JBSDK_VERSION $JDK_BUILD_NUMBER $build_number "jcef" || exit $?
${script_dir}/mkimages_x64.sh $JBSDK_VERSION $JDK_BUILD_NUMBER $build_number "jfx" || exit $?
${script_dir}/mkimages_x64.sh $JBSDK_VERSION $JDK_BUILD_NUMBER $build_number "jfx_jcef" || exit $?

View File

@@ -1,77 +0,0 @@
#!/bin/bash -x
# The following parameters must be specified:
# JBSDK_VERSION - specifies the current version of OpenJDK e.g. 11_0_6
# JDK_BUILD_NUMBER - specifies the number of OpenJDK build or the value of --with-version-build argument to configure
# build_number - specifies the number of JetBrainsRuntime build
# bundle_type - specifies bundle to bu built; possible values:
# jcef - the bundles 1) jbr with jcef+javafx, 2) jbrsdk and 3) test will be created
# jfx - the bundle 1) jbr with javafx only will be created
#
# jbrsdk-${JBSDK_VERSION}-osx-x64-b${build_number}.tar.gz
# jbr-${JBSDK_VERSION}-osx-x64-b${build_number}.tar.gz
#
# $ ./java --version
# openjdk 11.0.6 2020-01-14
# OpenJDK Runtime Environment (build 11.0.6+${JDK_BUILD_NUMBER}-b${build_number})
# OpenJDK 64-Bit Server VM (build 11.0.6+${JDK_BUILD_NUMBER}-b${build_number}, mixed mode)
#
JBSDK_VERSION=$1
JDK_BUILD_NUMBER=$2
build_number=$3
JBRSDK_BASE_NAME=jbrsdk-${JBSDK_VERSION}
sh configure \
--disable-warnings-as-errors \
--with-debug-level=release \
--with-version-build=$JDK_BUILD_NUMBER \
--with-version-pre= \
--with-version-opt=b$build_number \
--with-boot-jdk=amazon-corretto-11.0.5.10.1-linux-aarch64 \
--with-import-modules=./modular-sdk \
--enable-cds=yes || exit $?
make clean CONF=linux-aarch64-normal-server-release || exit $?
make images CONF=linux-aarch64-normal-server-release test-image || exit $?
JBSDK=${JBRSDK_BASE_NAME}-linux-aarch64-b${build_number}
BASE_DIR=build/linux-aarch64-normal-server-release/images
JSDK=${BASE_DIR}/jdk
JBRSDK_BUNDLE=jbrsdk
echo Fixing permissions
chmod -R a+r $JSDK
rm -rf $BASE_DIR/$JBRSDK_BUNDLE
cp -r $JSDK $BASE_DIR/$JBRSDK_BUNDLE || exit $?
echo Creating $JBSDK.tar.gz ...
tar -pcf $JBSDK.tar \
--exclude=*.debuginfo --exclude=demo --exclude=sample --exclude=man \
-C $BASE_DIR ${JBRSDK_BUNDLE} || exit $?
gzip $JBSDK.tar || exit $?
JBR_BUNDLE=jbr
JBR_BASE_NAME=jbr-$JBSDK_VERSION
rm -rf $BASE_DIR/$JBR_BUNDLE
JBR=$JBR_BASE_NAME-linux-aarch64-b$build_number
grep -v javafx modules.list | grep -v "jdk.internal.vm\|jdk.aot\|jcef" > modules.list.aarch64
echo Running jlink....
${JSDK}/bin/jlink \
--module-path ${JSDK}/jmods --no-man-pages --compress=2 \
--add-modules $(xargs < modules.list.aarch64 | sed s/" "//g | sed s/,$//g) \
--output ${BASE_DIR}/${JBR_BUNDLE} || exit $?
echo Modifying release info ...
grep -v \"^JAVA_VERSION\" ${JSDK}/release | grep -v \"^MODULES\" >> ${BASE_DIR}/${JBR_BUNDLE}/release
echo Creating $JBR.tar.gz ...
tar -pcf $JBR.tar -C $BASE_DIR ${JBR_BUNDLE} || exit $?
gzip $JBR.tar || exit $?
JBRSDK_TEST=$JBRSDK_BASE_NAME-linux-test-aarch64-b$build_number
echo Creating $JBRSDK_TEST.tar.gz ...
tar -pcf $JBRSDK_TEST.tar -C $BASE_DIR --exclude='test/jdk/demos' test || exit $?
gzip $JBRSDK_TEST.tar || exit $?

View File

@@ -1,139 +0,0 @@
#!/bin/bash -x
# The following parameters must be specified:
# JBSDK_VERSION - specifies the current version of OpenJDK e.g. 11_0_6
# JDK_BUILD_NUMBER - specifies the number of OpenJDK build or the value of --with-version-build argument to configure
# build_number - specifies the number of JetBrainsRuntime build
# bundle_type - specifies bundle to bu built; possible values:
# jcef - the bundles 1) jbr with jcef+javafx, 2) jbrsdk and 3) test will be created
# jfx - the bundle 1) jbr with javafx only will be created
#
# jbrsdk-${JBSDK_VERSION}-osx-x64-b${build_number}.tar.gz
# jbr-${JBSDK_VERSION}-osx-x64-b${build_number}.tar.gz
#
# $ ./java --version
# openjdk 11.0.6 2020-01-14
# OpenJDK Runtime Environment (build 11.0.6+${JDK_BUILD_NUMBER}-b${build_number})
# OpenJDK 64-Bit Server VM (build 11.0.6+${JDK_BUILD_NUMBER}-b${build_number}, mixed mode)
#
JBSDK_VERSION=$1
JDK_BUILD_NUMBER=$2
build_number=$3
bundle_type=$4
function create_jbr {
case "$1" in
"${bundle_type}_lw")
JBR_BASE_NAME=jbr_${bundle_type}_lw-${JBSDK_VERSION}
grep -v "jdk.compiler\|jdk.hotspot.agent" modules.list > modules_tmp.list
;;
"jfx" | "jcef")
JBR_BASE_NAME=jbr_${bundle_type}-${JBSDK_VERSION}
cat modules.list > modules_tmp.list
;;
"jfx_jcef")
JBR_BASE_NAME=jbr-${JBSDK_VERSION}
cat modules.list > modules_tmp.list
;;
*)
JBR_BASE_NAME=jbr-${JBSDK_VERSION}
cat modules.list > modules_tmp.list
;;
esac
rm -rf ${BASE_DIR}/${JBR_BUNDLE}
JBR=$JBR_BASE_NAME-linux-x64-b$build_number
echo Running jlink....
$JSDK/bin/jlink \
--module-path $JSDK/jmods --no-man-pages --compress=2 \
--add-modules $(xargs < modules_tmp.list | sed s/" "//g) --output $BASE_DIR/$JBR_BUNDLE
if [[ "$bundle_type" == *jcef* ]]; then
cp -R $BASE_DIR/$JBR_BUNDLE $BASE_DIR/jbr
cp -R jcef_linux_x64/* $BASE_DIR/$JBR_BUNDLE/lib || exit $?
fi
grep -v "^JAVA_VERSION" $JSDK/release | grep -v "^MODULES" >> $BASE_DIR/$JBR_BUNDLE/release
echo Creating $JBR.tar.gz ...
if [ ! -z "$bundle_type" ]; then
rm -rf ${BASE_DIR}/jbr
cp -R ${BASE_DIR}/${JBR_BUNDLE} ${BASE_DIR}/jbr
fi
tar -pcf $JBR.tar -C $BASE_DIR jbr || exit $?
gzip $JBR.tar || exit $?
rm -rf ${BASE_DIR}/${JBR_BUNDLE}
}
JBRSDK_BASE_NAME=jbrsdk-$JBSDK_VERSION
#git checkout -- modules.list src
case "$bundle_type" in
"jfx")
git apply -p0 < jb/project/tools/exclude_jcef_module.patch
;;
"jcef")
git apply -p0 < jb/project/tools/exclude_jfx_module.patch
;;
esac
if [ -z "$bundle_type" ]; then
JBR_BUNDLE=jbr
sh configure \
--disable-warnings-as-errors \
--with-debug-level=release \
--with-version-pre= \
--with-version-build=${JDK_BUILD_NUMBER} \
--with-version-opt=b${build_number} \
--with-boot-jdk=$BOOT_JDK \
--enable-cds=yes || exit $?
else
JBR_BUNDLE=jbr_${bundle_type}
sh configure \
--disable-warnings-as-errors \
--with-debug-level=release \
--with-version-pre= \
--with-version-build=${JDK_BUILD_NUMBER} \
--with-version-opt=b${build_number} \
--with-import-modules=./modular-sdk \
--with-boot-jdk=$BOOT_JDK \
--enable-cds=yes || exit $?
fi
make images CONF=linux-x86_64-server-release || exit $?
JSDK=build/linux-x86_64-server-release/images/jdk
JBSDK=$JBRSDK_BASE_NAME-linux-x64-b$build_number
echo Fixing permissions
chmod -R a+r $JSDK
BASE_DIR=build/linux-x86_64-server-release/images
JBRSDK_BUNDLE=jbrsdk
rm -rf $BASE_DIR/$JBRSDK_BUNDLE
cp -r $JSDK $BASE_DIR/$JBRSDK_BUNDLE || exit $?
if [[ "$bundle_type" == *jcef* ]]; then
cp -R jcef_linux_x64/* $BASE_DIR/$JBRSDK_BUNDLE/lib || exit $?
fi
if [[ "$bundle_type" == "jfx_jcef" || -z "$bundle_type" ]]; then
echo Creating $JBSDK.tar.gz ...
tar -pcf $JBSDK.tar --exclude=*.debuginfo --exclude=demo --exclude=sample --exclude=man \
-C $BASE_DIR $JBRSDK_BUNDLE || exit $?
gzip $JBSDK.tar || exit $?
fi
create_jbr ${bundle_type}
if [[ "$bundle_type" == "jfx_jcef" || -z "$bundle_type" ]]; then
make test-image || exit $?
JBRSDK_TEST=$JBRSDK_BASE_NAME-linux-test-x64-b$build_number
echo Creating $JBSDK_TEST.tar.gz ...
tar -pcf $JBRSDK_TEST.tar -C $BASE_DIR --exclude='test/jdk/demos' test || exit $?
gzip $JBRSDK_TEST.tar || exit $?
fi

View File

@@ -1,72 +0,0 @@
#!/bin/bash -x
# The following parameters must be specified:
# JBSDK_VERSION - specifies the current version of OpenJDK e.g. 11_0_6
# JDK_BUILD_NUMBER - specifies the number of OpenJDK build or the value of --with-version-build argument to configure
# build_number - specifies the number of JetBrainsRuntime build
# bundle_type - specifies bundle to bu built; possible values:
# jcef - the bundles 1) jbr with jcef+javafx, 2) jbrsdk and 3) test will be created
# jfx - the bundle 1) jbr with javafx only will be created
#
# jbrsdk-${JBSDK_VERSION}-osx-x64-b${build_number}.tar.gz
# jbr-${JBSDK_VERSION}-osx-x64-b${build_number}.tar.gz
#
# $ ./java --version
# openjdk 11.0.6 2020-01-14
# OpenJDK Runtime Environment (build 11.0.6+${JDK_BUILD_NUMBER}-b${build_number})
# OpenJDK 64-Bit Server VM (build 11.0.6+${JDK_BUILD_NUMBER}-b${build_number}, mixed mode)
#
JBSDK_VERSION=$1
JDK_BUILD_NUMBER=$2
build_number=$3
JBRSDK_BASE_NAME=jbrsdk-${JBSDK_VERSION}
sh configure \
--disable-warnings-as-errors \
--with-debug-level=fastdebug \
--with-version-build=$JDK_BUILD_NUMBER \
--with-version-pre= \
--with-version-opt=b$build_number \
--with-import-modules=./modular-sdk \
--enable-cds=yes || exit $?
make clean CONF=linux-x86_64-normal-server-fastdebug || exit $?
make images CONF=linux-x86_64-normal-server-fastdebug || exit $?
JBSDK=${JBRSDK_BASE_NAME}-linux-x64-fastdebug-b${build_number}
BASE_DIR=build/linux-x86_64-normal-server-fastdebug/images
JSDK=${BASE_DIR}/jdk
JBRSDK_BUNDLE=jbrsdk
echo Fixing permissions
chmod -R a+r $JSDK
rm -rf $BASE_DIR/$JBRSDK_BUNDLE
cp -r $JSDK $BASE_DIR/$JBRSDK_BUNDLE || exit $?
cp -R jcef_linux_x64/* $BASE_DIR/$JBRSDK_BUNDLE/lib || exit $?
echo Creating $JBSDK.tar.gz ...
tar -pcf $JBSDK.tar \
--exclude=*.debuginfo --exclude=demo --exclude=sample --exclude=man \
-C $BASE_DIR ${JBRSDK_BUNDLE} || exit $?
gzip $JBSDK.tar || exit $?
JBR_BUNDLE=jbr
JBR_BASE_NAME=jbr-$JBSDK_VERSION
rm -rf $BASE_DIR/$JBR_BUNDLE
JBR=$JBR_BASE_NAME-linux-x64-fastdebug-b$build_number
echo Running jlink....
${JSDK}/bin/jlink \
--module-path ${JSDK}/jmods --no-man-pages --compress=2 \
--add-modules $(xargs < modules.list | sed s/" "//g | sed s/,$//g) \
--output ${BASE_DIR}/${JBR_BUNDLE} || exit $?
cp -R jcef_linux_x64/* $BASE_DIR/$JBR_BUNDLE/lib || exit $?
echo Modifying release info ...
grep -v \"^JAVA_VERSION\" ${JSDK}/release | grep -v \"^MODULES\" >> ${BASE_DIR}/${JBR_BUNDLE}/release
echo Creating $JBR.tar.gz ...
tar -czf $JBR.tar -C $BASE_DIR ${JBR_BUNDLE} || exit $?
gzip $JBR.tar || exit $?

View File

@@ -1,73 +0,0 @@
#!/bin/bash -x
# The following parameters must be specified:
# JBSDK_VERSION - specifies the current version of OpenJDK e.g. 11_0_6
# JDK_BUILD_NUMBER - specifies the number of OpenJDK build or the value of --with-version-build argument to configure
# build_number - specifies the number of JetBrainsRuntime build
# bundle_type - specifies bundle to bu built; possible values:
# jcef - the bundles 1) jbr with jcef+javafx, 2) jbrsdk and 3) test will be created
# jfx - the bundle 1) jbr with javafx only will be created
#
# jbrsdk-${JBSDK_VERSION}-osx-x64-b${build_number}.tar.gz
# jbr-${JBSDK_VERSION}-osx-x64-b${build_number}.tar.gz
#
# $ ./java --version
# openjdk 11.0.6 2020-01-14
# OpenJDK Runtime Environment (build 11.0.6+${JDK_BUILD_NUMBER}-b${build_number})
# OpenJDK 64-Bit Server VM (build 11.0.6+${JDK_BUILD_NUMBER}-b${build_number}, mixed mode)
#
JBSDK_VERSION=$1
JDK_BUILD_NUMBER=$2
build_number=$3
JBRSDK_BASE_NAME=jbrsdk-${JBSDK_VERSION}
linux32 bash configure \
--disable-warnings-as-errors \
--with-debug-level=release \
--with-version-build=$JDK_BUILD_NUMBER \
--with-version-pre= \
--with-version-opt=b$build_number \
--with-boot-jdk=/jbrsdk-11.0.5-b1 \
--enable-cds=yes || exit $?
make clean CONF=linux-x86-normal-server-release || exit $?
make images CONF=linux-x86-normal-server-release test-image || exit $?
JBSDK=${JBRSDK_BASE_NAME}-linux-x86-b${build_number}
BASE_DIR=build/linux-x86-normal-server-release/images
JSDK=${BASE_DIR}/jdk
JBRSDK_BUNDLE=jbrsdk
echo Fixing permissions
chmod -R a+r $JSDK
rm -rf $BASE_DIR/$JBRSDK_BUNDLE
cp -r $JSDK $BASE_DIR/$JBRSDK_BUNDLE || exit $?
echo Creating $JBSDK.tar.gz ...
tar -pcf $JBSDK.tar --exclude=*.debuginfo --exclude=demo --exclude=sample --exclude=man -C $BASE_DIR ${JBRSDK_BUNDLE} || exit $?
gzip $JBSDK.tar || exit $?
JBR_BUNDLE=jbr
JBR_BASE_NAME=jbr-$JBSDK_VERSION
rm -rf $BASE_DIR/$JBR_BUNDLE
JBR=$JBR_BASE_NAME-linux-x86-b$build_number
grep -v javafx modules.list | grep -v "jdk.internal.vm\|jdk.aot\|jcef" > modules.list.x86
echo Running jlink....
${JSDK}/bin/jlink \
--module-path ${JSDK}/jmods --no-man-pages --compress=2 \
--add-modules $(xargs < modules.list.x86 | sed s/" "//g | sed s/,$//g) --output ${BASE_DIR}/${JBR_BUNDLE} || exit $?
echo Modifying release info ...
grep -v \"^JAVA_VERSION\" ${JSDK}/release | grep -v \"^MODULES\" >> ${BASE_DIR}/${JBR_BUNDLE}/release
echo Creating $JBR.tar.gz ...
tar -pcf $JBR.tar -C $BASE_DIR $JBR_BUNDLE || exit $?
gzip $JBR.tar || exit $?
JBRSDK_TEST=$JBRSDK_BASE_NAME-linux-test-x86-b$build_number
echo Creating $JBRSDK_TEST.tar.gz ...
tar -pcf $JBRSDK_TEST.tar -C $BASE_DIR --exclude='test/jdk/demos' --exclude='test/hotspot/gtest' test || exit $?
gzip $JBRSDK_TEST.tar || exit $?

View File

@@ -1,16 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>com.apple.security.cs.allow-jit</key>
<true/>
<key>com.apple.security.cs.allow-unsigned-executable-memory</key>
<true/>
<key>com.apple.security.cs.allow-dyld-environment-variables</key>
<true/>
<key>com.apple.security.cs.disable-library-validation</key>
<true/>
<key>com.apple.security.cs.disable-executable-page-protection</key>
<true/>
</dict>
</plist>

View File

@@ -1,9 +0,0 @@
#!/bin/bash -x
JBSDK_VERSION=$1
JDK_BUILD_NUMBER=$2
build_number=$3
script_dir=jb/project/tools/mac/scripts
${script_dir}/mkimages.sh $JBSDK_VERSION $JDK_BUILD_NUMBER $build_number "jcef" || exit $?
${script_dir}/mkimages.sh $JBSDK_VERSION $JDK_BUILD_NUMBER $build_number "jfx" || exit $?
${script_dir}/mkimages.sh $JBSDK_VERSION $JDK_BUILD_NUMBER $build_number "jfx_jcef" || exit $?

View File

@@ -1,148 +0,0 @@
#!/bin/bash -x
# The following parameters must be specified:
# JBSDK_VERSION - specifies the current version of OpenJDK e.g. 11_0_6
# JDK_BUILD_NUMBER - specifies the number of OpenJDK build or the value of --with-version-build argument to configure
# build_number - specifies the number of JetBrainsRuntime build
# bundle_type - specifies bundle to bu built; possible values:
# jcef - the bundles 1) jbr with jcef+javafx, 2) jbrsdk and 3) test will be created
# jfx - the bundle 1) jbr with javafx only will be created
#
# jbrsdk-${JBSDK_VERSION}-osx-x64-b${build_number}.tar.gz
# jbr-${JBSDK_VERSION}-osx-x64-b${build_number}.tar.gz
#
# $ ./java --version
# openjdk 11.0.6 2020-01-14
# OpenJDK Runtime Environment (build 11.0.6+${JDK_BUILD_NUMBER}-b${build_number})
# OpenJDK 64-Bit Server VM (build 11.0.6+${JDK_BUILD_NUMBER}-b${build_number}, mixed mode)
#
JBSDK_VERSION=$1
JDK_BUILD_NUMBER=$2
build_number=$3
bundle_type=$4
function create_jbr {
case "$1" in
"${bundle_type}_lw")
JBR_BASE_NAME=jbr_${bundle_type}_lw-${JBSDK_VERSION}
grep -v "jdk.compiler\|jdk.hotspot.agent" modules.list > modules_tmp.list
;;
"jfx" | "jcef")
JBR_BASE_NAME=jbr_${bundle_type}-${JBSDK_VERSION}
cat modules.list > modules_tmp.list
;;
"jfx_jcef")
JBR_BASE_NAME=jbr-${JBSDK_VERSION}
cat modules.list > modules_tmp.list
;;
*)
JBR_BASE_NAME=jbr-${JBSDK_VERSION}
cat modules.list > modules_tmp.list
;;
esac
rm -rf ${BASE_DIR}/${JBR_BUNDLE}
JRE_CONTENTS=${BASE_DIR}/${JBR_BUNDLE}/Contents
JRE_HOME=${JRE_CONTENTS}/Home
if [ -d "${JRE_CONTENTS}" ]; then
rm -rf ${JRE_CONTENTS}
fi
mkdir -p ${JRE_CONTENTS}
JBR=${JBR_BASE_NAME}-osx-x64-b${build_number}
${BASE_DIR}/$JBRSDK_BUNDLE/Contents/Home/bin/jlink \
--module-path ${BASE_DIR}/${JBRSDK_BUNDLE}/Contents/Home/jmods --no-man-pages --compress=2 \
--add-modules $(xargs < modules_tmp.list | sed s/" "//g) --output ${JRE_HOME} || exit $?
grep -v "^JAVA_VERSION" ${BASE_DIR}/${JBRSDK_BUNDLE}/Contents/Home/release | grep -v "^MODULES" >> ${JRE_HOME}/release
cp -R ${BASE_DIR}/${JBRSDK_BUNDLE}/Contents/MacOS ${JRE_CONTENTS}
cp ${BASE_DIR}/${JBRSDK_BUNDLE}/Contents/Info.plist ${JRE_CONTENTS}
if [[ "${bundle_type}" == *jcef* ]]; then
rm -rf ${JRE_CONTENTS}/Frameworks || exit $?
rm -rf ${JRE_CONTENTS}/Helpers || exit $?
cp -a jcef_mac/Frameworks ${JRE_CONTENTS} || exit $?
cp -a jcef_mac/Helpers ${JRE_CONTENTS} || exit $?
fi
echo Creating ${JBR}.tar.gz ...
if [ ! -z "$bundle_type" ]; then
rm -rf ${BASE_DIR}/jbr
cp -R ${BASE_DIR}/${JBR_BUNDLE} ${BASE_DIR}/jbr
fi
COPYFILE_DISABLE=1 tar -pczf ${JBR}.tar.gz --exclude='*.dSYM' --exclude='man' -C ${BASE_DIR} jbr || exit $?
rm -rf ${BASE_DIR}/${JBR_BUNDLE}
}
JBRSDK_BASE_NAME=jbrsdk-${JBSDK_VERSION}
#git checkout -- modules.list src
case "$bundle_type" in
"jfx")
git apply -p0 < jb/project/tools/exclude_jcef_module.patch
;;
"jcef")
git apply -p0 < jb/project/tools/exclude_jfx_module.patch
;;
esac
if [ -z "$bundle_type" ]; then
JBR_BUNDLE=jbr
sh configure \
--disable-warnings-as-errors \
--with-debug-level=release \
--with-version-pre= \
--with-version-build=${JDK_BUILD_NUMBER} \
--with-version-opt=b${build_number} \
--with-boot-jdk=`/usr/libexec/java_home -v $BOOT_JDK` \
--enable-cds=yes || exit $?
else
JBR_BUNDLE=jbr_${bundle_type}
sh configure \
--disable-warnings-as-errors \
--with-debug-level=release \
--with-version-pre= \
--with-version-build=${JDK_BUILD_NUMBER} \
--with-version-opt=b${build_number} \
--with-import-modules=./modular-sdk \
--with-boot-jdk=`/usr/libexec/java_home -v $BOOT_JDK` \
--enable-cds=yes || exit $?
fi
make images CONF=macosx-x86_64-server-release || exit $?
JSDK=build/macosx-x86_64-server-release/images/jdk-bundle
JBSDK=${JBRSDK_BASE_NAME}-osx-x64-b${build_number}
BASE_DIR=jre
JBRSDK_BUNDLE=jbrsdk
rm -rf $BASE_DIR
mkdir $BASE_DIR || exit $?
JBSDK_VERSION_WITH_DOTS=$(echo $JBSDK_VERSION | sed 's/_/\./g')
cp -a $JSDK/jdk-$JBSDK_VERSION_WITH_DOTS.jdk $BASE_DIR/$JBRSDK_BUNDLE || exit $?
if [[ "$bundle_type" == *jcef* ]]; then
cp -a jcef_mac/Frameworks $BASE_DIR/$JBRSDK_BUNDLE/Contents/ || exit $?
cp -a jcef_mac/Helpers $BASE_DIR/$JBRSDK_BUNDLE/Contents/ || exit $?
fi
if [[ "$bundle_type" == "jfx_jcef" || -z "$bundle_type" ]]; then
echo Creating $JBSDK.tar.gz ...
COPYFILE_DISABLE=1 tar -pczf $JBSDK.tar.gz -C $BASE_DIR \
--exclude='._*' --exclude='.DS_Store' --exclude='*~' \
--exclude='Home/demo' --exclude='Home/man' --exclude='Home/sample' \
$JBRSDK_BUNDLE || exit $?
fi
create_jbr "${bundle_type}" || exit $?
if [[ "$bundle_type" == "jfx_jcef" || -z "$bundle_type" ]]; then
make test-image || exit $?
JBRSDK_TEST=$JBRSDK_BASE_NAME-osx-test-x64-b$build_number
echo Creating $JBRSDK_TEST.tar.gz ...
COPYFILE_DISABLE=1 tar -pczf $JBRSDK_TEST.tar.gz -C build/macosx-x86_64-server-release/images \
--exclude='test/jdk/demos' test || exit $?
fi

View File

@@ -1,83 +0,0 @@
#!/bin/bash -x
# The following parameters must be specified:
# JBSDK_VERSION - specifies the current version of OpenJDK e.g. 11_0_6
# JDK_BUILD_NUMBER - specifies the number of OpenJDK build or the value of --with-version-build argument to configure
# build_number - specifies the number of JetBrainsRuntime build
# bundle_type - specifies bundle to bu built; possible values:
# jcef - the bundles 1) jbr with jcef+javafx, 2) jbrsdk and 3) test will be created
# jfx - the bundle 1) jbr with javafx only will be created
#
# jbrsdk-${JBSDK_VERSION}-osx-x64-b${build_number}.tar.gz
# jbr-${JBSDK_VERSION}-osx-x64-b${build_number}.tar.gz
#
# $ ./java --version
# openjdk 11.0.6 2020-01-14
# OpenJDK Runtime Environment (build 11.0.6+${JDK_BUILD_NUMBER}-b${build_number})
# OpenJDK 64-Bit Server VM (build 11.0.6+${JDK_BUILD_NUMBER}-b${build_number}, mixed mode)
#
JBSDK_VERSION=$1
JDK_BUILD_NUMBER=$2
build_number=$3
JBRSDK_BASE_NAME=jbrsdk-${JBSDK_VERSION}
sh configure \
--disable-warnings-as-errors \
--with-debug-level=fastdebug \
--with-version-build=$JDK_BUILD_NUMBER \
--with-version-pre= \
--with-version-opt=b$build_number \
--with-import-modules=./modular-sdk \
--with-boot-jdk=`/usr/libexec/java_home -v 11` \
--enable-cds=yes || exit $?
make clean CONF=macosx-x86_64-normal-server-fastdebug || exit $?
make images CONF=macosx-x86_64-normal-server-fastdebug || exit $?
JSDK=build/macosx-x86_64-normal-server-fastdebug/images/jdk-bundle
JBSDK=${JBRSDK_BASE_NAME}-osx-x64-fastdebug-b${build_number}
BASE_DIR=jre
JBRSDK_BUNDLE=jbrsdk
rm -rf $BASE_DIR
mkdir $BASE_DIR || exit $?
JBSDK_VERSION_WITH_DOTS=$(echo $JBSDK_VERSION | sed 's/_/\./g')
cp -a $JSDK/jdk-$JBSDK_VERSION_WITH_DOTS.jdk $BASE_DIR/$JBRSDK_BUNDLE || exit $?
echo Creating $JBSDK.tar.gz ...
cp -a jcef_mac/Frameworks $BASE_DIR/$JBRSDK_BUNDLE/Contents/
cp -a jcef_mac/Helpers $BASE_DIR/$JBRSDK_BUNDLE/Contents
COPYFILE_DISABLE=1 \
tar -pczf ${JBSDK}.tar.gz -C ${BASE_DIR} \
--exclude='._*' --exclude='.DS_Store' --exclude='*~' \
--exclude='Home/demo' --exclude='Home/man' --exclude='Home/sample' \
${JBRSDK_BUNDLE} || exit $?
JBR_BUNDLE=jbr
JRE_CONTENTS=$BASE_DIR/$JBR_BUNDLE/Contents
JRE_HOME=$JRE_CONTENTS/Home
JBR_BASE_NAME=jbr-$JBSDK_VERSION
mkdir -p $JRE_CONTENTS
if [ -d "$JRE_HOME" ]; then
rm -rf $JRE_HOME
fi
JBR=${JBR_BASE_NAME}-osx-x64-fastdebug-b${build_number}
$BASE_DIR/$JBRSDK_BUNDLE/Contents/Home/bin/jlink \
--module-path $BASE_DIR/$JBRSDK_BUNDLE/Contents/Home/jmods --no-man-pages --compress=2 \
--add-modules $(xargs < modules.list | sed s/" "//g) --output $JRE_HOME || exit $?
grep -v "^JAVA_VERSION" $BASE_DIR/$JBRSDK_BUNDLE/Contents/Home/release | grep -v "^MODULES" >> $JRE_HOME/release
cp -R $BASE_DIR/$JBRSDK_BUNDLE/Contents/MacOS $JRE_CONTENTS
cp $BASE_DIR/$JBRSDK_BUNDLE/Contents/Info.plist $JRE_CONTENTS
cp -a jcef_mac/Frameworks ${JRE_CONTENTS} || exit $?
cp -a jcef_mac/Helpers ${JRE_CONTENTS} || exit $?
echo Creating $JBR.tar.gz ...
COPYFILE_DISABLE=1 tar -pczf $JBR.tar.gz --exclude='*.dSYM' --exclude='man' -C $BASE_DIR $JBR_BUNDLE || exit $?

View File

@@ -1,120 +0,0 @@
#!/bin/bash
APP_DIRECTORY=$1
APPL_USER=$2
APPL_PASSWORD=$3
APP_NAME=$4
BUNDLE_ID=$5
FAKE_ROOT="${6:-fake-root}"
if [[ -z "$APP_DIRECTORY" ]] || [[ -z "$APPL_USER" ]] || [[ -z "$APPL_PASSWORD" ]]; then
echo "Usage: $0 AppDirectory Username Password"
exit 1
fi
if [[ ! -d "$APP_DIRECTORY" ]]; then
echo "AppDirectory '$APP_DIRECTORY' does not exist or not a directory"
exit 1
fi
function log() {
echo "$(date '+[%H:%M:%S]') $*"
}
function publish-log() {
id=$1
file=$2
curl -T "$file" "$ARTIFACTORY_URL/$id" || true
}
function altool-upload() {
# Since altool uses same file for upload token we have to trick it into using different folders for token file location
# Also it copies zip into TMPDIR so we override it too, to simplify cleanup
OLD_HOME="$HOME"
export HOME="$FAKE_ROOT/home"
export TMPDIR="$FAKE_ROOT/tmp"
mkdir -p "$HOME"
mkdir -p "$TMPDIR"
export _JAVA_OPTIONS="-Duser.home=$HOME -Djava.io.tmpdir=$TMPDIR"
# Reduce amount of downloads, cache transporter libraries
shared_itmstransporter="$OLD_HOME/shared-itmstransporter"
if [[ -f "$shared_itmstransporter" ]]; then
cp -r "$shared_itmstransporter" "$HOME/.itmstransporter"
fi
# For some reason altool prints everything to stderr, not stdout
set +e
xcrun altool --notarize-app \
--username "$APPL_USER" --password "$APPL_PASSWORD" \
--primary-bundle-id "$BUNDLE_ID" \
--asc-provider JetBrainssro --file "$1" 2>&1 | tee "altool.init.out"
unset TMPDIR
export HOME="$OLD_HOME"
set -e
}
#immediately exit script with an error if a command fails
set -euo pipefail
file="$APP_NAME.zip"
log "Zipping $file..."
rm -rf "$file"
ditto -c -k --sequesterRsrc --keepParent "$APP_DIRECTORY/Contents" "$file"
log "Notarizing $file..."
rm -rf "altool.init.out" "altool.check.out"
altool-upload "$file"
rm -rf "$file"
notarization_info="$(grep -e "RequestUUID" "altool.init.out" | grep -oE '([0-9a-f-]{36})')"
if [ -z "$notarization_info" ]; then
log "Faile to read RequestUUID from altool.init.out"
exit 10
fi
PATH="$PATH:/usr/local/bin/"
log "Notarization request sent, awaiting response"
spent=0
while true; do
# For some reason altool prints everything to stderr, not stdout
xcrun altool --username "$APPL_USER" --notarization-info "$notarization_info" --password "$APPL_PASSWORD" >"altool.check.out" 2>&1 || true
status="$(grep -oe 'Status: .*' "altool.check.out" | cut -c 9- || true)"
log "Current status: $status"
if [ "$status" = "invalid" ]; then
log "Notarization failed"
ec=1
elif [ "$status" = "success" ]; then
log "Notarization succeeded"
ec=0
else
if [ "$status" != "in progress" ]; then
log "Unknown notarization status, waiting more, altool output:"
cat "altool.check.out"
fi
if [[ $spent -gt 60 ]]; then
log "Waiting time out (apx 60 minutes)"
ec=2
break
fi
sleep 60
((spent += 1))
continue
fi
developer_log="developer_log.json"
log "Fetching $developer_log"
# TODO: Replace cut with trim or something better
url="$(grep -oe 'LogFileURL: .*' "altool.check.out" | cut -c 13-)"
wget "$url" -O "$developer_log" && cat "$developer_log" || true
if [ $ec != 0 ]; then
log "Publishing $developer_log"
publish-log "$notarization_info" "$developer_log"
fi
break
done
cat "altool.check.out"
rm -rf "altool.init.out" "altool.check.out"
exit $ec

View File

@@ -1,93 +0,0 @@
#!/bin/bash
APP_DIRECTORY=$1
JB_CERT=$2
if [[ -z "$APP_DIRECTORY" ]] || [[ -z "$JB_CERT" ]]; then
echo "Usage: $0 AppDirectory CertificateID"
exit 1
fi
if [[ ! -d "$APP_DIRECTORY" ]]; then
echo "AppDirectory '$APP_DIRECTORY' does not exist or not a directory"
exit 1
fi
function log() {
echo "$(date '+[%H:%M:%S]') $*"
}
#immediately exit script with an error if a command fails
set -euo pipefail
# Cleanup files left from previous sign attempt (if any)
find "$APP_DIRECTORY" -name '*.cstemp' -exec rm '{}' \;
log "Signing libraries and executables..."
# -perm +111 searches for executables
for f in \
"Contents/Home/bin" \
"Contents/Home/lib"; do
if [ -d "$APP_DIRECTORY/$f" ]; then
find "$APP_DIRECTORY/$f" \
-type f \( -name "*.jnilib" -o -name "*.dylib" -o -name "*.so" -o -perm +111 \) \
-exec codesign --timestamp \
-v -s "$JB_CERT" --options=runtime \
--entitlements entitlements.xml {} \;
fi
done
log "Signing libraries in jars in $PWD"
# todo: add set -euo pipefail; into the inner sh -c
# `-e` prevents `grep -q && printf` loginc
# with `-o pipefail` there's no input for 'while' loop
find "$APP_DIRECTORY" -name '*.jar' \
-exec sh -c "set -u; unzip -l \"\$0\" | grep -q -e '\.dylib\$' -e '\.jnilib\$' -e '\.so\$' -e '^jattach\$' && printf \"\$0\0\" " {} \; |
while IFS= read -r -d $'\0' file; do
log "Processing libraries in $file"
rm -rf jarfolder jar.jar
mkdir jarfolder
filename="${file##*/}"
log "Filename: $filename"
cp "$file" jarfolder && (cd jarfolder && jar xf "$filename" && rm "$filename")
find jarfolder \
-type f \( -name "*.jnilib" -o -name "*.dylib" -o -name "*.so" -o -name "jattach" \) \
-exec codesign --timestamp \
-v -s "$JB_CERT" --options=runtime \
--entitlements entitlements.xml {} \;
(cd jarfolder; zip -q -r -o ../jar.jar .)
mv jar.jar "$file"
done
rm -rf jarfolder jar.jar
log "Signing other files..."
for f in \
"Contents/MacOS"; do
if [ -d "$APP_DIRECTORY/$f" ]; then
find "$APP_DIRECTORY/$f" \
-type f \( -name "*.jnilib" -o -name "*.dylib" -o -name "*.so" -o -perm +111 \) \
-exec codesign --timestamp \
-v -s "$JB_CERT" --options=runtime \
--entitlements entitlements.xml {} \;
fi
done
#log "Signing executable..."
#codesign --timestamp \
# -v -s "$JB_CERT" --options=runtime \
# --force \
# --entitlements entitlements.xml "$APP_DIRECTORY/Contents/MacOS/idea"
log "Signing whole app..."
codesign --timestamp \
-v -s "$JB_CERT" --options=runtime \
--force \
--entitlements entitlements.xml "$APP_DIRECTORY"
log "Verifying java is not broken"
find "$APP_DIRECTORY" \
-type f -name 'java' -perm +111 -exec {} -version \;

View File

@@ -1,145 +0,0 @@
#!/bin/bash
#immediately exit script with an error if a command fails
set -euo pipefail
export COPY_EXTENDED_ATTRIBUTES_DISABLE=true
export COPYFILE_DISABLE=true
INPUT_FILE=$1
EXPLODED=$2.exploded
BACKUP_JMODS=$2.backup
USERNAME=$3
PASSWORD=$4
CODESIGN_STRING=$5
NOTARIZE=$6
BUNDLE_ID=$7
cd "$(dirname "$0")"
function log() {
echo "$(date '+[%H:%M:%S]') $*"
}
log "Deleting $EXPLODED ..."
if test -d "$EXPLODED"; then
find "$EXPLODED" -mindepth 1 -maxdepth 1 -exec chmod -R u+wx '{}' \;
fi
rm -rf "$EXPLODED"
mkdir "$EXPLODED"
rm -rf "$BACKUP_JMODS"
mkdir "$BACKUP_JMODS"
log "Unzipping $INPUT_FILE to $EXPLODED ..."
tar -xzvf "$INPUT_FILE" --directory $EXPLODED
rm "$INPUT_FILE"
BUILD_NAME="$(ls "$EXPLODED")"
if test -d $EXPLODED/$BUILD_NAME/Contents/Home/jmods; then
mv $EXPLODED/$BUILD_NAME/Contents/Home/jmods $BACKUP_JMODS
fi
if test -d $EXPLODED/$BUILD_NAME/Contents/Home/Frameworks; then
mv $EXPLODED/$BUILD_NAME/Contents/Home/Frameworks $BACKUP_JMODS
fi
if test -f $EXPLODED/$BUILD_NAME/Contents/MacOS/libjli.dylib; then
mv $EXPLODED/$BUILD_NAME/Contents/MacOS/libjli.dylib $BACKUP_JMODS
fi
#log "$INPUT_FILE unzipped and removed"
log "$INPUT_FILE extracted and removed"
APPLICATION_PATH="$EXPLODED/$BUILD_NAME"
find "$APPLICATION_PATH/Contents/Home/bin" \
-maxdepth 1 -type f -name '*.jnilib' -print0 |
while IFS= read -r -d $'\0' file; do
if [ -f "$file" ]; then
log "Linking $file"
b="$(basename "$file" .jnilib)"
ln -sf "$b.jnilib" "$(dirname "$file")/$b.dylib"
fi
done
find "$APPLICATION_PATH/Contents/" \
-maxdepth 1 -type f -name '*.txt' -print0 |
while IFS= read -r -d $'\0' file; do
if [ -f "$file" ]; then
log "Moving $file"
mv "$file" "$APPLICATION_PATH/Contents/Resources"
fi
done
non_plist=$(find "$APPLICATION_PATH/Contents/" -maxdepth 1 -type f -and -not -name 'Info.plist' | wc -l)
if [[ $non_plist -gt 0 ]]; then
log "Only Info.plist file is allowed in Contents directory but found $non_plist file(s):"
log "$(find "$APPLICATION_PATH/Contents/" -maxdepth 1 -type f -and -not -name 'Info.plist')"
exit 1
fi
log "Unlocking keychain..."
# Make sure *.p12 is imported into local KeyChain
security unlock-keychain -p "$PASSWORD" "/Users/$USERNAME/Library/Keychains/login.keychain"
attempt=1
limit=3
set +e
while [[ $attempt -le $limit ]]; do
log "Signing (attempt $attempt) $APPLICATION_PATH ..."
./sign.sh "$APPLICATION_PATH" "$CODESIGN_STRING"
ec=$?
if [[ $ec -ne 0 ]]; then
((attempt += 1))
if [ $attempt -eq $limit ]; then
set -e
fi
log "Signing failed, wait for 30 sec and try to sign again"
sleep 30
else
log "Signing done"
codesign -v "$APPLICATION_PATH" -vvvvv
log "Check sign done"
((attempt += limit))
fi
done
set -e
if [ "$NOTARIZE" = "yes" ]; then
log "Notarizing..."
# shellcheck disable=SC1090
source "$HOME/.notarize_token"
APP_NAME=$(echo ${INPUT_FILE} | awk -F"." '{ print $1 }')
# Since notarization tool uses same file for upload token we have to trick it into using different folders, hence fake root
# Also it leaves copy of zip file in TMPDIR, so notarize.sh overrides it and uses FAKE_ROOT as location for temp TMPDIR
FAKE_ROOT="$(pwd)/fake-root"
mkdir -p "$FAKE_ROOT"
echo "Notarization will use fake root: $FAKE_ROOT"
./notarize.sh "$APPLICATION_PATH" "$APPLE_USERNAME" "$APPLE_PASSWORD" "$APP_NAME" "$BUNDLE_ID" "$FAKE_ROOT"
rm -rf "$FAKE_ROOT"
set +e
log "Stapling..."
xcrun stapler staple "$APPLICATION_PATH"
else
log "Notarization disabled"
log "Stapling disabled"
fi
log "Zipping $BUILD_NAME to $INPUT_FILE ..."
(
#cd "$EXPLODED"
#ditto -c -k --sequesterRsrc --keepParent "$BUILD_NAME" "../$INPUT_FILE"
if test ! -z $(ls $BACKUP_JMODS/libjli.dylib); then
mv $BACKUP_JMODS/libjli.dylib $EXPLODED/$BUILD_NAME/Contents/MacOS
fi
if test -d $BACKUP_JMODS/jmods; then
mv $BACKUP_JMODS/jmods $EXPLODED/$BUILD_NAME/Contents/Home
fi
if test -d $BACKUP_JMODS/Frameworks; then
mv $BACKUP_JMODS/Frameworks $EXPLODED/$BUILD_NAME/Contents/Home
fi
COPYFILE_DISABLE=1 tar -pczf $INPUT_FILE --exclude='*.dSYM' --exclude='man' -C $EXPLODED $BUILD_NAME
log "Finished zipping"
)
rm -rf "$EXPLODED"
log "Done"

View File

@@ -1,9 +0,0 @@
#!/bin/bash -x
JBSDK_VERSION=$1
JDK_BUILD_NUMBER=$2
build_number=$3
script_dir=jb/project/tools/windows/scripts
${script_dir}/mkimages_x64.sh $JBSDK_VERSION $JDK_BUILD_NUMBER $build_number "jcef" || exit $?
${script_dir}/mkimages_x64.sh $JBSDK_VERSION $JDK_BUILD_NUMBER $build_number "jfx" || exit $?
${script_dir}/mkimages_x64.sh $JBSDK_VERSION $JDK_BUILD_NUMBER $build_number "jfx_jcef" || exit $?

View File

@@ -1,119 +0,0 @@
#!/bin/bash -x
# The following parameters must be specified:
# JBSDK_VERSION - specifies the current version of OpenJDK e.g. 11_0_6
# JDK_BUILD_NUMBER - specifies the number of OpenJDK build or the value of --with-version-build argument to configure
# build_number - specifies the number of JetBrainsRuntime build
# bundle_type - specifies bundle to bu built; possible values:
# jcef - the bundles 1) jbr with jcef+javafx, 2) jbrsdk and 3) test will be created
# jfx - the bundle 1) jbr with javafx only will be created
#
# jbrsdk-${JBSDK_VERSION}-osx-x64-b${build_number}.tar.gz
# jbr-${JBSDK_VERSION}-osx-x64-b${build_number}.tar.gz
#
# $ ./java --version
# openjdk 11.0.6 2020-01-14
# OpenJDK Runtime Environment (build 11.0.6+${JDK_BUILD_NUMBER}-b${build_number})
# OpenJDK 64-Bit Server VM (build 11.0.6+${JDK_BUILD_NUMBER}-b${build_number}, mixed mode)
#
JBSDK_VERSION=$1
JDK_BUILD_NUMBER=$2
build_number=$3
bundle_type=$4
function create_jbr {
case "$1" in
"${bundle_type}_lw")
grep -v "jdk.compiler\|jdk.hotspot.agent" modules.list > modules_tmp.list
;;
"jfx" | "jcef" | "jfx_jcef")
cat modules.list > modules_tmp.list
;;
*)
cat modules.list > modules_tmp.list
;;
esac
rm -rf ${JBR_BUNDLE}
${JSDK}/bin/jlink \
--module-path ${JSDK}/jmods --no-man-pages --compress=2 \
--add-modules $(xargs < modules_tmp.list | sed s/" "//g) --output ${JBR_BUNDLE} || exit $?
if [[ "${bundle_type}" == *jcef* ]]
then
cp -R jcef_win_x64/* ${JBR_BUNDLE}/bin
fi
echo Modifying release info ...
grep -v \"^JAVA_VERSION\" ${JSDK}/release | grep -v \"^MODULES\" >> ${JBR_BUNDLE}/release
}
JBRSDK_BASE_NAME=jbrsdk-${JBSDK_VERSION}
WORK_DIR=$(pwd)
#git checkout -- modules.list src
case "$bundle_type" in
"jfx")
echo "Excluding jcef modules"
git apply -p0 < jb/project/tools/exclude_jcef_module.patch
;;
"jcef")
echo "Excluding jfx modules"
git apply -p0 < jb/project/tools/exclude_jfx_module.patch
;;
esac
PATH="/usr/local/bin:/usr/bin:${PATH}"
if [ -z "$bundle_type" ]; then
bash ./configure \
--disable-warnings-as-errors \
--with-target-bits=64 \
--with-version-pre= \
--with-version-build=${JDK_BUILD_NUMBER} \
--with-version-opt=b${build_number} \
--with-toolchain-version=${TOOLCHAIN_VERSION} \
--with-boot-jdk=${BOOT_JDK} \
--disable-ccache \
--enable-cds=yes || exit 1
else
bash ./configure \
--disable-warnings-as-errors \
--with-target-bits=64 \
--with-version-pre= \
--with-version-build=${JDK_BUILD_NUMBER} \
--with-version-opt=b${build_number} \
--with-import-modules=${WORK_DIR}/modular-sdk \
--with-toolchain-version=${TOOLCHAIN_VERSION} \
--with-boot-jdk=${BOOT_JDK} \
--disable-ccache \
--enable-cds=yes || exit 1
fi
if [[ "$bundle_type" == "jfx_jcef" || -z "$bundle_type" ]]; then
make LOG=info images CONF=windows-x86_64-server-release test-image || exit 1
else
make LOG=info images CONF=windows-x86_64-server-release || exit 1
fi
JSDK=build/windows-x86_64-server-release/images/jdk
if [[ "$bundle_type" == "*jcef*" || -z "$bundle_type" ]]; then
JBSDK=${JBRSDK_BASE_NAME}-windows-x64-b${build_number}
fi
BASE_DIR=build/windows-x86_64-server-release/images
JBRSDK_BUNDLE=jbrsdk
rm -rf ${BASE_DIR}/${JBRSDK_BUNDLE} && rsync -a --exclude demo --exclude sample ${JSDK}/ ${JBRSDK_BUNDLE} || exit 1
if [[ "$bundle_type" == "*jcef*" ]]; then
cp -R jcef_win_x64/* ${JBRSDK_BUNDLE}/bin
fi
if [ -z "$bundle_type" ]; then
JBR_BUNDLE=jbr
else
JBR_BUNDLE=jbr_${bundle_type}
fi
create_jbr ${bundle_type}
#JBR_BUNDLE=jbr_${bundle_type}_lw
#create_jbr ${bundle_type}_lw

View File

@@ -1,57 +0,0 @@
#!/bin/bash -x
# The following parameters must be specified:
# JBSDK_VERSION - specifies the current version of OpenJDK e.g. 11_0_6
# JDK_BUILD_NUMBER - specifies the number of OpenJDK build or the value of --with-version-build argument to configure
# build_number - specifies the number of JetBrainsRuntime build
# bundle_type - specifies bundle to bu built; possible values:
# jcef - the bundles 1) jbr with jcef+javafx, 2) jbrsdk and 3) test will be created
# jfx - the bundle 1) jbr with javafx only will be created
#
# jbrsdk-${JBSDK_VERSION}-osx-x64-b${build_number}.tar.gz
# jbr-${JBSDK_VERSION}-osx-x64-b${build_number}.tar.gz
#
# $ ./java --version
# openjdk 11.0.6 2020-01-14
# OpenJDK Runtime Environment (build 11.0.6+${JDK_BUILD_NUMBER}-b${build_number})
# OpenJDK 64-Bit Server VM (build 11.0.6+${JDK_BUILD_NUMBER}-b${build_number}, mixed mode)
#
JBSDK_VERSION=$1
JDK_BUILD_NUMBER=$2
build_number=$3
JBRSDK_BASE_NAME=jbrsdk-${JBSDK_VERSION}
WORK_DIR=$(pwd)
PATH="/usr/local/bin:/usr/bin:${PATH}"
./configure \
--disable-warnings-as-errors \
--disable-debug-symbols \
--with-target-bits=32 \
--with-version-pre= \
--with-version-build=${JDK_BUILD_NUMBER} \
--with-version-opt=b${build_number} \
--with-toolchain-version=2015 \
--with-boot-jdk=${BOOT_JDK} \
--disable-ccache \
--enable-cds=yes || exit 1
make clean CONF=windows-x86-normal-server-release || exit 1
make LOG=info images CONF=windows-x86-normal-server-release test-image || exit 1
JBSDK=${JBRSDK_BASE_NAME}-windows-x86-b${build_number}
BASE_DIR=build/windows-x86-normal-server-release/images
JSDK=${BASE_DIR}/jdk
JBRSDK_BUNDLE=jbrsdk
rm -rf ${BASE_DIR}/${JBRSDK_BUNDLE} && rsync -a --exclude demo --exclude sample ${JSDK}/ ${JBRSDK_BUNDLE} || exit 1
JBR_BUNDLE=jbr
rm -rf ${JBR_BUNDLE}
grep -v javafx modules.list | grep -v "jdk.internal.vm\|jdk.aot\|jcef" > modules.list.x86
${JSDK}/bin/jlink \
--module-path ${JSDK}/jmods --no-man-pages --compress=2 \
--add-modules $(xargs < modules.list.x86 | sed s/" "//g) --output ${JBR_BUNDLE} || exit $?
echo Modifying release info ...
grep -v \"^JAVA_VERSION\" ${JSDK}/release | grep -v \"^MODULES\" >> ${JBR_BUNDLE}/release

View File

@@ -1,79 +0,0 @@
#!/bin/bash -x
# The following parameters must be specified:
# JBSDK_VERSION - specifies the current version of OpenJDK e.g. 11_0_6
# JDK_BUILD_NUMBER - specifies the number of OpenJDK build or the value of --with-version-build argument to configure
# build_number - specifies the number of JetBrainsRuntime build
# bundle_type - specifies bundle to bu built; possible values:
# jcef - the bundles 1) jbr with jcef+javafx, 2) jbrsdk and 3) test will be created
# jfx - the bundle 1) jbr with javafx only will be created
#
# jbrsdk-${JBSDK_VERSION}-osx-x64-b${build_number}.tar.gz
# jbr-${JBSDK_VERSION}-osx-x64-b${build_number}.tar.gz
#
# $ ./java --version
# openjdk 11.0.6 2020-01-14
# OpenJDK Runtime Environment (build 11.0.6+${JDK_BUILD_NUMBER}-b${build_number})
# OpenJDK 64-Bit Server VM (build 11.0.6+${JDK_BUILD_NUMBER}-b${build_number}, mixed mode)
#
JBSDK_VERSION=$1
JDK_BUILD_NUMBER=$2
build_number=$3
bundle_type=$4
function pack_jbr {
case "$1" in
"${bundle_type}_lw")
JBR_BASE_NAME=jbr_${bundle_type}_lw-${JBSDK_VERSION}
;;
"jfx" | "jcef")
JBR_BASE_NAME=jbr_${bundle_type}-${JBSDK_VERSION}
;;
"jfx_jcef" | "")
JBR_BASE_NAME=jbr-${JBSDK_VERSION}
;;
*)
echo "***ERR*** bundle was not specified" && exit 1
;;
esac
JBR=$JBR_BASE_NAME-windows-x64-b$build_number
echo Creating $JBR.tar.gz ...
if [ ! -z "$bundle_type" ]; then
rm -rf ${BASE_DIR}/jbr
cp -R ${BASE_DIR}/${JBR_BUNDLE} ${BASE_DIR}/jbr
fi
/usr/bin/tar -czf $JBR.tar.gz -C $BASE_DIR jbr || exit 1
#rm -rf ${BASE_DIR}/${JBR_BUNDLE}
}
JBRSDK_BASE_NAME=jbrsdk-$JBSDK_VERSION
JBR_BASE_NAME=jbr-$JBSDK_VERSION
IMAGES_DIR=build/windows-x86_64-server-release/images
JSDK=$IMAGES_DIR/jdk
JBSDK=$JBRSDK_BASE_NAME-windows-x64-b$build_number
BASE_DIR=.
if [ -z "$bundle_type" ]; then
JBR_BUNDLE=jbr
else
JBR_BUNDLE=jbr_${bundle_type}
fi
if [[ "$bundle_type" == "jfx_jcef" || -z "$bundle_type" ]]; then
JBRSDK_BUNDLE=jbrsdk
echo Creating $JBSDK.tar.gz ...
/usr/bin/tar -czf $JBSDK.tar.gz $JBRSDK_BUNDLE || exit 1
fi
JBR_BUNDLE=jbr_${bundle_type}
pack_jbr $bundle_type
if [[ "$bundle_type" == "jfx_jcef" || -z "$bundle_type" ]]; then
JBRSDK_TEST=$JBRSDK_BASE_NAME-windows-test-x64-b$build_number
echo Creating $JBRSDK_TEST.tar.gz ...
/usr/bin/tar -czf $JBRSDK_TEST.tar.gz -C $IMAGES_DIR --exclude='test/jdk/demos' test || exit 1
fi

View File

@@ -1,45 +0,0 @@
#!/bin/bash -x
# The following parameters must be specified:
# JBSDK_VERSION - specifies the current version of OpenJDK e.g. 11_0_6
# JDK_BUILD_NUMBER - specifies the number of OpenJDK build or the value of --with-version-build argument to configure
# build_number - specifies the number of JetBrainsRuntime build
# bundle_type - specifies bundle to bu built; possible values:
# jcef - the bundles 1) jbr with jcef+javafx, 2) jbrsdk and 3) test will be created
# jfx - the bundle 1) jbr with javafx only will be created
#
# jbrsdk-${JBSDK_VERSION}-osx-x64-b${build_number}.tar.gz
# jbr-${JBSDK_VERSION}-osx-x64-b${build_number}.tar.gz
#
# $ ./java --version
# openjdk 11.0.6 2020-01-14
# OpenJDK Runtime Environment (build 11.0.6+${JDK_BUILD_NUMBER}-b${build_number})
# OpenJDK 64-Bit Server VM (build 11.0.6+${JDK_BUILD_NUMBER}-b${build_number}, mixed mode)
#
JBSDK_VERSION=$1
JDK_BUILD_NUMBER=$2
build_number=$3
JBRSDK_BASE_NAME=jbrsdk-$JBSDK_VERSION
JBR_BASE_NAME=jbr-$JBSDK_VERSION
IMAGES_DIR=build/windows-x86-normal-server-release/images
JSDK=$IMAGES_DIR/jdk
JBSDK=$JBRSDK_BASE_NAME-windows-x86-b$build_number
BASE_DIR=.
JBRSDK_BUNDLE=jbrsdk
echo Creating $JBSDK.tar.gz ...
/usr/bin/tar -czf $JBSDK.tar.gz $JBRSDK_BUNDLE || exit 1
JBR_BUNDLE=jbr
JBR_BASE_NAME=jbr-${JBSDK_VERSION}
JBR=$JBR_BASE_NAME-windows-x86-b$build_number
echo Creating $JBR.tar.gz ...
/usr/bin/tar -czf $JBR.tar.gz -C $BASE_DIR ${JBR_BUNDLE} || exit 1
JBRSDK_TEST=$JBRSDK_BASE_NAME-windows-test-x86-b$build_number
echo Creating $JBRSDK_TEST.tar.gz ...
/usr/bin/tar -czf $JBRSDK_TEST.tar.gz -C $IMAGES_DIR --exclude='test/jdk/demos' test || exit 1

View File

@@ -242,16 +242,6 @@ ifneq ($(filter product-bundles% legacy-bundles, $(MAKECMDGOALS)), )
)
JDK_SYMBOLS_BUNDLE_FILES := \
$(filter \
$(JDK_SYMBOLS_EXCLUDE_PATTERN) \
$(SYMBOLS_EXCLUDE_PATTERN) \
, \
$(filter-out \
$(JDK_IMAGE_HOMEDIR)/demo/% %.stripped.pdb \
, \
$(ALL_JDK_SYMBOLS_FILES) \
) \
) \
$(call FindFiles, $(SYMBOLS_IMAGE_DIR))
TEST_DEMOS_BUNDLE_FILES := $(filter $(JDK_DEMOS_IMAGE_HOMEDIR)/demo/%, \
@@ -383,7 +373,7 @@ ifneq ($(filter product-bundles% legacy-bundles, $(MAKECMDGOALS)), )
$(eval $(call SetupBundleFile, BUILD_JDK_SYMBOLS_BUNDLE, \
BUNDLE_NAME := $(JDK_SYMBOLS_BUNDLE_NAME), \
FILES := $(JDK_SYMBOLS_BUNDLE_FILES), \
BASE_DIRS := $(JDK_SYMBOLS_IMAGE_DIR) $(wildcard $(SYMBOLS_IMAGE_DIR)), \
BASE_DIRS := $(SYMBOLS_IMAGE_DIR), \
SUBDIR := $(JDK_BUNDLE_SUBDIR), \
UNZIP_DEBUGINFO := true, \
))

View File

@@ -74,7 +74,7 @@ define SetupInterimModule
EXCLUDE_FILES := $(TOPDIR)/src/$1/share/classes/module-info.java \
Standard.java, \
EXTRA_FILES := $(BUILDTOOLS_OUTPUTDIR)/gensrc/$1.interim/module-info.java, \
COPY := .gif .png .xml .css .js javax.tools.JavaCompilerTool, \
COPY := .gif .png .xml .css .js .txt javax.tools.JavaCompilerTool, \
BIN := $(BUILDTOOLS_OUTPUTDIR)/interim_langtools_modules/$1.interim, \
DISABLED_WARNINGS := module options, \
JAVAC_FLAGS := \

View File

@@ -76,6 +76,7 @@ java.datatransfer_COPY += flavormap.properties
################################################################################
java.desktop_DISABLED_WARNINGS += missing-explicit-ctor
java.desktop_DOCLINT += -Xdoclint:all/protected,-reference \
'-Xdoclint/package:java.*,javax.*'
java.desktop_COPY += .gif .png .wav .txt .xml .css .pf
@@ -298,6 +299,10 @@ java.xml.crypto_CLEAN += .properties
################################################################################
jdk.accessibility_DISABLED_WARNINGS += missing-explicit-ctor
################################################################################
jdk.charsets_COPY += .dat
################################################################################
@@ -343,14 +348,23 @@ jdk.dynalink_CLEAN += .properties
################################################################################
jdk.javadoc_COPY += .xml .css .js .png
jdk.javadoc_COPY += .xml .css .js .png .txt
################################################################################
jdk.jartool_DISABLED_WARNINGS += missing-explicit-ctor
jdk.jartool_JAVAC_FLAGS += -XDstringConcat=inline
################################################################################
jdk.httpserver_DISABLED_WARNINGS += missing-explicit-ctor
################################################################################
jdk.unsupported.desktop_DISABLED_WARNINGS += missing-explicit-ctor
################################################################################
# No SCTP implementation on Mac OS X or AIX. These classes should be excluded.
SCTP_IMPL_CLASSES = \
$(TOPDIR)/src/jdk.sctp/unix/classes/sun/nio/ch/sctp/AssociationChange.java \

View File

@@ -298,6 +298,8 @@ define SetupApiDocsGenerationBody
# Create a string like "-Xdoclint:all,-syntax,-html,..."
$1_OPTIONS += -Xdoclint:all,$$(call CommaList, $$(addprefix -, \
$$(JAVADOC_DISABLED_DOCLINT)))
# Ignore the doclint warnings in the W3C DOM package
$1_OPTIONS += -Xdoclint/package:-org.w3c.*
$1_DOC_TITLE := $$($1_LONG_NAME)<br>Version $$(VERSION_SPECIFICATION) API \
Specification

View File

@@ -238,6 +238,7 @@ endif
ALL_JDK_MODULES := $(JDK_MODULES)
ALL_JRE_MODULES := $(sort $(JRE_MODULES), $(foreach m, $(JRE_MODULES), \
$(call FindTransitiveDepsForModule, $m)))
ALL_SYMBOLS_MODULES := $(JDK_MODULES)
ifeq ($(call isTargetOs, windows), true)
LIBS_TARGET_SUBDIR := bin
@@ -293,6 +294,7 @@ SetupCopyDebuginfo = \
# implementation above.
$(call SetupCopyDebuginfo,JDK)
$(call SetupCopyDebuginfo,JRE)
$(call SetupCopyDebuginfo,SYMBOLS)
################################################################################

View File

@@ -38,11 +38,8 @@ ifeq ($(call isTargetOs, macosx), true)
MACOSX_PLIST_SRC := $(TOPDIR)/make/data/bundle
BUNDLE_ID := $(MACOSX_BUNDLE_ID_BASE).$(VERSION_SHORT)
BUNDLE_NAME := $(MACOSX_BUNDLE_NAME_BASE) $(VERSION_SHORT)
BUNDLE_INFO := $(MACOSX_BUNDLE_NAME_BASE) $(VERSION_STRING)
BUNDLE_PLATFORM_VERSION := $(VERSION_FEATURE).$(VERSION_INTERIM)
BUNDLE_VERSION := $(VERSION_NUMBER)
ifeq ($(COMPANY_NAME), N/A)
BUNDLE_VENDOR := UNDEFINED
else
@@ -75,24 +72,26 @@ ifeq ($(call isTargetOs, macosx), true)
SOURCE_FILES := $(MACOSX_PLIST_SRC)/JDK-Info.plist, \
OUTPUT_FILE := $(JDK_MACOSX_CONTENTS_DIR)/Info.plist, \
REPLACEMENTS := \
@@ID@@ => $(BUNDLE_ID).jdk ; \
@@ID@@ => $(MACOSX_BUNDLE_ID_BASE).jdk ; \
@@NAME@@ => $(BUNDLE_NAME) ; \
@@INFO@@ => $(BUNDLE_INFO) ; \
@@PLATFORM_VERSION@@ => $(BUNDLE_PLATFORM_VERSION) ; \
@@VERSION@@ => $(BUNDLE_VERSION) ; \
@@VENDOR@@ => $(BUNDLE_VENDOR) , \
@@VERSION@@ => $(VERSION_NUMBER) ; \
@@BUILD_VERSION@@ => $(MACOSX_BUNDLE_BUILD_VERSION) ; \
@@VENDOR@@ => $(BUNDLE_VENDOR) ; \
@@MACOSX_VERSION_MIN@@ => $(MACOSX_VERSION_MIN) , \
))
$(eval $(call SetupTextFileProcessing, BUILD_JRE_PLIST, \
SOURCE_FILES := $(MACOSX_PLIST_SRC)/JRE-Info.plist, \
OUTPUT_FILE := $(JRE_MACOSX_CONTENTS_DIR)/Info.plist, \
REPLACEMENTS := \
@@ID@@ => $(BUNDLE_ID).jre ; \
@@ID@@ => $(MACOSX_BUNDLE_ID_BASE).jre ; \
@@NAME@@ => $(BUNDLE_NAME) ; \
@@INFO@@ => $(BUNDLE_INFO) ; \
@@PLATFORM_VERSION@@ => $(BUNDLE_PLATFORM_VERSION) ; \
@@VERSION@@ => $(BUNDLE_VERSION) ; \
@@VENDOR@@ => $(BUNDLE_VENDOR) , \
@@VERSION@@ => $(VERSION_NUMBER) ; \
@@BUILD_VERSION@@ => $(BUNDLE_BUILD_VERSION) ; \
@@VENDOR@@ => $(BUNDLE_VENDOR) ; \
@@MACOSX_VERSION_MIN@@ => $(MACOSX_VERSION_MIN) , \
))
$(SUPPORT_OUTPUTDIR)/images/_jdk_bundle_attribute_set: $(COPY_JDK_IMAGE)

View File

@@ -112,7 +112,6 @@ $(eval $(call SetupTarget, generate-exported-symbols, \
$(eval $(call DeclareRecipesForPhase, GENSRC, \
TARGET_SUFFIX := gensrc-src, \
FILE_PREFIX := Gensrc, \
MAKE_SUBDIR := gensrc, \
CHECK_MODULES := $(ALL_MODULES), \
))
@@ -150,7 +149,6 @@ ALL_TARGETS += $(GENSRC_TARGETS)
$(eval $(call DeclareRecipesForPhase, GENDATA, \
TARGET_SUFFIX := gendata, \
FILE_PREFIX := Gendata, \
MAKE_SUBDIR := gendata, \
CHECK_MODULES := $(ALL_MODULES), \
))
@@ -161,7 +159,6 @@ ALL_TARGETS += $(GENDATA_TARGETS)
$(eval $(call DeclareRecipesForPhase, COPY, \
TARGET_SUFFIX := copy, \
FILE_PREFIX := Copy, \
MAKE_SUBDIR := copy, \
CHECK_MODULES := $(ALL_MODULES), \
))
@@ -203,7 +200,6 @@ ALL_TARGETS += $(JAVA_TARGETS)
$(eval $(call DeclareRecipesForPhase, LIBS, \
TARGET_SUFFIX := libs, \
FILE_PREFIX := Lib, \
MAKE_SUBDIR := lib, \
CHECK_MODULES := $(ALL_MODULES), \
))
@@ -216,7 +212,6 @@ ALL_TARGETS += $(LIBS_TARGETS)
$(eval $(call DeclareRecipesForPhase, STATIC_LIBS, \
TARGET_SUFFIX := static-libs, \
FILE_PREFIX := Lib, \
MAKE_SUBDIR := lib, \
CHECK_MODULES := $(ALL_MODULES), \
EXTRA_ARGS := STATIC_LIBS=true, \
))
@@ -228,7 +223,6 @@ ALL_TARGETS += $(STATIC_LIBS_TARGETS)
$(eval $(call DeclareRecipesForPhase, LAUNCHER, \
TARGET_SUFFIX := launchers, \
FILE_PREFIX := Launcher, \
MAKE_SUBDIR := launcher, \
CHECK_MODULES := $(ALL_MODULES), \
))

View File

@@ -185,7 +185,6 @@ endef
# Param 1: Name of list to add targets to
# Named params:
# TARGET_SUFFIX : Suffix of target to create for recipe
# MAKE_SUBDIR : Subdir for this build phase
# FILE_PREFIX : File prefix for this build phase
# CHECK_MODULES : List of modules to try
# MULTIPLE_MAKEFILES : Set to true to handle makefiles for the same module and

View File

@@ -39,7 +39,7 @@ include MakeBase.gmk
TARGETS :=
# Include the file being wrapped.
include modules/$(MODULE)/$(MAKEFILE_PREFIX).gmk
include $(MAKEFILE_PREFIX).gmk
# Setup copy rules from the modules directories to the jdk image directory.
ifeq ($(call isTargetOs, windows), true)

View File

@@ -172,6 +172,10 @@ define SetupAotModuleBody
$1_JAOTC_OPTS += --compile-with-assertions
endif
ifneq ($$(filter -XX:+VerifyOops, $$($1_VM_OPTIONS)), )
$1_JAOTC_OPTS += -J-Dgraal.AOTVerifyOops=true
endif
$$($1_AOT_LIB): $$(JDK_UNDER_TEST)/release \
$$(call DependOnVariable, $1_JAOTC_OPTS) \
$$(call DependOnVariable, JDK_UNDER_TEST)
@@ -605,6 +609,7 @@ define SetupRunGtestTestBody
$$(call LogWarn, Running test '$$($1_TEST)')
$$(call MakeDir, $$($1_TEST_RESULTS_DIR) $$($1_TEST_SUPPORT_DIR))
$$(call ExecuteWithLog, $$($1_TEST_SUPPORT_DIR)/gtest, ( \
$$(CD) $$($1_TEST_SUPPORT_DIR) && \
$$(FIXPATH) $$(TEST_IMAGE_DIR)/hotspot/gtest/$$($1_VARIANT)/gtestLauncher \
-jdk $(JDK_UNDER_TEST) $$($1_GTEST_FILTER) \
--gtest_output=xml:$$($1_TEST_RESULTS_DIR)/gtest.xml \

View File

@@ -117,6 +117,16 @@ AC_DEFUN([BASIC_EVAL_DEVKIT_VARIABLE],
fi
])
###############################################################################
# Evaluates platform specific overrides for build devkit variables.
# $1: Name of variable
AC_DEFUN([BASIC_EVAL_BUILD_DEVKIT_VARIABLE],
[
if test "x[$]$1" = x; then
eval $1="\${$1_${OPENJDK_BUILD_CPU}}"
fi
])
###############################################################################
AC_DEFUN_ONCE([BASIC_SETUP_DEVKIT],
[

View File

@@ -72,7 +72,6 @@ AC_DEFUN_ONCE([BASIC_SETUP_FUNDAMENTAL_TOOLS],
UTIL_REQUIRE_PROGS(UNAME, uname)
UTIL_REQUIRE_PROGS(UNIQ, uniq)
UTIL_REQUIRE_PROGS(WC, wc)
UTIL_REQUIRE_PROGS(WHICH, which)
UTIL_REQUIRE_PROGS(XARGS, xargs)
# Then required tools that require some special treatment.

View File

@@ -78,11 +78,11 @@ generated_script="$build_support_dir/generated-configure.sh"
###
autoconf_missing_help() {
APT_GET="`which apt-get 2> /dev/null | grep -v '^no apt-get in'`"
YUM="`which yum 2> /dev/null | grep -v '^no yum in'`"
BREW="`which brew 2> /dev/null | grep -v '^no brew in'`"
ZYPPER="`which zypper 2> /dev/null | grep -v '^no zypper in'`"
CYGWIN="`which cygpath 2> /dev/null | grep -v '^no cygpath in'`"
APT_GET="`type -p apt-get 2> /dev/null`"
YUM="`type -p yum 2> /dev/null`"
BREW="`type -p brew 2> /dev/null`"
ZYPPER="`type -p zypper 2> /dev/null`"
CYGWIN="`type -p cygpath 2> /dev/null`"
if test "x$ZYPPER" != x; then
PKGHANDLER_COMMAND="sudo zypper install autoconf"
@@ -111,7 +111,7 @@ generate_configure_script() {
exit 1
fi
else
AUTOCONF="`which autoconf 2> /dev/null | grep -v '^no autoconf in'`"
AUTOCONF="`type -p autoconf 2> /dev/null`"
if test "x$AUTOCONF" = x; then
echo
echo "Autoconf is not found on the PATH, and AUTOCONF is not set."

View File

@@ -242,7 +242,6 @@ HOTSPOT_SETUP_MISC
#
###############################################################################
JDKOPT_DETECT_INTREE_EC
JDKOPT_ENABLE_DISABLE_FAILURE_HANDLER
JDKOPT_ENABLE_DISABLE_GENERATE_CLASSLIST
JDKOPT_EXCLUDE_TRANSLATIONS

View File

@@ -134,6 +134,10 @@ AC_DEFUN([FLAGS_SETUP_WARNINGS],
WARNINGS_ENABLE_ALL="-W3"
DISABLED_WARNINGS="4800"
if test "x$TOOLCHAIN_VERSION" = x2017; then
# VS2017 incorrectly triggers this warning for constexpr
DISABLED_WARNINGS+=" 4307"
fi
;;
gcc)
@@ -662,7 +666,9 @@ AC_DEFUN([FLAGS_SETUP_CFLAGS_CPU_DEP],
# toolchain dependend, per-cpu
if test "x$TOOLCHAIN_TYPE" = xmicrosoft; then
if test "x$FLAGS_CPU" = xx86_64; then
if test "x$FLAGS_CPU" = xaarch64; then
$1_DEFINES_CPU_JDK="${$1_DEFINES_CPU_JDK} -D_ARM64_ -Darm64"
elif test "x$FLAGS_CPU" = xx86_64; then
$1_DEFINES_CPU_JDK="${$1_DEFINES_CPU_JDK} -D_AMD64_ -Damd64"
else
$1_DEFINES_CPU_JDK="${$1_DEFINES_CPU_JDK} -D_X86_ -Dx86"

View File

@@ -165,14 +165,13 @@ AC_DEFUN([FLAGS_SETUP_LDFLAGS_CPU_DEP],
fi
elif test "x$TOOLCHAIN_TYPE" = xmicrosoft; then
if test "x${OPENJDK_$1_CPU_BITS}" = "x32"; then
$1_CPU_EXECUTABLE_LDFLAGS="-stack:327680"
elif test "x${OPENJDK_$1_CPU_BITS}" = "x64"; then
$1_CPU_EXECUTABLE_LDFLAGS="-stack:1048576"
fi
if test "x${OPENJDK_$1_CPU}" = "xx86"; then
$1_CPU_LDFLAGS="-safeseh"
# NOTE: Old build added -machine. Probably not needed.
$1_CPU_LDFLAGS_JVM_ONLY="-machine:I386"
$1_CPU_EXECUTABLE_LDFLAGS="-stack:327680"
else
$1_CPU_LDFLAGS_JVM_ONLY="-machine:AMD64"
$1_CPU_EXECUTABLE_LDFLAGS="-stack:1048576"
fi
fi

View File

@@ -218,10 +218,12 @@ AC_DEFUN([FLAGS_SETUP_SYSROOT_FLAGS],
# We also need -iframework<path>/System/Library/Frameworks
$1SYSROOT_CFLAGS="[$]$1SYSROOT_CFLAGS -iframework [$]$1SYSROOT/System/Library/Frameworks"
$1SYSROOT_LDFLAGS="[$]$1SYSROOT_LDFLAGS -iframework [$]$1SYSROOT/System/Library/Frameworks"
# These always need to be set, or we can't find the frameworks embedded in JavaVM.framework
# set this here so it doesn't have to be peppered throughout the forest
$1SYSROOT_CFLAGS="[$]$1SYSROOT_CFLAGS -F [$]$1SYSROOT/System/Library/Frameworks/JavaVM.framework/Frameworks"
$1SYSROOT_LDFLAGS="[$]$1SYSROOT_LDFLAGS -F [$]$1SYSROOT/System/Library/Frameworks/JavaVM.framework/Frameworks"
if test -d "[$]$1SYSROOT/System/Library/Frameworks/JavaVM.framework/Frameworks" ; then
# These always need to be set on macOS 10.X, or we can't find the frameworks embedded in JavaVM.framework
# set this here so it doesn't have to be peppered throughout the forest
$1SYSROOT_CFLAGS="[$]$1SYSROOT_CFLAGS -F [$]$1SYSROOT/System/Library/Frameworks/JavaVM.framework/Frameworks"
$1SYSROOT_LDFLAGS="[$]$1SYSROOT_LDFLAGS -F [$]$1SYSROOT/System/Library/Frameworks/JavaVM.framework/Frameworks"
fi
fi
AC_SUBST($1SYSROOT_CFLAGS)

View File

@@ -101,6 +101,8 @@ apt_help() {
PKGHANDLER_COMMAND="sudo apt-get install libfontconfig1-dev" ;;
freetype)
PKGHANDLER_COMMAND="sudo apt-get install libfreetype6-dev" ;;
harfbuzz)
PKGHANDLER_COMMAND="sudo apt-get install libharfbuzz-dev" ;;
ffi)
PKGHANDLER_COMMAND="sudo apt-get install libffi-dev" ;;
x11)
@@ -124,6 +126,8 @@ zypper_help() {
PKGHANDLER_COMMAND="sudo zypper install fontconfig-devel" ;;
freetype)
PKGHANDLER_COMMAND="sudo zypper install freetype-devel" ;;
harfbuzz)
PKGHANDLER_COMMAND="sudo zypper install harfbuzz-devel" ;;
x11)
PKGHANDLER_COMMAND="sudo zypper install libX11-devel libXext-devel libXrender-devel libXrandr-devel libXtst-devel libXt-devel libXi-devel" ;;
ccache)
@@ -143,6 +147,8 @@ yum_help() {
PKGHANDLER_COMMAND="sudo yum install fontconfig-devel" ;;
freetype)
PKGHANDLER_COMMAND="sudo yum install freetype-devel" ;;
harfbuzz)
PKGHANDLER_COMMAND="sudo yum install harfbuzz-devel" ;;
x11)
PKGHANDLER_COMMAND="sudo yum install libXtst-devel libXt-devel libXrender-devel libXrandr-devel libXi-devel" ;;
ccache)

View File

@@ -228,23 +228,6 @@ AC_DEFUN_ONCE([JDKOPT_SETUP_JDK_OPTIONS],
])
###############################################################################
#
# Enable or disable the elliptic curve crypto implementation
#
AC_DEFUN_ONCE([JDKOPT_DETECT_INTREE_EC],
[
AC_MSG_CHECKING([if elliptic curve crypto implementation is present])
if test -d "${TOPDIR}/src/jdk.crypto.ec/share/native/libsunec/impl"; then
ENABLE_INTREE_EC=true
AC_MSG_RESULT([yes])
else
ENABLE_INTREE_EC=false
AC_MSG_RESULT([no])
fi
AC_SUBST(ENABLE_INTREE_EC)
])
AC_DEFUN_ONCE([JDKOPT_SETUP_DEBUG_SYMBOLS],
[

View File

@@ -67,34 +67,6 @@ AC_DEFUN_ONCE([JDKVER_SETUP_JDK_VERSION_NUMBERS],
AC_SUBST(JDK_RC_PLATFORM_NAME)
AC_SUBST(HOTSPOT_VM_DISTRO)
# Set the MACOSX Bundle Name base
AC_ARG_WITH(macosx-bundle-name-base, [AS_HELP_STRING([--with-macosx-bundle-name-base],
[Set the MacOSX Bundle Name base. This is the base name for calculating MacOSX Bundle Names.
@<:@not specified@:>@])])
if test "x$with_macosx_bundle_name_base" = xyes; then
AC_MSG_ERROR([--with-macosx-bundle-name-base must have a value])
elif [ ! [[ $with_macosx_bundle_name_base =~ ^[[:print:]]*$ ]] ]; then
AC_MSG_ERROR([--with-macosx-bundle-name-base contains non-printing characters: $with_macosx_bundle_name_base])
elif test "x$with_macosx_bundle_name_base" != x; then
# Set MACOSX_BUNDLE_NAME_BASE to the configured value.
MACOSX_BUNDLE_NAME_BASE="$with_macosx_bundle_name_base"
fi
AC_SUBST(MACOSX_BUNDLE_NAME_BASE)
# Set the MACOSX Bundle ID base
AC_ARG_WITH(macosx-bundle-id-base, [AS_HELP_STRING([--with-macosx-bundle-id-base],
[Set the MacOSX Bundle ID base. This is the base ID for calculating MacOSX Bundle IDs.
@<:@not specified@:>@])])
if test "x$with_macosx_bundle_id_base" = xyes; then
AC_MSG_ERROR([--with-macosx-bundle-id-base must have a value])
elif [ ! [[ $with_macosx_bundle_id_base =~ ^[[:print:]]*$ ]] ]; then
AC_MSG_ERROR([--with-macosx-bundle-id-base contains non-printing characters: $with_macosx_bundle_id_base])
elif test "x$with_macosx_bundle_id_base" != x; then
# Set MACOSX_BUNDLE_ID_BASE to the configured value.
MACOSX_BUNDLE_ID_BASE="$with_macosx_bundle_id_base"
fi
AC_SUBST(MACOSX_BUNDLE_ID_BASE)
# Set the JDK RC name
AC_ARG_WITH(jdk-rc-name, [AS_HELP_STRING([--with-jdk-rc-name],
[Set JDK RC name. This is used for FileDescription and ProductName properties
@@ -502,6 +474,60 @@ AC_DEFUN_ONCE([JDKVER_SETUP_JDK_VERSION_NUMBERS],
VENDOR_VERSION_STRING="$with_vendor_version_string"
fi
# Set the MACOSX Bundle Name base
AC_ARG_WITH(macosx-bundle-name-base, [AS_HELP_STRING([--with-macosx-bundle-name-base],
[Set the MacOSX Bundle Name base. This is the base name for calculating MacOSX Bundle Names.
@<:@not specified@:>@])])
if test "x$with_macosx_bundle_name_base" = xyes; then
AC_MSG_ERROR([--with-macosx-bundle-name-base must have a value])
elif [ ! [[ $with_macosx_bundle_name_base =~ ^[[:print:]]*$ ]] ]; then
AC_MSG_ERROR([--with-macosx-bundle-name-base contains non-printing characters: $with_macosx_bundle_name_base])
elif test "x$with_macosx_bundle_name_base" != x; then
# Set MACOSX_BUNDLE_NAME_BASE to the configured value.
MACOSX_BUNDLE_NAME_BASE="$with_macosx_bundle_name_base"
fi
AC_SUBST(MACOSX_BUNDLE_NAME_BASE)
# Set the MACOSX Bundle ID base
AC_ARG_WITH(macosx-bundle-id-base, [AS_HELP_STRING([--with-macosx-bundle-id-base],
[Set the MacOSX Bundle ID base. This is the base ID for calculating MacOSX Bundle IDs.
@<:@not specified@:>@])])
if test "x$with_macosx_bundle_id_base" = xyes; then
AC_MSG_ERROR([--with-macosx-bundle-id-base must have a value])
elif [ ! [[ $with_macosx_bundle_id_base =~ ^[[:print:]]*$ ]] ]; then
AC_MSG_ERROR([--with-macosx-bundle-id-base contains non-printing characters: $with_macosx_bundle_id_base])
elif test "x$with_macosx_bundle_id_base" != x; then
# Set MACOSX_BUNDLE_ID_BASE to the configured value.
MACOSX_BUNDLE_ID_BASE="$with_macosx_bundle_id_base"
else
# If using the default value, append the VERSION_PRE if there is one
# to make it possible to tell official builds apart from developer builds
if test "x$VERSION_PRE" != x; then
MACOSX_BUNDLE_ID_BASE="$MACOSX_BUNDLE_ID_BASE-$VERSION_PRE"
fi
fi
AC_SUBST(MACOSX_BUNDLE_ID_BASE)
# Set the MACOSX CFBundleVersion field
AC_ARG_WITH(macosx-bundle-build-version, [AS_HELP_STRING([--with-macosx-bundle-build-version],
[Set the MacOSX Bundle CFBundleVersion field. This key is a machine-readable
string composed of one to three period-separated integers and should represent the
build version. Defaults to the build number.])])
if test "x$with_macosx_bundle_build_version" = xyes; then
AC_MSG_ERROR([--with-macosx-bundle-build-version must have a value])
elif [ ! [[ $with_macosx_bundle_build_version =~ ^[0-9\.]*$ ]] ]; then
AC_MSG_ERROR([--with-macosx-bundle-build-version contains non numbers and periods: $with_macosx_bundle_build_version])
elif test "x$with_macosx_bundle_build_version" != x; then
MACOSX_BUNDLE_BUILD_VERSION="$with_macosx_bundle_build_version"
else
MACOSX_BUNDLE_BUILD_VERSION="$VERSION_BUILD"
# If VERSION_OPT consists of only numbers and periods, add it.
if [ [[ $VERSION_OPT =~ ^[0-9\.]+$ ]] ]; then
MACOSX_BUNDLE_BUILD_VERSION+=".$VERSION_OPT"
fi
fi
AC_SUBST(MACOSX_BUNDLE_BUILD_VERSION)
# We could define --with flags for these, if really needed
VERSION_CLASSFILE_MAJOR="$DEFAULT_VERSION_CLASSFILE_MAJOR"
VERSION_CLASSFILE_MINOR="$DEFAULT_VERSION_CLASSFILE_MINOR"

View File

@@ -237,8 +237,9 @@ AC_DEFUN_ONCE([JVM_FEATURES_CHECK_AOT],
JVM_FEATURES_CHECK_AVAILABILITY(aot, [
AC_MSG_CHECKING([if platform is supported by AOT])
# AOT is only available where JVMCI is available since it requires JVMCI.
if test "x$OPENJDK_TARGET_CPU" = "xx86_64" || \
test "x$OPENJDK_TARGET_CPU" = "xaarch64"; then
if test "x$OPENJDK_TARGET_CPU" = "xx86_64"; then
AC_MSG_RESULT([yes])
elif test "x$OPENJDK_TARGET_OS-$OPENJDK_TARGET_CPU" = "xlinux-aarch64"; then
AC_MSG_RESULT([yes])
else
AC_MSG_RESULT([no, $OPENJDK_TARGET_CPU])
@@ -303,8 +304,9 @@ AC_DEFUN_ONCE([JVM_FEATURES_CHECK_GRAAL],
JVM_FEATURES_CHECK_AVAILABILITY(graal, [
AC_MSG_CHECKING([if platform is supported by Graal])
# Graal is only available where JVMCI is available since it requires JVMCI.
if test "x$OPENJDK_TARGET_CPU" = "xx86_64" || \
test "x$OPENJDK_TARGET_CPU" = "xaarch64" ; then
if test "x$OPENJDK_TARGET_CPU" = "xx86_64"; then
AC_MSG_RESULT([yes])
elif test "x$OPENJDK_TARGET_OS-$OPENJDK_TARGET_CPU" = "xlinux-aarch64"; then
AC_MSG_RESULT([yes])
else
AC_MSG_RESULT([no, $OPENJDK_TARGET_CPU])
@@ -336,8 +338,9 @@ AC_DEFUN_ONCE([JVM_FEATURES_CHECK_JVMCI],
[
JVM_FEATURES_CHECK_AVAILABILITY(jvmci, [
AC_MSG_CHECKING([if platform is supported by JVMCI])
if test "x$OPENJDK_TARGET_CPU" = "xx86_64" || \
test "x$OPENJDK_TARGET_CPU" = "xaarch64" ; then
if test "x$OPENJDK_TARGET_CPU" = "xx86_64"; then
AC_MSG_RESULT([yes])
elif test "x$OPENJDK_TARGET_OS-$OPENJDK_TARGET_CPU" = "xlinux-aarch64"; then
AC_MSG_RESULT([yes])
else
AC_MSG_RESULT([no, $OPENJDK_TARGET_CPU])
@@ -395,8 +398,14 @@ AC_DEFUN_ONCE([JVM_FEATURES_CHECK_ZGC],
AC_MSG_RESULT([no, $OPENJDK_TARGET_OS-$OPENJDK_TARGET_CPU])
AVAILABLE=false
fi
elif test "x$OPENJDK_TARGET_OS-$OPENJDK_TARGET_CPU" = "xlinux-aarch64"; then
AC_MSG_RESULT([yes])
elif test "x$OPENJDK_TARGET_CPU" = "xaarch64"; then
if test "x$OPENJDK_TARGET_OS" = "xlinux" || \
test "x$OPENJDK_TARGET_OS" = "xwindows"; then
AC_MSG_RESULT([yes])
else
AC_MSG_RESULT([no, $OPENJDK_TARGET_OS-$OPENJDK_TARGET_CPU])
AVAILABLE=false
fi
else
AC_MSG_RESULT([no, $OPENJDK_TARGET_OS-$OPENJDK_TARGET_CPU])
AVAILABLE=false

View File

@@ -40,6 +40,7 @@ AC_DEFUN_ONCE([LIB_SETUP_BUNDLED_LIBS],
LIB_SETUP_LIBPNG
LIB_SETUP_ZLIB
LIB_SETUP_LCMS
LIB_SETUP_HARFBUZZ
])
################################################################################
@@ -263,3 +264,43 @@ AC_DEFUN_ONCE([LIB_SETUP_LCMS],
AC_SUBST(LCMS_CFLAGS)
AC_SUBST(LCMS_LIBS)
])
################################################################################
# Setup harfbuzz
################################################################################
AC_DEFUN_ONCE([LIB_SETUP_HARFBUZZ],
[
AC_ARG_WITH(harfbuzz, [AS_HELP_STRING([--with-harfbuzz],
[use harfbuzz from build system or OpenJDK source (system, bundled) @<:@bundled@:>@])])
AC_MSG_CHECKING([for which harfbuzz to use])
DEFAULT_HARFBUZZ=bundled
# If user didn't specify, use DEFAULT_HARFBUZZ
if test "x${with_harfbuzz}" = "x"; then
with_harfbuzz=${DEFAULT_HARFBUZZ}
fi
if test "x${with_harfbuzz}" = "xbundled"; then
USE_EXTERNAL_HARFBUZZ=false
HARFBUZZ_CFLAGS=""
HARFBUZZ_LIBS=""
AC_MSG_RESULT([bundled])
elif test "x${with_harfbuzz}" = "xsystem"; then
AC_MSG_RESULT([system])
PKG_CHECK_MODULES([HARFBUZZ], [harfbuzz], [HARFBUZZ_FOUND=yes], [HARFBUZZ_FOUND=no])
if test "x${HARFBUZZ_FOUND}" = "xyes"; then
# PKG_CHECK_MODULES will set HARFBUZZ_CFLAGS and HARFBUZZ_LIBS
USE_EXTERNAL_HARFBUZZ=true
else
HELP_MSG_MISSING_DEPENDENCY([harfbuzz])
AC_MSG_ERROR([--with-harfbuzz=system specified, but no harfbuzz found! $HELP_MSG])
fi
else
AC_MSG_ERROR([Invalid value for --with-harfbuzz: ${with_harfbuzz}, use 'system' or 'bundled'])
fi
AC_SUBST(USE_EXTERNAL_HARFBUZZ)
AC_SUBST(HARFBUZZ_CFLAGS)
AC_SUBST(HARFBUZZ_LIBS)
])

View File

@@ -170,6 +170,7 @@ COMPANY_NAME:=@COMPANY_NAME@
HOTSPOT_VM_DISTRO:=@HOTSPOT_VM_DISTRO@
MACOSX_BUNDLE_NAME_BASE=@MACOSX_BUNDLE_NAME_BASE@
MACOSX_BUNDLE_ID_BASE=@MACOSX_BUNDLE_ID_BASE@
MACOSX_BUNDLE_BUILD_VERSION=@MACOSX_BUNDLE_BUILD_VERSION@
USERNAME:=@USERNAME@
VENDOR_URL:=@VENDOR_URL@
VENDOR_URL_BUG:=@VENDOR_URL_BUG@
@@ -824,6 +825,10 @@ USE_EXTERNAL_LCMS:=@USE_EXTERNAL_LCMS@
LCMS_CFLAGS:=@LCMS_CFLAGS@
LCMS_LIBS:=@LCMS_LIBS@
USE_EXTERNAL_HARFBUZZ:=@USE_EXTERNAL_HARFBUZZ@
HARFBUZZ_CFLAGS:=@HARFBUZZ_CFLAGS@
HARFBUZZ_LIBS:=@HARFBUZZ_LIBS@
USE_EXTERNAL_LIBPNG:=@USE_EXTERNAL_LIBPNG@
PNG_LIBS:=@PNG_LIBS@
PNG_CFLAGS:=@PNG_CFLAGS@

View File

@@ -872,14 +872,18 @@ AC_DEFUN_ONCE([TOOLCHAIN_SETUP_BUILD_COMPILERS],
. $CONFIGURESUPPORT_OUTPUTDIR/build-devkit.info
# This potentially sets the following:
# A descriptive name of the devkit
BASIC_EVAL_DEVKIT_VARIABLE([BUILD_DEVKIT_NAME])
BASIC_EVAL_BUILD_DEVKIT_VARIABLE([BUILD_DEVKIT_NAME])
# Corresponds to --with-extra-path
BASIC_EVAL_DEVKIT_VARIABLE([BUILD_DEVKIT_EXTRA_PATH])
BASIC_EVAL_BUILD_DEVKIT_VARIABLE([BUILD_DEVKIT_EXTRA_PATH])
# Corresponds to --with-toolchain-path
BASIC_EVAL_DEVKIT_VARIABLE([BUILD_DEVKIT_TOOLCHAIN_PATH])
BASIC_EVAL_BUILD_DEVKIT_VARIABLE([BUILD_DEVKIT_TOOLCHAIN_PATH])
# Corresponds to --with-sysroot
BASIC_EVAL_DEVKIT_VARIABLE([BUILD_DEVKIT_SYSROOT])
# Skip the Window specific parts
BASIC_EVAL_BUILD_DEVKIT_VARIABLE([BUILD_DEVKIT_SYSROOT])
if test "x$TOOLCHAIN_TYPE" = xmicrosoft; then
BASIC_EVAL_BUILD_DEVKIT_VARIABLE([BUILD_DEVKIT_VS_INCLUDE])
BASIC_EVAL_BUILD_DEVKIT_VARIABLE([BUILD_DEVKIT_VS_LIB])
fi
fi
AC_MSG_CHECKING([for build platform devkit])
@@ -889,22 +893,34 @@ AC_DEFUN_ONCE([TOOLCHAIN_SETUP_BUILD_COMPILERS],
AC_MSG_RESULT([$BUILD_DEVKIT_ROOT])
fi
BUILD_SYSROOT="$BUILD_DEVKIT_SYSROOT"
# Fallback default of just /bin if DEVKIT_PATH is not defined
# Fallback default of just /bin if DEVKIT_PATH is not defined
if test "x$BUILD_DEVKIT_TOOLCHAIN_PATH" = x; then
BUILD_DEVKIT_TOOLCHAIN_PATH="$BUILD_DEVKIT_ROOT/bin"
fi
PATH="$BUILD_DEVKIT_TOOLCHAIN_PATH:$BUILD_DEVKIT_EXTRA_PATH"
BUILD_SYSROOT="$BUILD_DEVKIT_SYSROOT"
if test "x$TOOLCHAIN_TYPE" = xmicrosoft; then
BUILD_VS_INCLUDE="$BUILD_DEVKIT_VS_INCLUDE"
BUILD_VS_LIB="$BUILD_DEVKIT_VS_LIB"
TOOLCHAIN_SETUP_VISUAL_STUDIO_SYSROOT_FLAGS([BUILD_])
fi
fi
fi
# FIXME: we should list the discovered compilers as an exclude pattern!
# If we do that, we can do this detection before POST_DETECTION, and still
# find the build compilers in the tools dir, if needed.
UTIL_REQUIRE_PROGS(BUILD_CC, [cl cc gcc])
if test "x$OPENJDK_BUILD_OS" = xmacosx; then
UTIL_REQUIRE_PROGS(BUILD_CC, [clang cl cc gcc])
UTIL_REQUIRE_PROGS(BUILD_CXX, [clang++ cl CC g++])
else
UTIL_REQUIRE_PROGS(BUILD_CC, [cl cc gcc])
UTIL_REQUIRE_PROGS(BUILD_CXX, [cl CC g++])
fi
UTIL_FIXUP_EXECUTABLE(BUILD_CC)
UTIL_REQUIRE_PROGS(BUILD_CXX, [cl CC g++])
UTIL_FIXUP_EXECUTABLE(BUILD_CXX)
UTIL_PATH_PROGS(BUILD_NM, nm gcc-nm)
UTIL_FIXUP_EXECUTABLE(BUILD_NM)
@@ -916,9 +932,37 @@ AC_DEFUN_ONCE([TOOLCHAIN_SETUP_BUILD_COMPILERS],
UTIL_FIXUP_EXECUTABLE(BUILD_STRIP)
# Assume the C compiler is the assembler
BUILD_AS="$BUILD_CC -c"
# Just like for the target compiler, use the compiler as linker
BUILD_LD="$BUILD_CC"
BUILD_LDCXX="$BUILD_CXX"
if test "x$TOOLCHAIN_TYPE" = xmicrosoft; then
# In the Microsoft toolchain we have a separate LD command "link".
# Make sure we reject /usr/bin/link (as determined in CYGWIN_LINK), which is
# a cygwin program for something completely different.
AC_CHECK_PROG([BUILD_LD], [link$EXE_SUFFIX],[link$EXE_SUFFIX],,, [$CYGWIN_LINK])
UTIL_FIXUP_EXECUTABLE(BUILD_LD)
# Verify that we indeed succeeded with this trick.
AC_MSG_CHECKING([if the found link.exe is actually the Visual Studio linker])
# Reset PATH since it can contain a mix of WSL/linux paths and Windows paths from VS,
# which, in combination with WSLENV, will make the WSL layer complain
old_path="$PATH"
PATH=
"$BUILD_LD" --version > /dev/null
if test $? -eq 0 ; then
AC_MSG_RESULT([no])
AC_MSG_ERROR([This is the Cygwin link tool. Please check your PATH and rerun configure.])
else
AC_MSG_RESULT([yes])
fi
PATH="$old_path"
BUILD_LDCXX="$BUILD_LD"
else
# Just like for the target compiler, use the compiler as linker
BUILD_LD="$BUILD_CC"
BUILD_LDCXX="$BUILD_CXX"
fi
PATH="$OLDPATH"
@@ -969,6 +1013,10 @@ AC_DEFUN_ONCE([TOOLCHAIN_MISC_CHECKS],
if test "x$COMPILER_CPU_TEST" != "xx64"; then
AC_MSG_ERROR([Target CPU mismatch. We are building for $OPENJDK_TARGET_CPU but CL is for "$COMPILER_CPU_TEST"; expected "x64".])
fi
elif test "x$OPENJDK_TARGET_CPU" = "xaarch64"; then
if test "x$COMPILER_CPU_TEST" != "xARM64"; then
AC_MSG_ERROR([Target CPU mismatch. We are building for $OPENJDK_TARGET_CPU but CL is for "$COMPILER_CPU_TEST"; expected "arm64".])
fi
fi
fi

View File

@@ -79,11 +79,15 @@ AC_DEFUN([TOOLCHAIN_CHECK_POSSIBLE_VISUAL_STUDIO_ROOT],
if test -d "$VS_BASE"; then
AC_MSG_NOTICE([Found Visual Studio installation at $VS_BASE using $METHOD])
if test "x$OPENJDK_TARGET_CPU_BITS" = x32; then
if test "x$OPENJDK_TARGET_CPU" = xx86; then
VCVARSFILES="vc/bin/vcvars32.bat vc/auxiliary/build/vcvars32.bat"
else
elif test "x$OPENJDK_TARGET_CPU" = xx86_64; then
VCVARSFILES="vc/bin/amd64/vcvars64.bat vc/bin/x86_amd64/vcvarsx86_amd64.bat \
VC/Auxiliary/Build/vcvarsx86_amd64.bat VC/Auxiliary/Build/vcvars64.bat"
elif test "x$OPENJDK_TARGET_CPU" = xaarch64; then
# for host x86-64, target aarch64
VCVARSFILES="vc/auxiliary/build/vcvarsamd64_arm64.bat \
vc/auxiliary/build/vcvarsx86_arm64.bat"
fi
for VCVARSFILE in $VCVARSFILES; do
@@ -123,10 +127,12 @@ AC_DEFUN([TOOLCHAIN_CHECK_POSSIBLE_WIN_SDK_ROOT],
elif test -f "$WIN_SDK_BASE/Bin/SetEnv.Cmd"; then
AC_MSG_NOTICE([Found Windows SDK installation at $WIN_SDK_BASE using $METHOD])
VS_ENV_CMD="$WIN_SDK_BASE/Bin/SetEnv.Cmd"
if test "x$OPENJDK_TARGET_CPU_BITS" = x32; then
if test "x$OPENJDK_TARGET_CPU" = xx86; then
VS_ENV_ARGS="/x86"
else
elif test "x$OPENJDK_TARGET_CPU" = xx86_64; then
VS_ENV_ARGS="/x64"
elif test "x$OPENJDK_TARGET_CPU" = xaarch64; then
VS_ENV_ARGS="/arm64"
fi
# PLATFORM_TOOLSET is used during the compilation of the freetype sources (see
# 'LIB_BUILD_FREETYPE' in libraries.m4) and must be 'Windows7.1SDK' for Windows7.1SDK
@@ -520,41 +526,7 @@ AC_DEFUN([TOOLCHAIN_SETUP_VISUAL_STUDIO_ENV],
AC_SUBST(VS_INCLUDE)
AC_SUBST(VS_LIB)
# Convert VS_INCLUDE into SYSROOT_CFLAGS
OLDIFS="$IFS"
IFS=";"
for i in $VS_INCLUDE; do
ipath=$i
# Only process non-empty elements
if test "x$ipath" != x; then
IFS="$OLDIFS"
# Check that directory exists before calling fixup_path
testpath=$ipath
UTIL_REWRITE_AS_UNIX_PATH([testpath])
if test -d "$testpath"; then
UTIL_FIXUP_PATH([ipath])
SYSROOT_CFLAGS="$SYSROOT_CFLAGS -I$ipath"
fi
IFS=";"
fi
done
# Convert VS_LIB into SYSROOT_LDFLAGS
for i in $VS_LIB; do
libpath=$i
# Only process non-empty elements
if test "x$libpath" != x; then
IFS="$OLDIFS"
# Check that directory exists before calling fixup_path
testpath=$libpath
UTIL_REWRITE_AS_UNIX_PATH([testpath])
if test -d "$testpath"; then
UTIL_FIXUP_PATH([libpath])
SYSROOT_LDFLAGS="$SYSROOT_LDFLAGS -libpath:$libpath"
fi
IFS=";"
fi
done
IFS="$OLDIFS"
TOOLCHAIN_SETUP_VISUAL_STUDIO_SYSROOT_FLAGS
AC_SUBST(VS_PATH_WINDOWS)
fi
@@ -593,10 +565,15 @@ AC_DEFUN([TOOLCHAIN_CHECK_POSSIBLE_MSVC_DLL],
CORRECT_MSVCR_ARCH="PE32+ executable"
fi
else
if test "x$OPENJDK_TARGET_CPU_BITS" = x32; then
if test "x$OPENJDK_TARGET_CPU" = xx86; then
CORRECT_MSVCR_ARCH=386
else
elif test "x$OPENJDK_TARGET_CPU" = xx86_64; then
CORRECT_MSVCR_ARCH=x86-64
elif test "x$OPENJDK_TARGET_CPU" = xaarch64; then
# The cygwin 'file' command only returns "PE32+ executable (DLL) (console), for MS Windows",
# without specifying which architecture it is for specifically. This has been fixed upstream.
# https://github.com/file/file/commit/b849b1af098ddd530094bf779b58431395db2e10#diff-ff2eced09e6860de75057dd731d092aeR142
CORRECT_MSVCR_ARCH="PE32+ executable"
fi
fi
if $ECHO "$MSVC_DLL_FILETYPE" | $GREP "$CORRECT_MSVCR_ARCH" 2>&1 > /dev/null; then
@@ -616,26 +593,26 @@ AC_DEFUN([TOOLCHAIN_SETUP_MSVC_DLL],
DLL_NAME="$1"
MSVC_DLL=
if test "x$OPENJDK_TARGET_CPU" = xx86; then
vs_target_cpu=x86
elif test "x$OPENJDK_TARGET_CPU" = xx86_64; then
vs_target_cpu=x64
elif test "x$OPENJDK_TARGET_CPU" = xaarch64; then
vs_target_cpu=arm64
fi
if test "x$MSVC_DLL" = x; then
if test "x$VCINSTALLDIR" != x; then
CYGWIN_VC_INSTALL_DIR="$VCINSTALLDIR"
UTIL_FIXUP_PATH(CYGWIN_VC_INSTALL_DIR)
if test "$VS_VERSION" -lt 2017; then
# Probe: Using well-known location from Visual Studio 12.0 and older
if test "x$OPENJDK_TARGET_CPU_BITS" = x64; then
POSSIBLE_MSVC_DLL="$CYGWIN_VC_INSTALL_DIR/redist/x64/Microsoft.VC${VS_VERSION_INTERNAL}.CRT/$DLL_NAME"
else
POSSIBLE_MSVC_DLL="$CYGWIN_VC_INSTALL_DIR/redist/x86/Microsoft.VC${VS_VERSION_INTERNAL}.CRT/$DLL_NAME"
fi
POSSIBLE_MSVC_DLL="$CYGWIN_VC_INSTALL_DIR/redist/$vs_target_cpu/Microsoft.VC${VS_VERSION_INTERNAL}.CRT/$DLL_NAME"
else
CYGWIN_VC_TOOLS_REDIST_DIR="$VCToolsRedistDir"
UTIL_FIXUP_PATH(CYGWIN_VC_TOOLS_REDIST_DIR)
# Probe: Using well-known location from VS 2017 and VS 2019
if test "x$OPENJDK_TARGET_CPU_BITS" = x64; then
POSSIBLE_MSVC_DLL="`ls $CYGWIN_VC_TOOLS_REDIST_DIR/x64/Microsoft.VC${VS_VERSION_INTERNAL}.CRT/$DLL_NAME`"
else
POSSIBLE_MSVC_DLL="`ls $CYGWIN_VC_TOOLS_REDIST_DIR/x86/Microsoft.VC${VS_VERSION_INTERNAL}.CRT/$DLL_NAME`"
fi
POSSIBLE_MSVC_DLL="`ls $CYGWIN_VC_TOOLS_REDIST_DIR/$vs_target_cpu/Microsoft.VC${VS_VERSION_INTERNAL}.CRT/$DLL_NAME`"
fi
# In case any of the above finds more than one file, loop over them.
for possible_msvc_dll in $POSSIBLE_MSVC_DLL; do
@@ -667,13 +644,8 @@ AC_DEFUN([TOOLCHAIN_SETUP_MSVC_DLL],
if test "x$VS100COMNTOOLS" != x; then
CYGWIN_VS_TOOLS_DIR="$VS100COMNTOOLS/.."
UTIL_REWRITE_AS_UNIX_PATH(CYGWIN_VS_TOOLS_DIR)
if test "x$OPENJDK_TARGET_CPU_BITS" = x64; then
POSSIBLE_MSVC_DLL=`$FIND "$CYGWIN_VS_TOOLS_DIR" -name $DLL_NAME \
| $GREP -i /x64/ | $HEAD --lines 1`
else
POSSIBLE_MSVC_DLL=`$FIND "$CYGWIN_VS_TOOLS_DIR" -name $DLL_NAME \
| $GREP -i /x86/ | $HEAD --lines 1`
fi
POSSIBLE_MSVC_DLL=`$FIND "$CYGWIN_VS_TOOLS_DIR" -name $DLL_NAME \
| $GREP -i /$vs_target_cpu/ | $HEAD --lines 1`
TOOLCHAIN_CHECK_POSSIBLE_MSVC_DLL([$DLL_NAME], [$POSSIBLE_MSVC_DLL],
[search of VS100COMNTOOLS])
fi
@@ -683,17 +655,17 @@ AC_DEFUN([TOOLCHAIN_SETUP_MSVC_DLL],
# Probe: Search wildly in the VCINSTALLDIR. We've probably lost by now.
# (This was the original behaviour; kept since it might turn something up)
if test "x$CYGWIN_VC_INSTALL_DIR" != x; then
if test "x$OPENJDK_TARGET_CPU_BITS" = x64; then
if test "x$OPENJDK_TARGET_CPU" = xx86; then
POSSIBLE_MSVC_DLL=`$FIND "$CYGWIN_VC_INSTALL_DIR" -name $DLL_NAME \
| $GREP x64 | $HEAD --lines 1`
else
POSSIBLE_MSVC_DLL=`$FIND "$CYGWIN_VC_INSTALL_DIR" -name $DLL_NAME \
| $GREP x86 | $GREP -v ia64 | $GREP -v x64 | $HEAD --lines 1`
| $GREP x86 | $GREP -v ia64 | $GREP -v x64 | $GREP -v arm64 | $HEAD --lines 1`
if test "x$POSSIBLE_MSVC_DLL" = x; then
# We're grasping at straws now...
POSSIBLE_MSVC_DLL=`$FIND "$CYGWIN_VC_INSTALL_DIR" -name $DLL_NAME \
| $HEAD --lines 1`
fi
else
POSSIBLE_MSVC_DLL=`$FIND "$CYGWIN_VC_INSTALL_DIR" -name $DLL_NAME \
| $GREP $vs_target_cpu | $HEAD --lines 1`
fi
TOOLCHAIN_CHECK_POSSIBLE_MSVC_DLL([$DLL_NAME], [$POSSIBLE_MSVC_DLL],
@@ -757,9 +729,9 @@ AC_DEFUN([TOOLCHAIN_SETUP_VS_RUNTIME_DLLS],
fi
AC_ARG_WITH(vcruntime-1-dll, [AS_HELP_STRING([--with-vcruntime-1-dll],
[path to microsoft C++ runtime dll (vcruntime*_1.dll) (Windows only) @<:@probed@:>@])])
[path to microsoft C++ runtime dll (vcruntime*_1.dll) (Windows 64-bits only) @<:@probed@:>@])])
if test "x$VCRUNTIME_1_NAME" != "x"; then
if test "x$VCRUNTIME_1_NAME" != "x" -a "x$OPENJDK_TARGET_CPU_BITS" = x64; then
if test "x$with_vcruntime_1_dll" != x; then
# If given explicitly by user, do not probe. If not present, fail directly.
TOOLCHAIN_CHECK_POSSIBLE_MSVC_DLL($VCRUNTIME_1_NAME, [$with_vcruntime_1_dll],
@@ -801,9 +773,12 @@ AC_DEFUN([TOOLCHAIN_SETUP_VS_RUNTIME_DLLS],
else
CYGWIN_WINDOWSSDKDIR="${WINDOWSSDKDIR}"
UTIL_FIXUP_PATH([CYGWIN_WINDOWSSDKDIR])
dll_subdir=$OPENJDK_TARGET_CPU
if test "x$dll_subdir" = "xx86_64"; then
if test "x$OPENJDK_TARGET_CPU" = "xaarch64"; then
dll_subdir="arm64"
elif test "x$OPENJDK_TARGET_CPU" = "xx86_64"; then
dll_subdir="x64"
elif test "x$OPENJDK_TARGET_CPU" = "xx86"; then
dll_subdir="x86"
fi
UCRT_DLL_DIR="$CYGWIN_WINDOWSSDKDIR/Redist/ucrt/DLLs/$dll_subdir"
if test -z "$(ls -d "$UCRT_DLL_DIR/"*.dll 2> /dev/null)"; then
@@ -826,3 +801,49 @@ AC_DEFUN([TOOLCHAIN_SETUP_VS_RUNTIME_DLLS],
fi
AC_SUBST(UCRT_DLL_DIR)
])
# Setup the sysroot flags and add them to global CFLAGS and LDFLAGS so
# that configure can use them while detecting compilers.
# TOOLCHAIN_TYPE is available here.
# Param 1 - Optional prefix to all variables. (e.g BUILD_)
AC_DEFUN([TOOLCHAIN_SETUP_VISUAL_STUDIO_SYSROOT_FLAGS],
[
OLDIFS="$IFS"
IFS=";"
# Convert $1VS_INCLUDE into $1SYSROOT_CFLAGS
for i in [$]$1VS_INCLUDE; do
ipath=$i
# Only process non-empty elements
if test "x$ipath" != x; then
IFS="$OLDIFS"
# Check that directory exists before calling fixup_path
testpath=$ipath
UTIL_REWRITE_AS_UNIX_PATH([testpath])
if test -d "$testpath"; then
UTIL_FIXUP_PATH([ipath])
$1SYSROOT_CFLAGS="[$]$1SYSROOT_CFLAGS -I$ipath"
fi
IFS=";"
fi
done
# Convert $1VS_LIB into $1SYSROOT_LDFLAGS
for i in [$]$1VS_LIB; do
libpath=$i
# Only process non-empty elements
if test "x$libpath" != x; then
IFS="$OLDIFS"
# Check that directory exists before calling fixup_path
testpath=$libpath
UTIL_REWRITE_AS_UNIX_PATH([testpath])
if test -d "$testpath"; then
UTIL_FIXUP_PATH([libpath])
$1SYSROOT_LDFLAGS="[$]$1SYSROOT_LDFLAGS -libpath:$libpath"
fi
IFS=";"
fi
done
IFS="$OLDIFS"
AC_SUBST($1SYSROOT_CFLAGS)
AC_SUBST($1SYSROOT_LDFLAGS)
])

View File

@@ -601,7 +601,7 @@ AC_DEFUN([UTIL_REQUIRE_BUILTIN_PROGS],
UTIL_SETUP_TOOL($1, [AC_PATH_PROGS($1, $2, , $3)])
if test "x[$]$1" = x; then
AC_MSG_NOTICE([Required tool $2 not found in PATH, checking built-in])
if command -v $2 > /dev/null 2>&1; then
if type -p $2 > /dev/null 2>&1; then
AC_MSG_NOTICE([Found $2 as shell built-in. Using it])
$1="$2"
else

View File

@@ -242,7 +242,7 @@ AC_DEFUN([UTIL_FIXUP_EXECUTABLE_CYGWIN],
new_path=`$CYGPATH -u "$path"`
# Now try to locate executable using which
new_path=`$WHICH "$new_path" 2> /dev/null`
new_path=`type -p "$new_path" 2> /dev/null`
# bat and cmd files are not always considered executable in cygwin causing which
# to not find them
if test "x$new_path" = x \
@@ -258,7 +258,7 @@ AC_DEFUN([UTIL_FIXUP_EXECUTABLE_CYGWIN],
path="$complete"
arguments="EOL"
new_path=`$CYGPATH -u "$path"`
new_path=`$WHICH "$new_path" 2> /dev/null`
new_path=`type -p "$new_path" 2> /dev/null`
# bat and cmd files are not always considered executable in cygwin causing which
# to not find them
if test "x$new_path" = x \
@@ -324,7 +324,7 @@ AC_DEFUN([UTIL_FIXUP_EXECUTABLE_MSYS],
UTIL_REWRITE_AS_UNIX_PATH(new_path)
# Now try to locate executable using which
new_path=`$WHICH "$new_path" 2> /dev/null`
new_path=`type -p "$new_path" 2> /dev/null`
if test "x$new_path" = x; then
# Oops. Which didn't find the executable.
@@ -336,7 +336,7 @@ AC_DEFUN([UTIL_FIXUP_EXECUTABLE_MSYS],
new_path="$path"
UTIL_REWRITE_AS_UNIX_PATH(new_path)
new_path=`$WHICH "$new_path" 2> /dev/null`
new_path=`type -p "$new_path" 2> /dev/null`
# bat and cmd files are not always considered executable in MSYS causing which
# to not find them
if test "x$new_path" = x \
@@ -392,7 +392,7 @@ AC_DEFUN([UTIL_FIXUP_EXECUTABLE_WSL],
# Now try to locate executable using which
new_path_bak="$new_path"
new_path=`$WHICH "$new_path" 2> /dev/null`
new_path=`type -p "$new_path" 2> /dev/null`
# bat and cmd files are not considered executable in WSL
if test "x$new_path" = x \
&& test "x`$ECHO \"$path\" | $GREP -i -e \"\\.bat$\" -e \"\\.cmd$\"`" != x \
@@ -409,7 +409,7 @@ AC_DEFUN([UTIL_FIXUP_EXECUTABLE_WSL],
new_path="$path"
UTIL_REWRITE_AS_UNIX_PATH([new_path])
new_path_bak="$new_path"
new_path=`$WHICH "$new_path" 2> /dev/null`
new_path=`type -p "$new_path" 2> /dev/null`
# bat and cmd files are not considered executable in WSL
if test "x$new_path" = x \
&& test "x`$ECHO \"$path\" | $GREP -i -e \"\\.bat$\" -e \"\\.cmd$\"`" != x \

View File

@@ -36,7 +36,7 @@ DEFAULT_VERSION_EXTRA3=0
DEFAULT_VERSION_DATE=2021-03-16
DEFAULT_VERSION_CLASSFILE_MAJOR=60 # "`$EXPR $DEFAULT_VERSION_FEATURE + 44`"
DEFAULT_VERSION_CLASSFILE_MINOR=0
DEFAULT_ACCEPTABLE_BOOT_VERSIONS="14 15 16"
DEFAULT_ACCEPTABLE_BOOT_VERSIONS="15 16"
DEFAULT_JDK_SOURCE_TARGET_VERSION=16
DEFAULT_PROMOTED_VERSION_PRE=ea

View File

@@ -346,7 +346,7 @@ $(MODULE_DEPS_MAKEFILE): $(MODULE_INFOS) \
sub(/\/\*.*\*\//, ""); \
gsub(/^ +\*.*/, ""); \
gsub(/ /, ""); \
gsub(/\r/, ""); \
gsub(/\r/, ""); \
printf(" %s", $$0) } \
END { printf("\n") }' $m && \
$(PRINTF) "TRANSITIVE_MODULES_$(call GetModuleNameFromModuleInfo, $m) :=" && \
@@ -360,7 +360,7 @@ $(MODULE_DEPS_MAKEFILE): $(MODULE_INFOS) \
sub(/\/\*.*\*\//, ""); \
gsub(/^ +\*.*/, ""); \
gsub(/ /, ""); \
gsub(/\r/, ""); \
gsub(/\r/, ""); \
printf(" %s", $$0) } \
END { printf("\n") }' $m \
) >> $@ $(NEWLINE))

View File

@@ -102,19 +102,19 @@ define SetupBuildLauncherBody
ifeq ($(call isTargetOs, macosx), true)
ifeq ($$($1_MACOSX_PRIVILEGED), true)
$1_PLIST_SRC_FILE := Info-privileged.plist
else
$1_PLIST_SRC_FILE := Info-cmdline.plist
$1_PLIST_EXTRA := <key>SecTaskAccess</key><string>allowed</string>
endif
$1_PLIST_FILE := $$(SUPPORT_OUTPUTDIR)/native/$$(MODULE)/$1/Info.plist
$$(eval $$(call SetupTextFileProcessing, BUILD_PLIST_$1, \
SOURCE_FILES := $$(TOPDIR)/src/java.base/macosx/native/launcher/$$($1_PLIST_SRC_FILE), \
SOURCE_FILES := $(TOPDIR)/make/data/bundle/cmdline-Info.plist, \
OUTPUT_FILE := $$($1_PLIST_FILE), \
REPLACEMENTS := \
@@ID@@ => $(MACOSX_BUNDLE_ID_BASE).$(VERSION_SHORT).$1 ; \
@@ID@@ => $(MACOSX_BUNDLE_ID_BASE).$1 ; \
@@VERSION@@ => $(VERSION_NUMBER) ; \
@@BUILD_VERSION@@ => $(MACOSX_BUNDLE_BUILD_VERSION) ; \
@@EXTRA@@ => $$($1_PLIST_EXTRA), \
))
$1_LDFLAGS += -sectcreate __TEXT __info_plist $$($1_PLIST_FILE)
@@ -187,6 +187,10 @@ define SetupBuildLauncherBody
$$(BUILD_LAUNCHER_$1): $(call FindStaticLib, java.base, java, /libjava) \
$$($1_WINDOWS_JLI_LIB)
endif
ifeq ($(call isTargetOs, macosx), true)
$$(BUILD_LAUNCHER_$1): $$($1_PLIST_FILE)
endif
endef
################################################################################

View File

@@ -381,7 +381,7 @@ var getJibProfilesCommon = function (input, data) {
};
};
common.boot_jdk_version = "14";
common.boot_jdk_version = "15";
common.boot_jdk_build_number = "36";
common.boot_jdk_home = input.get("boot_jdk", "install_path") + "/jdk-"
+ common.boot_jdk_version
@@ -959,10 +959,10 @@ var getJibProfilesProfiles = function (input, common, data) {
var getJibProfilesDependencies = function (input, common) {
var devkit_platform_revisions = {
linux_x64: "gcc9.2.0-OL6.4+1.0",
linux_x64: "gcc10.2.0-OL6.4+1.0",
macosx_x64: "Xcode11.3.1-MacOSX10.15+1.0",
windows_x64: "VS2019-16.5.3+1.0",
linux_aarch64: "gcc9.2.0-OL7.6+1.0",
windows_x64: "VS2019-16.7.2+1.0",
linux_aarch64: "gcc10.2.0-OL7.6+1.0",
linux_arm: "gcc8.2.0-Fedora27+1.0",
linux_ppc64le: "gcc8.2.0-Fedora27+1.0",
linux_s390x: "gcc8.2.0-Fedora27+1.0"
@@ -994,17 +994,8 @@ var getJibProfilesDependencies = function (input, common) {
? input.get("gnumake", "install_path") + "/cygwin/bin"
: input.get("gnumake", "install_path") + "/bin");
if (input.build_cpu == 'aarch64') {
boot_jdk = {
organization: common.organization,
ext: "tar.gz",
module: "jdk-linux_aarch64",
revision: "14+1.0",
configure_args: "--with-boot-jdk=" + common.boot_jdk_home,
environment_path: common.boot_jdk_home + "/bin"
}
} else {
boot_jdk = {
var dependencies = {
boot_jdk: {
server: "jpg",
product: "jdk",
version: common.boot_jdk_version,
@@ -1013,11 +1004,7 @@ var getJibProfilesDependencies = function (input, common) {
+ boot_jdk_platform + "_bin" + boot_jdk_ext,
configure_args: "--with-boot-jdk=" + common.boot_jdk_home,
environment_path: common.boot_jdk_home + "/bin"
}
}
var dependencies = {
boot_jdk: boot_jdk,
},
devkit: {
organization: common.organization,
@@ -1339,13 +1326,17 @@ var versionArgs = function(input, common) {
"--with-version-pre=" + version_numbers.get("DEFAULT_PROMOTED_VERSION_PRE"),
"--without-version-opt");
} else if (input.build_type == "ci") {
var optString = input.build_id_data.ciBuildNumber;
var ciBuildNumber = input.build_id_data.ciBuildNumber;
var preString = input.build_id_data.projectName;
if (preString == "jdk") {
preString = version_numbers.get("DEFAULT_PROMOTED_VERSION_PRE");
}
args = concat(args, "--with-version-pre=" + preString,
"--with-version-opt=" + optString);
"--with-version-opt=" + ciBuildNumber);
if (input.target_os == "macosx") {
args = concat(args, "--with-macosx-bundle-build-version="
+ common.build_number + "." + ciBuildNumber);
}
} else {
args = concat(args, "--with-version-opt=" + common.build_id);
}

View File

@@ -0,0 +1,43 @@
#
# Copyright (c) 2020, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License version 2 only, as
# published by the Free Software Foundation. Oracle designates this
# particular file as subject to the "Classpath" exception as provided
# by Oracle in the LICENSE file that accompanied this code.
#
# This code is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
# version 2 for more details (a copy is included in the LICENSE file that
# accompanied this code).
#
# You should have received a copy of the GNU General Public License version
# 2 along with this work; if not, write to the Free Software Foundation,
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
#
# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
# or visit www.oracle.com if you need additional information or have any
# questions.
#
# Versions and download locations for dependencies used by pre-submit testing.
BOOT_JDK_VERSION=15
JTREG_VERSION=5.1
JTREG_BUILD=b01
GTEST_VERSION=1.8.1
LINUX_X64_BOOT_JDK_FILENAME=openjdk-15_linux-x64_bin.tar.gz
LINUX_X64_BOOT_JDK_URL=https://download.java.net/java/GA/jdk15/779bf45e88a44cbd9ea6621d33e33db1/36/GPL/openjdk-15_linux-x64_bin.tar.gz
LINUX_X64_BOOT_JDK_SHA256=bb67cadee687d7b486583d03c9850342afea4593be4f436044d785fba9508fb7
WINDOWS_X64_BOOT_JDK_FILENAME=openjdk-15_windows-x64_bin.zip
WINDOWS_X64_BOOT_JDK_URL=https://download.java.net/java/GA/jdk15/779bf45e88a44cbd9ea6621d33e33db1/36/GPL/openjdk-15_windows-x64_bin.zip
WINDOWS_X64_BOOT_JDK_SHA256=764e39a71252a9791118a31ae56a4247c049463bda5eb72497122ec50b1d07f8
MACOS_X64_BOOT_JDK_FILENAME=openjdk-115_osx-x64_bin.tar.gz
MACOS_X64_BOOT_JDK_URL=https://download.java.net/java/GA/jdk15/779bf45e88a44cbd9ea6621d33e33db1/36/GPL/openjdk-15_osx-x64_bin.tar.gz
MACOS_X64_BOOT_JDK_SHA256=ab842c8c0953b816be308c098c1a021177a4776bef24da85b6bafbbd657c7e1a

View File

@@ -17,11 +17,11 @@
<key>CFBundlePackageType</key>
<string>BNDL</string>
<key>CFBundleShortVersionString</key>
<string>1.0</string>
<string>@@VERSION@@</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>@@VERSION@@</string>
<string>@@BUILD_VERSION@@</string>
<key>NSMicrophoneUsageDescription</key>
<string>The application is requesting access to the microphone.</string>
<key>JavaVM</key>
@@ -33,9 +33,9 @@
<key>JVMMinimumFrameworkVersion</key>
<string>13.2.9</string>
<key>JVMMinimumSystemVersion</key>
<string>10.6.0</string>
<string>@@MACOSX_VERSION_MIN@@</string>
<key>JVMPlatformVersion</key>
<string>@@PLATFORM_VERSION@@</string>
<string>@@VERSION@@</string>
<key>JVMVendor</key>
<string>@@VENDOR@@</string>
<key>JVMVersion</key>

View File

@@ -17,11 +17,11 @@
<key>CFBundlePackageType</key>
<string>BNDL</string>
<key>CFBundleShortVersionString</key>
<string>1.0</string>
<string>@@VERSION@@</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>@@VERSION@@</string>
<string>@@BUILD_VERSION@@</string>
<key>NSMicrophoneUsageDescription</key>
<string>The application is requesting access to the microphone.</string>
<key>JavaVM</key>
@@ -29,9 +29,9 @@
<key>JVMMinimumFrameworkVersion</key>
<string>13.2.9</string>
<key>JVMMinimumSystemVersion</key>
<string>10.6.0</string>
<string>@@MACOSX_VERSION_MIN@@</string>
<key>JVMPlatformVersion</key>
<string>@@PLATFORM_VERSION@@</string>
<string>@@VERSION@@</string>
<key>JVMVendor</key>
<string>@@VENDOR@@</string>
<key>JVMVersion</key>

View File

@@ -7,10 +7,11 @@
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleShortVersionString</key>
<string>1.0</string>
<key>CFBundleVersion</key>
<string>@@VERSION@@</string>
<key>CFBundleVersion</key>
<string>@@BUILD_VERSION@@</string>
<key>NSMicrophoneUsageDescription</key>
<string>The application is requesting access to the microphone.</string>
@@EXTRA@@
</dict>
</plist>

View File

@@ -0,0 +1,23 @@
Owner: CN=SSL.com Root Certification Authority ECC, O=SSL Corporation, L=Houston, ST=Texas, C=US
Issuer: CN=SSL.com Root Certification Authority ECC, O=SSL Corporation, L=Houston, ST=Texas, C=US
Serial number: 75e6dfcbc1685ba8
Valid from: Fri Feb 12 18:14:03 GMT 2016 until: Tue Feb 12 18:14:03 GMT 2041
Signature algorithm name: SHA256withECDSA
Subject Public Key Algorithm: 384-bit EC key
Version: 3
-----BEGIN CERTIFICATE-----
MIICjTCCAhSgAwIBAgIIdebfy8FoW6gwCgYIKoZIzj0EAwIwfDELMAkGA1UEBhMC
VVMxDjAMBgNVBAgMBVRleGFzMRAwDgYDVQQHDAdIb3VzdG9uMRgwFgYDVQQKDA9T
U0wgQ29ycG9yYXRpb24xMTAvBgNVBAMMKFNTTC5jb20gUm9vdCBDZXJ0aWZpY2F0
aW9uIEF1dGhvcml0eSBFQ0MwHhcNMTYwMjEyMTgxNDAzWhcNNDEwMjEyMTgxNDAz
WjB8MQswCQYDVQQGEwJVUzEOMAwGA1UECAwFVGV4YXMxEDAOBgNVBAcMB0hvdXN0
b24xGDAWBgNVBAoMD1NTTCBDb3Jwb3JhdGlvbjExMC8GA1UEAwwoU1NMLmNvbSBS
b290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IEVDQzB2MBAGByqGSM49AgEGBSuB
BAAiA2IABEVuqVDEpiM2nl8ojRfLliJkP9x6jh3MCLOicSS6jkm5BBtHllirLZXI
7Z4INcgn64mMU1jrYor+8FsPazFSY0E7ic3s7LaNGdM0B9y7xgZ/wkWV7Mt/qCPg
CemB+vNH06NjMGEwHQYDVR0OBBYEFILRhXMw5zUE044CkvvlpNHEIejNMA8GA1Ud
EwEB/wQFMAMBAf8wHwYDVR0jBBgwFoAUgtGFczDnNQTTjgKS++Wk0cQh6M0wDgYD
VR0PAQH/BAQDAgGGMAoGCCqGSM49BAMCA2cAMGQCMG/n61kRpGDPYbCWe+0F+S8T
kdzt5fxQaxFGRrMcIQBiu77D5+jNB5n5DQtdcj7EqgIwH7y6C+IwJPt8bYBVCpk+
gA0z5Wajs6O7pdWLjwkspl1+4vAHCGht0nxpbl/f5Wpl
-----END CERTIFICATE-----

View File

@@ -0,0 +1,41 @@
Owner: CN=SSL.com EV Root Certification Authority RSA R2, O=SSL Corporation, L=Houston, ST=Texas, C=US
Issuer: CN=SSL.com EV Root Certification Authority RSA R2, O=SSL Corporation, L=Houston, ST=Texas, C=US
Serial number: 56b629cd34bc78f6
Valid from: Wed May 31 18:14:37 GMT 2017 until: Fri May 30 18:14:37 GMT 2042
Signature algorithm name: SHA256withRSA
Subject Public Key Algorithm: 4096-bit RSA key
Version: 3
-----BEGIN CERTIFICATE-----
MIIF6zCCA9OgAwIBAgIIVrYpzTS8ePYwDQYJKoZIhvcNAQELBQAwgYIxCzAJBgNV
BAYTAlVTMQ4wDAYDVQQIDAVUZXhhczEQMA4GA1UEBwwHSG91c3RvbjEYMBYGA1UE
CgwPU1NMIENvcnBvcmF0aW9uMTcwNQYDVQQDDC5TU0wuY29tIEVWIFJvb3QgQ2Vy
dGlmaWNhdGlvbiBBdXRob3JpdHkgUlNBIFIyMB4XDTE3MDUzMTE4MTQzN1oXDTQy
MDUzMDE4MTQzN1owgYIxCzAJBgNVBAYTAlVTMQ4wDAYDVQQIDAVUZXhhczEQMA4G
A1UEBwwHSG91c3RvbjEYMBYGA1UECgwPU1NMIENvcnBvcmF0aW9uMTcwNQYDVQQD
DC5TU0wuY29tIEVWIFJvb3QgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgUlNBIFIy
MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAjzZlQOHWTcDXtOlG2mvq
M0fNTPl9fb69LT3w23jhhqXZuglXaO1XPqDQCEGD5yhBJB/jchXQARr7XnAjssuf
OePPxU7Gkm0mxnu7s9onnQqG6YE3Bf7wcXHswxzpY6IXFJ3vG2fThVUCAtZJycxa
4bH3bzKfydQ7iEGonL3Lq9ttewkfokxykNorCPzPPFTOZw+oz12WGQvE43LrrdF9
HSfvkusQv1vrO6/PgN3B0pYEW3p+pKk8OHakYo6gOV7qd89dAFmPZiw+B6KjBSYR
aZfqhbcPlgtLyEDhULouisv3D5oi53+aNxPN8k0TayHRwMwi8qFG9kRpnMphNQcA
b9ZhCBHqurj26bNg5U257J8UZslXWNvNh2n4ioYSA0e/ZhN2rHd9NCSFg83XqpyQ
Gp8hLH94t2S42Oim9HizVcuE0jLEeK6jj2HdzghTreyI/BXkmg3mnxp3zkyPuBQV
PWKchjgGAGYS5Fl2WlPAApiiECtoRHuOec4zSnaqW4EWG7WK2NAAe15itAnWhmMO
pgWVSbooi4iTsjQc2KRVbrcc0N6ZVTsj9CLg+SlmJuwgUHfbSguPvuUCYHBBXtSu
UDkiFCbLsjtzdFVHB3mBOagwE0TlBIqulhMlQg+5U8Sb/M3kHN48+qvWBkofZ6aY
MBzdLNvcGJVXZsb/XItW9XcCAwEAAaNjMGEwDwYDVR0TAQH/BAUwAwEB/zAfBgNV
HSMEGDAWgBT5YLvU49U09rj1BoAlp3PbRmmonjAdBgNVHQ4EFgQU+WC71OPVNPa4
9QaAJadz20ZpqJ4wDgYDVR0PAQH/BAQDAgGGMA0GCSqGSIb3DQEBCwUAA4ICAQBW
s47LCp1Jjr+kxJG7ZhcFUZh1++VQLHqe8RT6q9OKPv+RKY9ji9i0qVQBDb6Thi/5
Sm3HXvVX+cpVHBK+Rw82xd9qt9t1wkclf7nxY/hoLVUE0fKNsKTPvDxeH3jnpaAg
cLAExbf3cqfeIg29MyVGjGSSJuM+LmOW2puMPfgYCdcDzH2GguDKBAdRUNf/ktUM
79qGn5nX67evaOI5JpS6aLe/g9Pqemc9YmeuJeVy6OLk7K4S9ksrPJ/psEDzOFSz
/bdoyNrGj1E8svuR3Bznm53htw1yj+KkxKl4+esUrMZDBcJlOSgYAsOCsp0FvmXt
ll9ldDz7CTUue5wT/RsPXcdtgTpWD8w74a8CLyKsRspGPKAcTNZEtF4uXBVmCeEm
Kf7GUmG6sXP/wwyc5WxqlD8UykAWlYTzWamsX0xhk23RO8yilQwipmdnRC652dKK
QbNmC1r7fSOl8hqw/96bg5Qu0T/fkreRrwU7ZcegbLHNYhLDkBvjJc40vG93drEQ
w/cFGsDWr3RiSBd3kmmQYRzelYB0VI8YHMPzA9C/pEN1hlMYegouCRw2n5H9gooi
S9EOUCXdywMMF8mDAAhONU2Ki+3wApRmLER/y5UnlhetCTCstnEXbosX9hwJ1C07
mKVx01QT2WDz9UtmT/rx7iASjbSsV7FFY6GsdqnC+w==
-----END CERTIFICATE-----

View File

@@ -0,0 +1,41 @@
Owner: CN=SSL.com Root Certification Authority RSA, O=SSL Corporation, L=Houston, ST=Texas, C=US
Issuer: CN=SSL.com Root Certification Authority RSA, O=SSL Corporation, L=Houston, ST=Texas, C=US
Serial number: 7b2c9bd316803299
Valid from: Fri Feb 12 17:39:39 GMT 2016 until: Tue Feb 12 17:39:39 GMT 2041
Signature algorithm name: SHA256withRSA
Subject Public Key Algorithm: 4096-bit RSA key
Version: 3
-----BEGIN CERTIFICATE-----
MIIF3TCCA8WgAwIBAgIIeyyb0xaAMpkwDQYJKoZIhvcNAQELBQAwfDELMAkGA1UE
BhMCVVMxDjAMBgNVBAgMBVRleGFzMRAwDgYDVQQHDAdIb3VzdG9uMRgwFgYDVQQK
DA9TU0wgQ29ycG9yYXRpb24xMTAvBgNVBAMMKFNTTC5jb20gUm9vdCBDZXJ0aWZp
Y2F0aW9uIEF1dGhvcml0eSBSU0EwHhcNMTYwMjEyMTczOTM5WhcNNDEwMjEyMTcz
OTM5WjB8MQswCQYDVQQGEwJVUzEOMAwGA1UECAwFVGV4YXMxEDAOBgNVBAcMB0hv
dXN0b24xGDAWBgNVBAoMD1NTTCBDb3Jwb3JhdGlvbjExMC8GA1UEAwwoU1NMLmNv
bSBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IFJTQTCCAiIwDQYJKoZIhvcN
AQEBBQADggIPADCCAgoCggIBAPkP3aMrfcvQKv7sZ4Wm5y4bunfh4/WvpOz6Sl2R
xFdHaxh3a3by/ZPkPQ/CFp4LZsNWlJ4Xg4XOVu/yFv0AYvUiCVToZRdOQbngT0aX
qhvIuG5iXmmxX9sqAn78bMrzQdjt0Oj8P2FI7bADFB0QDksZ4LtO7IZl/zbzXmcC
C52GVWH9ejjt/uIZALdvoVBidXQ8oPrIJZK0bnoix/geoeOy3ZExqysdBP+lSgQ3
6YWkMyv94tZVNHwZpEpox7Ko07fKoZOI68GXvIz5HdkihCR0xwQ9aqkpk8zruFvh
/l8lqjRYyMEjVJ0bmBHDOJx+PYZspQ9AhnwC9FwCTyjLrnGfDzrIM/4RJTXq/LrF
YD3ZfBjVsqnTdXgDciLKOsMf7yzlLqn6niy2UUb9rwPW6mBo6oUWNmuF6R7As93E
JNyAKoFBbZQ+yODJgUEAnl6/f8UImKIYLEJAs/lvOCdLToD0PYFH4Ih86hzOtXVc
US4cK38acijnALXRdMbX5J+tB5O2UzU1/Dfkw/ZdFr4hc96SCvigY2q8lpJqPvi8
ZVWb3vUNiSYE/CUapiVpy8JtynziWV+XrOvvLsi81xtZPCvM8hnIk2snYxnP/Okm
+Mpxm3+T/jRnhE6Z6/yzeAkzcLpmpnbtG3PrGqUNxCITIJRWCk4sbE6x/c+cCbqi
M+2HAgMBAAGjYzBhMB0GA1UdDgQWBBTdBAkHovV6fVJTEpKV7jiAJQ2mWTAPBgNV
HRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFN0ECQei9Xp9UlMSkpXuOIAlDaZZMA4G
A1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQsFAAOCAgEAIBgRlCn7Jp0cHh5wYfGV
cpNxJK1ok1iOMq8bs3AD/CUrdIWQPXhq9LmLpZc7tRiRux6n+UBbkflVma8eEdBc
Hadm47GUBwwyOabqG7B52B2ccETjit3E+ZUfijhDPwGFpUenPUayvOUiaPd7nNgs
PgohyC0zrL/FgZkxdMF1ccW+sfAjRfSda/wZY52jvATGGAslu1OJD7OAUN5F7kR/
q5R4ZJjT9ijdh9hwZXT7DrkT66cPYakylszeu+1jTBi7qUD3oFRuIIhxdRjqerQ0
cuAjJ3dctpDqhiVAq+8zD8ufgr6iIPv2tS0a5sKFsXQP+8hlAqRSAUfdSSLBv9jr
a6x+3uxjMxW3IwiPxg+NQVrdjsW5j+VFP3jbutIbQLH+cU0/4IGiul607BXgk90I
H37hVZkLId6Tngr75qNJvTYw/ud3sqB1l7UtgYgXZSD32pAAn8lSzDLKNXz1PQ/Y
K9f1JmzJBjSWFupwWRoyeXkLtoh/D1JIPb9s2KJELtFOt3JY04kTlf5Eq/jXixtu
nLwsoFvVagCvXzfh1foQC5ichucmj87w7G6KVwuA406ywKBjYZC6VWg3dGq2ktuf
oYYitmUnDuy2n0Jg5GfCtdpBC8TTi2EbvPofkSvXRAdeuims2cXp71NIWuuA8ShY
Ic2wBlX7Jz9TkHCpBB5XJ7k=
-----END CERTIFICATE-----

View File

@@ -25,7 +25,7 @@
package java.lang;
import jdk.internal.HotSpotIntrinsicCandidate;
import jdk.internal.vm.annotation.IntrinsicCandidate;
/** The CharacterData class encapsulates the large tables found in
Java.lang.Character. */
@@ -80,18 +80,18 @@ class CharacterDataLatin1 extends CharacterData {
return props;
}
@HotSpotIntrinsicCandidate
@IntrinsicCandidate
boolean isDigit(int ch) {
return '0' <= ch && ch <= '9';
}
@HotSpotIntrinsicCandidate
@IntrinsicCandidate
boolean isLowerCase(int ch) {
int props = getProperties(ch);
return (props & $$maskType) == Character.LOWERCASE_LETTER;
}
@HotSpotIntrinsicCandidate
@IntrinsicCandidate
boolean isUpperCase(int ch) {
int props = getProperties(ch);
return (props & $$maskType) == Character.UPPERCASE_LETTER;
@@ -232,7 +232,7 @@ class CharacterDataLatin1 extends CharacterData {
return retval;
}
@HotSpotIntrinsicCandidate
@IntrinsicCandidate
boolean isWhitespace(int ch) {
int props = getProperties(ch);
return ((props & $$maskIdentifierInfo) == $$valueJavaWhitespace);

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -50,7 +50,7 @@ all=ADP020-AED784-AFA004-AFN971-ALL008-AMD051-ANG532-AOA973-ARS032-ATS040-AUD036
LVL428-LYD434-MAD504-MDL498-MGA969-MGF450-MKD807-MMK104-MNT496-MOP446-MRO478-MRU929-\
MTL470-MUR480-MVR462-MWK454-MXN484-MXV979-MYR458-MZM508-MZN943-NAD516-NGN566-\
NIO558-NLG528-NOK578-NPR524-NZD554-OMR512-PAB590-PEN604-PGK598-PHP608-\
PKR586-PLN985-PTE620-PYG600-QAR634-ROL946-RON946-RSD941-RUB643-RUR810-RWF646-SAR682-\
PKR586-PLN985-PTE620-PYG600-QAR634-ROL642-RON946-RSD941-RUB643-RUR810-RWF646-SAR682-\
SBD090-SCR690-SDD736-SDG938-SEK752-SGD702-SHP654-SIT705-SKK703-SLL694-SOS706-\
SRD968-SRG740-SSP728-STD678-STN930-SVC222-SYP760-SZL748-THB764-TJS972-TMM795-TMT934-TND788-TOP776-\
TPE626-TRL792-TRY949-TTD780-TWD901-TZS834-UAH980-UGX800-USD840-USN997-USS998-UYI940-\
@@ -588,7 +588,7 @@ ZW=ZWL
minor0=\
ADP-BEF-BIF-BYB-BYR-CLP-DJF-ESP-GNF-\
GRD-ISK-ITL-JPY-KMF-KRW-LUF-MGF-PYG-PTE-RWF-\
GRD-ISK-ITL-JPY-KMF-KRW-LUF-MGF-PYG-PTE-ROL-RWF-\
TPE-TRL-UGX-UYI-VND-VUV-XAF-XOF-XPF
minor3=\
BHD-IQD-JOD-KWD-LYD-OMR-TND

View File

@@ -87,11 +87,20 @@ endif
# Define external dependencies
# Latest that could be made to work.
GCC_VER := 9.2.0
ifeq ($(GCC_VER), 9.2.0)
GCC_VER := 10.2.0
ifeq ($(GCC_VER), 10.2.0)
gcc_ver := gcc-10.2.0
binutils_ver := binutils-2.35
ccache_ver := ccache-3.7.11
mpfr_ver := mpfr-4.1.0
gmp_ver := gmp-6.2.0
mpc_ver := mpc-1.1.0
gdb_ver := gdb-9.2
REQUIRED_MIN_MAKE_MAJOR_VERSION := 4
else ifeq ($(GCC_VER), 9.2.0)
gcc_ver := gcc-9.2.0
binutils_ver := binutils-2.34
ccache_ver := 3.7.3
ccache_ver := ccache-3.7.3
mpfr_ver := mpfr-3.1.5
gmp_ver := gmp-6.1.2
mpc_ver := mpc-1.0.3
@@ -99,7 +108,7 @@ ifeq ($(GCC_VER), 9.2.0)
else ifeq ($(GCC_VER), 8.3.0)
gcc_ver := gcc-8.3.0
binutils_ver := binutils-2.32
ccache_ver := 3.7.3
ccache_ver := ccache-3.7.3
mpfr_ver := mpfr-3.1.5
gmp_ver := gmp-6.1.2
mpc_ver := mpc-1.0.3
@@ -107,7 +116,7 @@ else ifeq ($(GCC_VER), 8.3.0)
else ifeq ($(GCC_VER), 7.3.0)
gcc_ver := gcc-7.3.0
binutils_ver := binutils-2.30
ccache_ver := 3.3.6
ccache_ver := ccache-3.3.6
mpfr_ver := mpfr-3.1.5
gmp_ver := gmp-6.1.2
mpc_ver := mpc-1.0.3
@@ -115,7 +124,7 @@ else ifeq ($(GCC_VER), 7.3.0)
else ifeq ($(GCC_VER), 4.9.2)
gcc_ver := gcc-4.9.2
binutils_ver := binutils-2.25
ccache_ver := 3.2.1
ccache_ver := ccache-3.2.1
mpfr_ver := mpfr-3.0.1
gmp_ver := gmp-4.3.2
mpc_ver := mpc-1.0.1
@@ -124,9 +133,20 @@ else
$(error Unsupported GCC version)
endif
ifneq ($(REQUIRED_MIN_MAKE_MAJOR_VERSION),)
MAKE_MAJOR_VERSION := $(word 1,$(subst ., ,$(MAKE_VERSION)))
SUPPORTED_MAKE_VERSION := $(shell [ $(MAKE_MAJOR_VERSION) -ge $(REQUIRED_MIN_MAKE_MAJOR_VERSION) ] && echo true)
ifneq ($(SUPPORTED_MAKE_VERSION),true)
$(error "Make v$(MAKE_VERSION) is too old, must use v$(REQUIRED_MIN_MAKE_MAJOR_VERSION) or above")
endif
endif
ccache_ver_only := $(patsubst ccache-%,%,$(ccache_ver))
GCC := http://ftp.gnu.org/pub/gnu/gcc/$(gcc_ver)/$(gcc_ver).tar.xz
BINUTILS := http://ftp.gnu.org/pub/gnu/binutils/$(binutils_ver).tar.xz
CCACHE := https://github.com/ccache/ccache/releases/download/v$(ccache_ver)/ccache-$(ccache_ver).tar.xz
BINUTILS := http://ftp.gnu.org/pub/gnu/binutils/$(binutils_ver).tar.gz
CCACHE := https://github.com/ccache/ccache/releases/download/v$(ccache_ver_only)/$(ccache_ver).tar.xz
MPFR := https://www.mpfr.org/${mpfr_ver}/${mpfr_ver}.tar.bz2
GMP := http://ftp.gnu.org/pub/gnu/gmp/${gmp_ver}.tar.bz2
MPC := http://ftp.gnu.org/pub/gnu/mpc/${mpc_ver}.tar.gz

View File

@@ -113,19 +113,23 @@ REDIST_SUBDIR="VC/Redist/MSVC/$REDIST_VERSION"
echo "Copying VC..."
rm -rf $DEVKIT_ROOT/VC
mkdir -p $DEVKIT_ROOT/VC/bin
cp -r "$VS_INSTALL_DIR/${VC_SUBDIR}/bin/Hostx64/arm64" $DEVKIT_ROOT/VC/bin/
cp -r "$VS_INSTALL_DIR/${VC_SUBDIR}/bin/Hostx64/x64" $DEVKIT_ROOT/VC/bin/
cp -r "$VS_INSTALL_DIR/${VC_SUBDIR}/bin/Hostx86/x86" $DEVKIT_ROOT/VC/bin/
mkdir -p $DEVKIT_ROOT/VC/lib
cp -r "$VS_INSTALL_DIR/${VC_SUBDIR}/lib/arm64" $DEVKIT_ROOT/VC/lib/
cp -r "$VS_INSTALL_DIR/${VC_SUBDIR}/lib/x64" $DEVKIT_ROOT/VC/lib/
cp -r "$VS_INSTALL_DIR/${VC_SUBDIR}/lib/x86" $DEVKIT_ROOT/VC/lib/
cp -r "$VS_INSTALL_DIR/${VC_SUBDIR}/include" $DEVKIT_ROOT/VC/
mkdir -p $DEVKIT_ROOT/VC/atlmfc/lib
cp -r "$VS_INSTALL_DIR/${VC_SUBDIR}/atlmfc/lib/arm64" $DEVKIT_ROOT/VC/atlmfc/lib/
cp -r "$VS_INSTALL_DIR/${VC_SUBDIR}/atlmfc/lib/x64" $DEVKIT_ROOT/VC/atlmfc/lib/
cp -r "$VS_INSTALL_DIR/${VC_SUBDIR}/atlmfc/lib/x86" $DEVKIT_ROOT/VC/atlmfc/lib/
cp -r "$VS_INSTALL_DIR/${VC_SUBDIR}/atlmfc/include" $DEVKIT_ROOT/VC/atlmfc/
mkdir -p $DEVKIT_ROOT/VC/Auxiliary
cp -r "$VS_INSTALL_DIR/VC/Auxiliary/Build" $DEVKIT_ROOT/VC/Auxiliary/
mkdir -p $DEVKIT_ROOT/VC/redist
cp -r "$VS_INSTALL_DIR/$REDIST_SUBDIR/arm64" $DEVKIT_ROOT/VC/redist/
cp -r "$VS_INSTALL_DIR/$REDIST_SUBDIR/x64" $DEVKIT_ROOT/VC/redist/
cp -r "$VS_INSTALL_DIR/$REDIST_SUBDIR/x86" $DEVKIT_ROOT/VC/redist/
@@ -134,7 +138,9 @@ cp -r "$VS_INSTALL_DIR/$REDIST_SUBDIR/x86" $DEVKIT_ROOT/VC/redist/
cp $DEVKIT_ROOT/VC/redist/x86/$MSVCR_DLL $DEVKIT_ROOT/VC/bin/x86
cp $DEVKIT_ROOT/VC/redist/x86/$MSVCP_DLL $DEVKIT_ROOT/VC/bin/x86
cp $DEVKIT_ROOT/VC/redist/x64/$MSVCR_DLL $DEVKIT_ROOT/VC/bin/x64
cp $DEVKIT_ROOT/VC/redist/x64/$MSVCP_DLL $DEVKIT_ROOT/VC/bin/x64
cp $DEVKIT_ROOT/VC/redist/x64/$MSVCR_DLL $DEVKIT_ROOT/VC/bin/x64
cp $DEVKIT_ROOT/VC/redist/arm64/$MSVCP_DLL $DEVKIT_ROOT/VC/bin/arm64
cp $DEVKIT_ROOT/VC/redist/arm64/$MSVCP_DLL $DEVKIT_ROOT/VC/bin/arm64
################################################################################
# Copy SDK files
@@ -152,8 +158,10 @@ mkdir -p $DEVKIT_ROOT/$SDK_VERSION/bin
cp -r "$SDK_INSTALL_DIR/bin/$SDK_FULL_VERSION/x64" $DEVKIT_ROOT/$SDK_VERSION/bin/
cp -r "$SDK_INSTALL_DIR/bin/$SDK_FULL_VERSION/x86" $DEVKIT_ROOT/$SDK_VERSION/bin/
mkdir -p $DEVKIT_ROOT/$SDK_VERSION/lib
cp -r "$SDK_INSTALL_DIR/lib/$SDK_FULL_VERSION/um/arm64" $DEVKIT_ROOT/$SDK_VERSION/lib/
cp -r "$SDK_INSTALL_DIR/lib/$SDK_FULL_VERSION/um/x64" $DEVKIT_ROOT/$SDK_VERSION/lib/
cp -r "$SDK_INSTALL_DIR/lib/$SDK_FULL_VERSION/um/x86" $DEVKIT_ROOT/$SDK_VERSION/lib/
cp -r "$SDK_INSTALL_DIR/lib/$SDK_FULL_VERSION/ucrt/arm64" $DEVKIT_ROOT/$SDK_VERSION/lib/
cp -r "$SDK_INSTALL_DIR/lib/$SDK_FULL_VERSION/ucrt/x64" $DEVKIT_ROOT/$SDK_VERSION/lib/
cp -r "$SDK_INSTALL_DIR/lib/$SDK_FULL_VERSION/ucrt/x86" $DEVKIT_ROOT/$SDK_VERSION/lib/
mkdir -p $DEVKIT_ROOT/$SDK_VERSION/Redist
@@ -188,6 +196,13 @@ echo-info "DEVKIT_MSVCR_DLL_x86_64=\"\$DEVKIT_ROOT/VC/redist/x64/$MSVCR_DLL\""
echo-info "DEVKIT_MSVCP_DLL_x86_64=\"\$DEVKIT_ROOT/VC/redist/x64/$MSVCP_DLL\""
echo-info "DEVKIT_UCRT_DLL_DIR_x86_64=\"\$DEVKIT_ROOT/10/Redist/ucrt/DLLs/x64\""
echo-info ""
echo-info "DEVKIT_TOOLCHAIN_PATH_aarch64=\"\$DEVKIT_ROOT/VC/bin/arm64:\$DEVKIT_ROOT/$SDK_VERSION/bin/x64:\$DEVKIT_ROOT/$SDK_VERSION/bin/x86\""
echo-info "DEVKIT_VS_INCLUDE_aarch64=\"\$DEVKIT_ROOT/VC/include;\$DEVKIT_ROOT/VC/atlmfc/include;\$DEVKIT_ROOT/$SDK_VERSION/include/shared;\$DEVKIT_ROOT/$SDK_VERSION/include/ucrt;\$DEVKIT_ROOT/$SDK_VERSION/include/um;\$DEVKIT_ROOT/$SDK_VERSION/include/winrt\""
echo-info "DEVKIT_VS_LIB_aarch64=\"\$DEVKIT_ROOT/VC/lib/arm64;\$DEVKIT_ROOT/VC/atlmfc/lib/arm64;\$DEVKIT_ROOT/$SDK_VERSION/lib/arm64\""
echo-info "DEVKIT_MSVCR_DLL_aarch64=\"\$DEVKIT_ROOT/VC/redist/arm64/$MSVCR_DLL\""
echo-info "DEVKIT_MSVCP_DLL_aarch64=\"\$DEVKIT_ROOT/VC/redist/arm64/$MSVCP_DLL\""
echo-info "DEVKIT_UCRT_DLL_DIR_aarch64=\"\$DEVKIT_ROOT/10/Redist/ucrt/DLLs/arm64\""
echo-info ""
echo-info "DEVKIT_TOOLS_VERSION=\"$TOOLS_VERSION\""
echo-info "DEVKIT_REDIST_VERSION=\"$REDIST_VERSION\""
echo-info "DEVKIT_SDK_VERSION=\"$SDK_FULL_VERSION\""

View File

@@ -117,19 +117,23 @@ REDIST_SUBDIR="VC/Redist/MSVC/$REDIST_VERSION"
echo "Copying VC..."
rm -rf $DEVKIT_ROOT/VC
mkdir -p $DEVKIT_ROOT/VC/bin
cp -r "$VS_INSTALL_DIR/${VC_SUBDIR}/bin/Hostx64/arm64" $DEVKIT_ROOT/VC/bin/
cp -r "$VS_INSTALL_DIR/${VC_SUBDIR}/bin/Hostx64/x64" $DEVKIT_ROOT/VC/bin/
cp -r "$VS_INSTALL_DIR/${VC_SUBDIR}/bin/Hostx86/x86" $DEVKIT_ROOT/VC/bin/
mkdir -p $DEVKIT_ROOT/VC/lib
cp -r "$VS_INSTALL_DIR/${VC_SUBDIR}/lib/arm64" $DEVKIT_ROOT/VC/lib/
cp -r "$VS_INSTALL_DIR/${VC_SUBDIR}/lib/x64" $DEVKIT_ROOT/VC/lib/
cp -r "$VS_INSTALL_DIR/${VC_SUBDIR}/lib/x86" $DEVKIT_ROOT/VC/lib/
cp -r "$VS_INSTALL_DIR/${VC_SUBDIR}/include" $DEVKIT_ROOT/VC/
mkdir -p $DEVKIT_ROOT/VC/atlmfc/lib
cp -r "$VS_INSTALL_DIR/${VC_SUBDIR}/atlmfc/lib/arm64" $DEVKIT_ROOT/VC/atlmfc/lib/
cp -r "$VS_INSTALL_DIR/${VC_SUBDIR}/atlmfc/lib/x64" $DEVKIT_ROOT/VC/atlmfc/lib/
cp -r "$VS_INSTALL_DIR/${VC_SUBDIR}/atlmfc/lib/x86" $DEVKIT_ROOT/VC/atlmfc/lib/
cp -r "$VS_INSTALL_DIR/${VC_SUBDIR}/atlmfc/include" $DEVKIT_ROOT/VC/atlmfc/
mkdir -p $DEVKIT_ROOT/VC/Auxiliary
cp -r "$VS_INSTALL_DIR/VC/Auxiliary/Build" $DEVKIT_ROOT/VC/Auxiliary/
mkdir -p $DEVKIT_ROOT/VC/redist
cp -r "$VS_INSTALL_DIR/$REDIST_SUBDIR/arm64" $DEVKIT_ROOT/VC/redist/
cp -r "$VS_INSTALL_DIR/$REDIST_SUBDIR/x64" $DEVKIT_ROOT/VC/redist/
cp -r "$VS_INSTALL_DIR/$REDIST_SUBDIR/x86" $DEVKIT_ROOT/VC/redist/
@@ -139,6 +143,8 @@ cp $DEVKIT_ROOT/VC/redist/x86/$MSVCR_DLL $DEVKIT_ROOT/VC/bin/x86
cp $DEVKIT_ROOT/VC/redist/x86/$MSVCP_DLL $DEVKIT_ROOT/VC/bin/x86
cp $DEVKIT_ROOT/VC/redist/x64/$MSVCR_DLL $DEVKIT_ROOT/VC/bin/x64
cp $DEVKIT_ROOT/VC/redist/x64/$MSVCP_DLL $DEVKIT_ROOT/VC/bin/x64
cp $DEVKIT_ROOT/VC/redist/arm64/$MSVCR_DLL $DEVKIT_ROOT/VC/bin/arm64
cp $DEVKIT_ROOT/VC/redist/arm64/$MSVCP_DLL $DEVKIT_ROOT/VC/bin/arm64
################################################################################
# Copy SDK files
@@ -156,8 +162,10 @@ mkdir -p $DEVKIT_ROOT/$SDK_VERSION/bin
cp -r "$SDK_INSTALL_DIR/bin/$SDK_FULL_VERSION/x64" $DEVKIT_ROOT/$SDK_VERSION/bin/
cp -r "$SDK_INSTALL_DIR/bin/$SDK_FULL_VERSION/x86" $DEVKIT_ROOT/$SDK_VERSION/bin/
mkdir -p $DEVKIT_ROOT/$SDK_VERSION/lib
cp -r "$SDK_INSTALL_DIR/lib/$SDK_FULL_VERSION/um/arm64" $DEVKIT_ROOT/$SDK_VERSION/lib/
cp -r "$SDK_INSTALL_DIR/lib/$SDK_FULL_VERSION/um/x64" $DEVKIT_ROOT/$SDK_VERSION/lib/
cp -r "$SDK_INSTALL_DIR/lib/$SDK_FULL_VERSION/um/x86" $DEVKIT_ROOT/$SDK_VERSION/lib/
cp -r "$SDK_INSTALL_DIR/lib/$SDK_FULL_VERSION/ucrt/arm64" $DEVKIT_ROOT/$SDK_VERSION/lib/
cp -r "$SDK_INSTALL_DIR/lib/$SDK_FULL_VERSION/ucrt/x64" $DEVKIT_ROOT/$SDK_VERSION/lib/
cp -r "$SDK_INSTALL_DIR/lib/$SDK_FULL_VERSION/ucrt/x86" $DEVKIT_ROOT/$SDK_VERSION/lib/
mkdir -p $DEVKIT_ROOT/$SDK_VERSION/Redist
@@ -193,6 +201,14 @@ echo-info "DEVKIT_VCRUNTIME_1_DLL_x86_64=\"\$DEVKIT_ROOT/VC/redist/x64/$VCRUNTIM
echo-info "DEVKIT_MSVCP_DLL_x86_64=\"\$DEVKIT_ROOT/VC/redist/x64/$MSVCP_DLL\""
echo-info "DEVKIT_UCRT_DLL_DIR_x86_64=\"\$DEVKIT_ROOT/10/Redist/ucrt/DLLs/x64\""
echo-info ""
echo-info "DEVKIT_TOOLCHAIN_PATH_aarch64=\"\$DEVKIT_ROOT/VC/bin/arm64:\$DEVKIT_ROOT/$SDK_VERSION/bin/x64:\$DEVKIT_ROOT/$SDK_VERSION/bin/x86\""
echo-info "DEVKIT_VS_INCLUDE_aarch64=\"\$DEVKIT_ROOT/VC/include;\$DEVKIT_ROOT/VC/atlmfc/include;\$DEVKIT_ROOT/$SDK_VERSION/include/shared;\$DEVKIT_ROOT/$SDK_VERSION/include/ucrt;\$DEVKIT_ROOT/$SDK_VERSION/include/um;\$DEVKIT_ROOT/$SDK_VERSION/include/winrt\""
echo-info "DEVKIT_VS_LIB_aarch64=\"\$DEVKIT_ROOT/VC/lib/arm64;\$DEVKIT_ROOT/VC/atlmfc/lib/arm64;\$DEVKIT_ROOT/$SDK_VERSION/lib/arm64\""
echo-info "DEVKIT_MSVCR_DLL_aarch64=\"\$DEVKIT_ROOT/VC/redist/arm64/$MSVCR_DLL\""
echo-info "DEVKIT_VCRUNTIME_1_DLL_aarch64=\"\$DEVKIT_ROOT/VC/redist/arm64/$VCRUNTIME_1_DLL\""
echo-info "DEVKIT_MSVCP_DLL_aarch64=\"\$DEVKIT_ROOT/VC/redist/arm64/$MSVCP_DLL\""
echo-info "DEVKIT_UCRT_DLL_DIR_aarch64=\"\$DEVKIT_ROOT/10/Redist/ucrt/DLLs/arm64\""
echo-info ""
echo-info "DEVKIT_TOOLS_VERSION=\"$TOOLS_VERSION\""
echo-info "DEVKIT_REDIST_VERSION=\"$REDIST_VERSION\""
echo-info "DEVKIT_SDK_VERSION=\"$SDK_FULL_VERSION\""

View File

@@ -88,6 +88,13 @@ ifeq ($(call check-jvm-feature, compiler2), true)
ADLCFLAGS += -DAIX=1
else ifeq ($(call isTargetOs, macosx), true)
ADLCFLAGS += -D_ALLBSD_SOURCE=1 -D_GNU_SOURCE=1
else ifeq ($(call isTargetOs, windows), true)
ifeq ($(call isTargetCpuBits, 64), true)
ADLCFLAGS += -D_WIN64=1
endif
ifeq ($(HOTSPOT_TARGET_CPU_ARCH), aarch64)
ADLCFLAGS += -DR18_RESERVED
endif
endif
ifeq ($(call isTargetOs, windows), false)
@@ -129,6 +136,12 @@ ifeq ($(call check-jvm-feature, compiler2), true)
$d/os_cpu/$(HOTSPOT_TARGET_OS)_$(HOTSPOT_TARGET_CPU_ARCH)/$(HOTSPOT_TARGET_OS)_$(HOTSPOT_TARGET_CPU_ARCH).ad \
)))
ifeq ($(HOTSPOT_TARGET_CPU_ARCH), aarch64)
AD_SRC_FILES += $(call uniq, $(wildcard $(foreach d, $(AD_SRC_ROOTS), \
$d/cpu/$(HOTSPOT_TARGET_CPU_ARCH)/$(HOTSPOT_TARGET_CPU_ARCH)_sve.ad \
)))
endif
ifeq ($(call check-jvm-feature, shenandoahgc), true)
AD_SRC_FILES += $(call uniq, $(wildcard $(foreach d, $(AD_SRC_ROOTS), \
$d/cpu/$(HOTSPOT_TARGET_CPU_ARCH)/gc/shenandoah/shenandoah_$(HOTSPOT_TARGET_CPU).ad \

View File

@@ -250,14 +250,14 @@ ifneq ($(GENERATE_COMPILE_COMMANDS_ONLY), true)
define SetupOperatorNewDeleteCheck
$1.op_check: $1
if [ -n "`$(NM) $$< | $(GREP) $(addprefix -e , $(MANGLED_SYMS)) \
| $(GREP) $(UNDEF_PATTERN)`" ]; then \
$(ECHO) "$$<: Error: Use of global operators new and delete is not allowed in Hotspot:"; \
$(NM) $$< | $(CXXFILT) | $(EGREP) '$(DEMANGLED_REGEXP)' | $(GREP) $(UNDEF_PATTERN); \
$(ECHO) "See: $(TOPDIR)/make/hotspot/lib/CompileJvm.gmk"; \
$$(call ExecuteWithLog, $1.op_check, \
$$(NM) $$< 2>&1 | $$(GREP) $$(addprefix -e , $$(MANGLED_SYMS)) | $$(GREP) $$(UNDEF_PATTERN) > $1.op_check || true)
if [ -s $1.op_check ]; then \
$$(ECHO) "$$(notdir $$<): Error: Use of global operators new and delete is not allowed in Hotspot:"; \
$$(NM) $$< | $$(CXXFILT) | $$(EGREP) '$$(DEMANGLED_REGEXP)' | $$(GREP) $$(UNDEF_PATTERN); \
$$(ECHO) "See: $$(TOPDIR)/make/hotspot/lib/CompileJvm.gmk"; \
exit 1; \
fi
$(TOUCH) $$@
TARGETS += $1.op_check
endef

View File

@@ -116,8 +116,13 @@ endif
ifneq ($(call check-jvm-feature, cds), true)
JVM_CFLAGS_FEATURES += -DINCLUDE_CDS=0
JVM_EXCLUDE_FILES += \
archiveBuilder.cpp \
archiveUtils.cpp \
classListParser.cpp \
classLoaderDataShared.cpp \
classLoaderExt.cpp \
cppVtables.cpp \
dumpAllocStats.cpp \
dynamicArchive.cpp \
filemap.cpp \
heapShared.cpp \
@@ -126,8 +131,7 @@ ifneq ($(call check-jvm-feature, cds), true)
metaspaceShared_$(HOTSPOT_TARGET_CPU_ARCH).cpp \
sharedClassUtil.cpp \
sharedPathsMiscInfo.cpp \
systemDictionaryShared.cpp \
#
systemDictionaryShared.cpp
endif
ifneq ($(call check-jvm-feature, nmt), true)

View File

@@ -123,7 +123,7 @@ JVM_GetPermittedSubclasses
JVM_GetPrimitiveArrayElement
JVM_GetProperties
JVM_GetProtectionDomain
JVM_GetRandomSeedForCDSDump
JVM_GetRandomSeedForDumping
JVM_GetRecordComponents
JVM_GetSimpleBinaryName
JVM_GetStackAccessControlContext
@@ -143,8 +143,8 @@ JVM_InternString
JVM_Interrupt
JVM_InvokeMethod
JVM_IsArrayClass
JVM_IsCDSDumpingEnabled
JVM_IsCDSSharingEnabled
JVM_IsDynamicDumpingEnabled
JVM_IsSharingEnabled
JVM_IsConstructorIx
JVM_IsHiddenClass
JVM_IsInterface
@@ -198,5 +198,6 @@ JVM_AddModuleExports
JVM_AddModuleExportsToAll
JVM_AddModuleExportsToAllUnnamed
JVM_AddReadsModule
JVM_DefineArchivedModules
JVM_DefineModule
JVM_SetBootLoaderUnnamedModule

View File

@@ -1,7 +1,7 @@
// Configure cpptools IntelliSense
"C_Cpp.intelliSenseCachePath": "{{OUTPUTDIR}}/.vscode",
"C_Cpp.default.compileCommands": "{{OUTPUTDIR}}/compile_commands.json",
"C_Cpp.default.cppStandard": "c++03",
"C_Cpp.default.cppStandard": "c++14",
"C_Cpp.default.compilerPath": "{{COMPILER}}",
// Configure ccls

View File

@@ -1,7 +1,7 @@
// Configure cpptools IntelliSense
"C_Cpp.intelliSenseCachePath": "{{OUTPUTDIR}}/.vscode",
"C_Cpp.default.compileCommands": "{{OUTPUTDIR}}/compile_commands.json",
"C_Cpp.default.cppStandard": "c++03",
"C_Cpp.default.cppStandard": "c++14",
"C_Cpp.default.compilerPath": "{{COMPILER}}",
// Configure clangd

View File

@@ -1,5 +1,5 @@
// Configure cpptools IntelliSense
"C_Cpp.intelliSenseCachePath": "{{OUTPUTDIR}}/.vscode",
"C_Cpp.default.compileCommands": "{{OUTPUTDIR}}/compile_commands.json",
"C_Cpp.default.cppStandard": "c++03",
"C_Cpp.default.cppStandard": "c++14",
"C_Cpp.default.compilerPath": "{{COMPILER}}",

View File

@@ -1,7 +1,7 @@
// Configure cpptools IntelliSense
"C_Cpp.intelliSenseCachePath": "{{OUTPUTDIR}}/.vscode",
"C_Cpp.default.compileCommands": "{{OUTPUTDIR}}/compile_commands.json",
"C_Cpp.default.cppStandard": "c++03",
"C_Cpp.default.cppStandard": "c++14",
"C_Cpp.default.compilerPath": "{{COMPILER}}",
// Configure RTags

View File

@@ -143,6 +143,7 @@ import com.sun.tools.javac.jvm.Target;
import com.sun.tools.javac.util.Assert;
import com.sun.tools.javac.util.Context;
import com.sun.tools.javac.util.Pair;
import java.util.Optional;
/**
* A tool for processing the .sym.txt files.
@@ -3820,6 +3821,47 @@ public class CreateSymbols {
}
//</editor-fold>
/**Create sig files for ct.sym reading the classes description from the directory that contains
* {@code ctDescriptionFile}, using the file as a recipe to create the sigfiles.
*/
@SuppressWarnings("unchecked")
public void createJavadocData(String ctDescriptionFileExtra, String ctDescriptionFile,
String targetDir, int startVersion) throws IOException {
LoadDescriptions data = load(ctDescriptionFileExtra != null ? Paths.get(ctDescriptionFileExtra)
: null,
Paths.get(ctDescriptionFile));
Path target = Paths.get(targetDir);
for (PlatformInput version : data.versions) {
int versionNumber = Integer.parseInt(version.version, Character.MAX_RADIX);
if (versionNumber < startVersion) {
continue;
}
Path outputFile = target.resolve("element-list-" + versionNumber + ".txt");
Files.createDirectories(outputFile.getParent());
try (Writer w = Files.newBufferedWriter(outputFile, StandardCharsets.UTF_8)) {
Set<ModuleDescription> modules = new TreeSet<>((m1, m2) -> m1.name.compareTo(m2.name));
modules.addAll(data.modules.values());
for (ModuleDescription module : modules) {
if ("jdk.unsupported".equals(module.name)) {
continue;
}
Optional<ModuleHeaderDescription> header = module.header.stream().filter(h -> h.versions.contains(version.version)).findAny();
if (header.isEmpty()) {
continue;
}
w.write("module:" + module.name);
w.write("\n");
for (String pack : header.get().exports) {
w.write(pack.replace('/', '.'));
w.write("\n");
}
}
}
}
}
private static void help() {
System.err.println("Help...");
}
@@ -3900,7 +3942,7 @@ public class CreateSymbols {
new CreateSymbols().createIncrementalBaseLine(args[1], args[2], args);
break;
}
case "build-ctsym":
case "build-ctsym": {
String ctDescriptionFileExtra;
String ctDescriptionFile;
String ctSymLocation;
@@ -3939,6 +3981,39 @@ public class CreateSymbols {
currentVersion,
systemModules);
break;
}
case "build-javadoc-data": {
String ctDescriptionFileExtra;
String ctDescriptionFile;
String targetDir;
int startVersion;
if (args.length == 4) {
ctDescriptionFileExtra = null;
ctDescriptionFile = args[1];
targetDir = args[2];
startVersion = Integer.parseInt(args[3]);
} else if (args.length == 5) {
ctDescriptionFileExtra = args[1];
ctDescriptionFile = args[2];
targetDir = args[3];
startVersion = Integer.parseInt(args[4]);
} else {
help();
return ;
}
if (startVersion < 9) {
System.err.println("The start version must be at least 9!");
return ;
}
new CreateSymbols().createJavadocData(ctDescriptionFileExtra,
ctDescriptionFile,
targetDir,
startVersion);
break;
}
}
}

View File

@@ -0,0 +1,136 @@
/*
* Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation. Oracle designates this
* particular file as subject to the "Classpath" exception as provided
* by Oracle in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
package build.tools.symbolgenerator;
import java.io.IOException;
import java.io.PrintWriter;
import java.io.Writer;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.ArrayDeque;
import java.util.Arrays;
import java.util.Deque;
import java.util.List;
import java.util.Set;
import java.util.stream.Collectors;
import javax.lang.model.element.ModuleElement.ExportsDirective;
import javax.lang.model.util.Elements;
import javax.tools.JavaCompiler;
import com.sun.tools.javac.api.JavacTaskImpl;
import com.sun.tools.javac.api.JavacTool;
import com.sun.tools.javac.code.Source;
import com.sun.tools.javac.code.Symbol.ModuleSymbol;
import com.sun.tools.javac.jvm.Target;
import java.util.Map;
import java.util.Map.Entry;
import java.util.TreeMap;
import java.util.TreeSet;
import javax.lang.model.element.ModuleElement;
/**
* Generate list of modules and packages in the current release.
* Used by the javadoc tool.
*/
public class JavadocElementList {
private static void help() {
System.err.println("java JavadocElementList <target-file> <module-source-path> <root-modules>");
}
public static void main(String... args) throws IOException {
if (args.length < 2) {
help();
return ;
}
JavaCompiler compiler = JavacTool.create();
List<String> options = List.of("-source", Source.DEFAULT.name,
"-target", Target.DEFAULT.name,
"-proc:only",
"--system", "none",
"--module-source-path", args[1],
"--add-modules", Arrays.stream(args)
.skip(2)
.collect(Collectors.joining(",")));
List<String> jlObjectList = List.of("java.lang.Object");
JavacTaskImpl task = (JavacTaskImpl) compiler.getTask(null, null, null, options, jlObjectList, null);
task.enter();
Elements elements = task.getElements();
Deque<String> todo = new ArrayDeque<>();
Arrays.stream(args).skip(2).forEach(todo::add);
todo.add("java.base");
Map<String, Set<String>> modulesAndExports = new TreeMap<>();
while (!todo.isEmpty()) {
String current = todo.removeFirst();
if (modulesAndExports.containsKey(current))
continue;
ModuleSymbol mod = (ModuleSymbol) elements.getModuleElement(current);
if (mod == null) {
throw new IllegalStateException("Missing: " + current);
}
//use the internal structure to avoid unnecesarily completing the symbol using the UsesProvidesVisitor:
modulesAndExports.put(mod.getQualifiedName().toString(),
mod.exports
.stream()
.filter((ExportsDirective ed) -> ed.getTargetModules() == null)
.map((ExportsDirective ed) -> ed.getPackage().getQualifiedName().toString())
.collect(Collectors.toCollection(() -> new TreeSet<>()))
);
for (ModuleElement.RequiresDirective rd : mod.requires) {
if (rd.isTransitive()) {
todo.offerLast(rd.getDependency().getQualifiedName().toString());
}
}
}
Path targetFile = Paths.get(args[0]);
Files.createDirectories(targetFile.getParent());
try (Writer w = Files.newBufferedWriter(targetFile);
PrintWriter out = new PrintWriter(w)) {
for (Entry<String, Set<String>> moduleAndExports : modulesAndExports.entrySet()) {
out.write("module:" + moduleAndExports.getKey());
out.write("\n");
for (String pack : moduleAndExports.getValue()) {
out.write(pack);
out.write("\n");
}
}
}
}
}

View File

@@ -60,6 +60,12 @@ ifneq ($(filter $(TOOLCHAIN_TYPE), gcc clang), )
CPP_FLAGS += -x c
else ifeq ($(TOOLCHAIN_TYPE), microsoft)
CPP_FLAGS += -nologo
ifeq ($(OPENJDK_TARGET_CPU),aarch64)
# cl.exe does only recognize few file extensions as valid (ex: .c, .h, .cpp), so
# make sure *.java.template files are recognized as valid input files
CPP_FILEPREFIX = -Tc
endif
endif
# Generate a java source file from a template through the C preprocessor for the
@@ -73,7 +79,7 @@ define generate-preproc-src
$(call MakeDir, $(@D))
$(call ExecuteWithLog, $(SUPPORT_OUTPUTDIR)/gensrc/java.base/_$(@F), \
( $(NAWK) '/@@END_COPYRIGHT@@/{exit}1' $< && \
$(CPP) $(CPP_FLAGS) $(SYSROOT_CFLAGS) $(CFLAGS_JDKLIB) $< \
$(CPP) $(CPP_FLAGS) $(SYSROOT_CFLAGS) $(CFLAGS_JDKLIB) $(CPP_FILEPREFIX) $< \
2> >($(GREP) -v '^$(<F)$$' >&2) \
| $(NAWK) '/@@START_HERE@@/,0' \
| $(SED) -e 's/@@START_HERE@@/\/\/ AUTOMATICALLY GENERATED FILE - DO NOT EDIT/' \

View File

@@ -157,7 +157,6 @@ $(eval $(call SetupJdkLibrary, BUILD_LIBJIMAGE, \
LDFLAGS := $(LDFLAGS_JDKLIB) $(LDFLAGS_CXX_JDK) \
$(call SET_SHARED_LIBRARY_ORIGIN), \
LIBS_unix := -ljvm -ldl $(LIBCXX), \
LIBS_macosx := -lc++, \
LIBS_windows := jvm.lib, \
))

View File

@@ -71,6 +71,10 @@ ifeq ($(FREETYPE_TO_USE), system)
LEGAL_EXCLUDES += freetype.md
endif
ifeq ($(USE_EXTERNAL_HARFBUZZ), true)
LEGAL_EXCLUDES += harfbuzz.md
endif
$(eval $(call SetupCopyLegalFiles, COPY_LEGAL, \
EXCLUDES := $(LEGAL_EXCLUDES), \
))

View File

@@ -432,82 +432,87 @@ endif
###########################################################################
HARFBUZZ_CFLAGS := -DHAVE_OT -DHAVE_FALLBACK -DHAVE_UCDN -DHAVE_ROUND
ifeq ($(USE_EXTERNAL_HARFBUZZ), true)
LIBHARFBUZZ_LIBS := $(HARFBUZZ_LIBS)
else
HARFBUZZ_CFLAGS := -DHAVE_OT -DHAVE_FALLBACK -DHAVE_UCDN -DHAVE_ROUND
# This is better than adding EXPORT_ALL_SYMBOLS
ifneq ($(filter $(TOOLCHAIN_TYPE), gcc clang), )
HARFBUZZ_CFLAGS += -DHB_EXTERN=__attribute__\(\(visibility\(\"default\"\)\)\)
else ifeq ($(TOOLCHAIN_TYPE), microsoft)
HARFBUZZ_CFLAGS += -DHB_EXTERN=__declspec\(dllexport\)
endif
# This is better than adding EXPORT_ALL_SYMBOLS
ifneq ($(filter $(TOOLCHAIN_TYPE), gcc clang), )
HARFBUZZ_CFLAGS += -DHB_EXTERN=__attribute__\(\(visibility\(\"default\"\)\)\)
else ifeq ($(TOOLCHAIN_TYPE), microsoft)
HARFBUZZ_CFLAGS += -DHB_EXTERN=__declspec\(dllexport\)
endif
ifeq ($(call isTargetOs, windows), false)
HARFBUZZ_CFLAGS += -DGETPAGESIZE -DHAVE_MPROTECT -DHAVE_PTHREAD \
ifeq ($(call isTargetOs, windows), false)
HARFBUZZ_CFLAGS += -DGETPAGESIZE -DHAVE_MPROTECT -DHAVE_PTHREAD \
-DHAVE_SYSCONF -DHAVE_SYS_MMAN_H -DHAVE_UNISTD_H \
-DHB_NO_PRAGMA_GCC_DIAGNOSTIC
endif
ifeq ($(call isTargetOs, linux macosx), true)
HARFBUZZ_CFLAGS += -DHAVE_INTEL_ATOMIC_PRIMITIVES
endif
ifeq ($(call isTargetOs, macosx), true)
HARFBUZZ_CFLAGS += -DHAVE_CORETEXT
endif
ifeq ($(call isTargetOs, macosx), false)
LIBHARFBUZZ_EXCLUDE_FILES += harfbuzz/hb-coretext.cc
endif
# hb-ft.cc is not presently needed, and requires freetype 2.4.2 or later.
LIBHARFBUZZ_EXCLUDE_FILES += harfbuzz/hb-ft.cc
endif
ifeq ($(call isTargetOs, linux macosx), true)
HARFBUZZ_CFLAGS += -DHAVE_INTEL_ATOMIC_PRIMITIVES
endif
ifeq ($(call isTargetOs, macosx), true)
HARFBUZZ_CFLAGS += -DHAVE_CORETEXT
endif
ifeq ($(call isTargetOs, macosx), false)
LIBHARFBUZZ_EXCLUDE_FILES += libharfbuzz/hb-coretext.cc
endif
# hb-ft.cc is not presently needed, and requires freetype 2.4.2 or later.
LIBHARFBUZZ_EXCLUDE_FILES += libharfbuzz/hb-ft.cc
LIBHARFBUZZ_CFLAGS += $(HARFBUZZ_CFLAGS)
LIBHARFBUZZ_CFLAGS += $(HARFBUZZ_CFLAGS)
# For use by libfontmanager:
ifeq ($(call isTargetOs, windows), true)
LIBHARFBUZZ_LIBS := $(SUPPORT_OUTPUTDIR)/native/$(MODULE)/libharfbuzz/harfbuzz.lib
else
LIBHARFBUZZ_LIBS := -lharfbuzz
endif
# For use by libfontmanager:
ifeq ($(call isTargetOs, windows), true)
LIBHARFBUZZ_LIBS := $(SUPPORT_OUTPUTDIR)/native/$(MODULE)/libharfbuzz/harfbuzz.lib
else
LIBHARFBUZZ_LIBS := -lharfbuzz
endif
LIBHARFBUZZ_EXTRA_HEADER_DIRS := \
LIBHARFBUZZ_EXTRA_HEADER_DIRS := \
libharfbuzz/hb-ucdn \
#
LIBHARFBUZZ_OPTIMIZATION := HIGH
LIBHARFBUZZ_OPTIMIZATION := HIGH
LIBHARFBUZZ_CFLAGS += $(X_CFLAGS) -DLE_STANDALONE -DHEADLESS
LIBHARFBUZZ_CFLAGS += $(X_CFLAGS) -DLE_STANDALONE -DHEADLESS
$(eval $(call SetupJdkLibrary, BUILD_LIBHARFBUZZ, \
NAME := harfbuzz, \
EXCLUDE_FILES := $(LIBHARFBUZZ_EXCLUDE_FILES), \
TOOLCHAIN := TOOLCHAIN_LINK_CXX, \
CFLAGS := $(CFLAGS_JDKLIB) $(LIBHARFBUZZ_CFLAGS), \
CXXFLAGS := $(CXXFLAGS_JDKLIB) $(LIBHARFBUZZ_CFLAGS), \
OPTIMIZATION := $(LIBHARFBUZZ_OPTIMIZATION), \
CFLAGS_windows = -DCC_NOEX, \
EXTRA_HEADER_DIRS := $(LIBHARFBUZZ_EXTRA_HEADER_DIRS), \
WARNINGS_AS_ERRORS_xlc := false, \
DISABLED_WARNINGS_gcc := type-limits missing-field-initializers strict-aliasing, \
DISABLED_WARNINGS_CXX_gcc := reorder delete-non-virtual-dtor strict-overflow \
$(eval $(call SetupJdkLibrary, BUILD_LIBHARFBUZZ, \
NAME := harfbuzz, \
EXCLUDE_FILES := $(LIBHARFBUZZ_EXCLUDE_FILES), \
TOOLCHAIN := TOOLCHAIN_LINK_CXX, \
CFLAGS := $(CFLAGS_JDKLIB) $(LIBHARFBUZZ_CFLAGS), \
CXXFLAGS := $(CXXFLAGS_JDKLIB) $(LIBHARFBUZZ_CFLAGS), \
OPTIMIZATION := $(LIBHARFBUZZ_OPTIMIZATION), \
CFLAGS_windows = -DCC_NOEX, \
EXTRA_HEADER_DIRS := $(LIBHARFBUZZ_EXTRA_HEADER_DIRS), \
WARNINGS_AS_ERRORS_xlc := false, \
DISABLED_WARNINGS_gcc := type-limits missing-field-initializers strict-aliasing, \
DISABLED_WARNINGS_CXX_gcc := reorder delete-non-virtual-dtor strict-overflow \
maybe-uninitialized class-memaccess, \
DISABLED_WARNINGS_clang := unused-value incompatible-pointer-types \
DISABLED_WARNINGS_clang := unused-value incompatible-pointer-types \
tautological-constant-out-of-range-compare int-to-pointer-cast \
undef missing-field-initializers, \
DISABLED_WARNINGS_microsoft := 4267 4244 4090 4146 4334 4819 4101 4068 4805 4138, \
LDFLAGS := $(LDFLAGS_JDKLIB) \
DISABLED_WARNINGS_microsoft := 4267 4244 4090 4146 4334 4819 4101 4068 4805 4138, \
LDFLAGS := $(LDFLAGS_JDKLIB) \
$(call SET_SHARED_LIBRARY_ORIGIN), \
LDFLAGS_unix := -L$(INSTALL_LIBRARIES_HERE), \
LDFLAGS_aix := -Wl$(COMMA)-berok, \
LIBS := $(BUILD_LIBHARFBUZZ), \
LIBS_unix := $(LIBM) $(LIBCXX), \
LIBS_macosx := -framework CoreText -framework CoreFoundation -framework CoreGraphics, \
LIBS_windows := user32.lib, \
))
LDFLAGS_unix := -L$(INSTALL_LIBRARIES_HERE), \
LDFLAGS_aix := -Wl$(COMMA)-berok, \
LIBS := $(BUILD_LIBHARFBUZZ), \
LIBS_unix := $(LIBM) $(LIBCXX), \
LIBS_macosx := -framework CoreText -framework CoreFoundation -framework CoreGraphics, \
LIBS_windows := user32.lib, \
))
ifeq ($(FREETYPE_TO_USE), bundled)
$(BUILD_LIBHARFBUZZ): $(BUILD_LIBFREETYPE)
endif
TARGETS += $(BUILD_LIBHARFBUZZ)
ifeq ($(FREETYPE_TO_USE), bundled)
$(BUILD_LIBHARFBUZZ): $(BUILD_LIBFREETYPE)
endif
TARGETS += $(BUILD_LIBHARFBUZZ)
###########################################################################
LIBFONTMANAGER_EXTRA_HEADER_DIRS := \
@@ -561,9 +566,6 @@ $(eval $(call SetupJdkLibrary, BUILD_LIBFONTMANAGER, \
CFLAGS_windows = -DCC_NOEX, \
EXTRA_HEADER_DIRS := $(LIBFONTMANAGER_EXTRA_HEADER_DIRS), \
WARNINGS_AS_ERRORS_xlc := false, \
DISABLED_WARNINGS_gcc := sign-compare unused-function int-to-pointer-cast, \
DISABLED_WARNINGS_clang := sign-compare, \
DISABLED_WARNINGS_microsoft := 4018 4146 4244 4996, \
LDFLAGS := $(subst -Xlinker -z -Xlinker defs,, \
$(subst -Wl$(COMMA)-z$(COMMA)defs,,$(LDFLAGS_JDKLIB))) $(LDFLAGS_CXX_JDK) \
$(call SET_SHARED_LIBRARY_ORIGIN), \
@@ -576,7 +578,11 @@ $(eval $(call SetupJdkLibrary, BUILD_LIBFONTMANAGER, \
$(WIN_AWT_LIB), \
))
$(BUILD_LIBFONTMANAGER): $(BUILD_LIBAWT) $(BUILD_LIBHARFBUZZ)
$(BUILD_LIBFONTMANAGER): $(BUILD_LIBAWT)
ifeq ($(USE_EXTERNAL_HARFBUZZ), false)
$(BUILD_LIBFONTMANAGER): $(BUILD_LIBHARFBUZZ)
endif
ifeq ($(call isTargetOs, macosx), true)
$(BUILD_LIBFONTMANAGER): $(call FindLib, $(MODULE), awt_lwawt)

View File

@@ -0,0 +1,97 @@
#
# Copyright (c) 2015, 2020, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License version 2 only, as
# published by the Free Software Foundation. Oracle designates this
# particular file as subject to the "Classpath" exception as provided
# by Oracle in the LICENSE file that accompanied this code.
#
# This code is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
# version 2 for more details (a copy is included in the LICENSE file that
# accompanied this code).
#
# You should have received a copy of the GNU General Public License version
# 2 along with this work; if not, write to the Free Software Foundation,
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
#
# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
# or visit www.oracle.com if you need additional information or have any
# questions.
#
include JavaCompilation.gmk
include Modules.gmk
################################################################################
# Hook to include the corresponding custom file, if present.
$(eval $(call IncludeCustomExtension, modules/jdk.javadoc/Gendata.gmk))
# This is needed to properly setup DOCS_MODULES.
$(eval $(call ReadImportMetaData))
JAVADOC_MODULES := $(DOCS_MODULES)
# Get the complete module source path:
JAVADOC_MODULESOURCEPATH := $(call GetModuleSrcPath)
CT_DATA_DESCRIPTION += $(TOPDIR)/make/data/symbols/symbols
COMPILECREATESYMBOLS_ADD_EXPORTS := \
--add-exports java.base/jdk.internal=java.compiler.interim,jdk.compiler.interim \
--add-exports jdk.compiler.interim/com.sun.tools.javac.api=ALL-UNNAMED \
--add-exports jdk.compiler.interim/com.sun.tools.javac.code=ALL-UNNAMED \
--add-exports jdk.compiler.interim/com.sun.tools.javac.util=ALL-UNNAMED \
--add-exports jdk.compiler.interim/com.sun.tools.javac.jvm=ALL-UNNAMED \
#
$(eval $(call SetupJavaCompilation, COMPILE_CREATE_SYMBOLS, \
TARGET_RELEASE := $(TARGET_RELEASE_BOOTJDK), \
SRC := $(TOPDIR)/make/langtools/src/classes \
$(TOPDIR)/src/jdk.jdeps/share/classes, \
INCLUDES := build/tools/symbolgenerator com/sun/tools/classfile, \
BIN := $(BUILDTOOLS_OUTPUTDIR)/create_symbols, \
DISABLED_WARNINGS := options, \
JAVAC_FLAGS := \
$(INTERIM_LANGTOOLS_ARGS) \
--patch-module java.base=$(BUILDTOOLS_OUTPUTDIR)/gensrc/java.base.interim \
$(COMPILECREATESYMBOLS_ADD_EXPORTS), \
))
$(SUPPORT_OUTPUTDIR)/javadoc-symbols/symbols: \
$(COMPILE_CREATE_SYMBOLS) \
$(wildcard $(TOPDIR)/make/data/symbols/*) \
$(MODULE_INFOS)
$(RM) -r $(@D)
$(MKDIR) -p $(@D)
$(ECHO) Creating javadoc element list
$(JAVA_SMALL) $(INTERIM_LANGTOOLS_ARGS) \
$(COMPILECREATESYMBOLS_ADD_EXPORTS) \
-classpath $(BUILDTOOLS_OUTPUTDIR)/create_symbols \
build.tools.symbolgenerator.CreateSymbols \
build-javadoc-data \
$(CT_DATA_DESCRIPTION) \
$(JDK_OUTPUTDIR)/modules/jdk.javadoc/jdk/javadoc/internal/doclets/toolkit/resources/releases \
11
$(JAVA_SMALL) $(INTERIM_LANGTOOLS_ARGS) \
$(COMPILECREATESYMBOLS_ADD_EXPORTS) \
-classpath $(BUILDTOOLS_OUTPUTDIR)/create_symbols \
build.tools.symbolgenerator.JavadocElementList \
$(JDK_OUTPUTDIR)/modules/jdk.javadoc/jdk/javadoc/internal/doclets/toolkit/resources/releases/element-list-$(JDK_SOURCE_TARGET_VERSION).txt \
$(JAVADOC_MODULESOURCEPATH) \
$(JAVADOC_MODULES)
$(TOUCH) $@
# Copy ct.sym to the modules libs dir
$(eval $(call SetupCopyFiles, COPY_TO_LIBS, \
FILES := $(SUPPORT_OUTPUTDIR)/javadoc-symbols/*.txt, \
DEST := $(JDK_OUTPUTDIR)/modules/jdk.javadoc/jdk/javadoc/internal/doclets/toolkit/resources/releases, \
))
TARGETS += $(SUPPORT_OUTPUTDIR)/javadoc-symbols/symbols
################################################################################

View File

@@ -63,7 +63,7 @@ if [ ! -f symbols ] ; then
exit 1
fi;
if [ "`hg status .`x" != "x" ] ; then
if [ "`git status --porcelain=v1 .`x" != "x" ] ; then
echo "The make/data/symbols directory contains local changes!" >&2
exit 1
fi;

View File

@@ -1,53 +0,0 @@
java.base,
java.compiler,
java.datatransfer,
java.desktop,
java.instrument,
java.logging,
java.management,
java.management.rmi,
java.naming,
java.net.http,
java.prefs,
java.rmi,
java.scripting,
java.se,
java.security.jgss,
java.security.sasl,
java.smartcardio,
java.sql,
java.sql.rowset,
java.transaction.xa,
java.xml,
java.xml.crypto,
jdk.accessibility,
jdk.aot,
jdk.charsets,
jdk.compiler,
jdk.crypto.cryptoki,
jdk.crypto.ec,
jdk.dynalink,
jdk.httpserver,
jdk.internal.ed,
jdk.internal.le,
jdk.internal.vm.ci,
jdk.internal.vm.compiler,
jdk.internal.vm.compiler.management,
jdk.jdi,
jdk.jdwp.agent,
jdk.jfr,
jdk.jsobject,
jdk.localedata,
jdk.management,
jdk.management.agent,
jdk.management.jfr,
jdk.naming.dns,
jdk.naming.rmi,
jdk.net,
jdk.sctp,
jdk.security.auth,
jdk.security.jgss,
jdk.unsupported,
jdk.xml.dom,
jdk.zipfs,
jdk.hotspot.agent

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2002, 2007, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2002, 2020, Oracle and/or its affiliates. All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
@@ -120,7 +120,7 @@ $(CLASSES):
mkdirs: $(DIST) $(CLASSES)
$(CLASSES)/j2dbench/%.class: $(SOURCEPATH)/j2dbench/%.java
javac -g:none -source 1.6 -target 1.6 -d $(CLASSES) -sourcepath $(SOURCEPATH) $<
javac -g:none -source 1.7 -target 1.7 -d $(CLASSES) -sourcepath $(SOURCEPATH) $<
clean:
rm -rf $(CLASSES)

View File

@@ -20,8 +20,9 @@ Minimum requirements
-----------------------------------------------------------------------
The benchmark requires at least jdk1.4 to compile and run. Note that
source/target is set to 1.6 in the makefile and build.xml, because of
support in jdk 9 compiler.
source/target is set to 1.7 in the makefile and build.xml, because of
support in jdk 14 compiler. To check compatibility with jdk1.4 you can
use "-source 1.4 -target 1.4" options and jdk1.7.
-----------------------------------------------------------------------
How To Compile

View File

@@ -1,5 +1,5 @@
<!--
Copyright (c) 2005, 2013, Oracle and/or its affiliates. All rights reserved.
Copyright (c) 2005, 2020, Oracle and/or its affiliates. All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
@@ -49,7 +49,7 @@
<target name="compile" depends="init"
description="compile the source " >
<!-- Compile the java code from ${src} into ${build} -->
<javac debug="off" source="1.6" target="1.6" srcdir="${src}" destdir="${build}"/>
<javac debug="off" source="1.7" target="1.7" srcdir="${src}" destdir="${build}"/>
</target>
<target name="run" depends="dist"

View File

@@ -8,8 +8,11 @@ global.env.testtime=2500
global.results.workunits=units
global.results.timeunits=sec
global.results.ratio=unitspersec
global.dest.screen=disabled
global.dest.offscreen=disabled
global.dest.frame.defaultframe=disabled
global.dest.frame.transframe=disabled
global.dest.frame.shapedframe=disabled
global.dest.frame.shapedtransframe=disabled
global.dest.compatimg.compatimg=disabled
global.dest.compatimg.opqcompatimg=disabled
global.dest.compatimg.bmcompatimg=disabled

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2002, 2018, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2002, 2020, Oracle and/or its affiliates. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -40,9 +40,11 @@
package j2dbench;
import java.awt.Image;
import java.awt.Component;
import java.awt.Frame;
import java.awt.GraphicsConfiguration;
import java.awt.Image;
import java.awt.Polygon;
import java.awt.Transparency;
import java.awt.color.ColorSpace;
import java.awt.image.BufferedImage;
@@ -50,11 +52,14 @@ import java.awt.image.ComponentColorModel;
import java.awt.image.DataBuffer;
import java.awt.image.WritableRaster;
import javax.swing.SwingUtilities;
import j2dbench.tests.GraphicsTests;
import j2dbench.tests.ImageTests;
public abstract class Destinations extends Option.Enable {
public static Group.EnableSet destroot;
public static Group frameroot;
public static Group bufimgdestroot;
public static Group compatimgdestroot;
public static Group volimgdestroot;
@@ -63,9 +68,22 @@ public abstract class Destinations extends Option.Enable {
destroot = new Group.EnableSet(TestEnvironment.globaloptroot,
"dest", "Output Destination Options");
new Screen();
new OffScreen();
frameroot = new Group.EnableSet(destroot, "frame", "Output to Frame");
frameroot.setHorizontal();
new Screen(false, false);
if (ImageTests.hasOpacityWindow) {
new Screen(true, false);
}
if (ImageTests.hasShapedWindow) {
new Screen(false, true);
}
if (ImageTests.hasShapedWindow && ImageTests.hasOpacityWindow) {
new Screen(true, true);
}
if (GraphicsTests.hasGraphics2D) {
if (ImageTests.hasCompatImage) {
compatimgdestroot =
@@ -129,17 +147,95 @@ public abstract class Destinations extends Option.Enable {
public abstract void setDestination(TestEnvironment env);
public static class Screen extends Destinations {
public Screen() {
super(destroot, "screen", "Output to Screen", false);
private boolean opacity;
private boolean shaped;
public Screen(boolean opacity, boolean shaped) {
super(frameroot, getDescription(opacity,shaped),
getLongDescription(opacity,shaped), false);
this.opacity = opacity;
this.shaped = shaped;
}
private static String getDescription(boolean opacity, boolean shaped){
if (opacity && shaped) {
return "shapedtransframe";
}
if (shaped) {
return "shapedframe";
}
if (opacity) {
return "transframe";
}
return "defaultframe";
}
private static String getLongDescription(boolean opacity, boolean shaped){
if (opacity && shaped) {
return "Translucent and Shaped";
}
if (shaped) {
return "Shaped";
}
if (opacity) {
return "Translucent";
}
return "Default";
}
public String getModifierValueName(Object val) {
return "Screen";
if (opacity && shaped) {
return "Translucent and Shaped Frame";
}
if (shaped) {
return "Shaped Frame";
}
if (opacity) {
return "Translucent Frame";
}
return "Default Frame";
}
public void setDestination(TestEnvironment env) {
env.setTestImage(null);
}
public void modifyTest(TestEnvironment env) {
setDestination(env);
Frame frame = (Frame) SwingUtilities.getWindowAncestor(env.comp);
if (frame != null && (opacity || shaped)) {
frame.dispose();
frame.setUndecorated(true);
int w = frame.getWidth();
int h = frame.getHeight();
if (shaped) {
Polygon p = new Polygon();
p.addPoint(0, 0);
p.addPoint(w, 0);
p.addPoint(0, h);
p.addPoint(w, h);
p.addPoint(0, 0);
frame.setShape(p);
}
if (opacity) {
frame.setOpacity(0.5f);
}
frame.setVisible(true);
}
}
public void restoreTest(TestEnvironment env) {
env.setTestImage(null);
Frame frame = (Frame) SwingUtilities.getWindowAncestor(env.comp);
if (frame != null && (opacity || shaped)) {
frame.dispose();
frame.setShape(null);
frame.setOpacity(1);
frame.setUndecorated(false);
frame.setVisible(true);
}
}
}
public static class OffScreen extends Destinations {

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2002, 2018, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2002, 2020, Oracle and/or its affiliates. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -40,6 +40,8 @@
package j2dbench;
import java.awt.GraphicsEnvironment;
import java.awt.Rectangle;
import java.io.PrintWriter;
import java.io.FileReader;
import java.io.FileWriter;
@@ -780,7 +782,10 @@ public class J2DBench {
f.getContentPane().add(p, BorderLayout.SOUTH);
f.pack();
f.setLocationRelativeTo(null);
f.show();
Rectangle usable = GraphicsEnvironment.getLocalGraphicsEnvironment()
.getMaximumWindowBounds().intersection(f.getBounds());
f.setBounds(usable);
f.setVisible(true);
}
public static void runTests(boolean showresults) {

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2002, 2018, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2002, 2020, Oracle and/or its affiliates. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -53,7 +53,9 @@ import java.awt.Canvas;
import java.awt.AlphaComposite;
import java.awt.Dimension;
import java.awt.GraphicsConfiguration;
import java.awt.Rectangle;
import java.awt.RenderingHints;
import java.awt.Window;
import java.awt.image.BufferedImage;
import java.awt.image.BufferedImageOp;
import java.awt.image.ByteLookupTable;
@@ -79,6 +81,8 @@ import javax.swing.JComponent;
public abstract class ImageTests extends GraphicsTests {
public static boolean hasVolatileImage;
public static boolean hasTransparentVolatileImage;
public static boolean hasShapedWindow;
public static boolean hasOpacityWindow;
public static boolean hasCompatImage;
static {
@@ -96,6 +100,16 @@ public abstract class ImageTests extends GraphicsTests {
hasTransparentVolatileImage = true;
} catch (NoSuchMethodError e) {
}
try {
new Window(null).setShape(new Rectangle());
hasShapedWindow = true;
} catch (Exception e) {
}
try {
new Window(null).setOpacity(0.5f);
hasOpacityWindow = true;
} catch (Exception e) {
}
}
static Group imageroot;

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2006, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2006, 2020, Oracle and/or its affiliates. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -184,7 +184,7 @@ abstract class InputImageTests extends InputTests {
String klass = spi.getClass().getName();
String format = spi.getFormatNames()[0].toLowerCase();
String suffix = spi.getFileSuffixes()[0].toLowerCase();
if (suffix == null || suffix.isEmpty()) {
if (suffix == null || suffix.equals("")) {
suffix = format;
}
String shortName;

Some files were not shown because too many files have changed in this diff Show More