Compare commits

...

1137 Commits

Author SHA1 Message Date
duke
0de241433d Automatic merge of client:master into master 2020-04-03 22:05:27 +00:00
Phil Race
38716935d2 8240342: Custom composite is ignored when printing an opaque image to a page
Reviewed-by: serb, psadhukhan
2020-04-03 15:00:41 -07:00
Prasanta Sadhukhan
fd95090fa2 8242079: Update RenderPerf LCD Test to ensure LCD code path is used 2020-04-03 09:05:13 +00:00
Jayathirth D V
9cb40a9bc7 8242035: Combine drawPrimitive calls in text drawing flush
Co-authored-by: Ajit Ghaisas <ajit.ghaisas@oracle.com>
2020-04-02 12:00:25 +00:00
duke
97c7a63ab6 Automatic merge of client:master into master 2020-04-01 03:00:25 +00:00
Sergey Bylokhov
3c937001b5 8241797: Add some tests to the problem list
Reviewed-by: jdv, prr, pbansal
2020-03-31 19:56:33 -07:00
duke
623aa48c4f Automatic merge of client:master into master 2020-04-01 02:50:27 +00:00
Sergey Bylokhov
978120f46a 8241808: [TESTBUG] The JDK-8039467 bug appeared on macOS
Reviewed-by: kizune, pbansal
2020-03-31 19:19:25 -07:00
duke
83bbb3941e Automatic merge of client:master into master 2020-03-31 17:06:37 +00:00
Phil Race
cae4b9cc37 Merge 2020-03-31 17:04:42 +00:00
Pankaj Bansal
1ef1131ab1 8241791: [TESTBUG] Test failing with exception "java.lang.UnsupportedOperationException"
Reviewed-by: serb
2020-03-30 12:06:06 +05:30
Alexey Ushakov
9226e84501 8241594: Lanai: javax/swing/JFileChooser/8013442: SIGSEGV at AMDMTLBr… 2020-03-26 17:42:15 +00:00
Ajit Ghaisas
3da068b282 8238223: Lanai - JPopupMenu/7154841 - no mouse events on the popup menu 2020-03-26 15:14:38 +00:00
Sergey Bylokhov
cf22b4e7c8 8238719: [macOS] Delete the property which use deprecated prefix "com.apple.macos."
Reviewed-by: psadhukhan, jdv, prr
2020-03-25 16:55:00 -07:00
Sergey Bylokhov
3399842d7e 8240690: Race condition between EDT and BasicDirectoryModel.FilesLoader.run0()
Reviewed-by: psadhukhan
2020-03-25 16:48:35 -07:00
Prasanta Sadhukhan
40e667c174 8239312: [macos] javax/swing/JFrame/NSTexturedJFrame/NSTexturedJFrame.java
Reviewed-by: serb
2020-03-26 10:18:59 +05:30
Alexey Ushakov
45fea40dbd JDK-8241422: Regression in RenderPerfTest after JDK-8238535 2020-03-24 13:46:02 +00:00
Jayathirth D V
e5d516d182 8241490: Add large text performance tests in RenderPerfTest 2020-03-24 10:46:23 +00:00
Yasumasa Suenaga
545643880c 8241087: Build failure with VS 2019 (16.5.0) due to C2039 and C2873
Reviewed-by: serb
2020-03-23 15:43:55 +09:00
Prasanta Sadhukhan
ef335c75e3 Merge 2020-03-22 09:46:15 +05:30
Phil Race
602d98a72c 8232634: Problem List ICMColorDataTest.java
Reviewed-by: serb, psadhukhan
2020-03-20 22:52:40 -07:00
Prasanta Sadhukhan
672f3a1857 8241291: JCK test javax_swing/text/DefaultStyledDocument/ElementSpec/ESpecCtor.html fails
Reviewed-by: prr
2020-03-21 09:46:44 +05:30
Leonid Mesnik
f778ad2f4b 8241319: WB_GetCodeBlob doesn't have ResourceMark
Reviewed-by: iignatyev, thartmann
2020-03-20 17:37:52 -07:00
Pavel Rappo
17ff85d4ad 8241014: Miscellaneous typos in documentation comments
Reviewed-by: igerasim, prappo, psandoz, rriggs, weijun
2020-03-20 20:54:56 +00:00
Rahul Yadav
c5a7490809 8240921: Minor correction to HttpResponse.BodySubscribers example
The fix updates the incorrect example of the usage of the class java.net.http.HttpResponse.BodySubscribers.

Reviewed-by: chegar, dfuchs, jboes, pconcannon
2020-03-20 20:16:34 +00:00
Yumin Qi
37b7a23317 8241009: CommandLineFlagComboNegative.java fails after JDK-8240563
Jtreg turned off UseCompressedOops and messed up vm flag options of children processes.

Reviewed-by: dholmes, stefank
2020-03-20 09:40:30 -07:00
Xue-Lei Andrew Fan
f67868d917 8219989: Retire the com.sun.net.ssl.internal.ssl.Provider name
Remove the provider name in JDK

Reviewed-by: mullan
2020-03-20 09:27:06 -07:00
Xue-Lei Andrew Fan
d243e40f7b 8241039: Retire the deprecated SSLSession.getPeerCertificateChain() method
Reviewed-by: mullan, alanb, dfuchs
2020-03-20 09:15:00 -07:00
Alexey Ushakov
db88ce172a JDK-8241156: Lanai: JPEG Image does not render 2020-03-20 14:03:41 +00:00
Andrew Haley
2288788e03 Merge 2020-03-20 13:08:20 +00:00
Sergey Bylokhov
b4a3809eaa 8240786: [TESTBUG] The test java/awt/Window/GetScreenLocation/GetScreenLocationTest.java fails on HiDPI screen
Reviewed-by: jdv, pbansal
2020-03-19 22:22:39 -07:00
Andrew Haley
34ae46e2bc 8241296: Segfault in JNIHandleBlock::oops_do()
Reviewed-by: stefank
2020-03-19 14:53:57 +00:00
Jamsheed Mohammed C M
136a1574ec 8237894: CTW: C1 compilation fails with assert(x->type()->tag() == f->type()->tag()) failed: should have same type
Field access instructions hash decalred_type in addition, indexed access instructions hash value type of the instruction in addition.

Reviewed-by: thartmann, shade
2020-03-20 05:19:56 -07:00
Coleen Phillimore
6dffcf7533 8241320: The ClassLoaderData::_is_unsafe_anonymous field is unused in the SA
Remove unused code that is changing in Hotspot for hidden classes.

Reviewed-by: lfoltan, dholmes, sspitsyn
2020-03-20 07:30:52 -04:00
Jia Huang
95d2830361 8240222: [TESTBUG] gtest/jfr/test_networkUtilization.cpp failed when the number of tests is greater than or equal to 2
Reviewed-by: egahlin, mgronlun
2020-03-20 18:52:31 +08:00
Thomas Schatzl
cc83c45595 8240590: Add MemRegion::destroy_array to complement introduced create_array
Reviewed-by: lkorinth, sjohanss
2020-03-20 11:17:45 +01:00
Leonid Mesnik
e7204cbc52 8241123: Refactor vmTestbase stress framework to use j.u.c and make creation of threads more flexible
Reviewed-by: iignatyev, sspitsyn
2020-03-20 00:24:08 -07:00
Kim Barrett
333a832cea 8241001: Improve logging in the ConcurrentGCBreakpoint mechanism
Demoted most breakpoint logging to trace level.

Reviewed-by: pliden, sjohanss
2020-03-20 01:20:37 -04:00
Chris Plummer
104927e514 8241335: ProblemList serviceability/sa/ClhsdbPstack.java due to JDK-8240956
Reviewed-by: mikael
2020-03-19 21:32:57 -07:00
Chris Yin
7ded8b1e30 8241130: com.sun.jndi.ldap.EventSupport.removeDeadNotifier: java.lang.NullPointerException
Reviewed-by: dfuchs
2020-03-20 10:24:46 +08:00
Patricio Chilano Mateo
3f698242a8 8240902: JDI shared memory connector can use already closed Handles
Add refcount to keep track of connection access

Reviewed-by: dholmes, dcubed, sspitsyn
2020-03-20 00:32:29 +00:00
Kim Barrett
b8a2b201b5 8139652: Mutator refinement processing should take the oldest dirty card buffer
Changed mutator refinement to take from queue rather than in-place and reuse.

Reviewed-by: tschatzl, sjohanss
2020-03-19 18:11:52 -04:00
Dean Long
4f629193a9 8241231: Update Graal
Reviewed-by: kvn
2020-03-19 12:29:59 -07:00
Roger Riggs
caa0884400 8241073: Pre-generated Stubs for javax.management, Activation, Naming
Reviewed-by: erikj, ihse, alanb, dfuchs
2020-03-19 15:34:34 -04:00
Phil Race
0f7f181d60 8241233: Typo in problem listing of UIDefaultKeySizeTest.java
Reviewed-by: jdv
2020-03-18 22:27:31 -07:00
Prasanta Sadhukhan
7143a9c581 8241078: OOM error parsing HTML with large <pre> Tag text
Reviewed-by: serb, aivanov
2020-03-19 09:22:37 +05:30
Prasanta Sadhukhan
3340e6f980 8226230: Test javax/swing/JInternalFrame/8020708/bug8020708.java fails on Ubuntu
Reviewed-by: serb
2020-03-19 09:20:06 +05:30
Phil Race
9874e698b8 8241229: Problem list jdk/javax/swing/UIDefaults/8146330/UIDefaultKeySizeTest.java
Reviewed-by: aivanov, serb
2020-03-18 15:48:53 -07:00
Alexey Ushakov
4a9a1708b3 JDK-8241143 Lanai: LinearGradient does not work in AA mode 2020-03-18 12:19:59 +00:00
Tejpal Rebari
1e217e7b8b 8146330: [macosx] UIDefaults.keys() different size than UIDefaults.keySet()
Reviewed-by: pbansal, serb, jdv
2020-03-18 11:38:33 +05:30
Phil Race
c1f7fa2ece 8223935: PIT: java/awt/font/WindowsIndicFonts.java fails on windows10
Reviewed-by: serb, jdv
2020-03-17 17:38:27 -07:00
Evgeny Nikitin
66c8794c81 8168304: Make all of DependencyContext_test available in product mode
Enable the utility inspection function `DependencyContext::is_dependent_method` and therefore the test in the product mode.

Reviewed-by: eosterlund, thartmann
2020-03-17 21:35:26 +01:00
Jonathan Gibbons
32cba67284 8240476: SystemPropertiesWriter does not conform to standard page layout
Reviewed-by: prappo
2020-03-19 11:25:05 -07:00
Chris Plummer
029fea432a 8240543: Update problem list entry for serviceability/sa/TestRevPtrsForInvokeDynamic.java to reference JDK-8241235
Reviewed-by: dholmes
2020-03-19 10:20:45 -07:00
Magnus Ihse Bursie
9dc15f17ea 8241254: Simplify usage of UTIL_DEPRECATED_ARG_ENABLE
Reviewed-by: erikj
2020-03-19 17:17:49 +01:00
Stefan Karlsson
d3bf915030 8241263: JFR: Bump native events limit
Reviewed-by: mgronlun, egahlin
2020-03-19 14:18:27 +01:00
Stefan Karlsson
5695e59a72 8240818: Remove colon from "JFR: Shutdown Hook" thread name
Reviewed-by: mgronlun
2020-03-19 14:17:20 +01:00
Stefan Karlsson
b4e85913bf 8240819: Assign a name to the JfrThreadSampler thread
Reviewed-by: mgronlun
2020-03-19 14:16:28 +01:00
Stefan Karlsson
e2947fe9e8 8240773: JFR: Non-Java threads are not serialized
Reviewed-by: mgronlun
2020-03-19 14:15:29 +01:00
Alexey Ushakov
43bbd51b72 JDK-8238535: Shape Clip does not work with AA rendering 2020-03-17 17:02:50 +00:00
Sergey Bylokhov
72b251d372 8226806: [macOS 10.14] Methods of Java Robot should be called from appropriate thread
Reviewed-by: psadhukhan, prr
2020-03-16 17:33:52 -07:00
Prasanta Sadhukhan
bca2465c94 8236635: JTabbedPane preferred size calculation is wrong for SCROLL_TAB_LAYOUT
Reviewed-by: serb, pbansal
2020-03-16 12:49:08 +05:30
Ambarish Rapte
3a7389f564 8226253: JAWS reports wrong number of radio buttons when buttons are hidden
Reviewed-by: kizune, pbansal
2020-03-15 00:43:54 +05:30
Kiran Sidhartha Ravikumar
fa069be2f2 8161558: ListIterator should not discard cause on exception
Reviewed-by: smarks
2020-03-13 18:38:07 +00:00
Alexander Scherbatiy
cd7d175001 8240604: Rewrite sun/management/jmxremote/bootstrap/CustomLauncherTest.java test to make binaries from source file
Reviewed-by: iignatyev
2020-03-19 14:58:04 +03:00
Roland Westrelin
c9faf88cb7 8240795: [REDO] 8238384 CTW: C2 compilation fails with "assert(store != load->find_exact_control(load->in(0))) failed: dependence cycle found"
Reviewed-by: kvn, thartmann
2020-03-13 16:32:51 +01:00
Alexey Ushakov
c02799eede JDK-8240996: Lanai: rendering artifacts with external GPU 2020-03-13 10:07:41 +00:00
Phil Race
23fda7e41b 8240977: ProblemList failing jtreg tests on macos
Reviewed-by: serb
2020-03-12 17:53:08 -07:00
Alexey Ushakov
6ff6db02e7 JDK-8240573: Texture paint does not work with AA rendering 2020-03-12 20:18:02 +00:00
Sergey Bylokhov
b4863f9dd8 8240633: Memory leaks in the implementations of FileChooserUI
Reviewed-by: pbansal, psadhukhan
2020-03-12 10:00:23 +01:00
Prasanta Sadhukhan
032aeb34e6 JDK-8240926: Do not prevent metal initialisation even if metal suppor… 2020-03-12 06:59:05 +00:00
Sergey Bylokhov
4f1fabd8d0 8238075: [OGL] Delete unused properties
Reviewed-by: kizune
2020-03-11 21:58:16 -07:00
Marc Hoffmann
afe70e6985 8237746: Fixing compiler warnings in src/demo/share/jfc
Reviewed-by: kizune, aivanov
2020-03-12 03:26:04 +01:00
Sergey Bylokhov
f3ef97263f 8040630: Popup menus and tooltips flicker with previous popup contents when first shown
Reviewed-by: kizune, pbansal
2020-03-10 13:58:46 -07:00
Sergey Bylokhov
40f6d697d2 8233573: Toolkit.getScreenInsets(GraphicsConfiguration) may throw ClassCastException
Reviewed-by: prr, jdv
2020-03-10 11:30:33 -07:00
Jayathirth D V
bd78beae15 6532025: GIF reader throws misleading exception with truncated images
Reviewed-by: prr, bpb
2020-03-10 16:07:58 +05:30
Prasanta Sadhukhan
8b636c6a87 8240796: Infinite loop in Diagnostic message code 2020-03-10 10:32:02 +00:00
Prasanta Sadhukhan
26d9a0794c Metal support diagnostics message 2020-03-09 11:53:36 +00:00
Toshio Nakamura
15a838d312 8240518: Incorrect JNU_ReleaseStringPlatformChars in Windows Print
Reviewed-by: serb, pbansal, psadhukhan
2020-03-09 15:07:11 +05:30
Ajit Ghaisas
7744fb099e 8238674: WindowOwnedByEmbeddedFrameTest: sun.java2d.opengl.CGLLayer cannot be cast to sun.java2d.metal.MTLLayer 2020-03-09 09:27:47 +00:00
Alexander Zuev
315635ea09 8176040: Documentation of java.awt.Rectangle.add(java.awt.Point) is wrong
Reviewed-by: serb, prr
2020-03-09 00:18:23 +03:00
Sergey Bylokhov
bce81496ce 8219578: No associated icon for the leaf node of JTree
Reviewed-by: prr, jdv
2020-03-06 14:41:35 -08:00
Claes Redestad
cc9470ece1 8241095: x86: Improve prefix handling in Assembler
Reviewed-by: kvn, thartmann
2020-03-05 16:07:17 +01:00
Christian Hagedorn
a51dd58f38 8240227: Loop predicates should be copied to unswitched loops
Copy loop range check predicates to unswitched loops and update their control edges.

Reviewed-by: kvn, neliasso, thartmann, roland
2020-03-19 10:15:28 +01:00
Jie Fu
dd63eec6e5 8241232: -XX:+BootstrapJVMCI is not compatible with TieredStopAtLevel < CompLevel_full_optimization
Reviewed-by: kvn, thartmann
2020-03-19 16:34:01 +08:00
Matthias Baesken
cadfc3d570 8241064: JFR related tests TestMetaspaceAllocationFailure.java and TestEventInstrumentation.java miss requires tag
Reviewed-by: mseledtsov, mgronlun
2020-03-16 15:11:02 +01:00
Igor Veresov
f1c919f28f 8230290: [JVMCI] Remove unused API entry points
Remove VirtualObject.setIsAutoBox()

Reviewed-by: kvn
2020-03-18 21:49:35 -07:00
Chris Yin
599af2ac26 8202117: com/sun/jndi/ldap/RemoveNamingListenerTest.java fails intermittently: Connection reset
Reviewed-by: dfuchs, vtewari
2020-03-19 11:07:36 +08:00
Jesper Wilhelmsson
c7c8623ed6 Added tag jdk-15+15 for changeset 82b7c62cf4cc 2020-03-19 03:03:55 +01:00
Matthias Neugschwandtner
99546049b3 8235908: omit ThreadPriorityPolicy warning when value is set from image
Reviewed-by: dholmes, clanger, kvn
2020-03-18 15:59:07 -07:00
Andrew M Leonard
44eca823aa 8241097: java/math/BigInteger/largeMemory/SymmetricRangeTests.java requires -XX:+CompactStrings
Reviewed-by: bpb, bchristi
2020-03-17 14:14:27 +00:00
Rafael Winterhalter
9d7f8bc9a0 8202469: (ann) Type annotations on type variable bounds that are also type variables are lost
Reviewed-by: jfranck
2020-03-18 17:07:42 -04:00
Jonathan Gibbons
af28093ed8 Merge 2020-03-18 13:29:02 -07:00
Chris Plummer
9fe762d3c5 8241162: ProblemList serviceability/sa/TestHeapDumpForInvokeDynamic.java on OSX
Reviewed-by: dcubed
2020-03-18 13:24:59 -07:00
Jonathan Gibbons
ea367322f2 8241030: rename HtmlTag to TagName
Reviewed-by: prappo
2020-03-18 13:20:13 -07:00
Doug Simon
34b9ac2287 8236285: [JVMCI] improve TranslatedException traces
Reviewed-by: never, kvn
2020-03-18 13:11:09 -07:00
Vicente Romero
bf54c47471 8240970: Some tests fail when run with JCov
Reviewed-by: jjg
2020-03-18 14:33:05 -04:00
Aleksey Shipilev
700f50f287 8241128: x86_32 build failure after JDK-8241042
Reviewed-by: redestad, kvn
2020-03-18 19:24:42 +01:00
Daniil Titov
b70ef0d2e2 8240711: TestJstatdPort.java failed due to "ExportException: Port already in use:"
Reviewed-by: amenkov
2020-03-18 11:05:11 -07:00
Chris Plummer
c6cec8a8ea 8227340: Modify problem list entry for javax/management/remote/mandatory/connection/MultiThreadDeadLockTest.java
Reviewed-by: dholmes
2020-03-18 10:42:32 -07:00
Chris Plummer
1170981e93 8240906: Update ZGC ProblemList for serviceability/sa/TestJmapCoreMetaspace.java
Reviewed-by: stefank
2020-03-18 10:14:46 -07:00
Mikhailo Seledtsov
0ee7497937 8241033: Create test library utility for getting JFR streaming repository
New method to get JFR streaming repo path

Reviewed-by: egahlin, mgronlun
2020-03-18 09:45:20 -07:00
Tony Printezis
f2fb5c54ae 8239497: SEGV in EdgeUtils::field_name_symbol(Edge const&)
Reviewed-by: egahlin, tonyp
2020-03-18 12:00:19 +01:00
Jesper Wilhelmsson
efb25e5127 Merge 2020-03-18 10:41:26 +01:00
Jesper Wilhelmsson
abc5619317 Added tag jdk-14-ga for changeset bc54620a3848 2020-03-18 10:34:13 +01:00
Ichiroh Takiguchi
d76b0cf705 8232161: Align some one-way conversion in MS950 charset with Windows
MS950 charset encoder's conversion table is changed

Reviewed-by: naoto
2020-03-18 18:04:51 +09:00
Ivan Gerasimov
1d4a4fed43 8214245: Case insensitive matching doesn't work correctly for some character classes
Reviewed-by: rriggs, darcy
2020-03-18 01:04:22 -07:00
Aleksey Shipilev
e827f4ae1c 8241093: Shenandoah: editorial changes in flag descriptions
Reviewed-by: rkennke
2020-03-18 06:28:50 +01:00
Naoto Sato
e5e24ad080 8241082: Upgrade IANA Language Subtag Registry data to 03-16-2020 version
Reviewed-by: joehw
2020-03-17 19:11:10 -07:00
Hai-May Chao
0c9f8e472f 8186143: keytool -ext option doesn't accept wildcards for DNS subject alternative names
Reviewed-by: jnimeh, weijun, mullan
2020-03-18 09:23:57 +08:00
Chris Plummer
a147636157 8238268: Many SA tests are not running on OSX because they do not attempt to use sudo when available
Reviewed-by: sspitsyn, iignatyev
2020-03-17 18:04:59 -07:00
David Holmes
94a6149de5 8241124: Aarch64 build broken by JDK-8239593
Reviewed-by: mikael
2020-03-17 20:54:50 -04:00
David Holmes
f959b01203 8239593: Bogus warning "Re-registering of platform native method" for a JVMTI agent
Reviewed-by: dcubed, alanb, hseigel
2020-03-17 19:57:58 -04:00
Charlie Gracie
c003fffd84 8241122: Remove unimplemented InlineTree constructor definition from parse.hpp
Reviewed-by: kvn
2020-03-17 14:05:12 -07:00
Vladimir Kozlov
6083173f9b 8237045: JVM uses excessive memory with -XX:+EnableJVMCI -XX:JVMCICounterSize=2147483648
Limit JVMCICounterSize flag's value range to 1M

Reviewed-by: thartmann, redestad
2020-03-17 12:42:48 -07:00
Claes Redestad
176192499f 8241042: x86_64: Improve Assembler generation
Reviewed-by: vlivanov, kvn
2020-03-05 16:07:17 +01:00
Vladimir Kozlov
ec5bd02186 8240976: [JVMCI] MethodProfileWidth flag is broken
Remove JVMCI code which is not used

Reviewed-by: thartmann, redestad
2020-03-17 10:38:40 -07:00
Andrew Haley
1a0995981c Merge 2020-03-17 14:13:52 +00:00
Roman Kennke
035100cc89 8241081: Shenandoah: Do not modify update-watermark concurrently
Reviewed-by: shade
2020-03-17 11:49:25 +01:00
Claes Redestad
dbd0f0dc3b 8241077: x86_64: Minor Assembler improvements
Reviewed-by: kvn
2020-03-17 09:36:46 +01:00
Matthias Baesken
6f7a103abc 8240824: enhance print_full_memory_info on Linux by THP related information
Reviewed-by: dholmes, stuefe
2020-03-17 08:53:29 +01:00
Andrew Haley
195361216c 8241018: 32-bit integer log2 functions return the wrong value for negative arguments on 64-bit machines
Reviewed-by: kvn
2020-03-16 17:10:26 +00:00
Naoto Sato
2b4b3d9efc 8240626: Some of the java.time.chrono.Eras return empty display name for some styles and locales
Reviewed-by: joehw
2020-03-16 09:26:01 -07:00
Jie Fu
e746891f96 8241034: Fix a configuring error with "-Xmx2048M: command not found"
Reviewed-by: mikael, erikj
2020-03-16 22:43:44 +08:00
Erik Österlund
21cd75cb98 8240363: Refactor Compile::Output() to its own Phase
Reviewed-by: kvn, vlivanov
2020-03-16 12:27:42 +00:00
Jan Lahoda
6ddb0f2b2c 8240964: Compilation error thrown when long literal used with yield
Ensuring yield followed by a long literal is recognized as a yield statement.

Reviewed-by: mcimadamore
2020-03-16 13:06:35 +01:00
David Holmes
95898e86a1 8241043: Expand assertions to identify thread with errant _stack_base
Reviewed-by: mikael
2020-03-16 02:16:49 -04:00
Nick Gasson
4b978533ca 8240353: AArch64: missing support for -XX:+ExtendedDTraceProbes in C1
Reviewed-by: aph
2020-03-16 10:51:01 +08:00
Vicente Romero
f819e417f9 8235339: test TargetAnnoCombo.java is failing after new target RECORD_COMPONENT was added
Reviewed-by: darcy
2020-03-14 17:08:25 -04:00
Joe Darcy
b019469232 8240130: Improve and update discussion of visitor evolution warnings
Reviewed-by: jjg
2020-03-14 09:53:43 -07:00
Kim Barrett
6ead90568f 8239825: G1: Simplify threshold test for mutator refinement
Compute refinement threshold when values change, not on each use.

Reviewed-by: tschatzl, sangheki
2020-03-13 15:36:50 -04:00
Alex Menkov
3aeb2d1a51 8217441: Failure of ::realloc() should be handled correctly in sawindbg.cpp
Reviewed-by: cjplummer, sspitsyn
2020-03-13 12:25:25 -07:00
Joe Wang
c7e4b2afe2 8240982: Incorrect copyright header in BCEL 6.4.1 sources
Reviewed-by: naoto, lancea
2020-03-13 19:15:32 +00:00
Jonathan Gibbons
afa54b7ed5 8240916: Convert to using hyphenated naming for CSS classes
Reviewed-by: hannesw
2020-03-13 10:57:41 -07:00
Claes Redestad
2b465b1ebf 8241010: Unnecessarily resolving some well-known classes
Reviewed-by: coleenp
2020-03-13 18:43:11 +01:00
Claes Redestad
37629673e7 8241006: Cleanup TemplateInterpreter initialization
Reviewed-by: coleenp
2020-03-13 15:59:27 +01:00
Vicente Romero
afbe2286e2 8239447: compiler error for annotations applied to record components with target METHOD
Reviewed-by: mcimadamore
2020-03-13 10:29:03 -04:00
Per Lidén
9e94572078 8240714: ZGC: TestSmallHeap.java failed due to OutOfMemoryError
Reviewed-by: eosterlund
2020-03-13 14:26:38 +01:00
Weijun Wang
9d502f648c 8240983: Incorrect copyright header in Apache Santuario files
Reviewed-by: mullan
2020-03-13 21:32:27 +08:00
Aditya Mandaleeka
5ed80778bc 8231668: Remove ForceDynamicNumberOfGCThreads
Reviewed-by: shade, tschatzl
2020-03-13 13:22:39 +01:00
Ivan Walulya
5a68ba1339 8240591: G1HeapSizingPolicy attempts to compute expansion_amount even when at full capacity
Reviewed-by: sjohanss, tschatzl
2020-03-13 11:54:47 +01:00
Weijun Wang
05c539c9b4 8240980: Backout JDK-8240261
Reviewed-by: dholmes
2020-03-13 17:45:55 +08:00
Roland Westrelin
2a35bc5aee 8240854: [REDO] some jaotc failures of fastdebug build with specific flags
Reviewed-by: vlivanov, kvn, thartmann
2020-03-11 10:32:07 +01:00
Jie Fu
a8b4801859 8240846: Zero VM is broken after JDK-8238681: UseSSE not defined
Reviewed-by: shade, rehn, vlivanov
2020-03-13 17:01:16 +08:00
Calvin Cheung
38940d166a 8238000: Crash in ClassLoader::record_result while dynamic dumping netty
Make a copy of the _shared_path_table for use during dynamic CDS dump.

Reviewed-by: iklam, minqi
2020-03-12 16:05:07 -07:00
Valerie Peng
0610992a8f 8238566: java.security.Provider$Service.supportsParameter() is racy
Use double-checked-locking pattern inside the hasKeyAttributes() method

Reviewed-by: xuelei
2020-03-12 22:11:49 +00:00
Jonathan Gibbons
2eaeb20697 8240555: Using env of JAVA_TOOL_OPTIONS and _JAVA_OPTIONS breaks QuietOption.java test
Reviewed-by: shurailine, prappo
2020-03-12 14:14:29 -07:00
Jonathan Gibbons
5bc78c438b 8240971: Fix CSS styles in some doc comments
Reviewed-by: mchung
2020-03-12 13:56:55 -07:00
Junyuan Zheng
e30b89e138 8240972: macOS codesign fail on macOS 10.13.5 or older
Reviewed-by: erikj, ihse
2020-03-12 12:55:19 -07:00
Mandy Chung
e9494f2155 8240242: improve the javadoc for Lookup::dropLookupModes w.r.t. dropping UNCONDITIONAL
Reviewed-by: chegar, rriggs
2020-03-12 11:56:49 -07:00
Mandy Chung
d5d6dc0caa 8228336: Refactor native library loading implementation
Reviewed-by: alanb, dholmes
2020-03-12 11:54:11 -07:00
Magnus Ihse Bursie
36fac8c332 8240950: Missing AC_SUBST after JDK-82408
Reviewed-by: erikj
2020-03-12 19:43:09 +01:00
Magnus Ihse Bursie
ed8c11e0d1 8149110: Introduce DISABLED_WARNINGS for Java compilation
Reviewed-by: erikj
2020-03-12 19:42:06 +01:00
Magnus Ihse Bursie
3aceb74ac9 8240947: Change conflicting JVM features from warning to error
Reviewed-by: erikj
2020-03-12 19:40:44 +01:00
Daniel Fuchs
58337b12f8 8059309: network tests fail with "java.net.SocketException: Couldn't obtain phys addr" when run as "root"
The solaris specific code is changed to use the fallback mechanism if the DLPI interface returns an error indicating that the operation is unsupported. In addition, NetworkInterface::getHardwareAddress is changed to always return null for the loopback interface.

Reviewed-by: alanb
2020-03-12 18:31:49 +00:00
Aleksey Shipilev
3ee99ca1d7 8240948: Shenandoah: cleanup not-forwarded-objects paths after JDK-8240868
Reviewed-by: rkennke
2020-03-12 18:50:18 +01:00
Patrick Concannon
de5208e3c0 Merge 2020-03-12 17:20:55 +00:00
Zhengyu Gu
71e1277fb3 8240917: Shenandoah: Avoid scanning thread code roots twice in all root scanner
Reviewed-by: rkennke
2020-03-12 13:08:40 -04:00
Patrick Concannon
0ed44d0aee 8239355: (dc) Initial value of SO_SNDBUF should allow sending large datagrams (macOS)
Updates DatagramChannel so that the SO_SNDBUF is set to a minimum value of 65527 for IPv6 sockets and 65507 for IPv4 sockets on macOS.

Reviewed-by: alanb, dfuchs
2020-03-12 17:08:09 +00:00
Roman Kennke
e5ab701157 8240873: Shenandoah: Short-cut arraycopy barriers
Reviewed-by: shade
2020-03-12 17:52:47 +01:00
Roman Kennke
70e730fd5c 8240872: Shenandoah: Avoid updating new regions from start of evacuation
Reviewed-by: shade
2020-03-12 17:52:10 +01:00
Yumin Qi
90a39195c1 8240563: [TESTBUG] WB_IsCDSIncludedInVmBuild should support uncompressed oops/klasses
With 8232069, CDS works with uncompressed oops/kalsses, detecting CDS code no longer bases on the two flags.

Reviewed-by: iklam
2020-03-12 09:07:11 -07:00
Roger Riggs
c68e15c0c3 8240957: Clarify BadAttributeValueExpException readObject method
Reviewed-by: bpb
2020-03-12 11:57:35 -04:00
Roger Riggs
fee69babbd 8240704: CheckHandles.java failed "AssertionError: Handle use increased by more than 10 percent."
Reviewed-by: dfuchs
2020-03-12 11:54:39 -04:00
Naoto Sato
eeaafbe141 8216332: Grapheme regex does not work with emoji sequences
Reviewed-by: rriggs
2020-03-12 08:31:26 -07:00
Prasanta Sadhukhan
f66a1f1263 8233314: LCD Text rendering implementation with glyph cache 2020-03-04 10:50:14 +00:00
Kevin Rushforth
bc73e009cc 8240328: Update .jcheck/conf for lanai 2020-03-03 19:05:51 +00:00
Pankaj Bansal
e70ee3dcf7 8231042: [macos] JFileChooser creates new folder on ESC
Reviewed-by: serb, psadhukhan
2020-03-03 18:26:57 +05:30
Pankaj Bansal
23def435d4 8239902: Remove direct usage of JSlider, JProgressBar classes in CAccessible class
Reviewed-by: serb
2020-03-03 17:49:58 +05:30
Pankaj Bansal
c2867d6577 8204161: [TESTBUG] auto failed with the "Applet thread threw exception: java.lang.UnsupportedOperationException" exception
Reviewed-by: serb
2020-03-03 17:37:04 +05:30
Prasanta Sadhukhan
6b45504934 Merge 2020-03-03 14:45:47 +05:30
Prasanta Sadhukhan
26a7b0dddd Merge 2020-03-03 13:31:33 +05:30
Sergey Bylokhov
9d0a4875d7 8238936: The crash in XRobotPeer when the custom GraphicsDevice is used
Reviewed-by: kizune
2020-03-03 03:46:11 +00:00
David Holmes
c42de93347 8238676: jni crashes on accessing it from process exit hook
Reviewed-by: fparain, gziemski
2020-03-02 19:49:42 -05:00
Sergey Bylokhov
70e2c013d7 8235153: [TESTBUG] [macos 10.15] java/awt/Graphics/DrawImageBG/SystemBgColorTest.java fails
Reviewed-by: aivanov
2020-03-02 23:35:50 +00:00
Mikhailo Seledtsov
35ee1cb2b3 8236938: [TESTBUG] JFR event MetaspaceAllocationFailure is not tested
New test for MetaspaceAllocationFailure

Reviewed-by: hseigel, stuefe
2020-03-02 12:16:18 -08:00
Christoph Langer
78d35f1435 8239149: Cleanups in SunFontManager.java and TrueTypeFont.java
Reviewed-by: prr
2020-03-02 21:04:48 +01:00
Kim Barrett
96b61b8f4b 8240246: Avoid cast_to_oop from char*
Change type of gtest object from char[] to unsigned char[].

Reviewed-by: dholmes
2020-03-02 14:45:52 -05:00
Lois Foltan
c280d98e80 8237766: Enhance signature API to include ResolvingSignatureStream
New ResolvingSignatureStream class provides the capability to easily walk through the differing parts of a signature while resolving or querying its underlying types.

Co-authored-by: John Rose <john.r.rose@oracle.com>
Reviewed-by: coleenp, fparain, hseigel
2020-03-02 18:42:22 +00:00
Patrick Concannon
e455d382e7 8234812: Add micros for DatagramChannel send/receive
Benchmarks for the DatagramChannel::send and DatagramChannel::receive methods

Reviewed-by: alanb, chegar
2020-03-02 16:47:51 +00:00
Harold Seigel
6bb0536293 8239568: [TESTBUG] LoadLibraryTest.java fails with RuntimeException
Throw jtreg.SkippedException instead of failing if shared library isn't unloaded

Reviewed-by: coleenp, lmesnik
2020-03-02 16:10:01 +00:00
Prasanta Sadhukhan
ff5966de7f 8233312: LCD text rendering implementation without glyph cache
First character of a string is rendered without artifact. Subsequent characters are rendered but not in same contrast as first chatacter.
2020-03-02 16:08:47 +05:30
Prasanta Sadhukhan
65bf61852f Merge 2020-03-02 10:50:33 +05:30
Jayathirth D V
6ab1ed5817 Merge 2020-03-02 09:26:25 +05:30
Ioi Lam
0532bd23cd 8240267: VM fails to start with CDS enabled but JVMTI disabled
Reviewed-by: dholmes
2020-03-01 17:36:03 -08:00
Sergey Bylokhov
5e912fbec5 8240202: A few client tests leave mouse buttons pressed
Reviewed-by: prr
2020-02-28 16:49:10 -08:00
Alexey Ushakov
075e1321e3 8240234: Improve performance of bulk MTLRenderer_FillAAParallelogram ops 2020-02-28 19:47:31 +03:00
Ajit Ghaisas
6a57e1fd9c 8233226: Implement XOR Mode rendering option
XOR Mode rendering support for primitive rendering and text rendering.
2020-02-28 15:59:05 +05:30
Alexey Ushakov
2e6bdc171a 8240176: Lanai: MTLPaint copyFrom - incorrect color handling 2020-02-27 15:44:44 +03:00
Sergey Bylokhov
55768aa45d 8239583: [AIX] simplify the native references in X input methods
Reviewed-by: clanger, itakiguchi
2020-02-27 09:49:33 +00:00
Kun Wang
742bdf003e 8239915: Zero VM crashes when handling dynamic constant
Reviewed-by: dholmes
2020-02-26 17:32:04 +08:00
Lin Zang
0a820d6d21 8239916: SA: delete dead code in jdk.hotspot.agent/share/classes/sun/jvm/hotspot/oops/ObjectHeap.java
Reviewed-by: stefank
2020-02-29 14:43:09 +08:00
Yumin Qi
5bfb8146e9 8240258: SystemDictionary::quick_resolve need guarded by INCLUDE_CDS
Supplemental fix for 8236604 to guard SystemDictionary::quick_resolve with CDS

Reviewed-by: iklam, ccheung
2020-02-28 19:29:11 -08:00
Jie Fu
f176fae840 8240254: Build is broken when cds is disabled after JDK-8236604
Reviewed-by: redestad
2020-02-29 09:38:12 +08:00
Yumin Qi
add146cc8b 8236604: Optimize SystemDictionary::resolve_well_known_classes for CDS
Serialize SystemDictionary::_well_known_classes into CDS and quickly resolve them at runtime in vm startup stage.

Reviewed-by: iklam, coleenp
2020-02-28 15:30:29 -08:00
Leonid Mesnik
b247e6d908 8203239: [TESTBUG] remove vmTestbase/vm/gc/kind/parOld test
Reviewed-by: lkorinth, shade
2020-02-28 13:21:01 -08:00
Jonathan Gibbons
1be89d9640 8240136: Cleanup/simplify HTML/CSS for definition lists
Reviewed-by: prappo
2020-02-28 12:46:58 -08:00
Volker Simonis
b38f3cf3bd 8240226: DeflateIn_InflateOut.java test incorrectly assumes size of compressed file
Reviewed-by: martin, alanb
2020-02-28 19:49:39 +01:00
Aleksey Shipilev
8a79f26795 8240217: Shenandoah: remove ShenandoahEvacAssist
Reviewed-by: rkennke
2020-02-28 17:59:52 +01:00
Aleksey Shipilev
6ad1db40d8 8240216: Shenandoah: remove ShenandoahTerminationTrace
Reviewed-by: zgu
2020-02-28 17:59:51 +01:00
Aleksey Shipilev
5afeeed5b2 8240215: Shenandoah: remove ShenandoahAllocationTrace
Reviewed-by: rkennke
2020-02-28 17:59:50 +01:00
Lutz Schmidt
637795e0a7 8239931: [win][x86] vtable stub generation: assert failure (code size estimate) follow-up
Reviewed-by: mdoerr
2020-02-28 16:36:47 +01:00
Peter Tribble
0cd6d13b24 8240231: Build failure on illumos after 8238988
Add missing cast

Reviewed-by: dcubed, shade
2020-02-28 10:16:44 -05:00
Christian Hagedorn
bd25c0e01a 8239852: java/util/concurrent tests fail with -XX:+VerifyGraphEdges: assert(!VerifyGraphEdges) failed: verification should have failed
Remove an assertion which was too strong for some valid IRs when running with -XX:+VerifyGraphEdges

Reviewed-by: neliasso, thartmann
2020-02-28 15:33:44 +01:00
Magnus Ihse Bursie
290c21f067 8239799: Cross-compilation ARM32/AARCH clientvm builds fails after JDK-8239450
Reviewed-by: erikj
2020-02-28 09:53:18 +01:00
Xue-Lei Andrew Fan
0ab5b968fb 8240193: loadLibrary("osxsecurity") should not be removed
Reviewed-by: ascarpino
2020-02-27 21:14:59 -08:00
Chris Plummer
511501048c 8193237: SA: ClhsdbLauncher should show the command being executed
Reviewed-by: sspitsyn, amenkov
2020-02-27 13:57:33 -08:00
Chris Plummer
3a5ee7b422 8239379: ProblemList serviceability/sa/sadebugd/DebugdConnectTest.java on OSX
Reviewed-by: sspitsyn
2020-02-27 13:52:49 -08:00
Chris Plummer
518f1f9a6e 8240142: Fix copyright in ThreadGroupReferenceImpl.h
Reviewed-by: dholmes
2020-02-27 13:51:04 -08:00
Jonathan Gibbons
39d75e894b 8239804: Cleanup/simplify HTML/CSS for general block tags
Reviewed-by: prappo, hannesw
2020-02-27 12:16:03 -08:00
Bradford Wetmore
4a951001b5 8239815: Update ECC legal file
Reviewed-by: mullan
2020-02-27 11:48:18 -08:00
Joe Darcy
ed62024978 8225495: Note whether returned annotations are declaration annotations or type annotations
Reviewed-by: jjg
2020-02-27 10:30:08 -08:00
Zhengyu Gu
efdc0037b8 8239354: Shenandoah: minor enhancements to traversal GC
Reviewed-by: rkennke
2020-02-27 12:17:31 -05:00
Daniel D. Daugherty
882633a738 8239873: [TESTBUG] FieldLayout/OldLayoutCheck.java fails after the fix for JDK-8239503
Don't run the test with -XX:-UseCompressedOops.

Reviewed-by: fparain, hseigel
2020-02-27 11:34:48 -05:00
Zhengyu Gu
5551d3d888 8237632: Shenandoah: accept NULL fwdptr to cooperate with JVMTI and JFR
Reviewed-by: shade, rkennke
2020-02-26 15:32:25 -05:00
Harold Seigel
a1e9328367 8235225: Replace CHECK_0 with CHECK_NULL for non-integer returning methods
Change CHECK_0 to CHECK_NULL and CHECK_false where appropriate

Reviewed-by: mikael, dholmes, coleenp
2020-02-27 13:00:05 +00:00
Nils Eliasson
2ba0575cea 8239878: Bug in PrintEliminateAllocations code causes TestClhsdbJstackLock.java to fail
Reviewed-by: shade
2020-02-27 13:11:06 +01:00
Rahul Raghavan
c8ed0128c2 8235995: Remove src/jdk.internal.vm.compiler/.mx.graal directory
Removed src/jdk.internal.vm.compiler/.mx.graal directory and files

Reviewed-by: dlong
2020-02-27 16:06:43 +05:30
Amy Lu
67ba91ba52 8239979: sun/security/tools/keytool/ExtOptionCamelCase.java is not run
Reviewed-by: rhalade
2020-02-27 12:19:24 +08:00
David Holmes
eef5ef88b3 8240141: Incorrect copyright header in src/hotspot/os_cpu/linux_sparc/os_linux_sparc.cpp
Reviewed-by: iignatyev
2020-02-26 23:10:57 -05:00
Jesper Wilhelmsson
52fe584c5a Added tag jdk-15+12 for changeset 2ec0ff304263 2020-02-27 03:10:23 +01:00
Daniel D. Daugherty
530d53f84e 8240135: ProblemList vmTestbase/vm/mlvm/meth/stress/compiler/deoptimize/Test.java#id1
Reviewed-by: iignatyev, dholmes
2020-02-26 19:41:39 -05:00
Daniel D. Daugherty
cea9a9b8ce 8240134: ProblemList javax/script/Test7.java
Reviewed-by: dholmes
2020-02-26 19:39:32 -05:00
Daniel D. Daugherty
be1007cfaf 8240132: ProblemList com/sun/jdi/InvokeHangTest.java
Reviewed-by: mikael
2020-02-26 19:33:14 -05:00
Sergei Tsypanov
f729514ebd 8240094: Optimize empty substring handling
Reviewed-by: redestad, igerasim, jlaskey
2020-02-26 21:24:02 +01:00
Kim Barrett
257de28b2c 8238979: Improve G1DirtyCardQueueSet handling of previously paused buffers
Move enqueuing of previously paused buffers.

Reviewed-by: sangheki, sjohanss
2020-02-26 14:36:01 -05:00
Aleksey Shipilev
6913bbc200 8240076: Shenandoah: pacer should cover reset and preclean phases
Reviewed-by: zgu
2020-02-26 19:36:56 +01:00
Aleksey Shipilev
d26dadef43 8240070: Shenandoah: remove obsolete ShenandoahCommonGCStateLoads
Reviewed-by: rkennke
2020-02-26 19:36:50 +01:00
Aleksey Shipilev
331f492ad5 8240069: Shenandoah: turn more flags diagnostic
Reviewed-by: rkennke
2020-02-26 19:36:43 +01:00
Igor Ignatyev
b09add641b 8239500: jittester shouldn't use non-deterministic System methods
Reviewed-by: lmesnik, thartmann
2020-02-26 10:09:40 -08:00
Pavel Rappo
e8c32ccb2f 8239876: Improve SearchIndexItem
Reviewed-by: jjg
2020-02-26 15:34:04 +00:00
Ravi Reddy
9b12c80e21 8238452: Keytool generates wrong expiration date if validity is set to 2050/01/01
Reviewed-by: pkoppula, weijun, coffeys
2020-02-26 18:06:19 +03:00
Xin Liu
b08595d844 8239066: make LinkedList<T> more generic
Reviewed-by: phh, simonis
2020-02-26 12:35:43 +01:00
Alexey Ivanov
fa7f53ee93 8235147: Release HDC from passiveDCList sooner
Reviewed-by: serb, jdv
2020-02-25 20:00:24 +00:00
Zhengyu Gu
b4ff6abe63 8239926: Shenandoah: Shenandoah needs to mark nmethod's metadata
Reviewed-by: rkennke, shade
2020-02-25 12:01:35 -05:00
Erik Österlund
8b73900222 8241074: JDK-8240363 broke the build on AArch64
Reviewed-by: shade
2020-03-16 17:13:56 +00:00
Severin Gehwolf
add18914fb 8239785: Cgroups: Incorrect detection logic on old systems in hotspot
Return NULL subsystem if no cgroup controllers are mounted.

Reviewed-by: bobv, mbaesken
2020-02-25 12:17:26 +01:00
Vladimir Ivanov
48c48b7a85 8238696: x86: Enumerate all detected CPU features in VM_Version feature string
Reviewed-by: dholmes, kvn
2020-03-12 16:42:03 +03:00
Zhengyu Gu
1f189228b6 8240915: Shenandoah: Remove unused fields in init mark tasks
Reviewed-by: rkennke
2020-03-12 09:25:08 -04:00
Yudi Zheng
21d3eaf587 8240831: [JVMCI] Export missing vmStructs entries used by JVMCI compilers
Reviewed-by: kvn, thartmann
2020-03-12 13:20:53 +01:00
Claes Redestad
d49cf17db0 8240669: Devirtualize Relocation::type
Reviewed-by: rbackman, thartmann
2020-03-05 16:07:17 +01:00
Claes Redestad
7fe46b2464 8240772: x86_64: Pre-generate Assembler::popa, pusha and vzeroupper
Reviewed-by: iklam, kvn
2020-03-12 13:07:21 +01:00
Richard Reingruber
c5bd0d7934 8234146: compiler/jsr292/ContinuousCallSiteTargetChange.java times out on SPARC
Reviewed-by: vlivanov, thartmann
2020-03-12 11:51:00 +01:00
Weijun Wang
0368e41c12 8240261: Use make/templates/gpl-cp-header in FieldGen.java
Reviewed-by: erikj
2020-03-12 18:21:59 +08:00
Kelvin Nilsen
19e02810db 8225216: gc/logging/TestMetaSpaceLog.java doesn't work for Shenandoah
Reviewed-by: shade
2020-03-12 06:47:17 +01:00
Ioi Lam
b0f32c4431 8240548: [TESTBUG] CDS NoClassToArchive.java fails with Graal
Reviewed-by: dholmes, mchung
2020-03-11 21:37:45 -07:00
Jesper Wilhelmsson
92686e1add Added tag jdk-15+14 for changeset 1d6ceb13e142 2020-03-12 03:10:32 +01:00
Yasumasa Suenaga
069d9e792e 8234624: jstack mixed mode should refer DWARF
Reviewed-by: sspitsyn, kevinw
2020-03-12 09:23:05 +09:00
Jonathan Gibbons
5b9a09cb9c 8240138: Cleanup HtmlTree
Reviewed-by: prappo
2020-03-11 15:46:17 -07:00
Magnus Ihse Bursie
6b487c3cfe 8240866: Typo in JDK-8240820 messes up configure --help
Reviewed-by: erikj
2020-03-11 22:25:18 +01:00
Alex Menkov
5531199db4 8240340: java/lang/management/ThreadMXBean/Locks.java is buggy
Reviewed-by: dholmes, sspitsyn
2020-03-11 13:39:27 -07:00
Serguei Spitsyn
db69852ac2 8240881: [BACKOUT] 8222489 jcmd VM.system_properties gives unusable paths on Windows
Undo the 8222489 changeset

Reviewed-by: dcubed, iklam
2020-03-11 20:28:43 +00:00
Pavel Rappo
8c6649dea0 8239487: Better links generation for system properties found in HTML files
8239485: Define behavior of the System Properties page when no system properties are available

Reviewed-by: jjg
2020-03-11 17:09:10 +00:00
Adam Sotona
5b323a8656 8230117: Remove unused JAR tool classes
Reviewed-by: lancea, clanger
2020-03-11 12:30:23 -04:00
Alexey Bakhtin
14e37ba3df 8239798: SSLSocket closes socket both socket endpoints on a SocketTimeoutException
Reviewed-by: xuelei
2020-03-11 19:14:08 +03:00
Andrew Haley
6275aee690 Merge 2020-03-11 15:02:09 +00:00
Aleksey Shipilev
eb974fad6d 8240868: Shenandoah: remove CM-with-UR piggybacking cycles
Reviewed-by: rkennke, zgu
2020-03-11 14:17:52 +01:00
Vipin Sharma
d778097371 8240524: Remove explicit type argument in test jdk/java/lang/Boolean/MakeBooleanComparable.java
Reviewed-by: clanger, vtewari
2020-03-11 13:50:13 +01:00
Andrew Haley
0992e17b97 8240829: Use a fast O(1) algorithm for exact_log2
Reviewed-by: jrose, redestad
2020-03-11 12:38:57 +00:00
Andrew Haley
661c073594 8240615: is_power_of_2() has Undefined Behaviour and is inconsistent
Reviewed-by: jrose, redestad
2020-03-10 10:49:01 -04:00
Stefan Karlsson
534331f0a1 8240532: heap inspection prints trailing @ after name of module without version
Reviewed-by: lfoltan
2020-03-04 18:08:09 +01:00
Stefan Karlsson
43e0fc04b0 8240529: CheckUnhandledOops breaks NULL check in Modules::define_module
Reviewed-by: coleenp, lfoltan, hseigel
2020-03-04 15:50:49 +01:00
Stefan Karlsson
593a05c93a 8240530: CheckUnhandledOops breaks BacktraceBuilder::set_has_hidden_top_frame
Reviewed-by: coleenp, dholmes
2020-03-04 15:50:51 +01:00
Erik Helin
1c1acb4757 8237566: FindTests.gmk should only include existing TEST.ROOT files
Reviewed-by: erikj
2020-03-10 16:58:29 +01:00
Magnus Ihse Bursie
441e16e2db 8240820: Replace AC_ARG_ENABLE with UTIL_ARG_ENABLE
Reviewed-by: erikj
2020-03-11 08:34:14 +01:00
Yasumasa Suenaga
99b28daf56 8240725: Some functions might not work with CJK character
Reviewed-by: naoto
2020-03-11 13:14:40 +09:00
Weijun Wang
80ca356e7e 8239928: ec/ECDSAJavaVerify.java failed due to timeout
Reviewed-by: valeriep
2020-03-11 10:33:33 +08:00
Chihiro Ito
08c3b1fc8f 8222489: jcmd VM.system_properties gives unusable paths on Windows
Reviewed-by: sspitsyn, ysuenaga
2020-03-07 23:08:33 +09:00
Adam Sotona
5eef59d22d 8235216: typo in test filename
Renamed MutliReleaseModuleInfoTest.java to MultiReleaseModuleInfoTest.java

Reviewed-by: jjg
2020-03-10 17:33:37 +01:00
Jonathan Gibbons
0fd2ac701f 8240697: convert builders to high-level Content blocks
Reviewed-by: prappo
2020-03-10 14:46:28 -07:00
Vladimir Kozlov
39ab073173 8240830: [BACKOUT] 8240195: some jaotc failures of fastdebug build with specific flags
Reviewed-by: dcubed
2020-03-10 14:39:39 -07:00
Yumin Qi
53c6887a3d 8240840: Rollback whitebox.cpp in push 8240691
Whitebox.cpp should not change in 8240691, which is accidentally included.

Reviewed-by: iklam, ccheung
2020-03-10 14:37:37 -07:00
Yudi Zheng
75632a6df2 8240610: [JVMCI] Export VMVersion::_has_intel_jcc_erratum to JVMCI compiler
Reviewed-by: kvn, thartmann
2020-03-10 21:48:43 +01:00
Yumin Qi
0e3529ad10 8240691: ClhsdbCDSJstackPrintAll incorrectly thinks CDS is in use
Fix by checking "UseSharedSpaces = false" for CDS enabled.

Reviewed-by: iklam
2020-03-10 11:52:53 -07:00
Vladimir Ivanov
02916dbb0b 8239009: C2: Don't use PSHUF to load scalars from memory on x86
Reviewed-by: kvn, dlong
2020-03-10 20:51:09 +03:00
Vladimir Ivanov
1dcd3d2c50 8239008: C2: Simplify Replicate support for sub-word types on x86
Reviewed-by: kvn
2020-03-10 20:51:08 +03:00
Vladimir Ivanov
072cfd2e48 8238681: Make -XX:UseSSE flag x86-specific
Reviewed-by: dholmes, kvn
2020-03-10 20:51:07 +03:00
Erik Gahlin
8208b9ce32 8240778: JFR: Create timer task lazily
Reviewed-by: mgronlun, mseledtsov
2020-03-10 18:39:16 +01:00
Roland Westrelin
42ff13ab82 8240195: some jaotc failures of fastdebug build with specific flags
Reviewed-by: kvn, thartmann
2020-03-09 09:42:30 +01:00
Dongbo He
f4b5488181 8240734: ModuleHashes attribute not reproducible between builds
Reviewed-by: alanb
2020-03-09 18:21:58 +08:00
Markus Grönlund
aac5b27b6a 8238180: RunThese30M failed "assert(t->jfr_thread_local()->shelved_buffer() == __null) failed: invariant"
Reviewed-by: egahlin
2020-03-10 15:44:59 +01:00
John Jiang
edaf548beb 8238740: java/net/httpclient/whitebox/FlowTestDriver.java would not specify a TLS protocol
Reviewed-by: dfuchs
2020-03-10 21:43:46 +08:00
Ivan Walulya
d49eb0d9a7 8240668: G1 list of all PerRegionTable does not have to be a double linkedlist any more
Reviewed-by: kbarrett, tschatzl
2020-03-10 10:19:34 +01:00
Roland Westrelin
43e0165eea 8240794: [BACKOUT] 8238384 CTW: C2 compilation fails with "assert(store != load->find_exact_control(load->in(0))) failed: dependence cycle found"
Reviewed-by: thartmann
2020-03-10 10:45:01 +01:00
Aditya Mandaleeka
d112950b5b 8230853: Shenandoah: replace leftover assert(is_in(...)) with rich asserts
Reviewed-by: shade
2020-03-09 22:41:11 +01:00
Aleksey Shipilev
9722dfc9bc 8240750: Shenandoah: remove leftover files and mentions of ShenandoahAllocTracker
Reviewed-by: rkennke
2020-03-09 22:41:04 +01:00
Aleksey Shipilev
2ba5ed53d6 8240749: Shenandoah: refactor ShenandoahUtils
Reviewed-by: rkennke
2020-03-09 22:40:55 +01:00
Erik Gahlin
f09cda2c70 8239584: EventStream::close should state that stream will be stopped
Reviewed-by: mgronlun, mseledtsov
2020-03-09 21:43:01 +01:00
Erik Gahlin
672992f6ac 8222000: JFR: Process start event
Reviewed-by: mgronlun, rriggs
2020-03-09 21:25:38 +01:00
Naoto Sato
123ac07064 8239836: ZoneRules.of() doesn't check transitionList/standardOffsetTL arguments validity
Reviewed-by: rriggs, joehw, scolebourne
2020-03-09 13:20:45 -07:00
Daniel Fuchs
5c8f935641 8240754: Instrument FlowTest.java to provide more debug traces
Reviewed-by: chegar
2020-03-09 17:48:40 +00:00
Henry Jen
dc17821807 8240629: argfiles parsing broken for argfiles with comment cross 4096 bytes chunk
Reviewed-by: alanb, mchung
2020-03-06 13:48:16 -08:00
Dongbo He
aa2be1141d 8240576: JVM crashes after transformation in C2 IdealLoopTree::merge_many_backedges
Reviewed-by: kvn
2020-03-09 22:31:12 +08:00
Mario Torre
e0fec43a9b 8240738: nested comment in JVM.java and other minor formatting errors
Reviewed-by: egahlin
2020-03-09 14:57:41 +01:00
Kevin Walls
a11912ca06 8240295: hs_err elapsed time in seconds is not accurate enough
Reviewed-by: dholmes, sspitsyn
2020-03-09 12:54:53 +00:00
Aditya Mandaleeka
3ff8eff804 8220503: Move ShenandoahTerminatorTerminator::should_exit_termination out of header
Reviewed-by: rkennke
2020-03-09 12:29:13 +01:00
Roland Westrelin
b58c8601bb 8239335: C2: assert((Value(phase) == t) || (t != TypeInt::CC_GT && t != TypeInt::CC_EQ)) failed: missing Value() optimization
Reviewed-by: kvn, thartmann
2020-03-05 15:56:49 +01:00
Kim Barrett
1c1fb44ac1 8240722: [BACKOUT] G1DirtyCardQueue destructor has useless flush
Backout JDK-8240133

Reviewed-by: sjohanss
2020-03-09 04:06:37 -04:00
Rajan Halade
ba2e4178ce 8240686: 70 security tests are failing on Windows due to "Fetch artifact failed"
Reviewed-by: xuelei
2020-03-09 00:45:01 -07:00
Ioi Lam
046dcdc0bc 8240613: InstanceKlass::set_init_state failed with assert(good_state || state == allocated)
Reviewed-by: dcubed
2020-03-08 15:06:27 -07:00
Kim Barrett
7806ca1477 8240133: G1DirtyCardQueue destructor has useless flush
Removed useless call to flush.

Reviewed-by: tschatzl, sjohanss
2020-03-08 17:33:48 -04:00
Ichiroh Takiguchi
3d9dddd658 8239965: XMLEncoder/Test4625418.java fails due to "Error: Cp943 - can't read properly"
Cp943 and x-IBM943 should skip on XMLEncoder/Test4625418.java

Reviewed-by: naoto
2020-03-08 15:15:38 +09:00
Boris Ulasevich
d0e44e5bb4 8239514: Build for arm-linux-gnueabihf fails with undefined reference read_polling_page
Reviewed-by: dsamersoff, dholmes
2020-03-07 16:27:00 +03:00
Vyom Tewari
ff8e7d4087 8238579: HttpsURLConnection drops the timeout and hangs forever in read
HttpsURLConnection drops the timeout and hangs forever in read

Reviewed-by: dfuchs
2020-03-07 18:35:20 +05:30
Jie Fu
f222cb8b8c 8240695: Build is broken when cds is disabled after JDK-8232081
Reviewed-by: iklam
2020-03-07 14:42:55 +08:00
Jonathan Gibbons
c46623d071 8240137: Support chained use of Content.add
Reviewed-by: hannesw
2020-03-06 18:03:09 -08:00
Mikael Vidstedt
c203cebcdf 8240535: Add additional linux-aarch64 jib profiles
Reviewed-by: erikj
2020-03-06 17:33:07 -08:00
Kim Barrett
9f334a1640 8240239: Replace ConcurrentGCPhaseManager
Replace ConcurrentGCPhaseManager with ConcurrentGCBreakpoints

Co-authored-by: Per Liden <per.liden@oracle.com>
Reviewed-by: kbarrett, pliden, sangheki
2020-03-06 18:42:13 -05:00
Calvin Cheung
9e2ab1e363 8232081: Try to link all classes during dynamic CDS dump
During CDS dynamic dump, link all classes loaded by the builtin class loaders in JVM_BeforeHalt() and JavaThread::invoke_shutdown_hooks().

Reviewed-by: iklam, dholmes
2020-03-06 15:33:13 -08:00
Roman Kennke
8c1204de6b 8240315: Shenandoah: Rename ShLBN::get_barrier_strength()
Reviewed-by: shade
2020-03-06 21:51:32 +01:00
Roger Riggs
375d0c1325 8239893: Windows handle Leak when starting processes using ProcessBuilder
Reviewed-by: bpb, naoto
2020-03-06 13:52:35 -05:00
Brian Burkhalter
e2f4319171 4617266: (se spec) SelectionKey.OP_READ/OP_WRITE documentation errors
Reviewed-by: lancea, alanb, darcy
2020-03-06 10:34:31 -08:00
Sean Mullan
f87ebd9e5d 8240684: ProblemList 70 security tests that are failing on Windows due to "Fetch artifact failed"
Reviewed-by: xuelei, stsmirno, dcubed
2020-03-06 13:17:03 -05:00
Aleksey Shipilev
d8bded6fb4 8240671: Shenandoah: refactor ShenandoahPhaseTimings
Reviewed-by: rkennke, zgu
2020-03-06 17:03:42 +01:00
Severin Gehwolf
c92adf4158 8240189: [TESTBUG] Some cgroup tests are failing after JDK-8231111
Reviewed-by: mbaesken, bobv
2020-02-24 19:03:34 +01:00
Ralf Schmelter
14c098610a 8240440: Implement get_safepoint_workers() for parallel GC
Reviewed-by: tschatzl, kbarrett
2020-03-06 16:19:32 +01:00
Ivan Walulya
f0cd9dd5c4 8240592: HeapRegionManager::rebuild_free_list logs 0s for the estimated free regions before
Reviewed-by: sjohanss, kbarrett
2020-03-06 14:10:41 +01:00
Aditya Mandaleeka
95a497ae9f 8236981: Remove ShenandoahTraversalUpdateRefsClosure
Reviewed-by: shade, rkennke
2020-03-06 13:41:14 +01:00
Ivan Walulya
25d2db06c4 8240589: OtherRegionsTable::_num_occupied not updated correctly
Reviewed-by: tschatzl, sjohanss
2020-03-06 11:40:03 +01:00
Martin Doerr
3adad5a645 8239856: [ntintel] asserts about copying unaligned array element
Reviewed-by: stuefe, sspitsyn
2020-03-06 11:04:31 +01:00
Matthias Baesken
f10fd7a78e 8240603: Windows 32bit compile error after 8238676
Reviewed-by: clanger, dholmes
2020-03-05 13:12:51 +01:00
Ramkumar Sunderbabu
9c6a769618 8153430: jdk regression test MletParserLocaleTest, ParserInfiniteLoopTest reduce default timeout
Removed timeout=5 from the tests so that default timeout is used

Reviewed-by: cjplummer
2020-03-06 10:27:24 +05:30
Doug Simon
f456f151cc 8240538: [JVMCI] add test for JVMCI ConstantPool class
Reviewed-by: kvn, iignatyev
2020-03-05 16:32:52 -08:00
Joe Darcy
001b8056c8 8240624: Note mapping of RoundingMode constants to equivalent IEEE 754-2019 attribute
Reviewed-by: bpb
2020-03-05 15:07:20 -08:00
Vicente Romero
4a32eda417 8240454: incorrect error message: as of release 13, 'record' is a restricted type name
Reviewed-by: jlahoda
2020-03-05 16:46:24 -05:00
Lance Andersen
3607ddd55a 8211917: Zip FS should add META-INF/MANIFEST.FS at the start of the Zip/JAR
Reviewed-by: clanger, jpai
2020-03-05 13:56:40 -05:00
Alexandre Iline
db91be2ee1 8240241: Add support for JCov DiffCoverage to make files
Reviewed-by: erikj, ihse
2020-03-05 09:51:03 -08:00
Markus Grönlund
d75e62e16b 8239376: JFR: assert(!cld->is_unsafe_anonymous()) failed: invariant
Reviewed-by: coleenp, lfoltan, hseigel
2020-03-05 17:55:53 +01:00
Claes Redestad
78982f7c11 8240528: OopMap cleanup
Reviewed-by: kvn, thartmann
2020-03-05 13:14:31 +01:00
Erik Österlund
3ddd7b86c8 8240370: Provide Intel JCC Erratum opt-out
Reviewed-by: redestad, vlivanov, thartmann
2020-03-05 11:12:51 +00:00
Yasumasa Suenaga
3490262a6b 8240197: Cannot start JVM when $JAVA_HOME includes CJK characters
Reviewed-by: iklam, stuefe, rschmelter
2020-03-05 19:46:07 +09:00
Ravi Reddy
b2f1f73e75 8183369: RFC unconformity of HttpURLConnection with proxy
HttpURLConnection retried with proxy if the connection fails on first attempt as per RFC

Reviewed-by: chegar, dfuchs, vtewari
2020-03-05 03:27:17 -05:00
Qi Feng
d1818942b0 8240286: [TESTBUG] Test command error in hotspot/jtreg/compiler/loopopts/superword/SumRedAbsNeg_Float.java
Reviewed-by: kvn, thartmann
2020-03-05 14:51:41 +08:00
Ioi Lam
7ba18fc015 8240244: Avoid calling resolve_super_or_fail in SystemDictionary::load_shared_class
Reviewed-by: redestad, lfoltan, minqi
2020-03-04 22:26:48 -08:00
Yumin Qi
6cb2e02af6 8240546: runtime/cds/appcds/TestZGCWithCDS.java fails with Graal
Test failed since Graal does not work with ZGC, fixed in test to skip Graal if ZGC.

Reviewed-by: ccheung
2020-03-04 21:29:14 -08:00
Jesper Wilhelmsson
10b09c7982 Added tag jdk-15+13 for changeset 1c06a8ee8aca 2020-03-05 02:02:05 +01:00
Calvin Cheung
5229896f4f 8240481: Remove CDS usage of InstanceKlass::is_in_error_state
Track the classes which fail verification during CDS dumping in DumpTimeSharedClassInfo.

Reviewed-by: iklam, minqi
2020-03-04 15:34:53 -08:00
Jonathan Gibbons
edb59b58b9 8239817: Eliminate use of contentContainer and friends
Reviewed-by: hannesw
2020-03-04 12:58:13 -08:00
Aleksey Shipilev
01ef6d791f 8240534: Shenandoah: ditch debug safepoint timeout adjustment
Reviewed-by: rkennke
2020-03-04 19:23:13 +01:00
Volker Simonis
ff843fabec 8240333: jmod incorrectly updates .jar and .jmod files during hashing
Reviewed-by: martin, alanb, lancea
2020-03-04 14:55:43 +01:00
Andy Herrick
128f083359 8238692: MacOS runtime Installer issue
Reviewed-by: kizune, asemenyuk, almatvee
2020-03-03 18:10:15 -05:00
Andy Herrick
ef4053ee41 8237966: Creating runtime pkg requires --mac-package-identifier
Reviewed-by: kizune, asemenyuk, almatvee
2020-03-03 18:07:11 -05:00
Andy Herrick
aa54795965 8237967: No proper error message when --runtime-image points to non-existent path
Reviewed-by: kizune, asemenyuk, almatvee
2020-03-03 17:58:41 -05:00
Jan Lahoda
e44dcf09c0 8234896: Tab completion does not work for method references in jshell
Reviewed-by: rfield
2020-03-04 13:43:28 +01:00
Jan Lahoda
0c9983887d 8228451: NPE in Attr.java when -XDshould-stop.ifError=FLOW
Avoiding parsing of compound assignment as a type.

Reviewed-by: jjg, vromero
2020-03-04 13:43:27 +01:00
Jan Lahoda
9d57eefe6e 8239575: javadoc triggers javac AssertionError for annos on modules
Ensure ModuleSymbols are implicitly loaded only once in the javadoc context.

Reviewed-by: jjg
2020-03-04 13:43:25 +01:00
Aleksey Shipilev
b3666b94a3 8240511: Shenandoah: parallel safepoint workers count should be ParallelGCThreads
Reviewed-by: rkennke
2020-03-04 11:50:28 +01:00
Alexey Bakhtin
8e74ed46df 8239787: AArch64: String.indexOf may incorrectly handle empty strings
Reviewed-by: aph, lmesnik, yan
2020-03-03 13:06:50 +03:00
Jayathirth D V
72cac62f89 8239858: Initial implementation of caching for LCD text 2020-02-24 17:29:53 +05:30
Matthias Baesken
dd393fadc4 8239462: jdk.hotspot.agent misses some ReleaseStringUTFChars calls in case of early returns
Reviewed-by: clanger, amenkov, sspitsyn
2020-02-24 09:59:31 +01:00
Ao Qi
2298819af8 8239423: jdk/jfr/jvm/TestJFRIntrinsic.java failed with -XX:-TieredCompilation
Reviewed-by: iignatyev, dholmes
2020-02-26 00:07:21 -05:00
Nick Gasson
f6e5c5a7ea 8238705: [TESTBUG] jfr/event/gc/stacktrace/TestMetaspace* are stable with Xcomp on AArch64
Reviewed-by: mseledtsov, egahlin
2020-02-26 09:58:15 +08:00
Joe Darcy
bdc481e96d 8193553: Provide better guidance on using javax.lang.model visitors
Reviewed-by: jjg
2020-02-25 17:50:08 -08:00
Pengfei Li
934db29ac5 8239549: AArch64: Backend support for MulAddVS2VI node
Reviewed-by: aph
2020-02-26 09:33:29 +08:00
Naoto Sato
e6f0c6bb9a 8239976: Put JDK-8239965 on the ProblemList.txt
Reviewed-by: dcubed
2020-02-25 15:49:24 -08:00
Erik Gahlin
dd8dbb66eb 8223066: "jfr metadata" output the @Name annotation twice
Co-authored-by: Chihiro Ito <chiroito107@gmail.com>
Reviewed-by: mgronlun, egahlin
2020-02-25 20:45:29 +01:00
Prasanta Sadhukhan
98743762dd 8233312: LCD text rendering implementation without glyph cache
First character of a string is rendered.
2020-02-24 13:59:01 +05:30
Pankaj Bansal
f916df3b0e 8238985: [TESTBUG] The arrow image is blue instead of green
Reviewed-by: serb, psadhukhan
2020-02-21 17:09:01 +05:30
Pankaj Bansal
b5e162200b 8153090: TAB key cannot change input focus after the radio button in the Color Selection dialog
Reviewed-by: serb, psadhukhan
2020-02-21 17:00:23 +05:30
Pankaj Bansal
b5fdcb0851 8216329: Cannot resize CheckBoxItemMenu in Synth L&F with setHorizontalTextPosition
Reviewed-by: serb, psadhukhan
2020-02-21 16:31:45 +05:30
Jayathirth D V
f0445c24e8 Merge 2020-02-21 11:00:23 +05:30
Severin Gehwolf
53ee0c4963 8239559: Cgroups: Incorrect detection logic on some systems
Adjust heuristic with cgroup mounts according to mountinfo

Reviewed-by: bobv, mbaesken
2020-02-20 20:56:49 +01:00
Ichiroh Takiguchi
1b92518389 8235834: IBM-943 charset encoder needs updating
Apply 34B003AF.RPMAP130 definition into encoder

Reviewed-by: naoto
2020-02-25 22:47:11 +09:00
Aleksey Shipilev
98e0a704d4 8239904: Shenandoah: accumulated penalties should not be over 100% of capacity
Reviewed-by: rkennke
2020-02-25 12:35:29 +01:00
Magnus Ihse Bursie
7d5652f14a 8239794: Move -Os from JVM feature 'minimal' to new feature 'opt-size'
Reviewed-by: erikj, dholmes
2020-02-25 09:46:12 +01:00
Magnus Ihse Bursie
00e009d729 8239789: Follow-up on JVM feature rewrite
Reviewed-by: erikj, pliden, egahlin
2020-02-25 09:41:47 +01:00
Magnus Ihse Bursie
d7a0206262 8239860: Add support for testing the configure script
Reviewed-by: erikj
2020-02-25 09:37:59 +01:00
Jie Fu
ca838e68c9 8239885: [TESTBUG] compiler/allocation/TestAllocation.java fails with release VMs
Reviewed-by: thartmann
2020-02-25 16:22:12 +08:00
Fairoz Matte
956e20ed16 8239557: [TESTBUG] VeryEarlyAssertTest.java validating "END." marker at lastline is not always true
Reviewed-by: dholmes, mseledtsov
2020-02-24 23:44:29 -05:00
Jie Fu
5a7b5863f0 8239886: Minimal VM build fails after JDK-8237499
Reviewed-by: dholmes
2020-02-25 10:34:33 +08:00
Chihiro Ito
9c35471ae0 8219904: ClassCastException when calling FlightRecorderMXBean#getRecordings()
Reviewed-by: egahlin, mseledtsov
2020-02-25 03:28:31 +01:00
Denghui Dong
52d7a61e8d 8237499: JFR: Include stack trace in the ThreadStart event
Reviewed-by: egahlin
2020-02-24 23:24:14 +01:00
Naoto Sato
8493812702 8239520: ValueRange.of(long, long, long) does not throw IAE on invalid inputs
Reviewed-by: rriggs
2020-02-24 14:16:20 -08:00
Naoto Sato
c30f84536e 8239837: Typo in source code of ZoneOffsetTransitionRule leaking to Javadocs
Reviewed-by: lancea
2020-02-24 12:20:30 -08:00
Igor Ignatyev
c4059c667d 8238943: switch to jtreg 5.0
Reviewed-by: erikj, jjg, joehw
2020-02-24 11:50:18 -08:00
Aleksey Shipilev
649a4d0613 8239492: [x86] Turn MacroAssembler::verify_oop into macro recording file and line
Reviewed-by: rrich, vlivanov, pliden
2020-02-24 18:30:02 +01:00
Aleksey Shipilev
8167fe956f 8239868: Shenandoah: ditch C2 node limit adjustments
Reviewed-by: rkennke
2020-02-24 18:30:00 +01:00
Daniel Fuchs
f7c819a72d 8239052: java/net/httpclient/whitebox/SSLEchoTubeTestDriver.java failed with BufferUnderflowException against TLSv1.3
The test assumed that ByteBuffer would be split at long boundaries. This is obviously not always the case. A carry has been added to support reading a long split over several buffers.

Reviewed-by: chegar
2020-02-24 17:19:32 +00:00
Erik Gahlin
965e330cb4 8239793: 'jfr' tool should hide hidden frames
Reviewed-by: mgronlun, mseledtsov
2020-02-24 17:23:18 +01:00
Erik Gahlin
266446f316 8239585: JFR: Native events should support empty payloads
Reviewed-by: mgronlun
2020-02-24 17:10:01 +01:00
Hannes Wallnöfer
bb7344d919 8232438: Remove ?is-external=true from external links
Reviewed-by: prappo
2020-02-24 16:42:22 +01:00
Erik Österlund
ccdde49728 8234160: Enable optimized mitigation for Intel jcc erratum in C2
Reviewed-by: thartmann, vlivanov, pliden
2020-02-24 14:37:30 +00:00
Erik Gahlin
0f21211e15 8239581: Improve javadoc example for @jdk.jfr.Category
Reviewed-by: mgronlun, mseledtsov
2020-02-24 15:03:28 +01:00
Richard Reingruber
bc87e7829e 8239449: [TESTBUG] test/hotspot/jtreg/runtime/TLS/TestTLS.java: skip test if glibc too old for AdjustStackSizeForTLS
Reviewed-by: dholmes, jiangli
2020-02-24 14:25:35 +01:00
Per Lidén
a9207420c5 8239129: ZGC: Allow -XX:AllocateHeapAt to use any filesystem
Co-authored-by: Yasumasa Suenaga <yasuenag@gmail.com>
Reviewed-by: stefank, pliden, ysuenaga
2020-02-24 13:52:07 +01:00
Jan Lahoda
acd2d32913 8239536: Can't use java.util.List object after importing java.awt.List
Using full qualified names for synthetic types; ensuring the user is warned when a variable becomes undefined due to a dependency change.

Reviewed-by: rfield
2020-02-24 11:43:04 +01:00
Richard Reingruber
4f20fa5246 8239854: Non-PCH gtest build fails after JDK-8239235 due to a missing include
Reviewed-by: shade, mdoerr
2020-02-24 12:04:37 +01:00
Nils Eliasson
38a57e8bed 8238723: yank_alloc_node must remove membar
Reviewed-by: vlivanov, thartmann, roland
2020-02-24 11:31:07 +01:00
Per Lidén
aab0ce5f1c 8239533: ZGC: Make the ZProactive flag non-diagnostic
Reviewed-by: eosterlund, stefank
2020-02-24 11:01:51 +01:00
Claes Redestad
289513cc2b 8239235: Examine SignatureStream performance after consolidation
Reviewed-by: lfoltan, coleenp
2020-02-24 10:20:35 +01:00
Roland Westrelin
86ad195099 8238384: CTW: C2 compilation fails with "assert(store != load->find_exact_control(load->in(0))) failed: dependence cycle found"
Reviewed-by: vlivanov, thartmann
2020-02-20 16:41:05 +01:00
Roland Westrelin
1e796eae8f 8239367: RunThese30M.java failed due to "assert(false) failed: graph should be schedulable"
Reviewed-by: thartmann, vlivanov, neliasso
2020-02-21 15:01:22 +01:00
Xue-Lei Andrew Fan
89448a83d9 8233619: SSLEngine handshake status immediately after the handshake can be NOT_HANDSHAKING rather than FINISHED with TLSv1.3
Reviewed-by: jnimeh
2020-03-03 15:57:01 -08:00
Mikhailo Seledtsov
467ee78a52 8235206: JFR TestCrossProcessStreaming - validate that data can be consumed while it is being produced
Updated test to validate concurrent produce/consume

Reviewed-by: egahlin
2020-03-03 12:43:55 -08:00
Fairoz Matte
ea55699f34 8239055: Wrong implementation of VMState.hasListener
Correct the VMState.hasListener implementation to return WeakReference<VMListener> type

Reviewed-by: sspitsyn, poonam
2020-02-27 19:33:07 -08:00
Coleen Phillimore
3ca275fb91 8225760: oop::raw_set_obj isn't needed
Reviewed-by: hseigel, rkennke
2020-03-03 11:19:35 -05:00
Harold Seigel
cf89ff7a4b 8240324: Improve is_boot_class_loader_data() by adding simple check
Check if cld is the null_cld before looking at the class loader oop

Reviewed-by: coleenp
2020-03-03 15:50:20 +00:00
Claes Redestad
52cfd292cc 8240263: Assertion-only call in Method::link_method affecting product builds
Reviewed-by: shade, dcubed, iklam
2020-03-03 12:41:12 +01:00
Claes Redestad
3fdf26d8dc 8240302: x64: Assembler::reachable redundantly call Relocation::type() more than once
Reviewed-by: kvn, iklam, thartmann
2020-03-03 11:40:53 +01:00
Volker Simonis
2a79146791 8240235: jdk.test.lib.util.JarUtils updates jar files incorrectly
Reviewed-by: martin, clanger, lancea
2020-03-03 11:24:20 +01:00
Nils Eliasson
908a933131 8238759: Clones should always keep the base pointer
Reviewed-by: rkennke, thartmann
2020-03-03 10:29:05 +01:00
Jayathirth D V
d0b2ad3e82 8239546: Update Vertexcache and GlyphCache flush limits 2020-02-20 16:08:28 +05:30
Prasanta Sadhukhan
3c72042627 8239334: Tab Size does not work correctly in JTextArea with setLineWrap on
Reviewed-by: serb, pbansal
2020-02-20 14:49:20 +05:30
Matthias Baesken
3f140fafab 8239457: call ReleaseStringUTFChars before early returns in Java_sun_security_pkcs11_wrapper_PKCS11_connect
Reviewed-by: alanb, clanger
2020-02-19 13:37:07 +01:00
David Holmes
bd028945bd 8238988: Rename thread "in stack" methods and add in_stack_range
Reviewed-by: coleenp, dcubed
2020-02-23 22:35:59 -05:00
Weijun Wang
533649b8ca 8237218: Support NIST Curves verification in java implementation
Reviewed-by: ascarpino
2020-02-22 08:10:21 +08:00
Mikhailo Seledtsov
2596e83a34 8223217: [TESTBUG] Create JFR tests with JMX across container boundary
Created a new test for JFR over JMX across container boundary

Reviewed-by: egahlin, lmesnik
2020-02-21 13:01:20 -08:00
Magnus Ihse Bursie
63f939636a 8239708: Split basics.m4 into basic.m4 and util.m4
Reviewed-by: erikj
2020-02-21 18:37:10 +01:00
Christoph Langer
92b26333a4 8239556: (zipfs) remove ExistingChannelCloser facility in zipfs implementation
Reviewed-by: lancea
2020-02-21 16:39:07 +00:00
Lutz Schmidt
6c0e3aeacd 8239456: vtable stub generation: assert failure (code size estimate)
Reviewed-by: thartmann
2020-02-21 15:14:09 +01:00
Ao Qi
305fe226dc 8239424: [TESTBUG] compiler/whitebox/OSRFailureLevel4Test.java failed when TieredCompilation is disabled
Skip test if TieredCompilation is not available.

Reviewed-by: thartmann
2020-02-19 12:10:45 +08:00
Ao Qi
eef02376bd 8239422: [TESTBUG] compiler/c1/TestPrintIRDuringConstruction.java failed when C1 is disabled
Skip test if C1 is not available.

Reviewed-by: thartmann, xliu
2020-02-19 12:09:25 +08:00
Ivan Walulya
976473690b 8216975: Using ForceNUMA does not disable adaptive sizing with parallel gc
Reviewed-by: kbarrett, tschatzl, lkorinth
2020-02-21 10:56:30 +01:00
Matthias Baesken
5275d6e2d9 8238947: tools/jpackage tests fail with old rpmbuild versions
Reviewed-by: clanger, asemenyuk
2020-02-20 14:01:10 +01:00
Matthias Baesken
ed94c0af10 8239537: cgroup MetricsTester testMemorySubsystem fails sometimes when testing memory.kmem.tcp.usage_in_bytes
Reviewed-by: mseledtsov
2020-02-20 11:09:09 +01:00
Magnus Ihse Bursie
da39778d42 8239566: gtest/GTestWrapper.java fails due to "libstlport.so.1: open failed: No such file or directory"
Reviewed-by: redestad
2020-02-21 10:23:51 +01:00
Per Lidén
35db376986 8239503: FieldLayout/OldLayoutCheck.java fails due to "RuntimeException: Misplaced int field: expected 24 to equal 12"
Don't run the test with ZGC.

Reviewed-by: dcubed, coleenp, dholmes
2020-02-20 23:07:02 -05:00
Sean Mullan
fb37c54630 8238560: Cleanup and consolidate algorithms in the jdk.tls.legacyAlgorithms security property
Reviewed-by: xuelei
2020-02-20 16:36:38 -05:00
Daniel Fuchs
f40220f578 8238990: java/net/httpclient/HandshakeFailureTest.java failed against TLSv1.3 on Windows
The SSLTube and SSLFlowDelegate are improved to wrap any non-SSL exception that occur during the handshake in an SSLHandshakeException.

Reviewed-by: chegar
2020-02-20 20:04:15 +00:00
Igor Veresov
23458bf4c5 8238355: Update Graal
Reviewed-by: kvn
2020-02-20 10:11:07 -08:00
Roger Riggs
2d93a28447 8232622: Technical debt in BadAttributeValueExpException
Reviewed-by: dfuchs, sspitsyn
2020-02-20 10:03:05 -05:00
Coleen Phillimore
b4ffe4d8f7 8239461: Use jcod rather than jar files in runtime tests
Reviewed-by: hseigel, lmesnik, dholmes
2020-02-20 07:25:14 -05:00
Claes Redestad
58a5910393 8239347: Refactor Symbol to make _length a standalone field again
Reviewed-by: iklam, coleenp
2020-02-20 13:18:30 +01:00
Alexander Zuev
c6e9d209c5 8237221: [macos] java/awt/MenuBar/SeparatorsNavigation/SeparatorsNavigation.java fails
Reviewed-by: serb
2020-02-17 20:04:31 +03:00
Jayathirth D V
32a1a537f0 8239220: Update text cache management to handle lot of unique glyphs 2020-02-17 17:32:53 +05:30
Prasanta Sadhukhan
5199fb702d 8233312: LCD text rendering implementation without glyph cache
Incremental implementation of LCD text.
2020-02-17 15:56:03 +05:30
Phil Race
80f5a47b4a 8239091: Reversed arguments in call to strstr in freetype "debug" code
Reviewed-by: bpb
2020-02-14 10:44:30 -08:00
Phil Race
e6915ff175 8238942: Rendering artifacts with LCD text and fractional metrics
Reviewed-by: serb, jdv
2020-02-14 09:10:43 -08:00
Sergey Bylokhov
5705a55161 8233827: Enable screenshots in the enhanced failure handler on Linux/macOS
Reviewed-by: iignatyev
2020-02-13 13:23:31 -08:00
Sergey Bylokhov
784e575134 8238741: java.awt.Robot(GraphicsDevice) constructor does not follow the spec
Reviewed-by: aivanov
2020-02-13 13:21:21 -08:00
Sergey Bylokhov
8d2aa62bd9 8221823: Requested JDialog width is ignored
Reviewed-by: aivanov
2020-02-13 13:19:55 -08:00
Sergey Bylokhov
7af366a7e1 8238738: AudioSystem.getMixerInfo() takes about 30 sec to report a gone audio device
Reviewed-by: prr
2020-02-13 13:17:16 -08:00
Phil Race
ff55c4903b 8238842: AIOOBE in GIFImageReader.initializeStringTable
Reviewed-by: serb, bpb
2020-02-12 14:45:10 -08:00
Prasanta Sadhukhan
3bd02981db 8238744: JCK interactive test doesn't show instructions
Made JCK instruction frame go via grayscale code path as LCD text rendering is not fully done yet.
2020-02-11 16:10:59 +05:30
Prasanta Sadhukhan
dfaaec9aff Merge 2020-02-11 14:24:31 +05:30
Igor Ignatyev
4d00104f55 8238278: vmTestbase/vm/compiler/CodeCacheInfo/Test.java failure after JDK-8237787
Reviewed-by: kvn
2020-02-11 00:42:25 -08:00
Prasanta Sadhukhan
5f44b6ca1b Merge 2020-02-11 13:41:48 +05:30
Sergey Bylokhov
0b3cf5ea13 8237222: [macos] java/awt/Focus/UnaccessibleChoice/AccessibleChoiceTest.java fails
Reviewed-by: trebari, prr, psadhukhan
2020-02-08 18:48:42 -08:00
Sergey Bylokhov
1b3b413ee6 8238276: ComponentPeer.xxxImage are not implemented in some peers
Reviewed-by: aivanov
2020-02-08 14:25:06 -08:00
Phil Race
cf83f8e364 8238721: Add failing client jtreg tests to the Problem List
Reviewed-by: serb
2020-02-08 12:00:06 -08:00
Phil Race
728592dd22 Merge 2020-02-07 11:09:59 -08:00
Erik Gahlin
ac9c2601b8 8215452: Logged repo location is wrong when using delayed recording start
Reviewed-by: mgronlun, mseledtsov
2020-02-07 18:24:45 +01:00
Christoph Langer
90ee2c3d6e 8237192: Generate stripped/public pdbs on Windows for jdk images
Co-authored-by: Matthias Baesken <matthias.baesken@sap.com>
Reviewed-by: erikj, ihse
2020-02-07 08:38:40 +01:00
Magnus Ihse Bursie
c1f4ea5d68 8239450: Overhaul JVM feature handling in configure
Reviewed-by: erikj
2020-02-20 10:33:44 +01:00
Matthias Baesken
1643bc3def 8239351: Give more meaningful InternalError messages in Deflater.c
Reviewed-by: stuefe, vtewari, lancea, martin
2020-02-19 10:27:34 +01:00
Jesper Wilhelmsson
952f32e375 Added tag jdk-15+11 for changeset b2dd4028a6de 2020-02-20 03:11:39 +01:00
Jamil Nimeh
39db83a9cc 8239094: PKCS#9 ChallengePassword attribute does not allow for the UTF8String type
Reviewed-by: xuelei
2020-02-19 13:36:53 -08:00
Joe Darcy
e028bb4f2b 8239478: Make specification of SourceVersion.isName explicit for dotted names
Reviewed-by: jjg
2020-02-19 11:52:34 -08:00
Jayathirth D V
8a1132d3a2 Merge 2020-02-07 10:39:23 +05:30
Jesper Wilhelmsson
5ed4b9f2c0 Added tag jdk-14+36 for changeset bc54620a3848 2020-02-07 00:17:01 +01:00
Naoto Sato
ae39310243 8238605: Correct the CLDR version number in cldr.md files
Reviewed-by: joehw, alanb
2020-02-06 10:10:54 -08:00
Prasanta Sadhukhan
3174bd2c75 8233312: LCD Text Rendering implementation without glyph cache
Initial draft implementation of LCD text without glyph cache.
2020-02-06 14:39:05 +05:30
Jesper Wilhelmsson
c63a8d1090 Added tag jdk-14+35 for changeset 4a87bb7ebfd7 2020-02-06 02:52:17 +01:00
Martin Balao
84f3e86749 8238555: Allow Initialization of SunPKCS11 with NSS when there are external FIPS modules in the NSSDB
Reviewed-by: mullan, valeriep
2020-02-05 12:20:36 -03:00
Stefan Karlsson
1491340708 8240223: Use consistent predicate order in and with PhaseIdealLoop::find_predicate
Reviewed-by: thartmann, neliasso, chagedorn
2020-03-02 12:30:59 +01:00
Stefan Karlsson
ac60e4b98e 8240220: IdealLoopTree::dump_head predicate printing is broken
Reviewed-by: thartmann, neliasso, chagedorn
2020-03-02 12:30:57 +01:00
Christian Hagedorn
d7b122ed69 8238438: SuperWord::co_locate_pack picks memory state of first instead of last load
Fix selection of first and last memory state in SuperWord::co_locate_pack

Reviewed-by: thartmann, kvn
2020-03-02 10:23:08 +01:00
Claes Redestad
ebadfaeb2e 8196334: Optimize UUID#fromString
Co-authored-by: Andriy Plokhotnyuk <plokhotnyuk@gmail.com>
Co-authored-by: Jon Chambers <jon.chambers@gmail.com>
Reviewed-by: igerasim, alanb
2020-03-02 08:22:48 +01:00
Rajan Halade
751de03704 8225130: Add exception for expiring Comodo roots to VerifyCACerts test
Reviewed-by: weijun
2020-03-01 23:04:02 -08:00
Ajit Ghaisas
6e24ac5e09 8233231: Implement PaintType : Texture Paint
Modified shader to support all transformations of texture paint anchor rectangle.
2020-02-05 15:23:56 +05:30
Sergey Bylokhov
080c16d36d 8225126: Test SetBoundsPaintTest.html faild on Windows when desktop is scaled
Reviewed-by: jdv
2020-02-04 12:56:19 -08:00
Patrick Zhang
a59e8a7f6f 8238380: java.base/unix/native/libjava/childproc.c "multiple definition" link errors with GCC10
Reviewed-by: stuefe, clanger, rriggs
2020-02-04 21:27:10 +08:00
Weijun Wang
aa3638a32d 8231508: Spec Clarification : KeyTab:exist() method does not specify about the fallback details
Reviewed-by: mullan
2020-02-11 11:17:37 +08:00
David Holmes
983fc23fd1 8236844: Deprecate PrintVMQWaitTime to prepare for its removal
Reviewed-by: rehn, coleenp, hseigel
2020-02-10 19:58:04 -05:00
Alex Menkov
84c24a49ad 8234935: JdwpListenTest.java and JdwpAttachTest.java getting bind failures on Windows 2016 hosts
Reviewed-by: cjplummer, sspitsyn
2020-02-10 16:56:38 -08:00
John Jiang
fbca3fa710 8238677: java/net/httpclient/ssltest/CertificateTest.java should not specify TLS version
Reviewed-by: dfuchs
2020-02-11 08:36:02 +08:00
Ivan Gerasimov
987be2bb6d 8235812: Unicode linebreak with quantifier does not match valid input
Reviewed-by: rriggs
2020-02-10 16:10:45 -08:00
Jonathan Gibbons
b83285facc 8238646: Cleanup signature and use of CommentHelper
Reviewed-by: prappo
2020-02-10 13:29:03 -08:00
John Rose
f0cdbbe120 8238239: java.lang.Record spec clarifications
Reviewed-by: psandoz
2020-02-10 15:08:51 -05:00
Gerard Ziemski
080c67f096 8235962: os::current_thread_id() is not signal safe on macOS
Use mach_thread_self instead of pthread_mach_thread_np

Reviewed-by: dholmes, cjplummer
2020-02-10 11:41:55 -06:00
Frederic Parain
9886cb401c 8237767: Field layout computation overhaul
Reviewed-by: dholmes, coleenp, lfoltan, shade
2020-02-10 09:49:12 -05:00
Erik Gahlin
304d764a72 8238634: Reduce log verbosity of the JFR thread sampler
Reviewed-by: mgronlun
2020-02-10 14:21:51 +01:00
Claes Redestad
326a939e1b 8237878: Improve ModuleLoaderMap datastructures
Reviewed-by: alanb, forax
2020-02-10 13:58:12 +01:00
Alan Bateman
c23d1de2f8 8238376: test/jdk/java/nio/channels/DatagramChannel/Loopback.java failing on multi-homed systems
Reviewed-by: dfuchs
2020-02-10 12:57:31 +00:00
Ajit Ghaisas
6d8ae023f2 8238465: [Lanai] Fix build errors on non-mac platforms 2020-02-04 15:31:58 +05:30
Ajit Ghaisas
c8002d297a 8233231: Implement PaintType : Texture Paint
This is basic untransformed texture paint support.
2020-02-03 22:54:17 +05:30
Sureshkumar Mahaliswamy
060e4ec305 8235900: [TESTBUG] [macos] PopupMenu Opaque property is not reflecting the Parents property on MAC OS
Reviewed-by: serb
2020-02-03 14:58:54 +05:30
Christoph Langer
9fb0aeecb6 8221741: ClassCastException can happen when fontconfig.properties is used
Reviewed-by: mbaesken, itakiguchi
2020-02-02 17:41:33 +01:00
Roland Westrelin
ba7d18db86 8237776: Shenandoah: Wrong result with Lucene test
Reviewed-by: rkennke, zgu, shade
2020-01-31 14:36:07 +01:00
Leo Jiang
9ec5da00bc 8238377: JDK 14 L10N resource file update - msgdrop 20
Reviewed-by: naoto, herrick, mchung
2020-02-04 16:26:54 +00:00
Brian Burkhalter
7db8a1762f 8237514: Spec Clarification - ByteBuffer::alignmentOffset Spec
Reviewed-by: alanb, psandoz
2020-01-31 08:04:11 -08:00
Markus Grönlund
953fbd2e66 8236743: JFR: assert(klass != __null) failed: invariant in ObjectSampleCheckpoint::add_to_leakp_set
Reviewed-by: egahlin
2020-01-31 12:17:55 +01:00
Jayathirth D V
3b48643a82 Merge 2020-01-31 13:39:17 +05:30
Jerry Zhou
5495efdb84 8236092: Remove EA from JDK 14 version string starting with Initial RC promotion
Reviewed-by: tbell, erikj
2020-01-30 18:02:39 +01:00
Jesper Wilhelmsson
06bf842d9a Added tag jdk-14+34 for changeset a96bc204e3b3 2020-01-30 03:23:28 +01:00
Andy Herrick
cdd3cc4a0b 8238168: Remove Copyright from WinLauncher.template
Reviewed-by: kcr, prr, asemenyuk
2020-01-29 14:35:04 -05:00
Alexey Ushakov
07ac868b77 8238165: Lanai: crashes at [libobjc.A.dylib+0x601d] objc_msgSend+0x1d
Fixed incorrect deallocation of native resources connected with MTLSurfaceData. Applied OGL fix logic (8146238)
2020-01-29 21:32:10 +03:00
Roland Westrelin
8c0fab8fbe 8237837: Shenandoah: assert(mem == __null) failed: only one safepoint
Reviewed-by: rkennke
2020-01-28 11:28:52 +01:00
Roland Westrelin
a59ed930f5 8238385: CTW: C2 (Shenandoah) compilation fails with "Range check dependent CastII node was not removed"
Reviewed-by: rkennke, shade
2020-02-07 13:59:17 +01:00
Claes Redestad
0b5d48b9e6 8230301: Re-examine hardcoded defaults in GenerateJLIClassesPlugin
Reviewed-by: mchung
2020-02-10 12:39:19 +01:00
David Buck
6aeb78d3df 8238596: AVX enabled by default for Skylake even when unsupported
Only default to UseAVX=2 when support is detected

Reviewed-by: shade, vlivanov
2020-02-10 03:35:50 -05:00
Sean Coffey
04c1e2e931 8223260: NamingManager should cache InitialContextFactory
Reviewed-by: alanb, plevart, dfuchs
2020-02-09 21:55:56 +00:00
Aleksey Shipilev
71d7af4b23 8238591: CTW: Split applications/ctw/modules/jdk_localedata.java
Reviewed-by: iignatyev
2020-02-10 06:18:46 +01:00
Aleksey Shipilev
970283b601 8238247: CTW runner should sweep nmethods more aggressively
Reviewed-by: adinn, simonis, iignatyev
2020-02-10 06:18:28 +01:00
Aleksey Shipilev
f1a2c6019e 8238366: CTW runner closes standard output on exit
Reviewed-by: adinn, iignatyev
2020-02-10 06:18:10 +01:00
Claes Redestad
ac69c7894d 8238684: Override getOrDefault in immutable Map implementation
Reviewed-by: forax, psandoz, smarks
2020-02-08 15:21:25 +01:00
Jia Huang
7552915d3f 8238586: [TESTBUG] vmTestbase/jit/tiered/Test.java failed when TieredCompilation is disabled
Reviewed-by: iignatyev
2020-02-08 15:46:39 +08:00
Jonathan Gibbons
3461ce9800 8238437: Support separate locales for console messages and HTML content
Reviewed-by: prappo
2020-02-07 17:00:23 -08:00
Jonathan Gibbons
faa88c1da6 8238506: fix obsolete comments and inconsistent exceptions in BaseTaglet
Reviewed-by: prappo
2020-02-07 16:43:09 -08:00
Jonathan Gibbons
c33107053b 8238648: Rename and simplify Utils.WeakSoftHashMap
Reviewed-by: hannesw
2020-02-07 16:16:01 -08:00
Mikhailo Seledtsov
214edaf9c2 8219999: TestJFREvents container test should not use jdk.CPUInformation event for container CPU values
Updated the testcase not to test jdk.CPUInformation

Reviewed-by: egahlin
2020-02-07 13:04:00 -08:00
Jesper Wilhelmsson
c028965f35 Merge 2020-02-07 17:24:25 +01:00
Vicente Romero
c2e69df562 8235778: No compilation error reported when a record is declared in a local class
Reviewed-by: mcimadamore
2020-01-27 23:06:46 -05:00
David Holmes
8c33bba226 8237918: Bad copyright line in a hotspot test
Reviewed-by: jjg
2020-01-27 20:01:35 -05:00
Jonathan Gibbons
cdedede9ca 8237916: Bad copyright line in a jshell source file
Reviewed-by: vromero
2020-01-27 16:19:25 -08:00
Roger Riggs
933bb55c49 8237651: Clarify initialization of jdk.serialFilter
Reviewed-by: bchristi
2020-01-27 08:36:55 -05:00
Sergey Bylokhov
bbc3d16705 8176359: Frame#setMaximizedbounds not working properly in multi screen environments
8231564: setMaximizedBounds is broken with large display scale and multiple monitors

Reviewed-by: aivanov
2020-01-25 22:46:20 -08:00
Dmitry Batrak
1af34250aa 8236996: Incorrect Roboto font rendering on Windows with subpixel antialiasing
Reviewed-by: prr, serb
2020-01-27 13:02:54 -08:00
Sergey Bylokhov
785e7ec761 5085520: Inconsistency in spec for RenderingHints.entrySet()
Reviewed-by: prr, jdv
2020-01-24 18:39:51 -08:00
Roger Riggs
42726a87e9 8215361: (doc) Cleanup package-info markup - smartcardio, java.sql, java.sql.rowset
Reviewed-by: lancea, prappo, naoto
2020-01-24 14:32:04 -05:00
Roger Riggs
2760497b01 8237368: Problem with NullPointerException in RMI TCPEndpoint.read
Reviewed-by: mchung, alanb
2020-01-24 13:33:31 -05:00
Alexander Matveev
f8f98bdbff 8237607: [macos] Signing app bundle with jpackage fails if runtime is already signed
Reviewed-by: herrick, asemenyuk, kcr
2020-01-24 11:24:28 -05:00
Sergey Bylokhov
05b98dd4f9 8237049: Rollback the workaround for JDK-4533057
Reviewed-by: dmarkov
2020-01-23 21:42:27 -08:00
Kevin Rushforth
a2d1099854 8234813: MTLRenderer_FillAAParallelogram is not implemented
Fix build failure
2020-01-23 10:32:13 -08:00
Brian Burkhalter
f4f7dbd54c 8225471: Test utility jdk.test.lib.util.FileUtils.areAllMountPointsAccessible needs to tolerate duplicates
Reviewed-by: alanb
2020-01-23 10:19:32 -08:00
Alexey Ushakov
96a52e96de 8234813: MTLRenderer_FillAAParallelogram is not implemented
Added _Nonnull annotation
2020-01-23 20:07:34 +03:00
Tom Rodriguez
2f2594d5d0 8231515: [Graal] Crash during exception throwing in InterpreterRuntime::resolve_invoke
Reviewed-by: kvn, dlong, iveresov
2020-01-23 08:43:22 -08:00
Alexey Ushakov
57e1ab737d 8234813: MTLRenderer_FillAAParallelogram is not implemented
Use multisampling rendering for AA parallelogram rendering
2020-01-23 17:24:18 +03:00
Tejpal Rebari
7fa7536d7e 7020860: BasicTreeUI contains getters/setters with unclear spec
Reviewed-by: jdv, prr, serb
2020-01-23 17:32:38 +05:30
Jesper Wilhelmsson
4df9b91002 Added tag jdk-14+33 for changeset f728b6c7f491 2020-01-23 02:36:42 +01:00
Alexey Ushakov
7bc2660967 8237458: J2Ddemo test becomes unresponsive after launching
Fixed memory leak in texture pool and restored changeset 09b8eb38bbfa
8236137 (avoid texture reallocations inside vertex-cache)
2020-01-22 22:52:18 +03:00
Leo Jiang
b94b082727 8237465: JDK 14 L10n resource files update - msg drop 10
Reviewed-by: naoto
2020-01-22 22:37:36 +08:00
Zhengyu Gu
9d4f3b2c2c 8237396: JvmtiTagMap::weak_oops_do() should not trigger barriers
Reviewed-by: stefank, rkennke
2020-01-22 07:40:11 -05:00
Thomas Schatzl
e3c7f43298 8235305: Corrupted oops embedded in nmethods due to parallel modification during optional evacuation
During optional evacuation it is possible that G1 modifies oops embedded in nmethods in parallel. One source are oop* gathered by a previous evacuation phase in the optional roots, the other the region's strong code roots list. Since these oops may be unaligned on x64, this can result in them being corrupted. The fix is to not gather embedded oops in the optional roots list as the strong code roots list contains them already.

Co-authored-by: Erik Osterlund <erik.osterlund@oracle.com>
Co-authored-by: Stefan Johansson <stefan.johansson@oracle.com>
Co-authored-by: Stefan Karlsson <stefan.karlsson@oracle.com>
Reviewed-by: sjohanss, stefank
2020-01-22 10:00:13 +01:00
Prasanta Sadhukhan
a768bfdf4d Merge 2020-01-22 14:16:14 +05:30
Prasanta Sadhukhan
0aeed751e6 Merge 2020-01-22 13:29:03 +05:30
Jayathirth D V
c4ef423d8e 8237608: Initial implementation of Grayscale with cache text rendering 2020-01-22 11:09:37 +05:30
Aleksey Shipilev
d9df6feabe 8237586: Shenandoah: provide option to disable periodic GC
Reviewed-by: zgu
2020-01-21 20:58:48 +01:00
Joe Darcy
d5e2e1ae13 8237248: Update --release 14 symbol information for JDK 14 b32
Reviewed-by: jlahoda
2020-01-21 18:23:21 -08:00
Ivan Gerasimov
6f7f81f794 8236034: Use optimized Ques node for curly {0,1} quantifier
Reviewed-by: rriggs
2020-01-21 17:52:55 -08:00
Mikael Vidstedt
eef726a99a 8237601: test/langtools/tools/javac/warnings/MaxDiagsRecompile.java fails after JDK-8237589
Reviewed-by: dholmes
2020-01-21 17:37:18 -08:00
Joe Wang
e8f8eef908 8235368: Update BCEL to Version 6.4.1
Reviewed-by: lancea, dfuchs, forax
2020-01-21 23:33:18 +00:00
Mikael Vidstedt
3318314c7c 8237589: Fix copyright header formatting
Reviewed-by: jjg, serb, iris, jwilhelm
2020-01-21 14:23:01 -08:00
Claes Redestad
a19ff9d98a 8236641: Improve Set.of(...).iterator() warmup characteristics
Reviewed-by: smarks, jrose, fweimer
2020-01-21 22:21:15 +01:00
Patrick Concannon
d2cd7a5096 8237571: java/net/DatagramSocket/SendCheck.java is failing on Solaris
Commented out failing testcase as this is being tracked by JDK-8236852

Reviewed-by: dfuchs
2020-01-21 18:38:46 +00:00
Naoto Sato
0ae7207e95 8187987: Add a mechanism to configure custom variants in HijrahChronology
Reviewed-by: joehw, rriggs
2020-01-21 08:02:10 -08:00
Matthias Baesken
883a4f65b9 8237374: configuring with --with-jvm-variants=minimal,server makes cds disappear in server
Reviewed-by: erikj
2020-01-21 15:23:29 +01:00
Prasanta Sadhukhan
64a1b0599e Merge 2020-01-21 07:29:48 +05:30
Kim Barrett
f779e49590 8237261: Concurrent refinement activation threshold not updated for card counts
Fix special-case threshold calculation for primary refinement thread

Reviewed-by: tschatzl, sjohanss
2020-01-20 14:31:20 -05:00
Jesper Wilhelmsson
b936939454 Merge 2020-01-20 18:05:07 +01:00
Roman Kennke
330100ddce 8237543: Shenandoah: More asserts around code roots
Reviewed-by: zgu
2020-01-20 18:03:31 +01:00
Patrick Concannon
2f76772fa9 8236105: Behaviors of DatagramSocket/DatagramChannel::socket send methods are not always consistent
DatagramSocket and MulticastSocket changed to throw IllegalArgumentException if not connected and passed a packet containing a port out of range

Reviewed-by: chegar, dfuchs
2020-01-20 16:24:05 +00:00
Alexey Ushakov
269e7e98e6 8237458: J2Ddemo test becomes unresponsive after launching
Backed out changeset 09b8eb38bbfa
8236137 (avoid texture reallocations inside vertex-cache)
2020-01-20 16:54:42 +03:00
Claes Redestad
fdbea219a1 8237508: Simplify JarFile.isInitializing
Reviewed-by: dfuchs, coffeys, lancea
2020-01-20 14:24:21 +01:00
Thomas Schatzl
4aab3078a2 8235860: Obsolete the UseParallelOldGC option
Obsolete the UseParallelOldGC option by removing code and other mentions.

Reviewed-by: kbarrett, lkorinth
2020-01-20 11:15:45 +01:00
Severin Gehwolf
4ca0699585 8237479: 8230305 causes slowdebug build failure
Declare methods as pure virtual.

Reviewed-by: dcubed, dholmes
2020-01-18 20:54:37 +01:00
Alan Bateman
d4c3278889 8236925: (dc) Upgrade DatagramChannel socket adaptor to extend MulticastSocket
Reviewed-by: dfuchs
2020-01-19 08:02:46 +00:00
Alan Bateman
6ef474a4f4 8053479: (dc) DatagramChannel.read() throws exception instead of discarding data when buffer too small
Reviewed-by: redestad, dfuchs
2020-01-18 19:11:28 +00:00
Phil Race
2867609482 8224109: Text spaced incorrectly by drawString under rotation with fractional metric
Reviewed-by: serb, kizune
2020-01-17 12:20:00 -08:00
Daniel Fuchs
c6da6681d4 8236859: WebSocket over authenticating proxy fails with NPE
This change fixes several issues with WebSocket and proxy authentication. The AuthenticationFilter is changed to support an authenticating server accessed through an authenticating proxy. MultiExchange is fixed to close the previous connection if a new connection is necessary to establish the websocket (websocket connections are not cached and must be closed in that case). WebSocket OpeningHandshake is fixed to close the connection (without creating the RawChannel) if the opening handshake doesn't result in 101 upgrade protocol.

Reviewed-by: prappo, chegar
2020-01-17 17:55:06 +00:00
Robbin Ehn
39992dea38 8236766: Remove un-used oops do and drain list in VM thread
Reviewed-by: dholmes, coleenp
2020-01-17 16:17:22 +01:00
Patrick Concannon
a589a15e3f 8237075: @since tag missing from DatagramSocket and MulticastSocket methods
Methods from DatagramSocket and MulticastSocket added in JDK1.2 do not have their @since tags. This fix adds them in

Reviewed-by: alanb, chegar, dfuchs
2020-01-17 12:53:31 +00:00
Zhengyu Gu
f7165c322a 8237392: Shenandoah: Remove unreliable assertion
Reviewed-by: shade
2020-01-16 16:30:20 -05:00
Sangheon Kim
c26aa638a1 8234173: assert(loader != __null && oopDesc::is_oop(loader)) failed: loader must be oop
Reviewed-by: kbarrett, egahlin, tschatzl
2020-01-16 13:19:55 -08:00
Zhengyu Gu
85255c54da 8237369: Shenandoah: failed vmTestbase/nsk/jvmti/AttachOnDemand/attach021/TestDescription.java test
Reviewed-by: rkennke
2020-01-16 14:22:35 -05:00
Maurizio Cimadamore
96f5699e92 8237370: Javadoc of memory access API still refers to old MemoryAddress::offset method
Reviewed-by: chegar
2020-01-16 17:25:04 +00:00
Maurizio Cimadamore
af5ff9aeee 8237348: Javadoc of MemorySegment::allocateNative should state that memory is zero-initialized8237348: Javadoc of MemorySegment::allocateNative should state that memory is zero-initialized
Reviewed-by: chegar, jlaskey
2020-01-16 14:55:26 +00:00
Hannes Wallnöfer
5903e20af2 8224052: Javadoc doesn't handle non-public intermediate types well
Reviewed-by: jjg
2020-01-16 15:50:23 +01:00
Dongbo He
f129cc4328 8234484: Add ability to configure third port for remote JMX
Reviewed-by: dfuchs
2020-01-15 16:00:01 +08:00
Alexander Matveev
529587547c 8235955: [dmg] DMG creation fails without error message if previous DMG was not ejected
Reviewed-by: herrick, asemenyuk
2020-01-21 08:46:06 -05:00
Claes Redestad
0414acb5d6 8237576: Missing import in macosx/../ClassLoaderHelper
Reviewed-by: dfuchs
2020-01-21 14:08:43 +01:00
Aleksey Shipilev
72a4aa8c11 8237570: Shenandoah: cleanup uses of allocation/free threshold in static heuristics
Reviewed-by: rkennke
2020-01-21 13:40:10 +01:00
Claes Redestad
c639682887 8236075: Minor bootstrap improvements
Reviewed-by: mchung, alanb
2020-01-21 13:28:15 +01:00
Matthias Baesken
3cf8b34d54 8237382: Cleanup the OPT_SPEED_SRC file list in JvmFeatures.gmk
Reviewed-by: erikj, mdoerr
2020-01-16 18:04:23 +01:00
Phil Race
4aab785db1 Merge 2020-01-14 15:23:01 -08:00
Clemens Eisserer
7ecca1ea3c 8235904: Infinite loop when rendering huge lines
Reviewed-by: prr, kizune
2020-01-14 15:19:49 -08:00
Claes Redestad
de96aeddf5 8236850: Operations on constant List/Set.of(element) instances does not consistently constant fold
Reviewed-by: smarks, jrose, rriggs, psandoz
2020-01-14 23:40:42 +01:00
Hannes Wallnöfer
631b4d2694 8220002: Improve anchor definitions in generated files
Reviewed-by: jjg
2020-01-14 21:17:30 +01:00
Xin Liu
8d307c1168 8236228: clean up BarrierSet headers in c1_LIRAssembler
Remove unneeded barrierSet.hpp and cardTableBarrierSet.hpp includes

Reviewed-by: kvn, mdoerr, phh, njian
2020-01-14 09:15:27 -08:00
Erik Gahlin
d32cfe3e40 8237014: Missing javadoc for jdk.jfr.Recording(Map)
Reviewed-by: mgronlun, mseledtsov
2020-01-14 14:17:41 +01:00
Daniel Fuchs
bf16838a8b 8208281: java/nio/channels/AsynchronousSocketChannel/Basic.java timed out
Modify the test to accept the peer socket before closing the client socket

Reviewed-by: alanb
2020-01-14 11:45:29 +00:00
Jayathirth D V
136f957e05 Merge 2020-01-14 15:32:41 +05:30
Per Lidén
832baeaf4d 8236153: ZGC: gc/z/TestUncommit.java fails with java.lang.Exception: Uncommitted too fast
Reviewed-by: eosterlund
2020-01-14 10:43:55 +01:00
Jatin Bhateja
2b9fef7d7b 8236443: Issues with specializing vector register type for phi operand with generic operands
Fix special handling for operand resolution of vectorshift and shiftcount nodes. Fix for crash in the resolution algorithm due to non-machine type nodes.

Reviewed-by: vlivanov
2020-01-14 09:51:10 +05:30
Alexandre Iline
b79d75d033 8237042: Switch to JCov build which supports byte code version 59
Reviewed-by: erikj
2020-01-13 14:09:30 -08:00
Sean Coffey
2c5167803a 8234466: Class loading deadlock involving X509Factory#commitEvent()
Reviewed-by: alanb, chegar, dfuchs
2020-01-13 21:16:27 +00:00
Anton Litvinov
5049cad2b0 8230926: [macosx] Two apostrophes are entered instead of one with "U.S. International - PC" layout
Reviewed-by: serb, dmarkov
2020-01-13 18:11:28 +00:00
Zhengyu Gu
ab90653aa9 8237017: Shenandoah: Remove racy assertion
Reviewed-by: rkennke
2020-01-13 11:51:45 -05:00
Jesper Wilhelmsson
913b8702d1 Merge 2020-01-13 15:40:09 +01:00
Naoto Sato
1b24cf800f 8174270: Consolidate ICU sources in one location
Reviewed-by: srl, joehw
2020-01-13 08:05:59 -08:00
Christoph Langer
91bb1d3700 8237008: Exclude serviceability/sa/TestInstanceKlassSizeForInterface.java on linuxppc64 and linuxppc64le
Reviewed-by: mdoerr
2020-01-13 16:56:21 +01:00
Tejpal Rebari
861e1addda 8223788: [macos] JSpinner buttons in JColorChooser dialog may capture focus using TAB Key
Reviewed-by: serb, pbansal, psadhukhan
2020-01-13 18:27:31 +05:30
Tobias Hartmann
ea152dcd9b 8229855: C2 fails with assert(false) failed: bad AD file
Strengthen the check to ensure that both control and data paths die consistently.

Reviewed-by: vlivanov, roland
2020-01-13 13:37:01 +01:00
Jan Lahoda
8e2c1c68f6 8236546: Yield with boolean expression and Object target type crashes javac
The whenTrue and whenFalse sets need to be merged for non-boolean expressions.

Reviewed-by: mcimadamore
2020-01-13 10:50:31 +01:00
Jan Lahoda
6fc159f17c 8236715: JShell: Records with errors are not properly corraled
Correctly corralling record classes, and providing correct messages to the user.

Reviewed-by: rfield, vromero
2020-01-13 10:49:58 +01:00
Nick Gasson
2afe1c6c23 8236634: Memory Access API tests fail on 32-bit
Reviewed-by: mcimadamore, shade
2020-01-13 15:31:23 +08:00
Athijegannathan Sundararajan
34b9c84af4 8222098: tools/jlink/plugins/IncludeLocalesPluginTest.java time out
Reviewed-by: jlaskey, naoto
2020-01-13 08:29:32 +05:30
Aleksey Shipilev
fca022b43b 8236936: x86_32 Minimal VM build failure after JDK-8230765
Reviewed-by: iklam, zgu
2020-01-12 12:09:29 +01:00
Vicente Romero
4692bc58eb 8236841: compact constructor parameters are always final
Reviewed-by: mcimadamore
2020-01-10 15:32:04 -05:00
Erik Gahlin
2c7c8023ed 8236263: Remove experimental streaming events
Reviewed-by: rehn, mseledtsov
2020-01-10 21:09:53 +01:00
Christoph Dreis
0b542e3bae 8236945: typo "the the" in Lookup::in javadoc
Reviewed-by: mchung
2020-01-10 12:01:21 -08:00
Mandy Chung
fe8e1aacd1 8225773: jdeps --check produces NPE if there are missing module dependences
Reviewed-by: alanb
2020-01-10 11:50:54 -08:00
Mandy Chung
b7e74ef62f 8229396: jdeps ignores multi-release when generate-module-info used on command line
Reviewed-by: alanb
2020-01-10 11:48:16 -08:00
Joe Darcy
78df4d412e 8236877: Add "record" to descriptions in java.lang.{annotation, reflect}
Reviewed-by: mchung, lancea, chegar
2020-01-10 09:15:20 -08:00
Roland Westrelin
995fae6d4b 8235584: UseProfiledLoopPredicate fails with assert(_phase->get_loop(c) == loop) failed: have to be in the same loop
Reviewed-by: thartmann, neliasso
2020-01-10 17:50:51 +01:00
Erik Österlund
feccf3cdb6 8235669: G1: Stack walking API can expose AS_NO_KEEPALIVE oops
Reviewed-by: kbarrett, tschatzl
2020-01-10 16:20:31 +00:00
Martin Doerr
89f7e1925e 8236555: [s390] Fix VerifyOops
Reviewed-by: goetz, lucy
2020-01-10 16:30:02 +01:00
Christoph Langer
0ba8940ac0 8236488: Support for configure option --with-native-debug-symbols=internal is impossible on Windows
Reviewed-by: erikj
2020-01-10 15:38:25 +01:00
Vladislav Volodin
3899de42ae 8234913: Improve parsing of Length Units in javax/swing/text/html/CSS
Reviewed-by: serb, clanger
2020-01-10 13:08:18 +00:00
Jesper Wilhelmsson
6234206fc1 Merge 2020-01-10 13:20:11 +01:00
Roman Kennke
c2b462cf02 8236851: Shenandoah: More details in Traversal GC event messages
Reviewed-by: shade
2020-01-10 12:42:30 +01:00
Valerie Peng
efc96d1c07 8236897: Fix the copyright header for pkcs11gcm2.h
Add the "Classpath" exception to existing header

Reviewed-by: weijun
2020-01-10 02:52:25 +00:00
Serguei Spitsyn
d94f8c91c9 8229847: AttachProvider javadoc page needs an update
Replace Sun references with Oracle references in AttachProvider javadoc

Reviewed-by: amenkov, dholmes
2020-01-10 01:36:48 +00:00
Phil Race
76b1472989 Merge 2020-01-09 10:14:59 -08:00
Brian Burkhalter
d8e3d8af7b 8236804: java/nio/channels/FileChannel/MapWithSecurityManager.java should be run in othervm mode
Reviewed-by: chegar, lancea
2020-01-09 08:31:41 -08:00
Brian Burkhalter
7cd4d9ac6a 8236582: (fc) FileChannel.map fails with InternalError when security manager enabled
Reviewed-by: alanb
2020-01-09 08:31:29 -08:00
Christian Hagedorn
863f741611 8236140: assert(!VerifyHashTableKeys || _hash_lock == 0) failed: remove node from hash table before modifying it
Add missing rehashing for modified node in InitializeNode::complete_stores().

Reviewed-by: neliasso, thartmann
2020-01-09 16:14:14 +01:00
Andrew Haley
682af8be65 8236856: AArch64: Spurious GCC warnings
Reviewed-by: adinn
2020-01-09 10:01:01 -05:00
Andrew Haley
984da450f2 Merge 2020-01-09 09:30:49 -05:00
Andrew Haley
21c02a5b18 8235385: AArch64: Crash on aarch64 JDK due to long offset
Reviewed-by: adinn
2020-01-09 09:30:02 -05:00
Zhengyu Gu
11738f10a7 8228818: Shenandoah: Processing weak roots in concurrent phase when possible
Reviewed-by: rkennke
2020-01-09 08:35:44 -05:00
Maurizio Cimadamore
b1df8adbf8 8236779: static field in implementation class erroneously leaking in memory access javadoc
Reviewed-by: chegar
2020-01-09 12:04:22 +00:00
Athijegannathan Sundararajan
6e467d4d02 8225561: jlink --help doesn't state that ALL-MODULE-PATH is accepted for --add-modules
Reviewed-by: alanb
2020-01-09 17:25:05 +05:30
Fei Yang
e3eb6dbd1f 8235762: JVM crash in SWPointer during C2 compilation
Reviewed-by: thartmann, chagedorn, neliasso
2020-01-09 19:12:16 +08:00
Sergey Bylokhov
b95d34698e 8236953: [macos] JavaFX SwingNode is not rendered on macOS
Reviewed-by: kcr, prr
2020-01-15 13:17:46 -08:00
Jesper Wilhelmsson
b4ba74321b Added tag jdk-14+32 for changeset 2776da28515e 2020-01-16 02:56:52 +01:00
Daniel Le Duc Khoi Nguyen
f0c804676c 8233680: JavacFileManager.close() doesn't clear some cache instance variables
Reviewed-by: jjg
2020-01-15 14:02:50 -08:00
Vladimir Kozlov
bdc9d3dee2 8236726: Put vmTestbase/vm/mlvm/indy/stress/java tests on AOT Problem list
Reviewed-by: iignatyev
2020-01-15 11:04:45 -08:00
Brian Burkhalter
40d0110ac6 8237186: Fix typo in copyright header of java/io/Reader/TransferTo.java
Reviewed-by: mchung, lancea, prappo
2020-01-15 08:21:07 -08:00
Maurizio Cimadamore
099184950b 8235837: Memory access API refinements
Reviewed-by: chegar, psandoz
2020-01-15 11:09:00 +00:00
Jan Lahoda
8787b9a66d 8233655: NPE at jdk.compiler/com.sun.tools.javac.comp.Flow$FlowAnalyzer.visitApply
Ensuring that errors reported during speculative attribution that belong to a different file are not lost.

Reviewed-by: mcimadamore
2020-01-15 11:31:16 +01:00
Joe Darcy
006b5e0f96 8233452: java.math.BigDecimal.sqrt() with RoundingMode.FLOOR results in incorrect result
Reviewed-by: bpb, dfuchs
2020-01-14 20:19:51 -08:00
Henry Jen
643a98d553 Merge 2020-01-15 01:57:30 +00:00
Henry Jen
ae81cfa30f Merge 2020-01-15 01:54:35 +00:00
Brian Burkhalter
a91ec31636 8237183: Bug ID missing for test in patch which fixed JDK-8230665
Reviewed-by: lancea
2020-01-14 17:28:54 -08:00
Jonathan Gibbons
9ec4001d87 8237058: Update all nroff manpages for JDK 14 release
Reviewed-by: dholmes
2020-01-14 15:01:34 -08:00
Bradford Wetmore
0b70f01e98 8236957: Obvious typo in java/security/spec/RSAMultiPrimePrivateCrtKeySpec.java
Reviewed-by: ascarpino
2020-01-14 12:28:15 -08:00
Brian Burkhalter
79ec4004d7 8236661: launcher test PatchSystemModules.java start failing frequently after JDK-8234049
Reviewed-by: alanb, mchung
2020-01-14 11:06:03 -08:00
Brian Burkhalter
03cd98e15b 8230665: (bf spec) ByteBuffer::alignmentOffset spec misleading when address is misaligned
Reviewed-by: alanb, darcy, psandoz
2020-01-14 11:06:00 -08:00
Joe Darcy
72a35c899e 8237062: Refine JSR 269 API ahead of Java SE 14 MR
Reviewed-by: jlahoda
2020-01-14 10:25:22 -08:00
Erik Gahlin
6ee7f3734d 8236691: JFR: assert((((((klass)->trace_id()) & ((JfrTraceIdEpoch::method_and_class_in_use_this_epoch_bits()))) != 0))) failed: invariant
Reviewed-by: mgronlun
2020-01-14 15:25:17 +01:00
Vicente Romero
5ff1d72185 8236005: local records shouldn't capture any non-static state from any enclosing type
Reviewed-by: mcimadamore
2020-01-14 07:07:43 -05:00
Jie Fu
6d03f918cf 8237055: [TESTBUG] compiler/c2/TestJumpTable.java fails with release VMs
Reviewed-by: thartmann
2020-01-14 18:07:45 +08:00
Jan Lahoda
a35d087f54 8236670: Conflicting bindings accepted in some cases
Reviewed-by: mcimadamore
2020-01-14 11:10:07 +01:00
Jatin Bhateja
eccf39b295 8236443: Issues with specializing vector register type for phi operand with generic operands
Fix special handling for operand resolution of vectorshift and shiftcount nodes. Fix for crash in the resolution algorithm due to non-machine type nodes.

Reviewed-by: vlivanov
2020-01-14 10:55:11 +05:30
Ivan Gerasimov
1507a1fb67 8234423: Modifying ArrayList.subList().subList() resets modCount of subList
Reviewed-by: rriggs
2020-01-13 18:00:32 -08:00
Zhengyu Gu
27d782be64 8237038: Shenandoah: Reduce thread pool size in TestEvilSyncBug.java test
Reviewed-by: shade
2020-01-13 13:53:37 -05:00
Alex Kasko
87c5a28403 8236125: Windows (MSVC 2013) build fails in jpackage: Need to include strsafe.h after tchar.h
Reviewed-by: shade, alanb, herrick, prr
2020-01-13 18:39:51 +01:00
Athijegannathan Sundararajan
72db22cb12 8222100: tools/jimage/JImageTest.java time out
Reviewed-by: jlaskey
2020-01-13 22:45:41 +05:30
Sandhya Viswanathan
0b5f4f77e4 8236944: The legVecZ operand should be limited to zmm0-zmm15 registers
Associate legVecZ operand with vectorz_reg_legacy register class

Reviewed-by: vlivanov, thartmann
2020-01-13 08:27:38 -08:00
Henry Jen
231d9afe6f Merge 2020-01-09 20:16:21 +00:00
Pankaj Bansal
cf468f1791 8224475: JTextPane does not show images in HTML rendering
Reviewed-by: serb, psadhukhan
2020-01-09 15:11:10 +05:30
Jesper Wilhelmsson
cd74b2a23d Added tag jdk-14+31 for changeset decd3d2953b6 2020-01-09 02:34:23 +01:00
Jesper Wilhelmsson
0a4d6f6925 Added tag jdk-14+31 for changeset d54ce919da90 2020-01-09 02:31:10 +01:00
Jesper Wilhelmsson
9ab387d14e Added tag jdk-15+5 for changeset b97c1773ccaf 2020-01-09 02:27:20 +01:00
Paul Sandoz
e5b0568e1c 8236769: Clarify javadoc of memory access API
Reviewed-by: chegar
2020-01-08 23:12:45 +00:00
Roman Kennke
4a84146e43 8236815: Shenandoah: Fix weak roots in final Traversal GC phase
Reviewed-by: zgu
2020-01-08 22:46:33 +01:00
Erik Gahlin
0239771501 8236264: Remove jdk.jfr.Recording::setFlushInterval and jdk.jfr.Recording::getFlushInterval
Reviewed-by: rehn, mseledtsov
2020-01-08 22:44:34 +01:00
Anthony Scarpino
7ed4930a8e 8236098: AlgorithmConstraints:permits method not throwing IAEx when primitives are empty
Reviewed-by: xuelei
2020-01-08 13:25:03 -08:00
Brian Burkhalter
d6a5897f41 8236804: java/nio/channels/FileChannel/MapWithSecurityManager.java should be run in othervm mode
Reviewed-by: chegar, lancea
2020-01-08 11:38:08 -08:00
Daniil Titov
639e97df46 8236190: Unproblem list vmTestbase/nsk/jvmti/scenarios/hotswap/HS102/hs102t002/TestDescription.java
Reviewed-by: amenkov, cjplummer, iignatyev
2020-01-08 10:03:52 -08:00
Brian Burkhalter
31b9bbd87b 8236582: (fc) FileChannel.map fails with InternalError when security manager enabled
Reviewed-by: alanb
2020-01-08 08:35:33 -08:00
Jesper Wilhelmsson
257a1bb854 Merge 2020-01-08 16:03:32 +01:00
Goetz Lindenmaier
d6a2a079d1 8236772: Fix build for windows 32-bit after 8212160 and 8234331
Reviewed-by: clanger
2020-01-08 14:22:30 +01:00
Zhengyu Gu
b81bfcbff1 8236902: Shenandoah: Missing string dedup roots in all root scanner
Reviewed-by: rkennke
2020-01-10 07:21:32 -05:00
Ralf Schmelter
11c073b97e 8234510: Remove file seeking requirement for writing a heap dump
Reviewed-by: clanger, rrich
2020-01-08 13:44:54 +01:00
Thomas Schatzl
ea83ced243 8231670: Remove TaskExecutor abstraction used in preserved marks processing
Reviewed-by: sjohanss, kbarrett
2020-01-08 13:33:34 +01:00
Prasanta Sadhukhan
4b00d5753d 8235818: Inline information from broken external links in java.desktop
Reviewed-by: prr
2020-01-08 14:07:21 +05:30
Matthias Baesken
4f35b4a65c 8236709: struct SwitchRange in HS violates C++ One Definition Rule
Reviewed-by: dholmes, kbarrett
2020-01-08 08:55:26 +01:00
Sureshkumar Mahaliswamy
984abfeb3f 8234309: LFGarbageCollectedTest.java fails with parse Exception
LFGarbageCollectedTest.java fails with parse Exception

Reviewed-by: mchung
2020-01-09 22:42:53 -08:00
Coleen Phillimore
5de40a0867 8236905: ProblemList test/hotspot/jtreg/runtime/Metaspace/DefineClass.java
Reviewed-by: dholmes
2020-01-09 21:58:38 -05:00
Ivan Gerasimov
78c4ab4449 8234423: Modifying ArrayList.subList().subList() resets modCount of subList
Reviewed-by: rriggs
2020-01-09 15:38:41 -08:00
Coleen Phillimore
016b0f0caa 8232759: Remove GC.class_stats
Make the GC.class_stats option obsolete

Reviewed-by: dholmes, iklam
2020-01-09 17:38:41 -05:00
Jesper Wilhelmsson
943b87ddde Merge 2020-01-09 20:21:53 +01:00
Harold Seigel
ff914903b9 8235766: SafepointSynchronize::_end_of_last_safepoint is unused
Remove unused field

Reviewed-by: lfoltan
2020-01-09 21:06:41 +00:00
Thomas Schatzl
fab3122111 8214277: Use merged G1ArchiveRegionMap for open and closed archive heap regions
Reviewed-by: kbarrett, jiangli
2020-01-09 21:57:18 +01:00
Ioi Lam
584db9818a 8236625: Remove writeable macro from JVM flags declaration
Reviewed-by: coleenp, hseigel, gziemski
2020-01-07 18:56:18 -08:00
Yasumasa Suenaga
7d8519fffe 8236489: Java heap file on daxfs should be more secure
Reviewed-by: iklam, dholmes
2020-01-08 08:53:28 +09:00
Christoph Dreis
1cf603e8fc 8236705: Use single character variant of String.replace when applicable
Reviewed-by: igerasim, alanb
2020-01-07 15:33:09 -08:00
Roman Kennke
ba6cedcf24 8236732: Shenandoah: Stricter placement for oom-evac scopes
Reviewed-by: zgu
2020-01-07 21:53:52 +01:00
Roman Kennke
769f853592 8236732: Shenandoah: Stricter placement for oom-evac scopes
Reviewed-by: zgu
2020-01-07 21:53:52 +01:00
Serguei Spitsyn
ed044e9142 8236124: Minimal VM slowdebug build failed after JDK-8212160
Use macro JVMTI_ONLY to avoid slowdebug build fail

Reviewed-by: coleenp, cjplummer, dholmes
2020-01-07 19:57:11 +00:00
Coleen Phillimore
c4b8e38de4 8236224: Obsolete the FieldsAllocationStyle and CompactFields options
Remove the options and code for options deprecated in JDK 14

Reviewed-by: dholmes, hseigel, fparain
2020-01-07 13:11:35 -05:00
Zhengyu Gu
9e09ba5e13 8236681: Shenandoah: Disable concurrent class unloading flag if no class unloading for the GC cycle
Reviewed-by: rkennke
2020-01-07 08:53:37 -05:00
Zhengyu Gu
ee5729ac21 8236681: Shenandoah: Disable concurrent class unloading flag if no class unloading for the GC cycle
Reviewed-by: rkennke
2020-01-07 08:53:37 -05:00
Roman Kennke
49b1cc8ee6 8236181: C2: Remove useless step_over_gc_barrier() in int->bool conversion
Reviewed-by: thartmann, roland
2020-01-07 13:45:10 +01:00
Roman Kennke
ffe68bcb24 8236161: C2: Remove useless step_over_gc_barrier() in int->bool conversion
Reviewed-by: thartmann, roland
2020-01-07 13:45:10 +01:00
Joe Darcy
5915ab980b 8235532: Update --release 14 symbol information for JDK 14 b27
Reviewed-by: jlahoda
2020-01-06 11:04:12 -08:00
Naoto Sato
2e237e35fd 8227313: Support monetary grouping separator in DecimalFormat/DecimalFormatSymbols
Reviewed-by: joehw
2020-01-06 10:31:20 -08:00
Jamil Nimeh
8a1b5ad914 8236039: JSSE Client does not accept status_request extension in CertificateRequest messages for TLS 1.3
Reviewed-by: xuelei
2020-01-05 21:04:39 -08:00
Chris Yin
6da7ea6ea3 8236595: Add more comments about how to setup simulated NVRAM before run java/nio/MappedByteBuffer/PmemTest.java
Reviewed-by: alanb, adinn
2020-01-06 11:29:38 +08:00
Yasumasa Suenaga
0a9a7e2f6c 8236552: Description of jmxremote.ssl.config.file in ManagementAgent.start is incorrect
Reviewed-by: cjplummer
2020-01-04 16:25:58 +09:00
Vicente Romero
396c363517 8236544: confusing error message: return type of accessor method is not compatible with type of record component
Reviewed-by: mcimadamore
2020-01-03 12:37:30 -05:00
Ajit Ghaisas
364be79d47 8236616: Polyline drawing is incorrect 2020-01-03 16:13:00 +05:30
Matthias Baesken
44f7fe57a8 8236617: jtreg test containers/docker/TestMemoryAwareness.java fails after 8226575
Reviewed-by: bobv, clanger, mdoerr
2020-01-03 11:10:42 +01:00
Patric Hedlin
9549cd2877 8235870: C2 crashes in IdealLoopTree::est_loop_flow_merge_sz()
Reviewed-by: thartmann
2020-01-13 11:26:44 +01:00
Jesper Wilhelmsson
14b9fe08fe Added tag jdk-15+4 for changeset bb0a7975b31d 2020-01-01 03:08:45 +01:00
Matthias Baesken
2ff87c63e3 8236274: remove obsolete -d2Zi+ debug flag in MSVC builds
Reviewed-by: erikj, redestad
2020-01-02 14:38:37 +01:00
Jesper Wilhelmsson
e73ce9b406 Added tag jdk-15+3 for changeset d05fcdf25717 2019-12-27 18:21:13 +01:00
Sergey Bylokhov
206d72aee2 8235520: [macosx] Delete NSView based direct rendering mechanism
Reviewed-by: prr, jdv
2019-12-27 13:47:31 +03:00
Sergey Bylokhov
e8fdc9408e 8234706: MenuPeer cleanup
Reviewed-by: prr
2019-12-26 22:38:38 +03:00
Sergey Bylokhov
8f8f43999c 8210231: Robot.delay() catches InterruptedException and prints stacktrace to stderr
Reviewed-by: alanb, smarks
2019-12-25 14:17:57 +03:00
Sergey Bylokhov
e13f184eb3 8236506: [macosx] Some datatransfer classes were loaded on startup
Reviewed-by: prr
2019-12-25 10:15:32 +03:00
Artem Bochkarev
2ad73d2e67 8236137: avoid texture reallocations inside vertex-cache 2019-12-25 02:25:33 +03:00
Artem Bochkarev
a941e59035 8236104: introduce EncoderManager, split MTLContext into several classes
EncoderManager:
1. checks destination texture changes (creates new encoder when dest changes)
2. changes states of encoder only when cached state doesn't equal required states

Also:
- extract Composite, Transform, Clip and Paint entities from MTLContext (shaders and buffers are set in MTLPaint.setPipelineState)
- reimplemented MTLPipelineStatesStorage (simplified), add several optimizations (don't use stringWithFormat, fast state search)
- fix texture shaders
- fixed various composite problems
- optimizations
2019-12-25 02:21:28 +03:00
Artem Bochkarev
c4baadb3c9 8233710: support all params for native blit loops
with:
1. code cleanup (remove unnecessary code)
2. fix clip-rect usage
3. add debug under define
4. minor optimizations
2019-12-25 01:50:00 +03:00
Pavel Rappo
911846b49b 8236435: Fix typos in javac area
Reviewed-by: jjg, mcimadamore
2019-12-24 09:38:41 +00:00
Pengfei Li
e2644b70cf 8233743: AArch64: Make r27 conditionally allocatable
Reviewed-by: aph, dlong
2019-12-24 16:51:55 +08:00
Smita Kamath
995da6eb2a 8167065: Add intrinsic support for double precision shifting on x86_64
Reviewed-by: kvn
2019-12-23 14:42:21 -08:00
Pankaj Bansal
4cb20ae300 8222759: com.sun.java.swing.plaf.gtk.GTKLookAndFeel has unnecessary casts to GTKStyleFactory
Reviewed-by: prr, jdv
2019-12-23 13:04:07 +05:30
Weijun Wang
f4af0eadb6 8236405: Formatting issues in Kerberos debug output
Reviewed-by: mullan
2019-12-21 15:27:37 +08:00
Mikael Vidstedt
c33466012e Merge 2019-12-20 22:41:53 -08:00
Aditya Mandaleeka
f19738aba3 8236179: C1 register allocation error with T_ADDRESS
Reviewed-by: rkennke, vlivanov, roland, mdoerr
2019-12-20 19:51:00 +01:00
Roland Westrelin
1af059d4cb 8231291: C2: loop opts before EA should maximally unroll loops
Reviewed-by: kvn, vlivanov
2019-12-20 17:17:37 +01:00
Roland Westrelin
1745ae28b9 8237086: assert(is_MachReturn()) running CTW with fix for JDK-8231291
Reviewed-by: kvn, vlivanov
2020-01-14 14:58:17 +01:00
Patrick Concannon
00c40ae1e3 7021373: DatagramPacket exception conditions are not clear
Specification is clarified by adding or clarifying @throws clauses where required

Reviewed-by: alanb, chegar, darcy, dfuchs
2020-02-07 11:10:41 +00:00
Claes Redestad
38f0c08ee0 8237484: Improve module system bootstrap
Reviewed-by: alanb
2020-02-07 10:23:35 +01:00
Claes Redestad
9c8f05279c 8236272: Improve fidelity between contents of default CDS archive and classes loaded at runtime
Reviewed-by: erikj, jiangli, iklam
2020-02-07 10:15:59 +01:00
Claes Redestad
9abc1a4441 8238599: Refactor and simplify implAddOpensToAllUnnamed
Reviewed-by: alanb
2020-02-07 09:47:25 +01:00
David Holmes
9f21d809ab 8238460: Provide warnings about the use of JNI RegisterNatives to rebind native methods for boot/platform classes in other classloaders
Reviewed-by: jwilhelm, lfoltan
2020-02-06 21:03:40 -05:00
Kim Barrett
ccbd819a01 8237143: Eliminate DirtyCardQ_cbl_mon
Replace locked data structures with lock-free data structures.

Reviewed-by: tschatzl, sangheki
2020-02-06 19:09:07 -05:00
Jonathan Gibbons
e37a6aed88 8238503: Remove unused field and accessor for docLocale from ToolOptions
Reviewed-by: hannesw
2020-02-06 12:44:21 -08:00
Daniil Titov
26b642f92f 8196729: Add jstatd option to specify RMI connector port
Reviewed-by: cjplummer, sspitsyn
2020-02-06 11:23:51 -08:00
Zhengyu Gu
87031d4728 8238574: Shenandoah: Assertion failure due to missing null check
Reviewed-by: shade
2020-02-06 13:08:14 -05:00
Jesper Wilhelmsson
b3f01bb39f Merge 2020-02-06 17:14:04 +01:00
Lois Foltan
df72b2e2d6 8238600: Remove runtime/fieldType.hpp and fieldType.cpp
Remove obsolesced source files fieldType.hpp and fieldType.cpp.

Reviewed-by: hseigel
2020-02-06 15:28:37 +00:00
Lois Foltan
d19a396e96 8230199: consolidate signature parsing code in HotSpot sources
Add a new Signature class to support basic signature queries and enhance SignatureStream class to parse field signatures in addition to methods.

Co-authored-by: John Rose <john.r.rose@oracle.com>
Reviewed-by: coleenp, dholmes, fparain, hseigel
2020-02-06 14:29:57 +00:00
Magnus Ihse Bursie
2ede36b3a3 8201349: build broken when configured with --with-zlib=bundled on gcc 7.3
Reviewed-by: erikj
2020-02-06 13:41:51 +01:00
Magnus Ihse Bursie
df12f8b5d2 8212986: Make Visual Studio compiler check less strict
Reviewed-by: erikj
2020-02-06 13:40:59 +01:00
Magnus Ihse Bursie
dfa757aed0 8238542: When warning about C/C++ compiler mismatch, be clear if this is about build compilers
Reviewed-by: erikj
2020-02-06 13:40:07 +01:00
Magnus Ihse Bursie
9b9830ced7 8218480: Automatically add -Werror in FLAGS_COMPILER_CHECK_ARGUMENTS
Reviewed-by: erikj
2020-02-06 13:38:57 +01:00
Nils Eliasson
b59f630249 8237581: Improve allocation expansion
Reviewed-by: vlivanov, redestad
2020-02-06 11:21:39 +01:00
Matthias Baesken
2d6ed667d2 8238530: OPT_SPEED_SRC list misses some files with cpu-dependend file names
Reviewed-by: ihse, redestad
2020-02-05 10:14:40 +01:00
Jesper Wilhelmsson
79ed5ba492 Added tag jdk-15+9 for changeset 62b5bfef8d61 2020-02-06 02:54:00 +01:00
Jonathan Gibbons
98f5d98a88 8222793: Javadoc tool ignores "-locale" param and uses default locale for all messages and texts
Reviewed-by: prappo
2020-02-05 11:01:05 -08:00
Mandy Chung
c0f23a8604 8230047: Remove legacy java.lang.reflect.ProxyGenerator_v49
Reviewed-by: rriggs, sundar
2020-02-05 09:53:56 -08:00
Erik Joelsson
f1332640d4 8238225: Issues reported after replacing symlink at Contents/MacOS/libjli.dylib with binary
Reviewed-by: clanger, alanb, ihse
2020-02-05 09:33:25 -08:00
Daniel D. Daugherty
a7a82b0c79 8235795: replace monitor list mux{Acquire,Release}(&gListLock) with spin locks
Reviewed-by: dholmes, coleenp, rehn
2020-02-05 11:40:20 -05:00
Daniel D. Daugherty
8ff24c55ef 8236035: refactor ObjectMonitor::set_owner() and _owner field setting
Reviewed-by: dholmes, kbarrett, rehn
2020-02-05 11:39:52 -05:00
Daniel D. Daugherty
b9e3a4efef 8235931: add OM_CACHE_LINE_SIZE and use smaller size on SPARCv9 and X64
Reviewed-by: dholmes, redestad, mdoerr
2020-02-05 11:38:18 -05:00
Clive Verghese
e7e182a318 8235699: ArrayIndexOutOfBoundsException in CalendarBuilder.toString
Reviewed-by: phh, alanb, weijun, simonis, rriggs
2020-02-05 16:39:45 +01:00
Mikhailo Seledtsov
ccb4ab5499 8179317: [TESTBUG] rewrite runtime shell tests in java
Converted shell tests to Java

Reviewed-by: dholmes, iignatyev, lmesnik
2020-02-05 07:31:13 -08:00
Patrick Zhang
03721247d8 8238388: libj2gss/NativeFunc.o "multiple definition" link errors with GCC10
Fixed libj2gss link errors caused by GCC10 default -fno-common

Reviewed-by: weijun
2020-02-05 20:31:09 +08:00
Magnus Ihse Bursie
ce28a96c28 8238281: Raise minimum gcc version needed to 5.0
Reviewed-by: erikj, dholmes, jwilhelm, mbaesken
2020-02-05 10:45:39 +01:00
Christoph Langer
d6aeda7b24 8238375: JFR Test TestJcmdStartFlushInterval is not run
Reviewed-by: egahlin, mseledtsov
2020-02-05 06:33:57 +00:00
Jesper Wilhelmsson
c09e02193b 8238515: Backout JDK-8236092 from jdk/jdk
Reviewed-by: dholmes
2020-02-05 03:26:50 +01:00
Jesper Wilhelmsson
89e9ae9b3c Merge 2020-02-05 03:24:41 +01:00
Weijun Wang
06579fcefa 8237804: sun/security/mscapi tests fail with "Key pair not generated, alias <nnnnnn> already exists"
Reviewed-by: mullan
2020-02-05 11:09:02 +08:00
Pavel Rappo
029f547700 8238467: Clean up annotations on overridden/implemented methods
Reviewed-by: jjg
2020-02-04 22:05:31 +00:00
Jonathan Gibbons
9d7777e585 8219475: javap man page needs to be updated
Reviewed-by: mchung
2020-02-04 14:02:16 -08:00
Weijun Wang
b75d37538d 8238502: sunmscapi.dll causing EXCEPTION_ACCESS_VIOLATION
Reviewed-by: wetmore, coffeys, mullan
2020-02-04 13:15:15 -08:00
Zhengyu Gu
a88734eadc 8238162: Shenandoah: Remove ShenandoahTaskTerminator wrapper
Reviewed-by: shade
2020-02-04 14:48:28 -05:00
Daniel Fuchs
b069da31e0 8238231: Custom DatagramSocketImpl's create method not called when with protected constructor
Allow the socket to be lazily created if not created by the constructor.

Reviewed-by: alanb
2020-02-04 18:35:37 +00:00
Alexander Matveev
e104b4cee1 8235954: [dmg] Default DMG background tiff of jpackage not retina ready
Reviewed-by: herrick, asemenyuk
2020-02-04 11:44:54 -05:00
David Leopoldseder
135f209852 8238190: [JVMCI] Fix single implementor speculation for diamond shapes
Reviewed-by: kvn
2020-02-04 09:33:09 +01:00
Roland Westrelin
f2b7509d5a 8237951: CTW: C2 compilation fails with "malformed control flow"
Reviewed-by: vlivanov, kvn
2020-01-28 13:36:30 +01:00
Matthias Baesken
ef41763d32 8237962: give better error output for invalid OCSP response intervals in CertPathValidator checks
Reviewed-by: clanger, mullan
2020-02-03 09:39:39 +01:00
Ivan Walulya
edd28610d5 8233220: Space::_par_seq_tasks is unused after CMS removal
Reviewed-by: pliden, tschatzl, lkorinth
2020-02-03 18:20:07 +01:00
Thomas Schatzl
358c56bb8b 8238229: Remove TRACESPINNING debug code
Reviewed-by: kbarrett, sjohanss
2020-02-03 10:45:46 +01:00
Thomas Schatzl
77ad678fce 8238220: Rename OWSTTaskTerminator to TaskTerminator
Reviewed-by: sjohanss, sangheki
2020-02-03 10:45:44 +01:00
Thomas Schatzl
76675e93cf 8215297: Remove ParallelTaskTerminator
Remove ParallelTaskTerminator as the alternate OWSTTaskTerminator algorithm has worked well for more than a year now.

Reviewed-by: zgu, sjohanss
2020-02-03 10:45:43 +01:00
Magnus Ihse Bursie
4b8a5f991f 8196875: Update run-test instructions for TEST_MODE
Reviewed-by: erikj
2020-02-03 08:30:44 +01:00
Jie Fu
0330504ba7 8238284: [macos] Zero VM build fails due to an obvious typo
Reviewed-by: dholmes
2020-01-31 20:49:41 +08:00
Yasumasa Suenaga
1cd5eac5c3 8238203: Return value of GetUserDefaultUILanguage() should be handled as LANGID
Reviewed-by: naoto
2020-02-02 18:35:28 +01:00
Erik Gahlin
319d6976a5 8238241: Clean up problem list for JFR tests
Reviewed-by: mgronlun, mseledtsov
2020-02-01 09:55:03 +01:00
Ioi Lam
f6eaac48b8 8238198: Avoid using @ tags in TestOptionsWithRanges_generate.sh
Reviewed-by: iignatyev
2020-01-31 14:18:30 -08:00
Christian Hagedorn
b940e17c9e 8235332: TestInstanceCloneAsLoadsStores.java fails with -XX:+StressGCM
Account for GC barriers when skipping a cloned ArrayCopyNode in ConnectionGraph::find_inst_mem()

Reviewed-by: roland, neliasso
2020-01-31 09:32:00 +01:00
Jonathan Gibbons
4122968ab6 8238259: new tests do not account for Windows file separators
Reviewed-by: vromero
2020-01-30 15:50:07 -08:00
Igor Ignatyev
18d6d92a06 8237953: vmTestbase/jit/tiered/Test.java failure after JDK-8237798
Reviewed-by: iveresov
2020-01-30 08:55:20 -08:00
Erik Joelsson
ac6073f0a5 8237914: The test-make target does not fail on test failure
Reviewed-by: tbell, ihse
2020-01-30 12:00:38 -08:00
Jonathan Gibbons
ee9483bd87 8200363: Add javadoc command line setting to fail on warnings
Reviewed-by: hannesw
2020-01-30 11:29:51 -08:00
Jonathan Gibbons
85f5e328ed 8236949: javadoc -Xdoclint does not accumulate options correctly
Reviewed-by: prappo
2020-01-30 11:20:09 -08:00
Mikhailo Seledtsov
b5bf0d6d2f 8235599: [TESTBUG] JFR streaming/TestJVMCrash.java fails to cleanup files after test
Removed the TestJVMCrash.java test from problem list

Reviewed-by: egahlin
2020-01-30 10:27:08 -08:00
Erik Gahlin
bd7fd5610e 8232636: JFR TestDumpOnCrash.java crashed and failed to create emergency dump file
Reviewed-by: mgronlun, mseledtsov
2020-01-30 17:49:16 +01:00
Erik Gahlin
cb636b2c0b 8219686: jdk/jfr/event/runtime/TestShutdownEvent.java recording file length is 0
Reviewed-by: mgronlun, mseledtsov
2020-01-30 17:36:01 +01:00
Erik Gahlin
9cfd632ef6 8213918: DumpReason JFR event is not covered by test
Reviewed-by: mgronlun, mseledtsov
2020-01-30 17:23:22 +01:00
Nick Gasson
987ba9f3a4 8237521: Memory Access API fixes for 32-bit
Reviewed-by: mcimadamore, dholmes
2020-01-24 17:41:44 +08:00
Eric Caspole
44444bb249 8238189: Cleanups to AES crypto micros
Move all tested algorithms into the small set

Reviewed-by: xuelei
2020-01-30 10:31:43 -05:00
Coleen Phillimore
9dcbd81920 8237080: fatal error: VM thread could block on lock that may be held by a JavaThread during safepoint: SharedDecoder_lock
Set allow_vm_block to true for this lock.  It's _safepoint_check_never so it's sort of implied (you can't safepoint holding the lock and block out the vm thread).

Reviewed-by: rehn, zgu, pchilanomate, dholmes
2020-01-30 08:50:11 -05:00
Per Lidén
4aa5cf5bca 8237882: ZGC: Remove ZUtils::round_{up,down}_power_of_2() declarations
Reviewed-by: kbarrett, smonteith
2020-01-30 12:42:01 +01:00
Per Lidén
83911960d4 8237884: ZGC: Use clamp() instead of MIN2(MAX2())
Reviewed-by: kbarrett, smonteith
2020-01-30 12:41:59 +01:00
Per Lidén
0f06a9a5cd 8237825: ZGC: Replace -XX:ZPath with -XX:AllocateHeapAt
Reviewed-by: eosterlund
2020-01-30 12:41:56 +01:00
Per Lidén
24691f248c 8237758: ZGC: Move get_mempolicy() syscall wrapper to ZSyscall
Reviewed-by: eosterlund
2020-01-30 12:41:47 +01:00
Per Lidén
91d58b8f96 8237649: ZGC: Improved NUMA support when using small pages
Reviewed-by: eosterlund, smonteith
2020-01-30 12:41:26 +01:00
Erik Gahlin
06456a9773 8238224: test\jdk\jdk\jfr\event\io\EvilInstrument.java should be removed
Reviewed-by: mgronlun
2020-01-30 11:14:12 +01:00
Magnus Ihse Bursie
af5c725b81 8237879: make 4.3 breaks build
Reviewed-by: erikj, tbell
2020-01-30 11:08:30 +01:00
Erik Gahlin
dfb31205a1 8221331: test/jdk/jdk/jfr/event/io/EvilInstrument.java needs to re-worked to avoid recursive initialization issues
Reviewed-by: mgronlun, mseledtsov
2020-01-30 10:10:48 +01:00
Matthias Baesken
cd01fa372e 8223699: cleanup perfMemory_aix.cpp O_NOFOLLOW coding on aix
Reviewed-by: lucy, mdoerr
2020-01-28 08:53:30 +01:00
Erik Gahlin
0b9ff0c3a4 8202142: jfr/event/io/TestInstrumentation is unstable
Reviewed-by: mgronlun, mseledtsov
2020-01-30 09:01:58 +01:00
Boris Ulasevich
d65f9665df 8229971: Arm32: implementation for Thread-local handshakes
Reviewed-by: rehn, dsamersoff
2020-01-30 10:26:56 +03:00
David Holmes
c4b708b255 8237857: LogDecorations::uptimenanos is implemented incorrectly
Reviewed-by: dcubed, kbarrett
2020-01-29 23:53:16 -05:00
Jesper Wilhelmsson
0b45b7a291 Merge 2020-01-30 05:05:04 +01:00
Jesper Wilhelmsson
5d8d4cecf7 Added tag jdk-15+8 for changeset c7d4f2849dbf 2020-01-30 03:29:55 +01:00
Igor Ignatyev
c484e1cee0 8237787: rewrite vmTestbase/vm/compiler/CodeCacheInfo* from shell to java
Reviewed-by: epavlova, kvn
2020-01-29 19:27:01 -08:00
Erik Gahlin
28801066d0 8237574: Make TestNative work without -nativepath
Reviewed-by: mgronlun, mseledtsov
2020-01-30 00:23:58 +01:00
Erik Gahlin
8aff9fca35 8215890: Simplify jdk/jfr/api/recording/event/TestPeriod.java
Reviewed-by: mgronlun, mseledtsov
2020-01-29 23:49:04 +01:00
Erik Gahlin
70fdf1e5ee 8237364: Add early validation to the jdk.jfr.Recording constructor
Reviewed-by: mgronlun, mseledtsov
2020-01-29 23:36:38 +01:00
Vladimir Ivanov
5b5a5353e7 7175279: Don't use x87 FPU on x86-64
Reviewed-by: kvn, roland
2020-01-30 00:46:43 +03:00
Erik Gahlin
a2bbf933d9 8222001: JFR event for heap dumps written
Reviewed-by: mgronlun
2020-01-29 22:37:17 +01:00
Kim Barrett
f262092fd9 8233822: VM_G1CollectForAllocation should always check for upgrade to full
Move upgrade check into do_collection_pause_at_safepoint.

Reviewed-by: tschatzl, sangheki
2020-01-29 15:48:22 -05:00
Ioi Lam
73cdeafe98 8237046: [TESTBUG] runtime/CommandLine/OptionsValidation/TestOptionsWithRanges_generate.sh should be excluded from testing
Reviewed-by: dcubed, mseledtsov
2020-01-29 12:01:31 -08:00
Daniel Fuchs
e0901fb627 8237896: MulticastSocket should link to DatagramChannel as an alternative for multicasting
MulticastSocket API documentation now includes some links to DatagramChannel.

Reviewed-by: alanb
2020-01-29 19:13:09 +00:00
Ekaterina Pavlova
9d5d2a241a 8236211: [Graal] compiler/graalunit/GraphTest.java is skipped in all testing
Reviewed-by: iignatyev
2020-01-29 10:12:59 -08:00
Pavel Rappo
91a031aa87 8238167: Remove stray files from jdk.javadoc
Reviewed-by: jjg
2020-01-29 18:04:53 +00:00
Andrew Haley
0dd3aaf0ed 8230392: Define AArch64 as MULTI_COPY_ATOMIC
Reviewed-by: adinn, dholmes
2020-01-23 11:44:04 -05:00
Aleksey Shipilev
3eb71de759 8238153: CTW: C2 (Shenandoah) compilation fails with "Unknown node in get_load_addr: CreateEx"
Reviewed-by: roland, rkennke
2020-01-29 14:34:40 +01:00
Pengfei Li
6fd7ad87ce 8237524: AArch64: String.compareTo() may return incorrect result
Reviewed-by: aph
2020-01-21 08:15:33 +00:00
Erik Gahlin
c718a082a4 8238083: Crash: assert(is_object_aligned(v)) failed: address not aligned: 0xfffffffffffffff1
Reviewed-by: mgronlun
2020-01-29 11:04:00 +01:00
Jan Lahoda
2f45d46640 8237528: Inefficient compilation of Pattern Matching for instanceof
Avoiding unnecessary cast and comparison in type test pattern desugaring.

Reviewed-by: forax, mcimadamore
2020-01-29 10:37:22 +01:00
Ivan Walulya
41f962d784 8232689: Remove ParCompactionManager::Action enum
Reviewed-by: lkorinth, kbarrett, tschatzl
2020-01-29 09:29:22 +01:00
Jesper Wilhelmsson
0b22124ee4 Merge 2020-01-28 22:42:32 +01:00
Erik Gahlin
5c3d9a7d04 8237887: CDSandJFR: assert(instance_klass->is_initialized()
Reviewed-by: mgronlun
2020-01-28 22:37:38 +01:00
Zhengyu Gu
69f1538631 8237963: Shenandoah: Heap iteration should use concurrent version of string dedup roots
Reviewed-by: shade
2020-01-28 15:47:39 -05:00
Adam Sotona
f2013ac247 8236997: tools/javac tests fail with --illegal-access=deny
Correctly exporting packages to tests.

Reviewed-by: jlahoda
2020-01-28 09:13:27 +01:00
Matthias Baesken
a89b838d91 8237869: exclude jtreg test security/infra/java/security/cert/CertPathValidator/certification/LuxTrustCA.java because of instabilities
Reviewed-by: clanger, mullan
2020-01-27 17:03:08 +01:00
Jesper Wilhelmsson
efa4d2f9e1 Merge 2020-01-28 07:25:31 +01:00
Vicente Romero
64288e1e76 8235149: javac parser is too aggressive on ambiguous expressions using identifier: record
Reviewed-by: mcimadamore
2020-01-27 18:50:19 -05:00
Igor Ignatyev
e5a99b29f1 8237800: rewrite vmTestbase/jit/escape/LockCoarsening from shell to java
Reviewed-by: roland, neliasso
2020-01-27 15:35:10 -08:00
Igor Ignatyev
fc8d71b119 8237798: rewrite vmTestbase/jit/tiered from shell to java
Reviewed-by: roland, neliasso
2020-01-27 15:34:12 -08:00
Jonathan Gibbons
08e63539f2 8237845: Encapsulate doclet options
Reviewed-by: hannesw, prappo
2020-01-27 14:03:58 -08:00
Jonathan Gibbons
6b4223eec2 8237803: Reorganize impl of tool options
Reviewed-by: prappo
2020-01-27 13:42:57 -08:00
Zhengyu Gu
99b9939318 8237874: Shenandoah: Backout JDK-8234399
Reviewed-by: shade
2020-01-27 09:58:27 -05:00
Daniil Titov
5ac7dfa2bf 8235681: Remove unnecessary workarounds in UnixOperatingSystem.c
Reviewed-by: cjplummer, amenkov
2020-01-27 09:39:44 -08:00
Erik Gahlin
3884792cda 8227610: Remove allocation when getting EventHandle
Reviewed-by: mgronlun
2020-01-27 14:30:57 +01:00
Matthias Baesken
e438fb4c62 8236714: enable link-time section-gc for linux to remove unused code
Reviewed-by: erikj, ihse
2020-01-24 10:16:35 +01:00
Matthias Baesken
1ca54e1455 8237819: s390x - remove unused pd_zero_to_words_large
Reviewed-by: clanger, mdoerr
2020-01-24 13:48:35 +01:00
Aleksey Shipilev
7cae6c3564 8237847: Zero builds fail after JDK-8237637 (Remove dubious type conversions from oop)
Reviewed-by: dcubed
2020-01-26 17:08:40 +01:00
Pavel Rappo
49dc57cd10 8237817: Clean up net-properties.html
Reviewed-by: dfuchs
2020-01-24 21:57:19 +00:00
Jesper Wilhelmsson
a94b4fc695 Merge 2020-01-24 22:39:58 +01:00
Aleksey Shipilev
7cd21cfdec 8237821: Shenandoah: build broken after JDK-8237637 (Remove dubious type conversions from oop)
Reviewed-by: rkennke
2020-01-24 21:11:31 +01:00
Alex Menkov
90d656d2f6 8235846: Improve WindbgDebuggerLocal implementation
Reviewed-by: sspitsyn, cjplummer
2020-01-24 11:55:15 -08:00
Daniel Fuchs
9085b7bdc7 8236596: HttpClient leaves HTTP/2 sockets in CLOSE_WAIT, when using proxy tunnel
Changes Http2ClientImpl::stop to close the TCP connection after sending out the GOAWAY frame.

Reviewed-by: chegar
2020-01-24 17:57:41 +00:00
Anuraag Agrawal
4fdcb47304 7006496: Use modern Windows API to retrieve OS DNS servers
Reviewed-by: dfuchs, chegar, aefimov
2020-01-24 16:16:39 +00:00
Coleen Phillimore
5b1f960752 8237501: TestInstanceKlassSizeForInstance runs TestInstanceKlassSize instead
Reviewed-by: dcubed
2020-01-24 10:22:57 -05:00
Pavel Rappo
abadeda8a5 8233795: Consider adding a notion of a Value-based class to API Documentation index
Reviewed-by: hannesw
2020-01-24 12:51:34 +00:00
Adam Sotona
d97fe7b050 8042742: possible error in Tokens.Token.checkKind() for javac
Correcting expected token kind in an assert.

Reviewed-by: jlahoda
2020-01-24 12:31:51 +01:00
Stefan Karlsson
c8e7590899 8237111: LingeredApp should be started with getTestJavaOpts
Reviewed-by: cjplummer, dholmes
2020-01-24 10:31:45 +01:00
Stefan Karlsson
46423b0f70 8237637: Remove dubious type conversions from oop
Reviewed-by: kbarrett, dholmes, mdoerr
2020-01-24 09:27:07 +01:00
Stefan Karlsson
b223907794 8237645: Remove OopsInGenClosure::par_do_barrier
Reviewed-by: sjohanss
2020-01-24 09:24:46 +01:00
Stefan Karlsson
17106c9e9d 8236778: Add Atomic::fetch_and_add
Reviewed-by: kbarrett, dholmes
2020-01-24 09:15:08 +01:00
David Holmes
5013cf6e0c 8235966: Process obsolete flags less aggressively
Reviewed-by: dcubed, iignatyev
2020-01-23 21:14:16 -05:00
Vicente Romero
0f98701e87 8236210: javac generates wrong annotation for fields generated from record components
Reviewed-by: mcimadamore
2020-01-23 19:20:11 -05:00
Jonathan Gibbons
9e4830fc30 8237492: Reorganize impl of doclet options
8237726: Fix signature of StandardDoclet.getSupportedOptions

Reviewed-by: prappo, hannesw, ksrini
2020-01-23 15:52:54 -08:00
Jesper Wilhelmsson
c6c828fa6e Merge 2020-01-23 22:59:49 +01:00
Ekaterina Pavlova
6c9a6eac81 8206113: Troubles configuring graal tests
Reviewed-by: kvn
2020-01-23 10:02:52 -08:00
Patricio Chilano Mateo
5e9d3fdc9c 8237756: Backout: JDK-8230594: Allow direct handshakes without VMThread intervention
Backout JDK-8230594

Reviewed-by: coleenp, dcubed
2020-01-23 17:26:52 +00:00
Patrick Concannon
94bb505c94 8235783: DatagramSocket::disconnect should allow an implementation to throw UncheckedIOException
Undocumented throwing of Errors changed to throw a more user friendly UncheckedIOException

Reviewed-by: alanb, chegar, dfuchs
2020-01-23 14:43:37 +00:00
Per Lidén
4eacb6361b 8234440: ZGC: Print relocation information on info level
Reviewed-by: stefank, eosterlund
2020-01-23 15:13:32 +01:00
Thomas Schatzl
ffcc582601 8237079: gc/g1/mixedgc/TestLogging.java fails with "Pause Young (Mixed) (G1 Evacuation Pause) not found"
Factor out multiple attempts at forcing a mixed gc into a single one and update the tests to use the new code. Change command line arguments for the tests to further decrease the possibility of failures.

Reviewed-by: lkorinth, kbarrett
2020-01-23 14:42:49 +01:00
Martin Doerr
da7cebabb2 8237375: SimpleThresholdPolicy misses CounterDecay timestamp initialization
Reviewed-by: simonis, dholmes
2020-01-23 13:55:10 +01:00
Jie Fu
a0882bf4cc 8237752: Minimal VM build fails after JDK-8236236
Reviewed-by: dholmes
2020-01-23 13:51:23 +08:00
Jesper Wilhelmsson
3c5a7e9ffc Added tag jdk-15+7 for changeset e2bc57500c1b 2020-01-23 06:24:09 +01:00
Patricio Chilano Mateo
6c4e2e70be 8237753: 32-bit builds are broken after JDK-823059
Changed _pending_threads to be 32 bits instead of 64

Reviewed-by: dholmes
2020-01-23 04:54:15 +00:00
Chris Plummer
78ff45ee33 8236913: debug agent's jdwp command logging should include the command set name and command name
Reviewed-by: amenkov, sspitsyn
2020-01-23 04:14:11 +00:00
Zhengyu Gu
b1d5bee8ca 8234399: Shenandoah: Cleanup native load barrier
Reviewed-by: rkennke
2020-01-22 20:07:49 -05:00
Igor Veresov
c6126d638c 8237724: Add org.graalvm.compiler.asm.amd64 to the list of packages to be processed by the options annotation processor
Reviewed-by: kvn
2020-01-22 15:32:51 -08:00
David Holmes
245b61c506 8237747: Build broken on macOS by JDK-8235741 - wrong format specifier
Reviewed-by: mikael
2020-01-22 18:24:10 -05:00
David Holmes
7c27f9f5dd 8235741: Inappropriate uses of os::javaTimeMillis()
Reviewed-by: rehn, kbarrett, egahlin, shade
2020-01-17 00:52:10 -05:00
Naoto Sato
d517220df6 8236903: ZoneRules#getOffset throws DateTimeException for rules with last rules
Reviewed-by: scolebourne, rriggs
2020-01-22 12:35:24 -08:00
Jesper Wilhelmsson
b7cdc097e3 Merge 2020-01-22 21:02:16 +01:00
Ioi Lam
d5bdb76e84 8236236: Eliminate CDS md region and consolidate c++ vtable patching code
Reviewed-by: ccheung
2020-01-22 11:52:27 -08:00
Zhengyu Gu
ac7f36ce25 8236880: Shenandoah: Move string dedup cleanup into concurrent phase
Reviewed-by: rkennke, shade
2020-01-22 14:27:13 -05:00
Patricio Chilano Mateo
b25bb17b41 8230594: Allow direct handshakes without VMThread intervention
Introduce direct handshakes and enable it for biased locking revocations.

Reviewed-by: dholmes, dcubed, coleenp, rehn
2020-01-22 16:46:46 +00:00
Nick Gasson
b21e04af5d 8237512: AArch64: aarch64TestHook leaks a BufferBlob
Reviewed-by: adinn, aph
2020-01-22 09:08:36 +00:00
Alan Bateman
c6a4cea7a0 8236246: SelectorProvider support for creating a DatagramChannel that is not interruptible
Reviewed-by: chegar
2019-12-20 09:28:57 +00:00
Ioi Lam
d1ad0eaf8f 8233826: Change CDS dumping tty->print_cr() to unified logging
Reviewed-by: coleenp, dholmes, jiangli
2019-12-19 23:04:49 -08:00
Jesper Wilhelmsson
4f22b49c85 Merge 2019-12-20 04:47:34 +01:00
Phil Race
d86eb1de69 8231556: Wrong font ligatures used when 2 versions of same font used
Reviewed-by: serb, kcr
2019-12-19 15:36:40 -08:00
Phil Race
9628324ae7 Merge 2019-12-19 12:28:56 -08:00
Lance Andersen
fb1c57789e 8235961: SyncResolverImpl does not throw SQLException as expected
Reviewed-by: joehw, bpb
2019-12-19 15:23:57 -05:00
Alexey Semenyuk
91008df5a8 8236138: Add tests for jmod applications
Reviewed-by: herrick, prr
2019-12-19 13:39:10 -05:00
Vicente Romero
68122fd64e 8236266: change error message for the case when a class extends j.l.Record
Reviewed-by: mcimadamore
2019-12-19 13:32:58 -05:00
Vicente Romero
9695ddfffc 8234445: spurious error message for record constructors with receiver parameters
Reviewed-by: mcimadamore
2019-12-19 11:46:35 -05:00
Robbin Ehn
a170a4af4a 8235913: ThreadStop should be a handshake
Reviewed-by: dholmes, mdoerr
2019-12-19 17:02:11 +01:00
Robbin Ehn
e4c96dea46 8235912: JvmtiBreakpoint remove oops_do and metadata_do
Reviewed-by: coleenp, sspitsyn
2019-12-19 16:47:59 +01:00
Yasumasa Suenaga
18bc0214db 8235833: PosixPlatform.cpp should not include sysctl.h
Reviewed-by: aph, asemenyuk
2019-12-19 20:13:15 +09:00
Nick Gasson
75f2e6433c 8236242: Arm32: build broken after 8234794
Reviewed-by: aph
2019-12-19 17:18:16 +08:00
Ajit Ghaisas
e2d1e4c804 8233233 : Implement Shape Clip 2019-12-19 14:38:40 +05:30
Pankaj Bansal
ef14de54e7 8234733: We can't distinguish if the spinner button is pressed or unpressed
Reviewed-by: psadhukhan, prr
2019-12-19 11:57:58 +05:30
Sergey Bylokhov
61cfabff57 8223108: Test java/awt/EventQueue/NonComponentSourcePost.java is unstable
Reviewed-by: prr
2019-12-18 10:10:32 +03:00
Roman Kennke
773b7b6c4b 8236106: [TESTBUG] Shenandoah: Make TestThreadFailure more resilient
Reviewed-by: zgu
2019-12-17 18:23:33 +01:00
Aditya Mandaleeka
950ebec4a9 8236179: C1 register allocation error with T_ADDRESS
Reviewed-by: rkennke, vlivanov, roland, mdoerr
2019-12-20 19:51:00 +01:00
Severin Gehwolf
4def210a22 8231111: Cgroups v2: Rework Metrics in java.base so as to recognize unified hierarchy
Reviewed-by: bobv, mchung
2019-12-16 15:07:17 +01:00
Frederic Parain
8827df9b2d 8239014: -XX:-UseEmptySlotsInSupers sometime fails to reproduce the layout of the old code
Reviewed-by: dholmes, coleenp
2020-02-19 08:57:43 -05:00
Lin Zang
732a575738 8239139: test/jdk/java/nio/channels/spi/SelectorProvider/inheritedChannel/libInheritedChannel.c does not compile with gcc 8.3.1
Reviewed-by: michaelm
2020-02-19 11:31:48 +00:00
Pavel Rappo
9fdcdf4a3e 8239243: Create index structures only if required
Reviewed-by: hannesw, jjg
2020-02-19 10:34:42 +00:00
Rahul Raghavan
7b24bd68c2 8238356: CodeHeap::blob_count() overestimates the number of blobs
Decremented _blob_count on addition to the free list

Reviewed-by: lucy, shade, thartmann
2020-02-19 15:01:57 +05:30
John Paul Adrian Glaubitz
16c75e67cf 8239001: Hotspot build broken on linux-sparc after 8238281
Reviewed-by: dholmes, kbarrett
2020-02-19 10:10:55 +01:00
Thomas Schatzl
fff8438af8 8239070: Memory leak when unsuccessfully mapping in archive regions
Reviewed-by: kbarrett, iklam, coleenp, jiangli
2020-02-19 10:04:54 +01:00
Martin Doerr
6015cab798 8239363: PPC64: Wrong code generation after JDK-8183574
Reviewed-by: stuefe, stefank, lucy
2020-02-19 09:40:38 +01:00
Matthias Baesken
09f5194d38 8238953: tools/jpackage tests do not work on Ubuntu Linux
Reviewed-by: asemenyuk, clanger
2020-02-18 16:46:08 +01:00
Matthias Baesken
7f3bbc3f20 8239333: test/jdk/security/infra/java/security/cert/CertPathValidator/certification/AmazonCA.java fails intermittent
Reviewed-by: clanger
2020-02-18 10:28:16 +01:00
Joe Darcy
d4a069b33b 8237450: JDK13 annotation processors not run when a supported annotation type specifies a module
Initial fix suggested by jjg based on through analysis by Jeremy Kuhn.

Reviewed-by: jjg
2020-02-18 17:03:54 -08:00
Rajan Halade
11386e7cb2 8225128: Add exception for expiring DocuSign root to VerifyCACerts test
Reviewed-by: clanger
2020-02-18 16:00:40 -08:00
Pavel Rappo
56282f7119 8238969: Miscellaneous cleanup
Reviewed-by: jjg
2020-02-18 23:05:20 +00:00
Jonathan Gibbons
36cd7bdb7f 8239378: Add Classpath Exception to license in source file
Reviewed-by: vromero
2020-02-18 14:08:21 -08:00
Erik Gahlin
f3cd52e3c7 8210977: jdk/jfr/event/oldobject/TestThreadLocalLeak.java fails to find ThreadLocalObject
Reviewed-by: mgronlun, mseledtsov
2020-02-18 22:25:08 +01:00
Erik Joelsson
58a0360039 8239019: testmake fails with FATAL: VCS_TYPE is empty
Reviewed-by: rriggs
2020-02-18 11:21:41 -08:00
Leonid Mesnik
a6dbc71114 8239026: Support non-maven artifacts by JibArtifactManager
Reviewed-by: erikj
2020-02-18 10:48:48 -08:00
Harold Seigel
bf6c14f034 8187305: Add logging for shared library loads/unloads
Add logging to JVM_LoadLibrary(), JVM_UnloadLibrary(), and JVM_FindLibraryEntry().

Reviewed-by: dholmes, coleenp
2020-02-18 16:30:54 +00:00
Mikhailo Seledtsov
cea8931aed 8167493: Test that JFR event can be retransformed by an agent
Added new test, extended agent builder test library

Reviewed-by: egahlin
2020-02-18 08:14:48 -08:00
Roman Kennke
ccb5defde4 8237780: Shenandoah: More reliable nmethod verification
Reviewed-by: shade, zgu
2020-02-18 17:20:04 +01:00
Matthias Baesken
0e49c4987d 8239224: libproc_impl.c previous_thr may be used uninitialized warning
Reviewed-by: clanger, dholmes
2020-02-18 16:33:56 +01:00
Erik Gahlin
b6c1b49c97 8239350: Add tests for JFR class redefinition events
Reviewed-by: mgronlun
2020-02-18 16:34:19 +01:00
Erik Gahlin
f75f78ae3a 8239265: JFR: Test cleanup of jdk.jfr.api.consumer package
Reviewed-by: mgronlun
2020-02-18 14:34:54 +01:00
Ivan Walulya
6f6b4c0ef9 8232686: Turn parallel gc develop tracing flags into unified logging
Reviewed-by: sjohanss, tschatzl, lkorinth
2020-02-18 11:00:24 +01:00
Thomas Schatzl
28c630046e 8238999: Remove MemRegion custom new/delete operator overloads
Reviewed-by: kbarrett, jiangli, iklam
2020-02-18 10:59:38 +01:00
Patrick Concannon
301a2e19c3 8237480: Add micros for DatagramSocket send/receive
Benchmarks for the DatagramSocket::send and DatagramSocket::receive methods

Reviewed-by: chegar, dfuchs, redestad
2020-02-18 09:42:30 +00:00
Tobias Hartmann
cb2eeb7d9a 8239142: C2's UseUniqueSubclasses optimization is broken for array accesses
Avoid resetting the elemtype for array accesses.

Reviewed-by: vlivanov, eosterlund
2020-02-18 08:28:02 +01:00
Xue-Lei Andrew Fan
4e430ffbb6 8239264: Clearup the legacy ObjectIdentifier constructor from int array
Reviewed-by: jnimeh
2020-02-17 18:52:50 -08:00
Ivan Gerasimov
8aff5bda80 8163251: Hard coded loop limit prevents reading of smart card data greater than 8k
Reviewed-by: valeriep, rriggs
2020-02-17 16:32:05 -08:00
Erik Gahlin
5d9c59f2f8 8238236: Add JFR class redefinition events
Reviewed-by: mgronlun
2020-02-17 22:36:13 +01:00
Christian Hagedorn
74bee68872 8239069: C2: SIGSEGV in IdealGraphPrinter::walk_nodes due to C->root() being NULL
Fix NULL pointer dereference when trying to print the ideal graph when Compile::record_failure() is called twice.

Reviewed-by: neliasso, thartmann
2020-02-17 12:29:24 +01:00
Christian Hagedorn
b369aefc79 8238765: PhaseCFG::schedule_pinned_nodes cannot handle precedence edges from unmatched CFG nodes correctly
Fix PhaseCFG::schedule_pinned_nodes to correctly handle precedence edges from unmatched CFG nodes.

Reviewed-by: roland, neliasso, kvn
2020-02-17 12:29:03 +01:00
Matthias Baesken
cf4291db37 8239000: handle ContendedPaddingWidth in vm_version_ppc
Reviewed-by: clanger, lucy
2020-02-13 11:11:49 +01:00
Roman Kennke
41d457a089 8239081: Shenandoah: Consolidate C1 LRB and native barriers
Reviewed-by: shade
2020-02-14 19:43:17 +01:00
Richard Reingruber
eaff9918d2 8239005: [TESTBUG] test/hotspot/jtreg/runtime/StackGuardPages/TestStackGuardPages.java: exeinvoke.c: must initialize static state before calling do_overflow()
Reviewed-by: dholmes, clanger
2020-02-13 16:20:14 +01:00
Roland Westrelin
52d46c314b 8238691: C2: turn subtype check into macro node
Reviewed-by: vlivanov, thartmann
2020-02-14 10:31:34 +01:00
Stefan Karlsson
e4b27a48a0 8183574: Unify the is_power_of_2 functions
Reviewed-by: kbarrett, redestad
2020-02-17 10:03:17 +01:00
Magnus Ihse Bursie
248b61710e 8213185: Properly handle run-test-prebuilt -> test-prebuilt migration
Reviewed-by: erikj
2020-02-17 08:59:26 +01:00
Aya Ebata
2f17073230 8237818: Typo in Unsafe: resposibility
Reviewed-by: ysuenaga
2020-02-17 11:12:24 +09:00
René Schünemann
0249cadd62 8238534: Deep sign macOS bundles before bundle archive is being created
Reviewed-by: erikj, clanger
2020-02-13 10:07:38 +01:00
Jie Fu
3c7858c285 8239110: Zero VM build fails after JDK-8203883
Reviewed-by: aph
2020-02-15 17:35:57 +08:00
Weijun Wang
c4681a95dc 8160818: GssKrb5Client violates RFC 4752
Reviewed-by: xuelei
2020-02-15 09:26:32 +08:00
Erik Gahlin
71ed4f276b 8238959: Add missing classpath exception to FileAcess and ConstantLookup
Reviewed-by: mgronlun
2020-02-14 23:33:48 +01:00
Joe Darcy
612342baaa 8239092: Provide explicit specification for getKind methods of javax.lang.model
Reviewed-by: jjg, prappo
2020-02-14 12:47:18 -08:00
Chris Plummer
110ef6f2c3 8238196: tests that use SA Attach should not be allowed to run against signed binaries on Mac OS X 10.14.5 and later
Reviewed-by: sspitsyn, iignatyev
2020-02-14 10:28:32 -08:00
Doug Simon
8119f836bf 8238758: [JVMCI] fix JVMCI jtreg events tests to work with GraalVM
Reviewed-by: kvn, dlong, never
2020-02-14 09:25:43 -08:00
Roland Westrelin
3bb62dc0d8 8236759: ShouldNotReachHere in PhaseIdealLoop::verify_strip_mined_scheduling
Reviewed-by: thartmann, neliasso
2020-01-13 10:00:30 +01:00
Nils Eliasson
18c01206d0 8203883: Remove State from InvocationCounters
Reviewed-by: redestad, thartmann
2020-02-12 20:53:48 +01:00
Claes Redestad
b4b8ead78b 8238863: Refactor out static initialization from Dict constructors
Reviewed-by: neliasso, dlong
2020-02-14 10:16:07 +01:00
John Jiang
945e42212d 8239025: ProblemList java/net/httpclient/HandshakeFailureTest.java due to JDK-8238990
Reviewed-by: chegar
2020-02-14 16:53:40 +08:00
Boris Ulasevich
485115d1b3 8231118: ARM32: Math tests failures
Reviewed-by: roland
2020-02-14 10:05:10 +03:00
Boris Ulasevich
416ac1d01e 8238643: ARM32 build fails after JDK-8230199
Reviewed-by: shade, lfoltan
2020-02-14 10:03:39 +03:00
Naoto Sato
27391005a5 8239017: cmp-baseline fails because of differences in TimeZoneNames_kea
Reviewed-by: erikj
2020-02-13 17:14:45 -08:00
Alex Menkov
bcb804f07f 8238710: LingeredApp doesn't log stdout/stderr if exits with non-zero code
Reviewed-by: cjplummer, sspitsyn
2020-02-13 13:43:09 -08:00
Jose Ziviani
b72e31b39f 8235791: [TESTBUG] Fix comment in TestElfDirectRead.java
Reviewed-by: dholmes, iklam
2020-02-13 16:01:46 -05:00
Kim Barrett
087074334d 8238867: Improve G1DirtyCardQueueSet::Queue::pop
Allow one of competing pops for last element to succeed.

Reviewed-by: iwalulya, sjohanss
2020-02-13 15:16:50 -05:00
Mikael Vidstedt
3c18ed58a1 8238932: Invalid tier1_gc_1 test group definition
Reviewed-by: kbarrett
2020-02-13 12:08:04 -08:00
Vicente Romero
4c707c1df3 8238838: spurious error message for compact constructors with throws clause
Reviewed-by: mcimadamore
2020-02-13 14:13:08 -05:00
Man Cao
f844943273 8234608: [TESTBUG] Fix G1 redefineClasses tests and a memory leak
Co-authored-by: Ian Rogers <irogers@google.com>
Co-authored-by: Thomas Schatzl <thomas.schatzl@oracle.com>
Reviewed-by: tschatzl, sjohanss
2020-02-13 10:54:07 -08:00
Joe Darcy
683a5b1197 8237805: Use inline @jls @jvms in core libs where appropriate
Reviewed-by: xiaofeya, dfuchs, prappo
2020-02-13 10:37:37 -08:00
Aleksey Shipilev
1ef862d03d 8239007: java/math/BigInteger/largeMemory/ tests should be disabled on 32-bit platforms
Reviewed-by: bpb
2020-02-13 19:22:32 +01:00
Stuart Marks
5b4d80d106 8046362: IdentityHashMap.hash comments should be clarified
Reviewed-by: aph, martin, rriggs
2020-02-13 10:00:33 -08:00
Frederic Parain
30707f8007 8238961: Assertion failure in new field layout code when ContendedPaddingWidth == 0
Reviewed-by: hseigel, coleenp
2020-02-13 11:23:17 -05:00
Aleksey Shipilev
a4616a7b49 8238896: Massive x86_32 crashes after JDK-7175279 (Don't use x87 FPU on x86-64)
Reviewed-by: thartmann, stuefe, vlivanov
2020-02-13 17:05:54 +01:00
Aleksey Shipilev
18b31b1f02 8238909: x86_32 fails gtest:power_of_2
Reviewed-by: stefank, redestad
2020-02-13 17:05:30 +01:00
Harold Seigel
d298a05d02 8238175: CTW: Class.getDeclaredMethods fails with assert(k->is_subclass_of(SystemDictionary::Throwable_klass())) failed: invalid exception class
Replace the assert with a logging message saying that the class is not a subclass of java.lang.Throwable

Reviewed-by: dholmes, coleenp
2020-02-13 15:43:59 +00:00
Christian Hagedorn
2ac2d590c2 8238811: C2: assert(i >= req() || i == 0 || is_Region() || is_Phi()) with -XX:+VerifyGraphEdges
Fix -XX:+VerifyGraphEdges by additionally handling ArrayCopyNodes and UnlockNodes and add some basic flag testing.

Reviewed-by: roland, neliasso
2020-02-13 15:08:08 +01:00
Christian Hagedorn
3ea92e735b 8238756: C2: assert(((n) == __null || !VerifyIterativeGVN || !((n)->is_dead()))) failed: can not use dead node
Fix -XX:+VerifyIterativeGVN due to a dead node and add some basic flag testing.

Reviewed-by: roland, neliasso
2020-02-13 15:07:45 +01:00
Christian Hagedorn
e2829b7b87 8237945: CTW: C2 compilation fails with assert(just_allocated_object(alloc_ctl) == ptr) failed: most recent allo
Removing too strong assertion about array allocation in LibraryCallKit::tightly_coupled_allocation().

Reviewed-by: thartmann, neliasso
2020-02-13 15:07:21 +01:00
Christian Hagedorn
8bdb972192 8238178: CTW: C1 compilation fails with assert(sux->loop_depth() != block->loop_depth() || sux->loop_index() == block->loop_index() || loop_through_xhandler) failed: Loop index has to be same
Fix verification of C1 IR involving xhandlers in one-time executed loops on the non-exceptional path.

Reviewed-by: thartmann, neliasso
2020-02-13 15:06:57 +01:00
Richard Reingruber
b0b8190ea2 8238782: Cleanup Deoptimization::deoptimize(): remove unused RegisterMap argument and don't update RegisterMap in callers if UseBiasedLocking is enabled
Reviewed-by: dholmes, kvn
2020-02-12 09:18:37 +01:00
John Jiang
446f59a26c 8234718: java/net/httpclient tests should cover TLSv1.3
Reviewed-by: dfuchs
2020-02-13 21:42:31 +08:00
Matthias Baesken
cafdbcc6ef 8237830: support O_CLOEXEC in os::open on other OS than Linux
Reviewed-by: dholmes, lucy
2020-02-13 09:18:46 +01:00
Thomas Schatzl
78f58c3e39 8238854: Remove superfluous C heap allocation failure checks
Reviewed-by: kbarrett, sjohanss
2020-02-13 11:00:40 +01:00
Jesper Wilhelmsson
00484e9446 Added tag jdk-15+10 for changeset 1bee69801aee 2020-02-13 03:02:02 +01:00
David Holmes
4e4d1f2b4d 8234372: Investigate use of Thread::stack_base() and queries for "in stack"
Reviewed-by: dcubed, stuefe
2020-02-12 20:19:50 -05:00
Kim Barrett
25c5a23695 8238272: Eliminate cast_from_oop to narrowOop*
Improved low address computation in ObjArrayKlass::oop_oop_iterate_range.

Reviewed-by: tschatzl, sjohanss
2020-02-12 15:38:48 -05:00
Roger Riggs
eccdd8e603 8238919: (doc) Broken code snippet in the java.util.stream package documentation
Reviewed-by: mchung, naoto
2020-02-12 15:06:39 -05:00
Igor Ignatyev
93241e5db7 8238930: problem list compiler/c2/Test8004741.java
Reviewed-by: kvn
2020-02-12 11:31:36 -08:00
Mikael Vidstedt
aa4ef80f6a 8238912: Update devkit for linux-aarch64
Reviewed-by: erikj
2020-02-12 09:44:53 -08:00
Naoto Sato
5c3a01591c 8234347: "Turkey" meta time zone does not generate composed localized names
8236548: Localized time zone name inconsistency between English and other locales

Reviewed-by: joehw, rriggs
2020-02-12 08:25:35 -08:00
Sean Mullan
2fbbce2b23 8191395: policy.allowSystemProperty and policy.expandProperties also apply to JAAS configurations
Reviewed-by: weijun
2020-02-12 10:28:59 -05:00
Roger Riggs
a239c475cf 8238918: idea.sh should work with both mercurial and git repos
Reviewed-by: erikj, mcimadamore, ehelin, lancea
2020-02-12 09:38:59 -05:00
Roman Kennke
411766b6bb 8238851: Shenandoah: C1: Resolve into registers of correct type
Reviewed-by: shade
2020-02-11 16:01:38 +01:00
Matthias Baesken
1e0167ef92 8238602: remove obsolete functions from libinstrument/FileSystemSupport_md.c
Reviewed-by: clanger, sspitsyn
2020-02-06 16:53:33 +01:00
Valerie Peng
c103a1bb69 8238448: RSASSA-PSS signature verification fail when using certain odd key sizes
Calculate and set offset for correct verification for such key sizes

Reviewed-by: xuelei
2020-02-12 02:44:45 +00:00
Valerie Peng
8969aeb16b Merge 2020-02-12 01:13:55 +00:00
Valerie Peng
fc3b42fc8e 8238898: Missing hash characters for header on license file
Fixed the typos and corrected the formatting

Reviewed-by: weijun
2020-02-12 01:11:59 +00:00
Valerie Peng
1f17842583 8236512: PKCS11 Connection closed after Cipher.doFinal and NoPadding
Removed killSession() calls in certain impl classes when cancelling operations

Reviewed-by: xuelei
2020-02-12 00:56:27 +00:00
Yumin Qi
c37ebcd730 8232069: Enable CDS even when UseCompressedClassPointers and/or UseCompressedOops are false
Fix to save UseCompressedOops and UseCompressedClassPointers in shared archive and at runtime run with CDS only if they are matched the stored versions.

Reviewed-by: iklam, ccheung
2020-02-11 12:16:23 -08:00
Pavel Rappo
56a7631555 8237909: Remove zipped index files feature
Reviewed-by: hannesw, jjg
2020-02-11 15:23:28 +00:00
Pavel Rappo
fff1a59cfa 8238291: Fix inconsistencies in the format of the index files
Reviewed-by: jjg
2020-02-11 13:19:12 +00:00
Vladimir Ivanov
898a903530 8238762: Optimized build is broken
Reviewed-by: coleenp
2020-02-11 14:55:45 +03:00
Vladimir Ivanov
5e9dc46d21 8238683: C2: Remove Use24BitFP and Use24BitFPMode flags
Reviewed-by: thartmann, neliasso
2020-02-11 14:55:44 +03:00
Vladimir Ivanov
74e68b4092 8238690: C2: Handle vector shifts by constant and non-constant scalar uniformly
Reviewed-by: thartmann, sviswanathan
2020-02-11 14:55:43 +03:00
Vladimir Ivanov
0d84fe9872 8238680: C2: Remove redundant AD instructions for Replicate nodes
Reviewed-by: thartmann, sviswanathan
2020-02-11 14:55:41 +03:00
Vladimir Ivanov
590f5996c6 8136414: Large performance penalty declaring a method strictfp on strict-only platforms
Reviewed-by: thartmann
2020-02-11 14:55:39 +03:00
Thomas Schatzl
c16040393c 8238160: Uniformize Parallel GC task queue variable names
Reviewed-by: kbarrett, sangheki
2020-02-11 12:48:25 +01:00
Patrick Zhang
1d42f083c1 8238386: (sctp) jdk.sctp/unix/native/libsctp/SctpNet.c "multiple definition" link errors with GCC10
Fixed libsctp link errors caused by GCC10 default -fno-common

Reviewed-by: chegar
2020-02-05 17:14:15 +08:00
Sergey Bylokhov
ddc851536c 8235739: Rare NPE at WComponentPeer.getGraphics()
Reviewed-by: dmarkov, aivanov
2019-12-13 18:39:30 -08:00
Sergey Bylokhov
76da2b777a 8235638: NPE in LWWindowPeer.getOnscreenGraphics()
Reviewed-by: dmarkov, aivanov
2019-12-13 18:37:48 -08:00
Zhengyu Gu
0591a66b90 8235842: Shenandoah: Implement native LRB for narrow oop
Reviewed-by: rkennke
2019-12-12 15:20:53 -05:00
Roman Kennke
450b97f593 8234974: Shenandoah: Do concurrent roots even when no evacuation is necessary
Reviewed-by: zgu
2019-12-12 18:34:30 +01:00
Vicente Romero
be6b4aab40 8236692: static final fields without initializer are accepted by javac
Reviewed-by: mcimadamore
2020-01-08 15:18:58 -05:00
Jayathirth D V
dee4009a97 8235176: Add local glyph state management and remove global references 2019-12-02 14:20:32 +05:30
Jayathirth D V
e682c5129a Merge 2019-11-27 13:34:58 +05:30
Jayathirth D V
cdcb094b65 8233190: Use multi commandbuffer and draw back buffer in QueueFlusher 2019-11-26 16:35:19 +05:30
Xue-Lei Andrew Fan
02cc064144 8234037: Improve Object Identifier Processing
Reviewed-by: weijun, mschoene, ssahoo
2019-11-25 07:24:17 -08:00
Gustavo Romero
1691abc747 8234599: PPC64: Add support on recent CPUs and Linux for JEP-352
Reviewed-by: mbaesken, mdoerr, adinn
2019-11-21 17:10:26 -03:00
Artem Bochkarev
537653bd49 8234506: implement cleaning logic for textures pool
* use Last-Recent-Used strategy
* also optimized search of item
* also add command buffer wrapper (that manages binded per-frame resources)
2019-11-20 14:41:12 +03:00
Artem Bochkarev
4fd7c3c449 8234352: fixed memory leaks (for textures)
also remove unnecessary code that has no sense (given from initial GL impl)
2019-11-18 21:22:51 +03:00
Patrick Zhang
3ad9078968 8234228: AArch64: Some temp vars in string_compare intrinsics for processing the last 4 chars (LU/UL) are no use
Clean up redundant temp vars in generate_compare_long_string_different_encoding

Reviewed-by: adinn
2019-11-15 17:02:17 +08:00
Alexey Ushakov
2ec02181fa 8233879 : Improve performance of MTLVertexCache
Improved performance by avoiding creation of MTLBuffer objects for passing vertices
2019-11-09 18:58:48 +03:00
Artem Bochkarev
14e6b1244c 8233840: implemented MTLBlitLoops_CopyArea 2019-11-08 13:06:44 +03:00
Artem Bochkarev
24bff4e701 8233711: support alpha-composite modes (through multipliers of MTLRenderPipelineColorAttachmentDescriptor) 2019-11-08 12:07:14 +03:00
Severin Gehwolf
d462a6b5c9 8230305: Cgroups v2: Container awareness
Implement Cgroups v2 container awareness in hotspot

Reviewed-by: bobv, dholmes
2019-11-07 17:11:59 +01:00
Pavel Rappo
71340f51fa 8236700: Upgrading JSZip from v3.1.5 to v3.2.2
Reviewed-by: hannesw, jjg
2020-01-17 12:25:37 +00:00
Coleen Phillimore
65354d838a 8236901: 8232759 missed a test case
Use jcmd GC.class-histogram because it also works for verifying that the classes are loaded.

Reviewed-by: dholmes, mseledtsov, iklam
2020-01-17 06:56:29 -05:00
Per Lidén
72609092fe 8237201: ZGC: Remove unused ZRelocationSetSelector::fragmentation()
Reviewed-by: tschatzl
2020-01-17 10:20:38 +01:00
Per Lidén
d98a39a0e7 8237200: ZGC: Rename ZBackingPath to ZMountPoint
Reviewed-by: stefank, eosterlund, smonteith
2020-01-17 10:20:38 +01:00
Per Lidén
74f0ef5050 8237199: ZGC: Rename ZBackingFile to ZPhysicalMemoryBacking
Reviewed-by: stefank, eosterlund, smonteith
2020-01-17 10:20:38 +01:00
Per Lidén
c6dc3308a1 8237198: ZGC: Share multi-mapping code in ZBackingFile
Reviewed-by: stefank, eosterlund, smonteith
2020-01-17 10:20:37 +01:00
Fairoz Matte
a4b3e781fe 8236701: [TESTBUG] compiler/loopopts/superword/Vec_MulAddS2I.java uses wrong flag -XX:-SuperWord
Reviewed-by: iklam, thartmann
2020-01-16 17:37:09 -08:00
Nick Gasson
18d73cb8e5 8236992: AArch64: remove redundant load_klass in itable stub
Reviewed-by: aph, adinn
2020-01-17 09:30:52 +08:00
Masanori Yano
567465c62c 8216012: Infinite loop in RSA KeyPairGenerator
Check and error out on even RSA public exponents

Reviewed-by: valeriep
2020-01-17 01:05:27 +00:00
Zhengyu Gu
0b2da9e239 8236878: Use atomic instruction to update StringDedupTable's entries and entries_removed counters
Reviewed-by: rkennke, shade
2020-01-16 18:36:24 -05:00
Alexey Semenyuk
163875d24b 8236132: Add missing properties to msi installers
Reviewed-by: herrick, almatvee
2020-01-16 08:28:21 -05:00
Alexey Semenyuk
a544090944 8232077: Investigate if default behavior should allow downgrade scenario
Reviewed-by: herrick, almatvee
2020-01-16 08:25:46 -05:00
Alexey Semenyuk
bd1eff9e32 8233578: Document configurable parameters of msi packages
Reviewed-by: herrick, almatvee
2020-01-16 12:12:02 -05:00
Daniil Titov
75912b7aaa 8236873: Worker has a deadlock bug
Reviewed-by: dfuchs, dholmes, sspitsyn
2020-01-16 09:53:03 -08:00
Harold Seigel
7fc58a1020 8235678: Remove unnecessary calls to Thread::current() in MutexLocker calls
Add THREAD argument when available and make Thread* the first argument to relevant MutexLocker and MonitorLocker constructors

Reviewed-by: lfoltan, coleenp, dholmes
2020-01-16 13:48:23 +00:00
Igor Ignatyev
e2240b714e 8236111: narrow allowSmartActionArgs disabling
Reviewed-by: dholmes, mullan, darcy, rriggs
2020-01-15 21:20:40 -08:00
Jesper Wilhelmsson
51d5164ca2 Merge 2020-01-16 04:09:50 +01:00
Jesper Wilhelmsson
76e420d790 Added tag jdk-15+6 for changeset ef7d53b4fccd 2020-01-16 03:19:32 +01:00
Fei Yang
a86e196559 8235762: JVM crash in SWPointer during C2 compilation
Reviewed-by: thartmann, chagedorn, neliasso
2020-01-09 19:12:16 +08:00
Joe Darcy
e80a188257 8235959: Update --release 14 symbol information up to JDK 14 b31
Reviewed-by: jjg
2020-01-15 15:11:09 -08:00
Aleksey Shipilev
abfab9e0a7 8237223: Shenandoah: important flags should not be ergonomic for concurrent class unloading
Reviewed-by: zgu
2020-01-15 21:38:12 +01:00
Jaikiran Pai
ec5869eb2e 7143743: Potential memory leak with zip provider
Reviewed-by: lancea, clanger, alanb
2020-01-15 15:24:54 -05:00
Jesper Wilhelmsson
d34f561de0 Merge 2020-01-15 20:41:46 +01:00
Vicente Romero
eb6fa14ee6 8237214: fix for JDK-8236597 reintroduced wrong subexpression
Reviewed-by: mcimadamore
2020-01-15 14:32:08 -05:00
Jonathan Gibbons
642037eee8 8223536: jdk/javadoc/doclet/MetaTag/MetaTag.java still fails when run across midnight
Reviewed-by: prappo
2020-01-15 11:21:48 -08:00
Aleksey Shipilev
45bc3871f5 8237217: Incorrect G1StringDedupEntry type used in StringDedupTable destructor
Reviewed-by: kbarrett, zgu
2020-01-15 20:04:51 +01:00
Daniil Titov
c0b4e0cb25 8213222: remove RMIConnectorServer.CREDENTIAL_TYPES
Reviewed-by: dfuchs, alanb
2020-01-15 10:54:34 -08:00
Severin Gehwolf
7b5de56fc3 8236921: Add build target to produce a JDK image suitable for a Graal/SVM build
Make graal-builder-image will produce a suitable build JDK

Reviewed-by: erikj
2019-12-16 11:06:01 +01:00
Vicente Romero
ff77d06f17 8236597: issues inferring type annotations on records
Reviewed-by: mcimadamore
2020-01-15 10:45:03 -05:00
Coleen Phillimore
c0dce25756 8236917: TestInstanceKlassSize.java fails with "The size computed by SA for java.lang.Object does not match"
Use getTestJavaOpts() instead of getVmOptions() because of mach5 configuration settings.

Reviewed-by: lmesnik, cjplummer, dholmes
2020-01-15 08:11:03 -05:00
Coleen Phillimore
7707e32b00 8236968: jmap -clstats fails to work after JDK-8232759
Make jmap -clstats call jcmd VM.classloader_stats instead which better matches the documentation

Reviewed-by: dholmes, cjplummer
2020-01-15 08:08:54 -05:00
Roland Westrelin
8d2e11397a 8237007: Shenandoah: assert(_base == Tuple) failure during C2 compilation
Reviewed-by: thartmann, rkennke
2020-01-09 17:26:26 +01:00
Tobias Hartmann
f243173a18 8236721: C2 should better optimize not-equal integer comparisons
Narrow the type if an integer value is found to be unequal to it's lower/upper boundary.

Reviewed-by: roland, neliasso
2020-01-15 08:44:53 +01:00
Pengfei Li
e4aa87b816 8230591: AArch64: Missing intrinsics for Math.ceil, floor, rint
Reviewed-by: aph
2020-01-15 13:24:51 +08:00
Mikael Vidstedt
b63b9a2edb 8237182: Update copyright header for shenandoah and epsilon files
Reviewed-by: iignatyev, zgu
2020-01-14 19:27:03 -08:00
Vicente Romero
ddcac6f066 8236682: Javac generates a redundant FieldRef constant for record fields
Reviewed-by: mcimadamore
2020-01-14 21:49:43 -05:00
Artem Bochkarev
18b550e872 8233714: support 32bpp raster formats (for SwToTexture blit)
* use swizzle when available (otherwise perform raster conversion on cpu)
* supported flag SurfaceData.isOpaue
* fixed memory management for TexturesPool
2019-11-07 12:24:48 +03:00
Magnus Ihse Bursie
fab846163c 8233034: configure needs to provide path to Xcode metal build tools
Reviewed-by: prr
2019-11-04 12:14:45 -08:00
Phil Race
03aa3101a1 Backout 8233039 due to build breakage 2019-11-04 11:39:32 -08:00
Artem Bochkarev
c8b91c2d3f 8233039: support different raster formats (for SwToTexture blit)
* supported flag SurfaceData.isOpaue
* added implementation for missing composite rules (some combinations of parameters and extra-alpha can't be supported with CAD-multipliers, need to reimplement via shaders)
2019-11-01 17:25:07 +03:00
Artem Bochkarev
5b3c412357 8233039: minor code cleanup
minor simplification for MTLContext.createRenderEncoder, fixed logging utils
2019-11-01 17:23:42 +03:00
Roger Riggs
796f3ba8be 8232419: Improve Registry registration
Reviewed-by: smarks, chegar
2019-10-30 13:22:35 -04:00
Ivan Gerasimov
34e36a8c01 8233002: Further enhance datagram socket support
Reviewed-by: alanb, chegar, dfuchs
2019-10-29 09:51:37 -07:00
Jamil Nimeh
c5f884c6d1 8231780: Better TLS messaging support
Reviewed-by: ascarpino, rhalade, mschoene
2019-10-28 18:53:51 -07:00
Kevin Rushforth
95b69fe529 8232918: Unguarded use of displaySyncEnabled causes build to fail
Wrap displaySyncEnabled in @available check to avoid warning
2019-10-23 12:04:35 -07:00
Sean Mullan
a0f8febb8b 8230318: Better trust store usage
Reviewed-by: weijun, rhalade, ahgross
2019-10-22 17:25:34 -04:00
Anton Litvinov
10b1e756e2 8225279: Better XRender interpolation
Reviewed-by: serb, prr, rhalade, ahgross
2019-10-16 19:01:22 +01:00
Jayathirth D V
535fff0dac Merge 2019-10-11 18:14:10 +05:30
Jayathirth D V
bbfac12c68 8232164: Lock renderqueue for least amount of time by making CAMetalLayer asynchronous
Reviewed-by: aghaisas
2019-10-11 15:20:54 +05:30
Brian Burkhalter
68c5b95b13 8231790: Provide better FileSystemProviders
Reviewed-by: alanb, skoivu, rhalade
2019-10-10 10:52:31 -07:00
Roger Riggs
be35f9ef53 8230967: Improve Registry support of clients
Reviewed-by: skoivu, smarks, rhalade
2019-10-15 15:05:33 -04:00
Roger Riggs
24a7ba0c61 8231422: Setting JEP 290 Filter via System Property May Be Ignored
Reviewed-by: smarks, rhalade
2019-10-15 09:52:44 -04:00
Weijun Wang
f3815c85a1 8231139: Improved keystore support
Reviewed-by: mullan, ahgross
2019-10-09 17:42:38 +08:00
Alexey Ushakov
1768149951 8230958: AA Geometry rendering is not supported in metal
Fixed severe memory leaks that caused J2Demo hangs in AA mode
2019-10-03 00:38:17 +03:00
Phil Race
af20c6b9c4 8227816: More Colorful ICC profiles
Reviewed-by: serb, psadhukhan, mschoene, rhalade
2019-10-01 08:47:32 -07:00
Ajit Ghaisas
49ca894f15 8231614: Avoid passing of redundant vertex 'z' data to vertex shader 2019-09-30 14:18:02 +05:30
Alexey Ushakov
0f76adc28d Fixed out of bounds access to transform matrix 2019-09-26 17:51:40 +03:00
Weijun Wang
7c32a6aeae 8231134: Improved credential support
Reviewed-by: ahgross, valeriep
2019-09-26 18:13:20 +08:00
Weijun Wang
bda0fba56b 8229951: Better Ticket Granting Services
Reviewed-by: ahgross, valeriep
2019-09-26 18:12:53 +08:00
Alexey Ushakov
cfc96d96f7 8230958: AA Geometry rendering is not supported in metal
Replaced mallocs with local arrays
2019-09-15 17:22:08 +03:00
Jayathirth D V
4921d927e0 Merge 2019-09-26 12:26:28 +05:30
Jayathirth D V
61aeca21c1 8231215: Add missed change for JDK-8231056
Reviewed-by: aghaisas
2019-09-19 11:30:46 +05:30
Jayathirth D V
fda678bef9 8231056: Refactor code to remove repetative logic in MTLLayer
Reviewed-by: aghaisas
2019-09-19 10:58:49 +05:30
Ajit Ghaisas
aba2c30d1e 8231178 : testImgBubbles of RenderPerfTest reports less FPS when run with Metal
Reviewed-by : jdv
2019-09-18 15:25:25 +05:30
Ajit Ghaisas
3ecd356574 8231175 : Fix J2DDemo sanity breakage caused due to initial commit of 8230958 2019-09-18 14:50:04 +05:30
Alexey Ushakov
762853fe8f 8230958: AA Geometry rendering is not supported in metal
Supported flat color fills in AA rendering mode
2019-09-13 21:17:07 +03:00
Alexey Ushakov
f879fa4e34 8230958: AA Geometry rendering is not supported in metal
Implemented MTLMaskFill_MaskFill operation
2019-09-13 15:38:18 +03:00
Lois Foltan
40429eea41 8225261: Better method resolutions
Correct the class used to perform the overriding check in klassVtable::find_transitive_override

Reviewed-by: ahgross, dholmes, hseigel, jwilhelm, rhalade
2019-09-12 11:46:05 -04:00
Ajit Ghaisas
6c8022b1ee 8230837: MTLRenderer_DrawParallelogram method - can be optimized by combining 4 drawPrimitives calls
Reviewed-by: jdv
2019-09-12 15:10:50 +05:30
Alexey Ushakov
d691007acc 8230859: fillOval with stroke width < 1 does not render
Implemented missing primitive
2019-09-11 17:47:02 +03:00
Jayathirth D V
9f250e53c8 8230849: Remove scheduleBlitAllModifiedLayers code after setNeedsDisplay
Reviewed-by: aghaisas
2019-09-11 17:37:53 +05:30
Xue-Lei Andrew Fan
10b010d0f5 8229728: Implement negotiation parameters
Reviewed-by: jnimeh, ahgross, rhalade
2019-09-10 17:13:48 -07:00
Alexey Ushakov
7cba2b956a 8230810: JFrame has incorrect insets with metal pipeline enabled
Adjusted metal rendering to use correct insets in JFrame
2019-09-10 18:21:35 +03:00
Jayathirth D V
c4ee724176 8230793: Remove CALayerDelegate usage for metal
Reviewed-by: aghaisas
2019-09-10 15:21:59 +05:30
Jayathirth D V
393e924d2d 8230789: Call setNeedsDisplay when we are drawing child layers recursively
Reviewed-by: aghaisas
2019-09-10 12:15:30 +05:30
Alexey Ushakov
fcba1675a7 8230657: Create fine grained render perf test for metal pipeline
Converted gradle JUnit test to plain java for ant and gnumake

To run the tests:
cd src/demo/share/java2d/RenderPerfTest

ant run
or
java -jar dist/RenderPerfTest.jar
or
java -jar dist/RenderPerfTest.jar testWhiteTextBubblesGray
2019-09-06 16:06:07 +03:00
Jayathirth D V
493e7d102a 8228576: Use setNeedsDisplay to start blitting in Appkit thread in Metal
Co-authored-by: Ajit Ghaisas <ajit.ghaisas@oracle.com>
Reviewed-by: aghaisas
2019-09-06 16:09:19 +05:30
Alexey Ushakov
54f1e4ec23 8230657: Create fine grained render perf test for metal pipeline
To run the tests:
cd src/demo/share/java2d/RenderPerfTest

sh gradlew test -i
or
sh gradlew test --tests *testWiredBoxBubbles* -i
2019-09-05 17:35:46 +03:00
Alexey Ushakov
a59e9ab2ac 8230647: Provide metal shaders library for all build targets 2019-09-05 13:15:38 +03:00
Ajit Ghaisas
6bd87cb96f 8230641: MTLRenderer_FillSpans method needs to be optimized by reducing total number of drawPrimitives calls
Reviewed-by: jdv
2019-09-05 15:28:54 +05:30
Jayathirth D V
7a448bc74d 8230287: Use single render encoder per destination for metal 2019-08-28 17:23:11 +05:30
Sean Mullan
6cb8dfa9e3 8227758: More valid PKIX processing
Reviewed-by: xuelei, rhalade, coffeys, mschoene
2019-08-26 13:57:51 -04:00
Alexey Ushakov
b5cc29da48 Added support for Xcode 10 2019-08-23 22:51:17 +03:00
Jayathirth D V
d98d18b297 8230042: Fix metal shader generation path
Reviewed-by: aghaisas
2019-08-22 19:52:56 +05:30
Jayathirth D V
1441538b23 8229915: Migrate the metal changes from sandbox to lanai repository
Co-authored-by: Alexey Ushakov <alexey.ushakov@jetbrains.com>
Co-authored-by: Ajit Ghaisas <ajit.ghaisas@oracle.com>
Reviewed-by: aghaisas
2019-08-22 17:57:55 +05:30
Sergey Bylokhov
1236be7e4a 8224909: Unlink Set of LinkedHashSets
Reviewed-by: prr, mschoene, rhalade, psadhukhan
2019-08-21 18:07:29 -07:00
Patrick Zhang
8c1efbe38b 8229351: AArch64: the const STUB_THRESHOLD in macroAssembler_aarch64.cpp needs to be tuned
Optimize the stub thresholds of string_compare intrinsics

Reviewed-by: adinn, aph, avoitylov
2019-08-12 16:22:24 +08:00
Alan Bateman
27e0cdf12d 8236184: (dc) IP_MULTICAST_* and IP_TOS socket options not effective
Reviewed-by: dfuchs
2019-12-19 08:36:40 +00:00
Matthias Baesken
75cd193aac 8236183: cleanup Java_jdk_internal_reflect_Reflection_getCallerClass naming
Reviewed-by: alanb, dholmes, redestad
2019-12-18 15:10:10 +01:00
Jesper Wilhelmsson
14591108c7 Added tag jdk-15+2 for changeset f33197adda9a 2019-12-19 03:48:14 +01:00
Nick Gasson
aea0a57512 8234794: AArch64: runtime/memory/ReadFromNoaccessArea.java crashes
Try to map CDS shared space at 4G aligned address on AArch64

Reviewed-by: adinn, aph, jiangli, iklam
2019-12-19 09:47:33 +08:00
Daniel D. Daugherty
03c3f174ae 8236226: fix merge error in src/hotspot/share/gc/z/zRootsIterator.cpp
Reviewed-by: dholmes, kbarrett
2019-12-18 18:22:52 -05:00
Jesper Wilhelmsson
e788e6dd46 Merge 2019-12-18 23:46:55 +01:00
Jonathan Gibbons
c670ebb56b 8236030: Cleanup use of String.toCharArray
Reviewed-by: ksrini, hannesw, igerasim
2019-12-18 12:14:01 -08:00
Jonathan Gibbons
dc5728ed95 8235947: Cleanup/simplify Utils.getBlockTags
Reviewed-by: prappo, hannesw
2019-12-18 11:57:07 -08:00
Jatin Bhateja
a3c0f4c804 8235825: C2: Merge AD instructions for Replicate nodes
Reviewed-by: vlivanov, sviswanathan, jrose, kvn
2019-12-18 21:25:40 +03:00
Jatin Bhateja
7840d02140 8235824: C2: Merge AD instructions for AddReductionV and MulReductionV nodes
Reviewed-by: vlivanov, sviswanathan, jrose, kvn
2019-12-18 21:25:38 +03:00
Lance Andersen
ab7cfde85c 8229888: (zipfs) Updating an existing zip file does not preserve original permissions
Reviewed-by: clanger, alanb, bpb
2019-12-18 12:03:56 -05:00
Kiran Sidhartha Ravikumar
a1b2e1042c 5064980: URI compareTo inconsistent with equals for mixed-case escape sequences
Reviewed-by: chegar, dfuchs
2019-12-17 16:06:27 +00:00
Calvin Cheung
fae788a200 8235563: [TESTBUG] appcds/CommandLineFlagComboNegative.java does not handle archive mapping failure
Use the assertAbnormalExit method of the CDSTestUtils.Result class to handle archive mapping failure.

Reviewed-by: iklam
2019-12-17 16:46:37 -08:00
Pavel Rappo
bdaa9c6a1c 8236077: Clean up the use of modifiers and semicolons
Reviewed-by: jjg
2019-12-17 21:50:17 +00:00
Jonathan Gibbons
a1d396c6cb 8235926: Update @jls @jvms taglets to allow inline usage
Reviewed-by: hannesw
2019-12-17 13:07:44 -08:00
Alexey Semenyuk
df75426b4f 8236134: files missing in putback to JDK-8233270
Reviewed-by: herrick, prr, almatvee
2019-12-17 15:52:20 -05:00
Daniel D. Daugherty
b4459723ad 8236130: ProblemList jdk/jfr/jmx/security/TestEnoughPermission.java
Reviewed-by: mikael
2019-12-17 15:38:22 -05:00
Vicente Romero
ba9d4ad45a 8234971: Incorrect example in j.l.reflect.RecordComponent::toString
Reviewed-by: jjg
2019-12-17 14:11:26 -05:00
Alexey Semenyuk
14459b2ad2 8233270: Add support to jtreg helpers to unpack packages
8230933: Default icon is not set for additional launchers

Reviewed-by: herrick, prr, almatvee
2019-12-17 13:56:47 -05:00
Roman Kennke
0743555685 8236106: [TESTBUG] Shenandoah: Make TestThreadFailure more resilient
Reviewed-by: zgu
2019-12-17 18:23:33 +01:00
Mikhailo Seledtsov
d5a8e018d5 8235454: [TESTBUG] Basic test for JFR event streaming for jdk_jfr_sanity
Created basic test for JFR event streaming

Reviewed-by: egahlin, iignatyev
2019-12-17 08:42:23 -08:00
John Paul Adrian Glaubitz
4e68ac9b15 8235960: Zero should not trigger the deprecation warning for ports
Reviewed-by: mikael
2019-12-17 16:53:44 +01:00
Jesper Wilhelmsson
fa070554cb Merge 2019-12-17 16:29:30 +01:00
Daniel Fuchs
e16d4a45b0 8235925: java/net/Socket/HttpProxy.java fails on IPv4 only hosts and other small cleanups
HttpProxy test is fixed to take into account the possibility that the host may be configured with IPv4 only

Reviewed-by: chegar
2019-12-17 16:11:16 +01:00
Andy Herrick
ee5777c700 8235915: jpackage associations fail when there are spaces in file name or path
Reviewed-by: prr, asemenyuk, almatvee
2019-12-17 09:02:13 -05:00
Claes Redestad
3f865f4bf2 8235997: JMH test runner should quote VM_OPTIONS and JAVA_OPTIONS sent to -jvmArgs
Reviewed-by: erikj
2019-12-17 15:09:30 +01:00
Andy Herrick
9b2bbd3df4 8235667: IOUtils.copyFile() problems
Reviewed-by: rriggs, asemenyuk, almatvee
2019-12-17 08:56:52 -05:00
Weijun Wang
010ac54044 8236070: Backout fix for JDK-8234465
Reviewed-by: mullan
2019-12-17 20:56:53 +08:00
Per Lidén
bd6ab22a59 8235905: ZGC: Rework how ZRootsIterator visits threads
Reviewed-by: stefank
2019-12-17 11:37:55 +01:00
Thomas Schatzl
dcb17bad55 8235996: Move obsolete flag G1RSetScanBlockSize in flags list
Reviewed-by: sjohanss, lkorinth
2019-12-17 10:12:41 +01:00
Matthias Baesken
9a31ab8862 8235671: enhance print_rlimit_info in os_posix
Reviewed-by: clanger, mdoerr
2019-12-10 16:55:14 +01:00
Ioi Lam
83cb7044e9 8236028: [TESTBUG] Remove dependency of sun.tools.jar from appcds/JarBuilder
Reviewed-by: ccheung
2019-12-16 21:24:00 -08:00
Weijun Wang
31b07b21ae 8234465: Encoded elliptic curve private keys should include the public point
Reviewed-by: xuelei
2019-12-17 09:38:30 +08:00
Ioi Lam
924720f6fc 8236045: [TESTBUG] MismatchedWhiteBox test fails with missing WhiteBox$WhiteBoxPermission.class
Reviewed-by: ccheung
2019-12-16 15:20:02 -08:00
Thomas Schatzl
bc97279caf 8235907: Fix tests referencing UseParallelOldGC
Remove tests using the obsolete UseParallelOldGC flag.

Reviewed-by: lkorinth, dlong
2019-12-16 23:07:37 +01:00
Vicente Romero
89e0d29101 8235778: No compilation error reported when a record is declared in a local class
Reviewed-by: mcimadamore
2019-12-16 15:33:03 -05:00
Ioi Lam
1b4b652408 8235970: [TESTBUG] Remove dependency of sun.tools.jar from RedefineClassHelper
Reviewed-by: alanb
2019-12-16 10:04:36 -08:00
Ioi Lam
8b2453f93b 8199290: [TESTBUG] sun.hotspot.WhiteBox$WhiteBoxPermission is not copied
Reviewed-by: iignatyev, dholmes
2019-12-16 10:03:42 -08:00
Jesper Wilhelmsson
83163dbfe6 Merge 2019-12-16 17:43:20 +01:00
Claes Redestad
820e1a7e14 8235956: Remove javaClasses offset tests
Reviewed-by: dholmes, coleenp
2019-12-16 13:40:22 +01:00
Matthias Baesken
5e85366785 8234968: check calloc rv in libinstrument InvocationAdapter
Reviewed-by: clanger, stuefe, sspitsyn
2019-11-29 08:00:36 +01:00
David Holmes
9555be71a5 8235965: Tests using ThreadLocalHandshakes need to stop using it as it no longer exists
Reviewed-by: iignatyev, jiefu
2019-12-15 21:56:17 -05:00
David Holmes
bf9bc1f320 8231559: Remove expired flags in JDK 15
Reviewed-by: kbarrett, kvn
2019-12-15 19:56:12 -05:00
Ivan Gerasimov
f82e4b1b76 8235930: java.util.regex.PrintPattern does not print a link to the next node
Reviewed-by: martin
2019-12-15 09:33:50 -08:00
Weijun Wang
1ae2478404 8234697: Generate sun.security.util.math.intpoly classes during build
Reviewed-by: erikj, mullan
2019-12-14 13:50:34 +08:00
Harold Seigel
6ccfc65ec3 8235922: [TESTBUG]TestRecordAttrGenericSig.java and TestRecordAttr.java are failing
Replace hard-wired JDK version 14 with mechanisms that get the latest JDK version.

Reviewed-by: dcubed
2019-12-13 19:50:43 +00:00
Jonathan Gibbons
3c0e2b4e16 8235306: Support doc-comment tags that can be inline or block tags
Reviewed-by: hannesw
2019-12-13 10:42:57 -08:00
Aleksei Voitylov
4d1176fd60 8231612: 100% cpu on arm32 in Service Thread
Reviewed-by: kbarrett, dsamersoff
2019-12-13 20:35:10 +03:00
Naoto Sato
20b1410d0c 8235238: Parsing a time string ignores any custom TimeZoneNameProvider
Reviewed-by: joehw, rriggs
2019-12-13 08:17:28 -08:00
Patricio Chilano Mateo
57ece4c21a 8232733: Remove need to grab Threads_lock while processing handshakes
Threads_lock is not acquired anymore while processing handshakes

Reviewed-by: coleenp, rehn, dcubed, dholmes
2019-12-13 14:28:22 +00:00
Sibabrata Sahoo
94e8d6eca4 8234728: Some security tests should support TLSv1.3
Tests were updated to support TLSv1.3 and cipher suite order

Reviewed-by: xuelei
2019-12-12 22:47:24 -08:00
Martin Balao
4fa827ec92 8005819: Support cross-realm MSSFU
Reviewed-by: weijun
2019-12-11 15:43:42 -03:00
Jesper Wilhelmsson
06ecbfd3da Added tag jdk-15+1 for changeset 63e17cf29bed 2019-12-13 02:49:52 +01:00
Pavel Rappo
71da14104a 8235447: Remove (obsolete) @author info from javadoc tests
Reviewed-by: ksrini, jjg
2019-12-12 21:11:49 +00:00
Zhengyu Gu
9b4539886c 8235842: Shenandoah: Implement native LRB for narrow oop
Reviewed-by: rkennke
2019-12-12 15:20:53 -05:00
Joe Darcy
2d2383bf32 8230771: Remove terminally deprecated constructors in java.base
Additional review input from Victor Williams Stafusa da Silva

Reviewed-by: lancea, chegar, mchung, smarks, dfuchs
2019-12-12 11:39:49 -08:00
Joe Darcy
74882b0d0d 8235514: Update record serialization tests to not use hard coded source versions
Reviewed-by: lancea
2019-12-12 11:31:05 -08:00
Joe Darcy
890826bf5b 8225361: Start of release updates for JDK 15
8235497: Add SourceVersion.RELEASE_15
8235528: Add source 15 and target 15 to javac

Reviewed-by: erikj, jjg, jlahoda, dholmes, alanb, hseigel, mikael, chegar
2019-12-10 16:38:53 -08:00
Roman Kennke
8a54d97a4d 8234974: Shenandoah: Do concurrent roots even when no evacuation is necessary
Reviewed-by: zgu
2019-12-12 18:34:30 +01:00
Jesper Wilhelmsson
e4c332cd92 Added tag jdk-15+0 for changeset 2c724dba4c3c 2019-12-12 17:06:21 +01:00
Daniel Fuchs
3375411e1b 8228548: Normalize normalization for all
Reviewed-by: chegar, rhalade, igerasim
2019-08-08 16:47:55 +01:00
Weijun Wang
2215201dd5 8226352: Improve Kerberos interop capabilities
Reviewed-by: ahgross, mullan, valeriep
2019-07-19 14:51:04 +08:00
4481 changed files with 125234 additions and 96633 deletions

23
.hgtags
View File

@@ -599,7 +599,30 @@ c16ac7a2eba4e73cb4f7ee9294dd647860eebff0 jdk-14+21
438337c846fb071900ddb6922bddf8b3e895a514 jdk-14+24
17d242844fc9e7d18b3eac97426490a9c246119e jdk-14+25
288777cf0702914e5266bc1e5d380eed9032ca41 jdk-14+26
2c724dba4c3cf9516b2152e151c9aea66b21b30b jdk-15+0
91a3f092682fc715d991a87eb6ec6f28886d2035 jdk-14+27
63e17cf29bed191ea21020b4648c9cdf893f80f5 jdk-15+1
2069b4bfd23b56b6fc659fba8b75aaaa23debbe0 jdk-14+28
f33197adda9ad82fdef46ac0f7dc0126204f35b2 jdk-15+2
563fa900fa17c290ae516c7a3a69e8c069dde304 jdk-14+29
d05fcdf25717d85e80a3a39a6b719458b22be5fe jdk-15+3
d54ce919da90dab361995bb4d87be9851f00537a jdk-14+30
bb0a7975b31ded63d594ee8dbfc4d4ead587f79b jdk-15+4
decd3d2953b640f1043ee76953ff89238bff92e8 jdk-14+31
b97c1773ccafae4a8c16cc6aedb10b2a4f9a07ed jdk-15+5
2776da28515e087cc8849acf1e131a65ea7e77b6 jdk-14+32
ef7d53b4fccd4a0501b17d974e84f37aa99fa813 jdk-15+6
f728b6c7f4910d6bd6070cb4dde8393f4ba95113 jdk-14+33
e2bc57500c1b785837982f7ce8af6751387ed73b jdk-15+7
a96bc204e3b31ddbf909b20088964112f052927e jdk-14+34
c7d4f2849dbfb755fc5860b362a4044ea0c9e082 jdk-15+8
4a87bb7ebfd7f6a25ec59a5982fe3607242777f8 jdk-14+35
62b5bfef8d618e08e6f3a56cf1fb0e67e89e9cc2 jdk-15+9
bc54620a3848c26cff9766e5e2a6e5ddab98ed18 jdk-14+36
1bee69801aeea1a34261c93f35bc9de072a98704 jdk-15+10
b2dd4028a6de4e40dda8b76109e4b5c6b294f980 jdk-15+11
2ec0ff3042630ddbd3587e340fe0dd40391cb6c4 jdk-15+12
1c06a8ee8acad4d93c782626a233693a73de0add jdk-15+13
1d6ceb13e142665ea833fca01c8c8598e0ddd211 jdk-15+14
bc54620a3848c26cff9766e5e2a6e5ddab98ed18 jdk-14-ga
82b7c62cf4cc56828a8fb724f57087967232a2a7 jdk-15+15

View File

@@ -1,2 +1,36 @@
project=jdk
bugids=dup
;
; 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.
;
; 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.
;
[general]
project=lanai
jbs=JDK
[checks]
error=author,whitespace,executable
[census]
version=0
domain=openjdk.org
[checks "whitespace"]
files=.*\.java$|.*\.c$|.*\.h$|.*\.cpp$|.*\.hpp$

View File

@@ -1,6 +1,6 @@
#!/bin/sh
#
# Copyright (c) 2009, 2018, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2009, 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
@@ -113,6 +113,14 @@ if [ "x$SPEC" = "x" ] ; then
echo "FATAL: SPEC is empty" >&2; exit 1
fi
if [ -d "$TOPLEVEL_DIR/.hg" ] ; then
VCS_TYPE="hg4idea"
fi
if [ -d "$TOPLEVEL_DIR/.git" ] ; then
VCS_TYPE="Git"
fi
### Replace template variables
NUM_REPLACEMENTS=0
@@ -137,6 +145,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"

View File

@@ -301,7 +301,7 @@
</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 4.8. Older versions will generate a warning by <code>configure</code> and are unlikely to work.</p>
<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 8.3 of gcc.</p>
<p>In general, any version between these two should be usable.</p>
<h3 id="clang">clang</h3>
@@ -473,7 +473,7 @@ CC: Sun C++ 5.13 SunOS_i386 151846-10 2015/10/30</code></pre>
<li><code>--with-version-string=&lt;string&gt;</code> - Specify the version string this build will be identified with.</li>
<li><code>--with-version-&lt;part&gt;=&lt;value&gt;</code> - A group of options, where <code>&lt;part&gt;</code> can be any of <code>pre</code>, <code>opt</code>, <code>build</code>, <code>major</code>, <code>minor</code>, <code>security</code> or <code>patch</code>. Use these options to modify just the corresponding part of the version string from the default, or the value provided by <code>--with-version-string</code>.</li>
<li><code>--with-jvm-variants=&lt;variant&gt;[,&lt;variant&gt;...]</code> - Build the specified variant (or variants) of Hotspot. Valid variants are: <code>server</code>, <code>client</code>, <code>minimal</code>, <code>core</code>, <code>zero</code>, <code>custom</code>. Note that not all variants are possible to combine in a single build.</li>
<li><code>--with-jvm-features=&lt;feature&gt;[,&lt;feature&gt;...]</code> - Use the specified JVM features when building Hotspot. The list of features will be enabled on top of the default list. For the <code>custom</code> JVM variant, this default list is empty. A complete list of available JVM features can be found using <code>bash configure --help</code>.</li>
<li><code>--enable-jvm-feature-&lt;feature&gt;</code> or <code>--disable-jvm-feature-&lt;feature&gt;</code> - Include (or exclude) <code>&lt;feature&gt;</code> as a JVM feature in Hotspot. You can also specify a list of features to be enabled, separated by space or comma, as <code>--with-jvm-features=&lt;feature&gt;[,&lt;feature&gt;...]</code>. If you prefix <code>&lt;feature&gt;</code> with a <code>-</code>, it will be disabled. These options will modify the default list of features for the JVM variant(s) you are building. For the <code>custom</code> JVM variant, the default list is empty. A complete list of valid JVM features can be found using <code>bash configure --help</code>.</li>
<li><code>--with-target-bits=&lt;bits&gt;</code> - Create a target binary suitable for running on a <code>&lt;bits&gt;</code> platform. Use this to create 32-bit output on a 64-bit build platform, instead of doing a full cross-compile. (This is known as a <em>reduced</em> build.)</li>
</ul>
<p>On Linux, BSD and AIX, it is possible to override where Java by default searches for runtime/JNI libraries. This can be useful in situations where there is a special shared directory for system JNI libraries. This setting can in turn be overriden at runtime by setting the <code>java.library.path</code> property.</p>
@@ -639,11 +639,6 @@ x86_64-linux-gnu-to-ppc64le-linux-gnu</code></pre>
<p>You will need two copies of your toolchain, one which generates output that can run on the target system (the normal, or <em>target</em>, toolchain), and one that generates output that can run on the build system (the <em>build</em> toolchain). Note that cross-compiling is only supported for gcc at the time being. The gcc standard is to prefix cross-compiling toolchains with the target denominator. If you follow this standard, <code>configure</code> is likely to pick up the toolchain correctly.</p>
<p>The <em>build</em> toolchain will be autodetected just the same way the normal <em>build</em>/<em>target</em> toolchain will be autodetected when not cross-compiling. If this is not what you want, or if the autodetection fails, you can specify a devkit containing the <em>build</em> toolchain using <code>--with-build-devkit</code> to <code>configure</code>, or by giving <code>BUILD_CC</code> and <code>BUILD_CXX</code> arguments.</p>
<p>It is often helpful to locate the cross-compilation tools, headers and libraries in a separate directory, outside the normal path, and point out that directory to <code>configure</code>. Do this by setting the sysroot (<code>--with-sysroot</code>) and appending the directory when searching for cross-compilations tools (<code>--with-toolchain-path</code>). As a compact form, you can also use <code>--with-devkit</code> to point to a single directory, if it is correctly setup. (See <code>basics.m4</code> for details.)</p>
<p>If you are unsure what toolchain and versions to use, these have been proved working at the time of writing:</p>
<ul>
<li><a href="https://releases.linaro.org/archive/13.11/components/toolchain/binaries/gcc-linaro-aarch64-linux-gnu-4.8-2013.11_linux.tar.xz">aarch64</a></li>
<li><a href="https://launchpad.net/linaro-toolchain-unsupported/trunk/2012.09/+download/gcc-linaro-arm-linux-gnueabihf-raspbian-2012.09-20120921_linux.tar.bz2">arm 32-bit hardware floating point</a></li>
</ul>
<h3 id="native-libraries">Native Libraries</h3>
<p>You will need copies of external native libraries for the <em>target</em> system, present on the <em>build</em> machine while building.</p>
<p>Take care not to replace the <em>build</em> system's version of these libraries by mistake, since that can render the <em>build</em> machine unusable.</p>

View File

@@ -339,7 +339,7 @@ features that it does support.
### gcc
The minimum accepted version of gcc is 4.8. Older versions will generate a warning
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 8.3 of
@@ -684,11 +684,14 @@ features, use `bash configure --help=short` instead.)
(or variants) of Hotspot. Valid variants are: `server`, `client`,
`minimal`, `core`, `zero`, `custom`. Note that not all
variants are possible to combine in a single build.
* `--with-jvm-features=<feature>[,<feature>...]` - Use the specified JVM
features when building Hotspot. The list of features will be enabled on top
of the default list. For the `custom` JVM variant, this default list is
empty. A complete list of available JVM features can be found using `bash
configure --help`.
* `--enable-jvm-feature-<feature>` or `--disable-jvm-feature-<feature>` -
Include (or exclude) `<feature>` as a JVM feature in Hotspot. You can also
specify a list of features to be enabled, separated by space or comma, as
`--with-jvm-features=<feature>[,<feature>...]`. If you prefix `<feature>`
with a `-`, it will be disabled. These options will modify the default list
of features for the JVM variant(s) you are building. For the `custom` JVM
variant, the default list is empty. A complete list of valid JVM features
can be found using `bash configure --help`.
* `--with-target-bits=<bits>` - Create a target binary suitable for running
on a `<bits>` platform. Use this to create 32-bit output on a 64-bit build
platform, instead of doing a full cross-compile. (This is known as a
@@ -1038,14 +1041,6 @@ appending the directory when searching for cross-compilations tools
to point to a single directory, if it is correctly setup. (See `basics.m4` for
details.)
If you are unsure what toolchain and versions to use, these have been proved
working at the time of writing:
* [aarch64](
https://releases.linaro.org/archive/13.11/components/toolchain/binaries/gcc-linaro-aarch64-linux-gnu-4.8-2013.11_linux.tar.xz)
* [arm 32-bit hardware floating point](
https://launchpad.net/linaro-toolchain-unsupported/trunk/2012.09/+download/gcc-linaro-arm-linux-gnueabihf-raspbian-2012.09-20120921_linux.tar.bz2)
### Native Libraries
You will need copies of external native libraries for the *target* system,

View File

@@ -5,7 +5,7 @@
<meta name="generator" content="pandoc" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" />
<title>Testing the JDK</title>
<style>
<style type="text/css">
code{white-space: pre-wrap;}
span.smallcaps{font-variant: small-caps;}
span.underline{text-decoration: underline;}
@@ -21,9 +21,9 @@
<header id="title-block-header">
<h1 class="title">Testing the JDK</h1>
</header>
<nav id="TOC" role="doc-toc">
<nav id="TOC">
<ul>
<li><a href="#using-make-test-the-run-test-framework">Using "make test" (the run-test framework)</a><ul>
<li><a href="#using-make-test-the-run-test-framework">Using &quot;make test&quot; (the run-test framework)</a><ul>
<li><a href="#configuration">Configuration</a></li>
</ul></li>
<li><a href="#test-selection">Test selection</a><ul>
@@ -47,7 +47,7 @@
</ul></li>
</ul>
</nav>
<h2 id="using-make-test-the-run-test-framework">Using "make test" (the run-test framework)</h2>
<h2 id="using-make-test-the-run-test-framework">Using &quot;make test&quot; (the run-test framework)</h2>
<p>This new way of running tests is developer-centric. It assumes that you have built a JDK locally and want to test it. Running common test targets is simple, and more complex ad-hoc combination of tests is possible. The user interface is forgiving, and clearly report errors it cannot resolve.</p>
<p>The main target <code>test</code> uses the jdk-image as the tested product. There is also an alternate target <code>exploded-test</code> that uses the exploded image instead. Not all tests will run successfully on the exploded image, but using this target can greatly improve rebuild times for certain workflows.</p>
<p>Previously, <code>make test</code> was used to invoke an old system for running tests, and <code>make run-test</code> was used for the new test framework. For backward compatibility with scripts and muscle memory, <code>run-test</code> (and variants like <code>exploded-run-test</code> or <code>run-test-tier1</code>) are kept as aliases.</p>
@@ -65,7 +65,7 @@ $ make exploded-test TEST=tier2</code></pre>
<p>To be able to run microbenchmarks, <code>configure</code> needs to know where to find the JMH dependency. Use <code>--with-jmh=&lt;path to JMH jars&gt;</code> to point to a directory containing the core JMH and transitive dependencies. The recommended dependencies can be retrieved by running <code>sh make/devkit/createJMHBundle.sh</code>, after which <code>--with-jmh=build/jmh/jars</code> should work.</p>
<h2 id="test-selection">Test selection</h2>
<p>All functionality is available using the <code>test</code> make target. In this use case, the test or tests to be executed is controlled using the <code>TEST</code> variable. To speed up subsequent test runs with no source code changes, <code>test-only</code> can be used instead, which do not depend on the source and test image build.</p>
<p>For some common top-level tests, direct make targets have been generated. This includes all JTReg test groups, the hotspot gtest, and custom tests (if present). This means that <code>make test-tier1</code> is equivalent to <code>make test TEST="tier1"</code>, but the latter is more tab-completion friendly. For more complex test runs, the <code>test TEST="x"</code> solution needs to be used.</p>
<p>For some common top-level tests, direct make targets have been generated. This includes all JTReg test groups, the hotspot gtest, and custom tests (if present). This means that <code>make test-tier1</code> is equivalent to <code>make test TEST=&quot;tier1&quot;</code>, but the latter is more tab-completion friendly. For more complex test runs, the <code>test TEST=&quot;x&quot;</code> solution needs to be used.</p>
<p>The test specifications given in <code>TEST</code> is parsed into fully qualified test descriptors, which clearly and unambigously show which tests will be run. As an example, <code>:tier1</code> will expand to <code>jtreg:$(TOPDIR)/test/hotspot/jtreg:tier1 jtreg:$(TOPDIR)/test/jdk:tier1 jtreg:$(TOPDIR)/test/langtools:tier1 jtreg:$(TOPDIR)/test/nashorn:tier1 jtreg:$(TOPDIR)/test/jaxp:tier1</code>. You can always submit a list of fully qualified test descriptors in the <code>TEST</code> variable if you want to shortcut the parser.</p>
<h3 id="jtreg">JTReg</h3>
<p>JTReg tests can be selected either by picking a JTReg test group, or a selection of files or directories containing JTReg tests.</p>
@@ -105,8 +105,8 @@ TEST FAILURE</code></pre>
<p>Additional work data is stored in <code>build/$BUILD/test-support/$TEST_ID</code>. For some frameworks, this directory might contain information that is useful in determining the cause of a failed test.</p>
<h2 id="test-suite-control">Test suite control</h2>
<p>It is possible to control various aspects of the test suites using make control variables.</p>
<p>These variables use a keyword=value approach to allow multiple values to be set. So, for instance, <code>JTREG="JOBS=1;TIMEOUT_FACTOR=8"</code> will set the JTReg concurrency level to 1 and the timeout factor to 8. This is equivalent to setting <code>JTREG_JOBS=1 JTREG_TIMEOUT_FACTOR=8</code>, but using the keyword format means that the <code>JTREG</code> variable is parsed and verified for correctness, so <code>JTREG="TMIEOUT_FACTOR=8"</code> would give an error, while <code>JTREG_TMIEOUT_FACTOR=8</code> would just pass unnoticed.</p>
<p>To separate multiple keyword=value pairs, use <code>;</code> (semicolon). Since the shell normally eats <code>;</code>, the recommended usage is to write the assignment inside qoutes, e.g. <code>JTREG="...;..."</code>. This will also make sure spaces are preserved, as in <code>JTREG="VM_OPTIONS=-XshowSettings -Xlog:gc+ref=debug"</code>.</p>
<p>These variables use a keyword=value approach to allow multiple values to be set. So, for instance, <code>JTREG=&quot;JOBS=1;TIMEOUT_FACTOR=8&quot;</code> will set the JTReg concurrency level to 1 and the timeout factor to 8. This is equivalent to setting <code>JTREG_JOBS=1 JTREG_TIMEOUT_FACTOR=8</code>, but using the keyword format means that the <code>JTREG</code> variable is parsed and verified for correctness, so <code>JTREG=&quot;TMIEOUT_FACTOR=8&quot;</code> would give an error, while <code>JTREG_TMIEOUT_FACTOR=8</code> would just pass unnoticed.</p>
<p>To separate multiple keyword=value pairs, use <code>;</code> (semicolon). Since the shell normally eats <code>;</code>, the recommended usage is to write the assignment inside qoutes, e.g. <code>JTREG=&quot;...;...&quot;</code>. This will also make sure spaces are preserved, as in <code>JTREG=&quot;VM_OPTIONS=-XshowSettings -Xlog:gc+ref=debug&quot;</code>.</p>
<p>(Other ways are possible, e.g. using backslash: <code>JTREG=JOBS=1\;TIMEOUT_FACTOR=8</code>. Also, as a special technique, the string <code>%20</code> will be replaced with space for certain options, e.g. <code>JTREG=VM_OPTIONS=-XshowSettings%20-Xlog:gc+ref=debug</code>. This can be useful if you have layers of scripts and have trouble getting proper quoting of command line arguments through.)</p>
<p>As far as possible, the names of the keywords have been standardized between test suites.</p>
<h3 id="general-keywords-test_opts">General keywords (TEST_OPTS)</h3>
@@ -127,6 +127,9 @@ TEST FAILURE</code></pre>
<p>The simplest way to run tests with JCov coverage report is to use the special target <code>jcov-test</code> instead of <code>test</code>, e.g. <code>make jcov-test TEST=jdk_lang</code>. This will make sure the JCov image is built, and that JCov reporting is enabled.</p>
<p>The JCov report is stored in <code>build/$BUILD/test-results/jcov-output</code>.</p>
<p>Please note that running with JCov reporting can be very memory intensive.</p>
<h4 id="jcov_diff_changeset">JCOV_DIFF_CHANGESET</h4>
<p>While collecting code coverage with JCov, it is also possible to find coverage for only recently changed code. JCOV_DIFF_CHANGESET specifies a source revision. A textual report will be generated showing coverage of the diff between the specified revision and the repository tip.</p>
<p>The report is stored in <code>build/$BUILD/test-results/jcov-output/diff_coverage_report</code> file.</p>
<h3 id="jtreg-keywords">JTReg keywords</h3>
<h4 id="jobs-1">JOBS</h4>
<p>The test concurrency (<code>-concurrency</code>).</p>
@@ -135,8 +138,8 @@ TEST FAILURE</code></pre>
<p>The timeout factor (<code>-timeoutFactor</code>).</p>
<p>Defaults to 4.</p>
<h4 id="test_mode">TEST_MODE</h4>
<p>The test mode (<code>-agentvm</code>, <code>-samevm</code> or <code>-othervm</code>).</p>
<p>Defaults to <code>-agentvm</code>.</p>
<p>The test mode (<code>agentvm</code> or <code>othervm</code>).</p>
<p>Defaults to <code>agentvm</code>.</p>
<h4 id="assert">ASSERT</h4>
<p>Enable asserts (<code>-ea -esa</code>, or none).</p>
<p>Set to <code>true</code> or <code>false</code>. If true, adds <code>-ea -esa</code>. Defaults to true, except for hotspot.</p>
@@ -161,7 +164,7 @@ TEST FAILURE</code></pre>
<p>Set to <code>true</code> or <code>false</code>. If <code>true</code>, JTReg will use <code>-match:</code> option, otherwise <code>-exclude:</code> will be used. Default is <code>false</code>.</p>
<h4 id="options">OPTIONS</h4>
<p>Additional options to the JTReg test framework.</p>
<p>Use <code>JTREG="OPTIONS=--help all"</code> to see all available JTReg options.</p>
<p>Use <code>JTREG=&quot;OPTIONS=--help all&quot;</code> to see all available JTReg options.</p>
<h4 id="java_options-1">JAVA_OPTIONS</h4>
<p>Additional Java options to JTReg (<code>-javaoption</code>).</p>
<h4 id="vm_options-1">VM_OPTIONS</h4>
@@ -176,7 +179,7 @@ TEST FAILURE</code></pre>
<p>Default is 1. Set to -1 to repeat indefinitely. This can be especially useful combined with <code>OPTIONS=--gtest_break_on_failure</code> to reproduce an intermittent problem.</p>
<h4 id="options-1">OPTIONS</h4>
<p>Additional options to the Gtest test framework.</p>
<p>Use <code>GTEST="OPTIONS=--help"</code> to see all available Gtest options.</p>
<p>Use <code>GTEST=&quot;OPTIONS=--help&quot;</code> to see all available Gtest options.</p>
<h4 id="aot_modules-2">AOT_MODULES</h4>
<p>Generate AOT modules before testing for the specified module, or set of modules. If multiple modules are specified, they should be separated by space (or, to help avoid quoting issues, the special value <code>%20</code>).</p>
<h3 id="microbenchmark-keywords">Microbenchmark keywords</h3>
@@ -203,7 +206,7 @@ TEST FAILURE</code></pre>
<p>To run these tests correctly, additional parameters for the correct docker image are required on Ubuntu 18.04 by using <code>JAVA_OPTIONS</code>.</p>
<pre><code>$ make test TEST=&quot;jtreg:test/hotspot/jtreg/containers/docker&quot; JTREG=&quot;JAVA_OPTIONS=-Djdk.test.docker.image.name=ubuntu -Djdk.test.docker.image.version=latest&quot;</code></pre>
<h3 id="non-us-locale">Non-US locale</h3>
<p>If your locale is non-US, some tests are likely to fail. To work around this you can set the locale to US. On Unix platforms simply setting <code>LANG="en_US"</code> in the environment before running tests should work. On Windows, setting <code>JTREG="VM_OPTIONS=-Duser.language=en -Duser.country=US"</code> helps for most, but not all test cases. For example:</p>
<p>If your locale is non-US, some tests are likely to fail. To work around this you can set the locale to US. On Unix platforms simply setting <code>LANG=&quot;en_US&quot;</code> in the environment before running tests should work. On Windows, setting <code>JTREG=&quot;VM_OPTIONS=-Duser.language=en -Duser.country=US&quot;</code> helps for most, but not all test cases. For example:</p>
<pre><code>$ export LANG=&quot;en_US&quot; &amp;&amp; make test TEST=...
$ make test JTREG=&quot;VM_OPTIONS=-Duser.language=en -Duser.country=US&quot; TEST=...</code></pre>
<h3 id="pkcs11-tests">PKCS11 Tests</h3>
@@ -214,11 +217,11 @@ $ make test JTREG=&quot;VM_OPTIONS=-Duser.language=en -Duser.country=US&quot; TE
<p>Some Client UI tests use key sequences which may be reserved by the operating system. Usually that causes the test failure. So it is highly recommended to disable system key shortcuts prior testing. The steps to access and disable system key shortcuts for various platforms are provided below.</p>
<h4 id="macos">MacOS</h4>
<p>Choose Apple menu; System Preferences, click Keyboard, then click Shortcuts; select or deselect desired shortcut.</p>
<p>For example, test/jdk/javax/swing/TooltipManager/JMenuItemToolTipKeyBindingsTest/JMenuItemToolTipKeyBindingsTest.java fails on MacOS because it uses <code>CTRL + F1</code> key sequence to show or hide tooltip message but the key combination is reserved by the operating system. To run the test correctly the default global key shortcut should be disabled using the steps described above, and then deselect "Turn keyboard access on or off" option which is responsible for <code>CTRL + F1</code> combination.</p>
<p>For example, test/jdk/javax/swing/TooltipManager/JMenuItemToolTipKeyBindingsTest/JMenuItemToolTipKeyBindingsTest.java fails on MacOS because it uses <code>CTRL + F1</code> key sequence to show or hide tooltip message but the key combination is reserved by the operating system. To run the test correctly the default global key shortcut should be disabled using the steps described above, and then deselect &quot;Turn keyboard access on or off&quot; option which is responsible for <code>CTRL + F1</code> combination.</p>
<h4 id="linux">Linux</h4>
<p>Open the Activities overview and start typing Settings; Choose Settings, click Devices, then click Keyboard; set or override desired shortcut.</p>
<h4 id="windows">Windows</h4>
<p>Type <code>gpedit</code> in the Search and then click Edit group policy; navigate to User Configuration -&gt; Administrative Templates -&gt; Windows Components -&gt; File Explorer; in the right-side pane look for "Turn off Windows key hotkeys" and double click on it; enable or disable hotkeys.</p>
<p>Type <code>gpedit</code> in the Search and then click Edit group policy; navigate to User Configuration -&gt; Administrative Templates -&gt; Windows Components -&gt; File Explorer; in the right-side pane look for &quot;Turn off Windows key hotkeys&quot; and double click on it; enable or disable hotkeys.</p>
<p>Note: restart is required to make the settings take effect.</p>
</body>
</html>

View File

@@ -241,10 +241,20 @@ The simplest way to run tests with JCov coverage report is to use the special
target `jcov-test` instead of `test`, e.g. `make jcov-test TEST=jdk_lang`. This
will make sure the JCov image is built, and that JCov reporting is enabled.
The JCov report is stored in `build/$BUILD/test-results/jcov-output`.
The JCov report is stored in `build/$BUILD/test-results/jcov-output/report`.
Please note that running with JCov reporting can be very memory intensive.
#### JCOV_DIFF_CHANGESET
While collecting code coverage with JCov, it is also possible to find coverage
for only recently changed code. JCOV_DIFF_CHANGESET specifies a source
revision. A textual report will be generated showing coverage of the diff
between the specified revision and the repository tip.
The report is stored in `build/$BUILD/test-results/jcov-output/diff_coverage_report`
file.
### JTReg keywords
#### JOBS
@@ -261,9 +271,9 @@ The timeout factor (`-timeoutFactor`).
Defaults to 4.
#### TEST_MODE
The test mode (`-agentvm`, `-samevm` or `-othervm`).
The test mode (`agentvm` or `othervm`).
Defaults to `-agentvm`.
Defaults to `agentvm`.
#### ASSERT
Enable asserts (`-ea -esa`, or none).

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2016, 2019, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2016, 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
@@ -125,6 +125,13 @@ define SetupBundleFileBody
&& $(TAR) cf - -$(TAR_INCLUDE_PARAM) $$($1_$$d_LIST_FILE) \
$(TAR_IGNORE_EXIT_VALUE) ) \
| ( $(CD) $(SUPPORT_OUTPUTDIR)/bundles/$1/$$($1_SUBDIR) && $(TAR) xf - )$$(NEWLINE) )
# Rename stripped pdb files
ifeq ($(call isTargetOs, windows)+$(SHIP_DEBUG_SYMBOLS), true+public)
for f in `$(FIND) $(SUPPORT_OUTPUTDIR)/bundles/$1/$$($1_SUBDIR) -name "*.stripped.pdb"`; do \
$(ECHO) Renaming $$$${f} to $$$${f%stripped.pdb}pdb $(LOG_INFO); \
$(MV) $$$${f} $$$${f%stripped.pdb}pdb; \
done
endif
# Unzip any zipped debuginfo files
ifeq ($$($1_UNZIP_DEBUGINFO), true)
for f in `$(FIND) $(SUPPORT_OUTPUTDIR)/bundles/$1/$$($1_SUBDIR) -name "*.diz"`; do \
@@ -183,7 +190,7 @@ endif
ifneq ($(filter product-bundles% legacy-bundles, $(MAKECMDGOALS)), )
SYMBOLS_EXCLUDE_PATTERN := %.debuginfo %.diz %.pdb %.map
SYMBOLS_EXCLUDE_PATTERN := %.debuginfo %.diz %.map
# There may be files with spaces in the names, so use ShellFindFiles
# explicitly.
@@ -209,6 +216,21 @@ ifneq ($(filter product-bundles% legacy-bundles, $(MAKECMDGOALS)), )
endif
endif
# Create special filter rules when dealing with debug symbols on windows
ifeq ($(call isTargetOs, windows), true)
ifeq ($(SHIP_DEBUG_SYMBOLS), )
JDK_SYMBOLS_EXCLUDE_PATTERN := %.pdb
else
ifeq ($(SHIP_DEBUG_SYMBOLS), public)
JDK_SYMBOLS_EXCLUDE_PATTERN := \
$(filter-out \
%.stripped.pdb, \
$(filter %.pdb, $(ALL_JDK_FILES)) \
)
endif
endif
endif
JDK_BUNDLE_FILES := \
$(filter-out \
$(JDK_SYMBOLS_EXCLUDE_PATTERN) \
@@ -218,13 +240,14 @@ ifneq ($(filter product-bundles% legacy-bundles, $(MAKECMDGOALS)), )
, \
$(ALL_JDK_FILES) \
)
JDK_SYMBOLS_BUNDLE_FILES := \
$(filter \
$(JDK_SYMBOLS_EXCLUDE_PATTERN) \
$(SYMBOLS_EXCLUDE_PATTERN) \
, \
$(filter-out \
$(JDK_IMAGE_HOMEDIR)/demo/% \
$(JDK_IMAGE_HOMEDIR)/demo/% %.stripped.pdb \
, \
$(ALL_JDK_SYMBOLS_FILES) \
) \
@@ -245,29 +268,116 @@ ifneq ($(filter product-bundles% legacy-bundles, $(MAKECMDGOALS)), )
endif
endif
# Create special filter rules when dealing with debug symbols on windows
ifeq ($(call isTargetOs, windows), true)
ifeq ($(SHIP_DEBUG_SYMBOLS), )
JRE_SYMBOLS_EXCLUDE_PATTERN := %.pdb
else
ifeq ($(SHIP_DEBUG_SYMBOLS), public)
JRE_SYMBOLS_EXCLUDE_PATTERN := \
$(filter-out \
%.stripped.pdb, \
$(filter %.pdb, $(ALL_JRE_FILES)) \
)
endif
endif
endif
JRE_BUNDLE_FILES := $(filter-out \
$(JRE_SYMBOLS_EXCLUDE_PATTERN) \
$(SYMBOLS_EXCLUDE_PATTERN), \
$(ALL_JRE_FILES))
$(eval $(call SetupBundleFile, BUILD_JDK_BUNDLE, \
BUNDLE_NAME := $(JDK_BUNDLE_NAME), \
FILES := $(JDK_BUNDLE_FILES), \
SPECIAL_INCLUDES := $(JDK_SPECIAL_INCLUDES), \
BASE_DIRS := $(JDK_IMAGE_DIR), \
SUBDIR := $(JDK_BUNDLE_SUBDIR), \
))
# On Macosx release builds, when there is a code signing certificate available,
# the final bundle layout can be signed.
SIGN_BUNDLE := false
ifeq ($(call isTargetOs, macosx)+$(DEBUG_LEVEL), true+release)
ifneq ($(CODESIGN), )
SIGN_BUNDLE := true
endif
endif
PRODUCT_TARGETS += $(BUILD_JDK_BUNDLE)
ifeq ($(SIGN_BUNDLE), true)
# Macosx release build and code signing available.
$(eval $(call SetupBundleFile, BUILD_JRE_BUNDLE, \
BUNDLE_NAME := $(JRE_BUNDLE_NAME), \
FILES := $(JRE_BUNDLE_FILES), \
BASE_DIRS := $(JRE_IMAGE_DIR), \
SUBDIR := $(JRE_BUNDLE_SUBDIR), \
))
################################################################################
# JDK bundle
$(eval $(call SetupCopyFiles, CREATE_JDK_BUNDLE_DIR_SIGNED, \
SRC := $(JDK_IMAGE_DIR), \
FILES := $(JDK_BUNDLE_FILES), \
DEST := $(JDK_MACOSX_BUNDLE_DIR_SIGNED), \
))
LEGACY_TARGETS += $(BUILD_JRE_BUNDLE)
JDK_SIGNED_CODE_RESOURCES := \
$(JDK_MACOSX_BUNDLE_DIR_SIGNED)/$(JDK_MACOSX_CONTENTS_SUBDIR)/_CodeSignature/CodeResources
$(JDK_SIGNED_CODE_RESOURCES): $(CREATE_JDK_BUNDLE_DIR_SIGNED)
$(call LogWarn, Signing $(JDK_BUNDLE_NAME))
$(CODESIGN) -s "$(MACOSX_CODESIGN_IDENTITY)" \
--timestamp --options runtime --deep --force \
$(JDK_MACOSX_BUNDLE_DIR_SIGNED)/$(JDK_MACOSX_BUNDLE_TOP_DIR) $(LOG_DEBUG)
$(TOUCH) $@
$(eval $(call SetupBundleFile, BUILD_JDK_BUNDLE, \
BUNDLE_NAME := $(JDK_BUNDLE_NAME), \
FILES := \
$(CREATE_JDK_BUNDLE_DIR_SIGNED) \
$(JDK_SIGNED_CODE_RESOURCES), \
BASE_DIRS := $(JDK_MACOSX_BUNDLE_DIR_SIGNED), \
SUBDIR := $(JDK_BUNDLE_SUBDIR), \
))
PRODUCT_TARGETS += $(BUILD_JDK_BUNDLE)
################################################################################
# JRE bundle
$(eval $(call SetupCopyFiles, CREATE_JRE_BUNDLE_DIR_SIGNED, \
SRC := $(JRE_IMAGE_DIR), \
FILES := $(JRE_BUNDLE_FILES), \
DEST := $(JRE_MACOSX_BUNDLE_DIR_SIGNED), \
))
JRE_SIGNED_CODE_RESOURCES := \
$(JRE_MACOSX_BUNDLE_DIR_SIGNED)/$(JRE_MACOSX_CONTENTS_SUBDIR)/_CodeSignature/CodeResources
$(JRE_SIGNED_CODE_RESOURCES): $(CREATE_JRE_BUNDLE_DIR_SIGNED)
$(call LogWarn, Signing $(JRE_BUNDLE_NAME))
$(CODESIGN) -s "$(MACOSX_CODESIGN_IDENTITY)" \
--timestamp --options runtime --deep --force \
$(JRE_MACOSX_BUNDLE_DIR_SIGNED)/$(JRE_MACOSX_BUNDLE_TOP_DIR) $(LOG_DEBUG)
$(TOUCH) $@
$(eval $(call SetupBundleFile, BUILD_JRE_BUNDLE, \
BUNDLE_NAME := $(JRE_BUNDLE_NAME), \
FILES := \
$(CREATE_JRE_BUNDLE_DIR_SIGNED) \
$(JRE_SIGNED_CODE_RESOURCES), \
BASE_DIRS := $(JRE_MACOSX_BUNDLE_DIR_SIGNED), \
SUBDIR := $(JRE_BUNDLE_SUBDIR), \
))
LEGACY_TARGETS += $(BUILD_JRE_BUNDLE)
else
# Not a Macosx release build or code signing not available.
$(eval $(call SetupBundleFile, BUILD_JDK_BUNDLE, \
BUNDLE_NAME := $(JDK_BUNDLE_NAME), \
FILES := $(JDK_BUNDLE_FILES), \
SPECIAL_INCLUDES := $(JDK_SPECIAL_INCLUDES), \
BASE_DIRS := $(JDK_IMAGE_DIR), \
SUBDIR := $(JDK_BUNDLE_SUBDIR), \
))
PRODUCT_TARGETS += $(BUILD_JDK_BUNDLE)
$(eval $(call SetupBundleFile, BUILD_JRE_BUNDLE, \
BUNDLE_NAME := $(JRE_BUNDLE_NAME), \
FILES := $(JRE_BUNDLE_FILES), \
BASE_DIRS := $(JRE_IMAGE_DIR), \
SUBDIR := $(JRE_BUNDLE_SUBDIR), \
))
LEGACY_TARGETS += $(BUILD_JRE_BUNDLE)
endif
ifeq ($(COPY_DEBUG_SYMBOLS), true)
$(eval $(call SetupBundleFile, BUILD_JDK_SYMBOLS_BUNDLE, \

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2011, 2019, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2011, 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
@@ -94,6 +94,7 @@ COPY_TO_IMAGE := *.html *.txt *.png *.xml README*
# EXTRA_MANIFEST_ATTR Extra manifest attribute
# SKIP_COMPILATION Skip Java compilation iff true
# DISABLE_SJAVAC Passed to SetupJavaCompilation
# DISABLED_WARNINGS Additional disabled warnings
SetupBuildDemo = $(NamedParamsMacroTemplate)
define SetupBuildDemoBody
ifeq ($$($1_SRC_DIR), )
@@ -135,6 +136,7 @@ define SetupBuildDemoBody
EXTRA_MANIFEST_ATTR := $$($1_EXTRA_MANIFEST_ATTR), \
SRCZIP := $(SUPPORT_OUTPUTDIR)/demos/image/$$($1_DEMO_SUBDIR)/$1/src.zip, \
EXCLUDE_FILES := $$($1_EXCLUDE_FILES), \
DISABLED_WARNINGS := $$($1_DISABLED_WARNINGS), \
DISABLE_SJAVAC := $$($1_DISABLE_SJAVAC), \
))
@@ -173,35 +175,42 @@ $(BUILD_DEMO_CodePointIM_JAR): $(CODEPOINT_METAINF_SERVICE_FILE)
$(eval $(call SetupBuildDemo, FileChooserDemo, \
DEMO_SUBDIR := jfc, \
DISABLED_WARNINGS := rawtypes deprecation unchecked, \
))
$(eval $(call SetupBuildDemo, SwingSet2, \
DEMO_SUBDIR := jfc, \
EXTRA_COPY_TO_JAR := .java, \
EXTRA_MANIFEST_ATTR := SplashScreen-Image: resources/images/splash.png, \
DISABLED_WARNINGS := rawtypes deprecation unchecked static serial cast, \
DISABLE_SJAVAC := true, \
))
$(eval $(call SetupBuildDemo, Font2DTest, \
DISABLED_WARNINGS := rawtypes deprecation unchecked serial cast, \
DEMO_SUBDIR := jfc, \
))
$(eval $(call SetupBuildDemo, J2Ddemo, \
DEMO_SUBDIR := jfc, \
MAIN_CLASS := java2d.J2Ddemo, \
DISABLED_WARNINGS := rawtypes deprecation unchecked cast, \
JAR_NAME := J2Ddemo, \
))
$(eval $(call SetupBuildDemo, Metalworks, \
DISABLED_WARNINGS := rawtypes unchecked, \
DEMO_SUBDIR := jfc, \
))
$(eval $(call SetupBuildDemo, Notepad, \
DISABLED_WARNINGS := rawtypes, \
DEMO_SUBDIR := jfc, \
))
$(eval $(call SetupBuildDemo, Stylepad, \
DEMO_SUBDIR := jfc, \
DISABLED_WARNINGS := rawtypes unchecked, \
EXTRA_SRC_DIR := $(DEMO_SHARE_SRC)/jfc/Notepad, \
EXCLUDE_FILES := $(DEMO_SHARE_SRC)/jfc/Notepad/README.txt, \
))
@@ -211,6 +220,7 @@ $(eval $(call SetupBuildDemo, SampleTree, \
))
$(eval $(call SetupBuildDemo, TableExample, \
DISABLED_WARNINGS := rawtypes unchecked deprecation, \
DEMO_SUBDIR := jfc, \
))

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2014, 2019, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2014, 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
@@ -77,12 +77,12 @@ define SetupInterimModule
EXTRA_FILES := $(BUILDTOOLS_OUTPUTDIR)/gensrc/$1.interim/module-info.java, \
COPY := .gif .png .xml .css .js javax.tools.JavaCompilerTool, \
BIN := $(BUILDTOOLS_OUTPUTDIR)/interim_langtools_modules/$1.interim, \
DISABLED_WARNINGS := module, \
ADD_JAVAC_FLAGS := --module-path $(BUILDTOOLS_OUTPUTDIR)/interim_langtools_modules \
$$(INTERIM_LANGTOOLS_ADD_EXPORTS) \
--patch-module java.base=$(BUILDTOOLS_OUTPUTDIR)/gensrc/java.base.interim \
--add-exports java.base/jdk.internal=java.compiler.interim \
--add-exports java.base/jdk.internal=jdk.compiler.interim \
-Xlint:-module, \
--add-exports java.base/jdk.internal=jdk.compiler.interim, \
))
$1_DEPS_INTERIM := $$(addsuffix .interim, $$(filter \

View File

@@ -1,79 +0,0 @@
#
# Copyright (c) 2011, 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.
#
default: all
include $(SPEC)
include MakeBase.gmk
include JavaCompilation.gmk
include SetupJavaCompilers.gmk
################################################################################
# Generate interim versions of the module-info.java files for the interim
# langtools modules. Each interim module has ".interim" added as suffix to the
# original module name.
INTERIM_MODULEINFO_PATTERN := \
$(foreach m, $(INTERIM_RMIC_BASE_MODULES), -e 's/$m\([,; ]\)/$m.interim\1/g') \
-e '/ToolProvider[,; ]/d'
$(BUILDTOOLS_OUTPUTDIR)/gensrc/%.interim/module-info.java: \
$(TOPDIR)/src/%/share/classes/module-info.java
$(call LogInfo, Generating module-info.java for $*.interim)
$(call MakeDir, $(@D))
$(SED) $(INTERIM_MODULEINFO_PATTERN) $< > $@
TARGETS += $(patsubst %, $(BUILDTOOLS_OUTPUTDIR)/gensrc/%/module-info.java, \
$(INTERIM_RMIC_MODULES))
################################################################################
RMIC_PKGS := \
sun/rmi/rmic \
sun/tools/asm \
sun/tools/java \
sun/tools/javac \
sun/tools/tree \
sun/tools/util \
#
$(eval $(call SetupJavaCompilation, BUILD_jdk.rmic.interim, \
SETUP := GENERATE_OLDBYTECODE, \
SRC := $(TOPDIR)/src/jdk.rmic/share/classes, \
EXCLUDE_FILES := $(TOPDIR)/src/jdk.rmic/share/classes/module-info.java, \
EXTRA_FILES := $(BUILDTOOLS_OUTPUTDIR)/gensrc/jdk.rmic.interim/module-info.java, \
INCLUDES := $(RMIC_PKGS), \
BIN := $(BUILDTOOLS_OUTPUTDIR)/interim_rmic_modules/jdk.rmic.interim, \
COPY := .properties, \
ADD_JAVAC_FLAGS := \
--module-path $(BUILDTOOLS_OUTPUTDIR)/interim_rmic_modules \
$(INTERIM_RMIC_ADD_EXPORTS), \
))
TARGETS += $(BUILD_jdk.rmic.interim)
##########################################################################################
all: $(TARGETS)

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2014, 2019, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2014, 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
@@ -39,7 +39,7 @@ $(eval $(call IncludeCustomExtension, CompileJavaModules.gmk))
# Module specific build settings
java.base_ADD_JAVAC_FLAGS += -Xdoclint:all/protected,-reference,-accessibility '-Xdoclint/package:java.*,javax.*' -XDstringConcat=inline
java.base_COPY += .icu .dat .spp .nrm content-types.properties hijrah-config-islamic-umalqura.properties
java.base_COPY += .icu .dat .spp .nrm content-types.properties hijrah-config-Hijrah-umalqura_islamic-umalqura.properties
java.base_CLEAN += intrinsic.properties
java.base_EXCLUDE_FILES += \
@@ -80,7 +80,7 @@ java.datatransfer_COPY += flavormap.properties
################################################################################
java.desktop_ADD_JAVAC_FLAGS += -Xdoclint:all/protected,-reference \
'-Xdoclint/package:java.*,javax.*' -Xlint:exports \
'-Xdoclint/package:java.*,javax.*' \
--doclint-format html4
java.desktop_COPY += .gif .png .wav .txt .xml .css .pf
java.desktop_CLEAN += iio-plugin.properties cursors.properties
@@ -245,7 +245,6 @@ java.transaction.xa_ADD_JAVAC_FLAGS += -Xdoclint:all/protected '-Xdoclint/packag
################################################################################
java.sql_ADD_JAVAC_FLAGS += -Xdoclint:all/protected '-Xdoclint/package:java.*,javax.*'
java.sql_SETUP := GENERATE_JDKBYTECODE_NOWARNINGS
################################################################################
@@ -270,7 +269,7 @@ java.xml_CLEAN += .properties
################################################################################
java.naming_ADD_JAVAC_FLAGS += -Xdoclint:all/protected,-accessibility '-Xdoclint/package:java.*,javax.*' -Xlint:-exports
java.naming_ADD_JAVAC_FLAGS += -Xdoclint:all/protected,-accessibility '-Xdoclint/package:java.*,javax.*'
java.naming_CLEAN += jndiprovider.properties
################################################################################
@@ -304,7 +303,8 @@ jdk.compiler_CLEAN_FILES += $(wildcard \
################################################################################
jdk.hotspot.agent_ADD_JAVAC_FLAGS += $(DISABLE_WARNINGS),-overrides
jdk.hotspot.agent_DISABLED_WARNINGS += deprecation rawtypes serial unchecked \
cast static overrides fallthrough
jdk.hotspot.agent_COPY += .gif .png sa.js .properties
################################################################################
@@ -341,17 +341,17 @@ jdk.jartool_ADD_JAVAC_FLAGS += -XDstringConcat=inline
################################################################################
jdk.scripting.nashorn_ADD_JAVAC_FLAGS += $(DISABLE_WARNINGS),-overrides
jdk.scripting.nashorn_DISABLED_WARNINGS += removal
jdk.scripting.nashorn_COPY := .properties .js
################################################################################
jdk.scripting.nashorn.shell_ADD_JAVAC_FLAGS += $(DISABLE_WARNINGS),-overrides
jdk.scripting.nashorn.shell_DISABLED_WARNINGS += removal
jdk.scripting.nashorn.shell_COPY += .js .properties
################################################################################
jdk.rmic_SETUP := GENERATE_JDKBYTECODE_NOWARNINGS
jdk.rmic_DISABLED_WARNINGS += deprecation
jdk.rmic_CLEAN += .properties
################################################################################
@@ -431,7 +431,7 @@ jdk.internal.jvmstat_COPY += aliasmap
# The exports are needed since JVMCI is dynamically exported (see
# jdk.vm.ci.services.internal.ReflectionAccessJDK::openJVMCITo).
jdk.internal.vm.ci_ADD_JAVAC_FLAGS += -parameters -Xlint:-exports -XDstringConcat=inline
jdk.internal.vm.ci_ADD_JAVAC_FLAGS += -parameters -XDstringConcat=inline
################################################################################
@@ -536,13 +536,9 @@ jdk.localedata_EXCLUDE_FILES += sun/text/resources/ext/BreakIteratorRules_th.jav
jdk.localedata_KEEP_ALL_TRANSLATIONS := true
################################################################################
# There is an issue in sjavac that triggers a warning in jdk.jfr that isn't
# triggered without sjavac.
ifeq ($(ENABLE_SJAVAC), yes)
jdk.jfr_SETUP := GENERATE_JDKBYTECODE_NOWARNINGS
endif
jdk.jfr_DISABLED_WARNINGS += exports
jdk.jfr_COPY := .xsd .xml .dtd
jdk.jfr_ADD_JAVAC_FLAGS := -XDstringConcat=inline -Xlint:-exports
jdk.jfr_ADD_JAVAC_FLAGS := -XDstringConcat=inline
################################################################################
# If this is an imported module that has prebuilt classes, only compile

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2013, 2016, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2013, 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
@@ -42,6 +42,7 @@ $(eval $(call SetupJavaCompilation,BUILD_JIGSAW_TOOLS, \
build/tools/jigsaw, \
COPY := .properties .html, \
BIN := $(TOOLS_CLASSES_DIR), \
DISABLED_WARNINGS := fallthrough, \
ADD_JAVAC_FLAGS := \
--add-modules jdk.jdeps \
--add-exports java.base/jdk.internal.module=ALL-UNNAMED \

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2011, 2019, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2011, 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
@@ -40,7 +40,6 @@ $(eval $(call IncludeCustomExtension, CompileTools.gmk))
# Use += to be able to add to this from a custom extension
BUILD_TOOLS_SRC_DIRS += \
$(TOPDIR)/make/jdk/src/classes \
$(BUILDTOOLS_OUTPUTDIR)/interim_cldrconverter_classes \
$(BUILDTOOLS_OUTPUTDIR)/interim_tzdb_classes \
#
@@ -54,6 +53,7 @@ $(eval $(call SetupJavaCompilation,BUILD_TOOLS_JDK, \
build/tools/jigsaw \
build/tools/depend \
, \
DISABLED_WARNINGS := unchecked rawtypes deprecation cast, \
BIN := $(BUILDTOOLS_OUTPUTDIR)/jdk_tools_classes, \
ADD_JAVAC_FLAGS := \
--add-exports java.desktop/sun.awt=ALL-UNNAMED \

View File

@@ -1,4 +1,5 @@
# Copyright (c) 2014, 2019, Oracle and/or its affiliates. All rights reserved.
#
# Copyright (c) 2014, 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
@@ -58,12 +59,58 @@ $(call FillFindCache, \
)
ifneq ($(LIBS_DIR), )
JMOD_FLAGS += --libs $(LIBS_DIR)
DEPS += $(call FindFiles, $(LIBS_DIR))
ifeq ($(call isTargetOs, windows)+$(SHIP_DEBUG_SYMBOLS), true+public)
# For public debug symbols on Windows, we have to use stripped pdbs and rename them
rename_stripped = $(patsubst %.stripped.pdb,%.pdb,$1)
LIBS_DIR_FILTERED := $(subst modules_libs,modules_libs_filtered, $(LIBS_DIR))
FILES_LIBS := $(filter-out %.pdb, $(call FindFiles, $(LIBS_DIR))) \
$(filter %.stripped.pdb, $(call FindFiles, $(LIBS_DIR)))
$(eval $(call SetupCopyFiles, COPY_FILTERED_LIBS, \
SRC := $(LIBS_DIR), \
DEST := $(LIBS_DIR_FILTERED), \
FILES := $(FILES_LIBS), \
NAME_MACRO := rename_stripped, \
))
DEPS += $(COPY_FILTERED_LIBS)
JMOD_FLAGS += --libs $(LIBS_DIR_FILTERED)
else
JMOD_FLAGS += --libs $(LIBS_DIR)
endif
endif
ifneq ($(CMDS_DIR), )
JMOD_FLAGS += --cmds $(CMDS_DIR)
DEPS += $(call FindFiles, $(CMDS_DIR))
ifeq ($(call isTargetOs, windows)+$(SHIP_DEBUG_SYMBOLS), true+public)
# For public debug symbols on Windows, we have to use stripped pdbs, rename them
# and filter out a few launcher pdbs where there's a lib that goes by the same name
rename_stripped = $(patsubst %.stripped.pdb,%.pdb,$1)
CMDS_DIR_FILTERED := $(subst modules_cmds,modules_cmds_filtered, $(CMDS_DIR))
FILES_CMDS := $(filter-out %.pdb, $(call FindFiles, $(CMDS_DIR))) \
$(filter-out %jimage.stripped.pdb %jpackage.stripped.pdb %java.stripped.pdb, \
$(filter %.stripped.pdb, $(call FindFiles, $(CMDS_DIR))))
$(eval $(call SetupCopyFiles, COPY_FILTERED_CMDS, \
SRC := $(CMDS_DIR), \
DEST := $(CMDS_DIR_FILTERED), \
FILES := $(FILES_CMDS), \
NAME_MACRO := rename_stripped, \
))
DEPS += $(COPY_FILTERED_CMDS)
JMOD_FLAGS += --cmds $(CMDS_DIR_FILTERED)
else ifeq ($(call isTargetOs, windows)+$(SHIP_DEBUG_SYMBOLS), true+full)
# For full debug symbols on Windows, we have to filter out a few launcher pdbs
# where there's a lib that goes by the same name
CMDS_DIR_FILTERED := $(subst modules_cmds,modules_cmds_filtered, $(CMDS_DIR))
$(eval $(call SetupCopyFiles, COPY_FILTERED_CMDS, \
SRC := $(CMDS_DIR), \
DEST := $(CMDS_DIR_FILTERED), \
FILES := $(filter-out %jimage.pdb %jpackage.pdb %java.pdb, \
$(call FindFiles, $(CMDS_DIR))), \
))
DEPS += $(COPY_FILTERED_CMDS)
JMOD_FLAGS += --cmds $(CMDS_DIR_FILTERED)
else
JMOD_FLAGS += --cmds $(CMDS_DIR)
endif
endif
ifneq ($(CONF_DIR), )
JMOD_FLAGS += --config $(CONF_DIR)
@@ -159,7 +206,15 @@ ifeq ($(INTERIM_JMOD), true)
INTERIM_MSG := interim$(SPACE)
endif
JMOD_FLAGS += --exclude '**{_the.*,_*.marker,*.diz,*.debuginfo,*.dSYM/**,*.dSYM,*.pdb,*.map}'
ifeq ($(call isTargetOs, windows), true)
ifeq ($(SHIP_DEBUG_SYMBOLS), )
JMOD_FLAGS += --exclude '**{_the.*,_*.marker,*.diz,*.pdb,*.map}'
else
JMOD_FLAGS += --exclude '**{_the.*,_*.marker,*.diz,*.map}'
endif
else
JMOD_FLAGS += --exclude '**{_the.*,_*.marker,*.diz,*.debuginfo,*.dSYM/**,*.dSYM}'
endif
# Create jmods in the support dir and then move them into place to keep the
# module path in $(IMAGES_OUTPUTDIR)/jmods valid at all times.

View File

@@ -1,4 +1,4 @@
# Copyright (c) 1997, 2019, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 1997, 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
@@ -57,10 +57,7 @@ $(eval $(call IncludeCustomExtension, Docs.gmk))
################################################################################
# Javadoc settings
# On top of the sources that was used to compile the JDK, we need some
# extra java.rmi sources that are used just for javadoc.
MODULES_SOURCE_PATH := $(call PathList, $(call GetModuleSrcPath) \
$(SUPPORT_OUTPUTDIR)/rmic/* $(TOPDIR)/src/*/share/doc/stub)
MODULES_SOURCE_PATH := $(call PathList, $(call GetModuleSrcPath) )
# URLs
JAVADOC_BASE_URL := https://docs.oracle.com/pls/topic/lookup?ctx=javase$(VERSION_NUMBER)&amp;id=homepage

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2016, 2019, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2016, 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
@@ -65,9 +65,17 @@ $(CLASSLIST_FILE): $(INTERIM_IMAGE_DIR)/bin/java$(EXE_SUFFIX) $(CLASSLIST_JAR)
$(call MakeDir, $(LINK_OPT_DIR))
$(call LogInfo, Generating $(patsubst $(OUTPUTDIR)/%, %, $@))
$(call LogInfo, Generating $(patsubst $(OUTPUTDIR)/%, %, $(JLI_TRACE_FILE)))
$(FIXPATH) $(INTERIM_IMAGE_DIR)/bin/java -XX:DumpLoadedClassList=$@.raw \
-Duser.language=en -Duser.country=US \
-cp $(SUPPORT_OUTPUTDIR)/classlist.jar \
build.tools.classlist.HelloClasslist $(LOG_DEBUG)
$(GREP) -v HelloClasslist $@.raw > $(INTERIM_IMAGE_DIR)/lib/classlist
$(FIXPATH) $(INTERIM_IMAGE_DIR)/bin/java -Xshare:dump \
-Xmx128M -Xms128M $(LOG_INFO)
$(FIXPATH) $(INTERIM_IMAGE_DIR)/bin/java -XX:DumpLoadedClassList=$@.raw \
-Djava.lang.invoke.MethodHandle.TRACE_RESOLVE=true \
-Duser.language=en -Duser.country=US \
--module-path $(SUPPORT_OUTPUTDIR)/classlist.jar \
-cp $(SUPPORT_OUTPUTDIR)/classlist.jar \
build.tools.classlist.HelloClasslist \
2> $(LINK_OPT_DIR)/stderr > $(JLI_TRACE_FILE) \
@@ -96,6 +104,17 @@ $(eval $(call SetupCopyFiles, COPY_CLASSLIST, \
TARGETS += $(COPY_CLASSLIST)
# In case of shipping public debug symbols on windows, there is another temporary
# location from where jmods are compiled - need to deploy classlist there, too.
ifeq ($(call isTargetOs, windows)+$(SHIP_DEBUG_SYMBOLS), true+public)
$(eval $(call SetupCopyFiles, COPY_CLASSLIST_TO_FILTERED, \
FILES := $(CLASSLIST_FILE), \
DEST := $(SUPPORT_OUTPUTDIR)/modules_libs_filtered/java.base, \
))
TARGETS += $(COPY_CLASSLIST_TO_FILTERED)
endif
# Copy the default_jli_trace.txt file into jdk.jlink
$(eval $(call SetupCopyFiles, COPY_JLI_TRACE, \
FILES := $(JLI_TRACE_FILE), \

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2012, 2018, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2012, 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
@@ -45,7 +45,7 @@ help:
$(info $(_) make <name>-image # Build just the image for any of: )
$(info $(_) # jdk, test, docs, symbols, legacy-jre, static-libs)
$(info $(_) make <phase> # Build the specified phase and everything it depends on)
$(info $(_) # (gensrc, java, copy, libs, launchers, gendata, rmic))
$(info $(_) # (gensrc, java, copy, libs, launchers, gendata))
$(info $(_) make *-only # Applies to most targets and disables building the)
$(info $(_) # dependencies for that target. This is faster but may)
$(info $(_) # result in incorrect build results!)
@@ -82,7 +82,7 @@ help:
$(info $(_) make <module> # Build <module> and everything it depends on)
$(info $(_) make <module>-<phase> # Compile the specified phase for the specified module)
$(info $(_) # and everything it depends on)
$(info $(_) # (gensrc, java, copy, libs, launchers, gendata, rmic))
$(info $(_) # (gensrc, java, copy, libs, launchers, gendata))
$(info )
$(info Make control variables)
$(info $(_) CONF= # Build all configurations (note, assignment is empty))
@@ -117,13 +117,14 @@ print-configurations:
# We need a dummy rule otherwise make will complain
@true
# This is not really a "help" target, but it is a global target, and those are
# all contained in this file.
run-test-prebuilt:
test-prebuilt:
@( cd $(topdir) && \
$(MAKE) --no-print-directory -r -R -I make/common/ -f make/RunTestsPrebuilt.gmk \
run-test-prebuilt CUSTOM_MAKE_DIR=$(CUSTOM_MAKE_DIR) TEST="$(TEST)" )
test-prebuilt CUSTOM_MAKE_DIR=$(CUSTOM_MAKE_DIR) TEST="$(TEST)" )
ALL_GLOBAL_TARGETS := help print-configurations run-test-prebuilt
# Alias for backwards compatibility
run-test-prebuilt: test-prebuilt
ALL_GLOBAL_TARGETS := help print-configurations test-prebuilt run-test-prebuilt
.PHONY: $(ALL_GLOBAL_TARGETS)

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2011, 2017, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2020, Red Hat Inc.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -23,23 +23,35 @@
# questions.
#
# This makefile creates a jdk image overlayed with statically linked core
# libraries.
default: all
include $(SPEC)
include MakeBase.gmk
include RMICompilation.gmk
################################################################################
RMIC_MAIN_CLASS := -m jdk.rmic.interim/sun.rmi.rmic.Main
TARGETS :=
RMIC := $(JAVA_SMALL) $(INTERIM_RMIC_ARGS) $(RMIC_MAIN_CLASS)
$(eval $(call SetupCopyFiles, COPY_JDK_IMG, \
SRC := $(JDK_IMAGE_DIR)/, \
DEST := $(GRAAL_BUILDER_IMAGE_DIR)/, \
FILES := $(call FindFiles, $(JDK_IMAGE_DIR)/), \
))
TARGETS += $(COPY_JDK_IMG)
CLASSES_DIR := $(JDK_OUTPUTDIR)/modules
# NOTE: If the smart javac dependency management is reintroduced, these classes
# risk interfering with the dependency checking. In that case they will need to
# be kept separate.
STUB_CLASSES_DIR := $(JDK_OUTPUTDIR)/modules
RMIC_GENSRC_DIR := $(SUPPORT_OUTPUTDIR)/rmic
$(eval $(call SetupCopyFiles, COPY_STATIC_LIBS, \
SRC := $(STATIC_LIBS_IMAGE_DIR)/lib, \
DEST := $(GRAAL_BUILDER_IMAGE_DIR)/lib, \
FILES := $(filter %$(STATIC_LIBRARY_SUFFIX), \
$(call FindFiles, $(STATIC_LIBS_IMAGE_DIR)/lib)), \
))
TARGETS += $(COPY_STATIC_LIBS)
################################################################################
all: $(TARGETS)
.PHONY: all

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2014, 2019, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2014, 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
@@ -208,6 +208,7 @@ ifeq ($(call isTargetOs, windows), true)
else
LIBS_TARGET_SUBDIR := lib
endif
CMDS_TARGET_SUBDIR := bin
# Param 1 - dir to find debuginfo files in
FindDebuginfoFiles = \
@@ -224,12 +225,15 @@ else
# dirs.
ifeq ($(call isTargetOs, macosx), true)
$(call FillFindCache, \
$(SUPPORT_OUTPUTDIR)/modules_cmds $(SUPPORT_OUTPUTDIR)/modules_libs)
$(SUPPORT_OUTPUTDIR)/modules_libs $(SUPPORT_OUTPUTDIR)/modules_cmds)
FindDebuginfoFiles = \
$(if $(wildcard $1), $(call containing, .dSYM/, $(call FindFiles, $1)))
endif
endif
FILTERED_PDBS := %jimage.stripped.pdb %jpackage.stripped.pdb %java.stripped.pdb \
%jimage.pdb %jpackage.pdb %java.pdb %jimage.map %jpackage.map %java.map
# Param 1 - either JDK or JRE
SetupCopyDebuginfo = \
$(foreach m, $(ALL_$1_MODULES), \
@@ -240,6 +244,13 @@ SetupCopyDebuginfo = \
$(SUPPORT_OUTPUTDIR)/modules_libs/$m), \
)) \
$(eval $1_TARGETS += $$(COPY_$1_LIBS_DEBUGINFO_$m)) \
$(eval $(call SetupCopyFiles, COPY_$1_CMDS_DEBUGINFO_$m, \
SRC := $(SUPPORT_OUTPUTDIR)/modules_cmds/$m, \
DEST := $($1_IMAGE_DIR)/$(CMDS_TARGET_SUBDIR), \
FILES := $(filter-out $(FILTERED_PDBS), $(call FindDebuginfoFiles, \
$(SUPPORT_OUTPUTDIR)/modules_cmds/$m)), \
)) \
$(eval $1_TARGETS += $$(COPY_$1_CMDS_DEBUGINFO_$m)) \
)
# No space before argument to avoid having to put $(strip ) everywhere in

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2012, 2019, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2012, 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
@@ -47,7 +47,7 @@ ifeq ($(HAS_SPEC),)
# Here are "global" targets, i.e. targets that can be executed without having
# a configuration. This will define ALL_GLOBAL_TARGETS.
include $(topdir)/make/Help.gmk
include $(topdir)/make/Global.gmk
# Targets provided by Init.gmk.
ALL_INIT_TARGETS := print-modules print-targets print-configuration \

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2011, 2019, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2011, 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
@@ -72,12 +72,6 @@ buildtools-langtools:
interim-langtools:
+($(CD) $(TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f CompileInterimLangtools.gmk)
interim-rmic:
+($(CD) $(TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f CompileInterimRmic.gmk)
interim-cldrconverter:
+($(CD) $(TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f CopyInterimCLDRConverter.gmk)
interim-tzdb:
+($(CD) $(TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f CopyInterimTZDB.gmk)
@@ -92,7 +86,7 @@ buildtools-hotspot:
+($(CD) $(TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f CompileToolsHotspot.gmk)
ALL_TARGETS += buildtools-langtools interim-langtools \
interim-rmic interim-cldrconverter interim-tzdb buildtools-jdk buildtools-modules \
interim-tzdb buildtools-jdk buildtools-modules \
buildtools-hotspot
################################################################################
@@ -196,16 +190,6 @@ $(foreach m, $(JAVA_MODULES), $(eval $(call DeclareCompileJavaRecipe,$m)))
ALL_TARGETS += $(JAVA_TARGETS)
################################################################################
# Targets for running rmic.
$(eval $(call DeclareRecipesForPhase, RMIC, \
TARGET_SUFFIX := rmic, \
FILE_PREFIX := Rmic, \
MAKE_SUBDIR := rmic, \
CHECK_MODULES := $(ALL_MODULES)))
ALL_TARGETS += $(RMIC_TARGETS)
################################################################################
# Targets for compiling native libraries
$(eval $(call DeclareRecipesForPhase, LIBS, \
@@ -407,6 +391,9 @@ release-file:
exploded-image-optimize:
+($(CD) $(TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f ExplodedImageOptimize.gmk)
graal-builder-image:
+($(CD) $(TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f GraalBuilderImage.gmk)
ifeq ($(JCOV_ENABLED), true)
jcov-image:
+($(CD) $(TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f Coverage.gmk jcov-image)
@@ -415,7 +402,7 @@ endif
ALL_TARGETS += store-source-revision create-source-revision-tracker bootcycle-images zip-security \
zip-source jrtfs-jar jdk-image legacy-jre-image \
symbols-image static-libs-image mac-jdk-bundle mac-legacy-jre-bundle \
release-file exploded-image-optimize jcov-image
release-file exploded-image-optimize graal-builder-image jcov-image
################################################################################
# Docs targets
@@ -674,7 +661,7 @@ else
interim-langtools: $(INTERIM_LANGTOOLS_GENSRC_TARGETS)
buildtools-jdk: interim-langtools interim-cldrconverter interim-tzdb
buildtools-jdk: interim-langtools interim-tzdb
buildtools-hotspot: interim-langtools
@@ -688,10 +675,6 @@ else
$(GENDATA_TARGETS): interim-langtools buildtools-jdk
interim-rmic: interim-langtools
$(RMIC_TARGETS): interim-langtools interim-rmic
$(JAVA_TARGETS): interim-langtools
# Declare dependencies between hotspot-<variant>* targets
@@ -732,9 +715,6 @@ else
# Declare dependencies between the module meta targets
$(foreach m, $(ALL_MODULES), $(eval $m: $(call FindDepsForModule,$m)))
# Declare dependencies between <module>-rmic to <module>-java
$(foreach m, $(RMIC_MODULES), $(eval $m-rmic: $m-java))
# Declare dependencies from <module>-lib to <module>-java
# Skip modules that do not have java source.
$(foreach m, $(filter $(JAVA_MODULES), $(LIBS_MODULES)), $(eval $m-libs: $m-java))
@@ -768,7 +748,7 @@ else
jdk.internal.vm.compiler-gensrc-moduleinfo: jdk.internal.vm.compiler-gensrc-src
jdk.internal.vm.compiler.management-gensrc-moduleinfo: jdk.internal.vm.compiler.management-gensrc-src
jdk.jdeps-gendata: java rmic
jdk.jdeps-gendata: java
# The ct.sym generation uses all the moduleinfos as input
jdk.compiler-gendata: $(GENSRC_MODULEINFO_TARGETS)
@@ -790,7 +770,6 @@ else
# Declare dependencies from <module>-jmod to all other module targets
$(foreach m, $(JAVA_MODULES), $(eval $m_JMOD_DEPS += $m-java))
$(foreach m, $(GENDATA_MODULES), $(eval $m_JMOD_DEPS += $m-gendata))
$(foreach m, $(RMIC_MODULES), $(eval $m_JMOD_DEPS += $m-rmic))
$(foreach m, $(LIBS_MODULES), $(eval $m_JMOD_DEPS += $m-libs))
$(foreach m, $(LAUNCHER_MODULES), $(eval $m_JMOD_DEPS += $m-launchers))
$(foreach m, $(COPY_MODULES), $(eval $m_JMOD_DEPS += $m-copy))
@@ -856,7 +835,7 @@ else
zip-security: java.base-java java.security.jgss-java java.security.jgss-libs \
$(filter jdk.crypto%, $(JAVA_TARGETS))
zip-source: gensrc rmic
zip-source: gensrc
jrtfs-jar: interim-langtools
@@ -886,6 +865,8 @@ else
static-libs-image: $(STATIC_LIBS_TARGETS)
graal-builder-image: jdk-image static-libs-image
mac-jdk-bundle: jdk-image
mac-legacy-jre-bundle: legacy-jre-image
@@ -901,11 +882,11 @@ else
bootcycle-images: jdk-image
docs-jdk-api-javadoc: $(GENSRC_TARGETS) rmic
docs-jdk-api-javadoc: $(GENSRC_TARGETS)
docs-javase-api-javadoc: $(GENSRC_TARGETS) rmic
docs-javase-api-javadoc: $(GENSRC_TARGETS)
docs-reference-api-javadoc: $(GENSRC_TARGETS) rmic
docs-reference-api-javadoc: $(GENSRC_TARGETS)
docs-jdk-api-modulegraph: exploded-image buildtools-modules
@@ -987,7 +968,7 @@ endif
# If not already set, set the JVM specific tools targets
JVM_TOOLS_TARGETS ?= buildtools-hotspot
buildtools: buildtools-langtools interim-langtools interim-rmic \
buildtools: buildtools-langtools interim-langtools \
buildtools-jdk $(JVM_TOOLS_TARGETS)
# Declare dependencies from hotspot-<variant> targets
@@ -1010,8 +991,6 @@ copy: $(ALL_COPY_TARGETS)
java: $(JAVA_TARGETS)
rmic: $(RMIC_TARGETS)
libs: $(LIBS_TARGETS)
static-libs: $(STATIC_LIBS_TARGETS)
@@ -1029,7 +1008,6 @@ jdk.jdwp.agent-gensrc: jdk.jdi-gensrc
$(foreach m, $(GENSRC_MODULES), $(eval $m: $m-gensrc))
$(foreach m, $(JAVA_MODULES), $(eval $m: $m-java))
$(foreach m, $(GENDATA_MODULES), $(eval $m: $m-gendata))
$(foreach m, $(RMIC_MODULES), $(eval $m: $m-rmic))
$(foreach m, $(LIBS_MODULES), $(eval $m: $m-libs))
$(foreach m, $(LAUNCHER_MODULES), $(eval $m: $m-launchers))
$(foreach m, $(ALL_COPY_MODULES), $(eval $m: $m-copy))
@@ -1129,7 +1107,7 @@ all-images: product-images test-image docs-image
all-bundles: product-bundles test-bundles docs-bundles static-libs-bundles
ALL_TARGETS += buildtools hotspot hotspot-libs hotspot-gensrc gensrc gendata \
copy java rmic libs static-libs launchers jmods \
copy java libs static-libs launchers jmods \
jdk.jdwp.agent-gensrc $(ALL_MODULES) demos \
exploded-image-base exploded-image \
create-buildjdk docs-jdk-api docs-javase-api docs-reference-api docs-jdk \

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2016, 2019, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2016, 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
@@ -45,7 +45,7 @@ ifneq ($(TEST_VM_OPTS), )
endif
$(eval $(call ParseKeywordVariable, TEST_OPTS, \
SINGLE_KEYWORDS := JOBS TIMEOUT_FACTOR JCOV, \
SINGLE_KEYWORDS := JOBS TIMEOUT_FACTOR JCOV JCOV_DIFF_CHANGESET, \
STRING_KEYWORDS := VM_OPTIONS JAVA_OPTIONS AOT_MODULES, \
))
@@ -701,7 +701,8 @@ define SetupRunMicroTestBody
endif
ifneq ($$(MICRO_VM_OPTIONS)$$(MICRO_JAVA_OPTIONS), )
$1_MICRO_VM_OPTIONS := -jvmArgs $$(MICRO_VM_OPTIONS) $$(MICRO_JAVA_OPTIONS)
JMH_JVM_ARGS := $$(MICRO_VM_OPTIONS) $$(MICRO_JAVA_OPTIONS)
$1_MICRO_VM_OPTIONS := -jvmArgs $(call ShellQuote,$$(JMH_JVM_ARGS))
endif
ifneq ($$(MICRO_ITER), )
@@ -1048,7 +1049,7 @@ define SetupRunSpecialTestBody
else ifeq ($$($1_TEST_NAME), make)
$1_TEST_COMMAND_LINE := \
($(CD) $(TOPDIR)/test/make && $(MAKE) $(MAKE_ARGS) -f \
TestMake.gmk $$($1_TEST_ARGS))
TestMake.gmk $$($1_TEST_ARGS) TEST_SUPPORT_DIR="$$($1_TEST_SUPPORT_DIR)")
else
$$(error Invalid special test specification: $$($1_TEST_NAME))
endif
@@ -1072,10 +1073,14 @@ define SetupRunSpecialTestBody
$$(call LogWarn, Test report is stored in $$(strip \
$$(subst $$(TOPDIR)/, , $$($1_TEST_RESULTS_DIR))))
$$(call LogWarn, Warning: Special test results are not properly parsed!)
$$(eval $1_PASSED := 0)
$$(eval $1_FAILED := 0)
$$(eval $1_PASSED := $$(shell \
if [ `$(CAT) $$($1_EXITCODE)` = "0" ]; then $(ECHO) 1; else $(ECHO) 0; fi \
))
$$(eval $1_FAILED := $$(shell \
if [ `$(CAT) $$($1_EXITCODE)` = "0" ]; then $(ECHO) 0; else $(ECHO) 1; fi \
))
$$(eval $1_ERROR := 0)
$$(eval $1_TOTAL := 0)
$$(eval $1_TOTAL := 1)
$1: run-test-$1 parse-test-$1
@@ -1261,12 +1266,44 @@ ifeq ($(TEST_OPTS_JCOV), true)
TARGETS += jcov-do-start-grabber jcov-start-grabber jcov-stop-grabber \
jcov-gen-report
ifneq ($(TEST_OPTS_JCOV_DIFF_CHANGESET), )
JCOV_SOURCE_DIFF := $(JCOV_OUTPUT_DIR)/source_diff
JCOV_DIFF_COVERAGE_REPORT := $(JCOV_OUTPUT_DIR)/diff_coverage_report
ifneq ($(and $(HG), $(wildcard $(TOPDIR)/.hg)), )
DIFF_COMMAND := $(HG) -R $(TOPDIR) diff -r $(TEST_OPTS_JCOV_DIFF_CHANGESET) > $(JCOV_SOURCE_DIFF)
else ifneq ($(and $(GIT), $(wildcard $(TOPDIR)/.git)), )
DIFF_COMMAND := $(GIT) -C $(TOPDIR) diff $(TEST_OPTS_JCOV_DIFF_CHANGESET) > $(JCOV_SOURCE_DIFF)
else
$(info Error: Must be either hg or git source tree for diff coverage.)
$(error Neither hg nor git source tree.)
endif
jcov-gen-diffcoverage: jcov-stop-grabber
$(call LogWarn, Generating diff coverage with changeset $(TEST_OPTS_JCOV_DIFF_CHANGESET) ... )
$(DIFF_COMMAND)
$(JAVA) -Xmx4g -jar $(JCOV_HOME)/lib/jcov.jar \
DiffCoverage -replaceDiff "src/.*/classes/:" -all \
$(JCOV_RESULT_FILE) $(JCOV_SOURCE_DIFF) > \
$(JCOV_DIFF_COVERAGE_REPORT)
TARGETS += jcov-gen-diffcoverage
endif
# Hook this into the framework at appropriate places
pre-run-test: jcov-start-grabber
post-run-test: jcov-gen-report
jcov-gen-report: run-all-tests
ifneq ($(TEST_OPTS_JCOV_DIFF_CHANGESET), )
post-run-test: jcov-gen-diffcoverage
endif
jcov-stop-grabber: run-all-tests
endif

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2017, 2019, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2017, 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
@@ -336,7 +336,7 @@ SPEC := $(NEW_SPEC)
default: all
run-test-prebuilt:
test-prebuilt:
# Need to make sure the failure logs output dir exists since
# ExecuteWithLog is called in RunTests.gmk. The PrepareFailureLogs macro
# is unfortunately not available at this point.
@@ -351,6 +351,6 @@ run-test-prebuilt:
@cd $(TOPDIR) && $(MAKE) $(MAKE_ARGS) -f make/RunTests.gmk run-test \
TEST="$(TEST)"
all: run-test-prebuilt
all: test-prebuilt
.PHONY: default all
.PHONY: default all test-prebuilt

View File

@@ -106,6 +106,9 @@ TOOL_OSX_TOBIN = $(JAVA_SMALL) -Djava.awt.headless=true -cp $(BUILDTOOLS_OUTPUTD
TOOL_CLDRCONVERTER = $(JAVA_SMALL) -cp $(BUILDTOOLS_OUTPUTDIR)/jdk_tools_classes \
build.tools.cldrconverter.CLDRConverter
TOOL_INTPOLY = $(JAVA_SMALL) -cp $(BUILDTOOLS_OUTPUTDIR)/jdk_tools_classes \
build.tools.intpoly.FieldGen
TOOL_GENERATELSREQUIVMAPS = $(JAVA_SMALL) -cp $(BUILDTOOLS_OUTPUTDIR)/jdk_tools_classes \
build.tools.generatelsrequivmaps.EquivMapsGenerator

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2014, 2019, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2014, 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
@@ -39,18 +39,12 @@ $(eval $(call IncludeCustomExtension, ZipSource.gmk))
# Create the directory structure for src.zip using symlinks.
# <module>/<package>/<file>.java
# Find extra source dirs for a module that are not part of normal compilation
# but should be included in src.zip.
# $1: Module to find dirs for
ExtraSrcDirs = \
$(wildcard $(SUPPORT_OUTPUTDIR)/rmic/$(strip $1))
ALL_MODULES := $(FindAllModules)
# Generate the src dirs in the first make invocation and then call this makefile
# again to create src.zip.
$(foreach m, $(ALL_MODULES), \
$(foreach d, $(call FindModuleSrcDirs, $m) $(call ExtraSrcDirs, $m), \
$(foreach d, $(call FindModuleSrcDirs, $m), \
$(eval $d_TARGET := $(SRC_ZIP_WORK_DIR)/$(patsubst $(TOPDIR)/%,%,$d)/$m) \
$(if $(SRC_GENERATED), , \
$(eval $$($d_TARGET): $d ; \

544
make/autoconf/basic.m4 Normal file
View File

@@ -0,0 +1,544 @@
#
# Copyright (c) 2011, 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.
#
m4_include([basic_tools.m4])
m4_include([basic_windows.m4])
###############################################################################
AC_DEFUN_ONCE([BASIC_INIT],
[
# Save the original command line. This is passed to us by the wrapper configure script.
AC_SUBST(CONFIGURE_COMMAND_LINE)
# AUTOCONF might be set in the environment by the user. Preserve for "make reconfigure".
AC_SUBST(AUTOCONF)
# Save the path variable before it gets changed
ORIGINAL_PATH="$PATH"
AC_SUBST(ORIGINAL_PATH)
DATE_WHEN_CONFIGURED=`date`
AC_SUBST(DATE_WHEN_CONFIGURED)
AC_MSG_NOTICE([Configuration created at $DATE_WHEN_CONFIGURED.])
])
###############################################################################
# Check that there are no unprocessed overridden variables left.
# If so, they are an incorrect argument and we will exit with an error.
AC_DEFUN([BASIC_CHECK_LEFTOVER_OVERRIDDEN],
[
if test "x$CONFIGURE_OVERRIDDEN_VARIABLES" != x; then
# Replace the separating ! with spaces before presenting for end user.
unknown_variables=${CONFIGURE_OVERRIDDEN_VARIABLES//!/ }
AC_MSG_WARN([The following variables might be unknown to configure: $unknown_variables])
fi
])
###############################################################################
# Setup basic configuration paths, and platform-specific stuff related to PATHs.
AC_DEFUN_ONCE([BASIC_SETUP_PATHS],
[
# Save the current directory this script was started from
CONFIGURE_START_DIR="$PWD"
# We might need to rewrite ORIGINAL_PATH, if it includes "#", to quote them
# for make. We couldn't do this when we retrieved ORIGINAL_PATH, since SED
# was not available at that time.
REWRITTEN_PATH=`$ECHO "$ORIGINAL_PATH" | $SED -e 's/#/\\\\#/g'`
if test "x$REWRITTEN_PATH" != "x$ORIGINAL_PATH"; then
ORIGINAL_PATH="$REWRITTEN_PATH"
AC_MSG_NOTICE([Rewriting ORIGINAL_PATH to $REWRITTEN_PATH])
fi
if test "x$OPENJDK_TARGET_OS" = "xwindows"; then
PATH_SEP=";"
EXE_SUFFIX=".exe"
BASIC_CHECK_PATHS_WINDOWS
else
PATH_SEP=":"
EXE_SUFFIX=""
fi
AC_SUBST(PATH_SEP)
AC_SUBST(EXE_SUFFIX)
# We get the top-level directory from the supporting wrappers.
AC_MSG_CHECKING([for top-level directory])
AC_MSG_RESULT([$TOPDIR])
AC_SUBST(TOPDIR)
AC_SUBST(CONFIGURE_START_DIR)
# We can only call UTIL_FIXUP_PATH after BASIC_CHECK_PATHS_WINDOWS.
UTIL_FIXUP_PATH(CONFIGURE_START_DIR)
UTIL_FIXUP_PATH(TOPDIR)
# Locate the directory of this script.
AUTOCONF_DIR=$TOPDIR/make/autoconf
# Setup username (for use in adhoc version strings etc)
# Outer [ ] to quote m4.
[ USERNAME=`$ECHO "$USER" | $TR -d -c '[a-z][A-Z][0-9]'` ]
AC_SUBST(USERNAME)
])
###############################################################################
# Evaluates platform specific overrides for devkit variables.
# $1: Name of variable
AC_DEFUN([BASIC_EVAL_DEVKIT_VARIABLE],
[
if test "x[$]$1" = x; then
eval $1="\${$1_${OPENJDK_TARGET_CPU}}"
fi
])
###############################################################################
AC_DEFUN_ONCE([BASIC_SETUP_DEVKIT],
[
AC_ARG_WITH([devkit], [AS_HELP_STRING([--with-devkit],
[use this devkit for compilers, tools and resources])])
if test "x$with_devkit" = xyes; then
AC_MSG_ERROR([--with-devkit must have a value])
elif test "x$with_devkit" != x && test "x$with_devkit" != xno; then
UTIL_FIXUP_PATH([with_devkit])
DEVKIT_ROOT="$with_devkit"
# Check for a meta data info file in the root of the devkit
if test -f "$DEVKIT_ROOT/devkit.info"; then
. $DEVKIT_ROOT/devkit.info
# This potentially sets the following:
# A descriptive name of the devkit
BASIC_EVAL_DEVKIT_VARIABLE([DEVKIT_NAME])
# Corresponds to --with-extra-path
BASIC_EVAL_DEVKIT_VARIABLE([DEVKIT_EXTRA_PATH])
# Corresponds to --with-toolchain-path
BASIC_EVAL_DEVKIT_VARIABLE([DEVKIT_TOOLCHAIN_PATH])
# Corresponds to --with-sysroot
BASIC_EVAL_DEVKIT_VARIABLE([DEVKIT_SYSROOT])
# Identifies the Visual Studio version in the devkit
BASIC_EVAL_DEVKIT_VARIABLE([DEVKIT_VS_VERSION])
# The Visual Studio include environment variable
BASIC_EVAL_DEVKIT_VARIABLE([DEVKIT_VS_INCLUDE])
# The Visual Studio lib environment variable
BASIC_EVAL_DEVKIT_VARIABLE([DEVKIT_VS_LIB])
# Corresponds to --with-msvcr-dll
BASIC_EVAL_DEVKIT_VARIABLE([DEVKIT_MSVCR_DLL])
# Corresponds to --with-msvcp-dll
BASIC_EVAL_DEVKIT_VARIABLE([DEVKIT_MSVCP_DLL])
# Corresponds to --with-ucrt-dll-dir
BASIC_EVAL_DEVKIT_VARIABLE([DEVKIT_UCRT_DLL_DIR])
fi
AC_MSG_CHECKING([for devkit])
if test "x$DEVKIT_NAME" != x; then
AC_MSG_RESULT([$DEVKIT_NAME in $DEVKIT_ROOT])
else
AC_MSG_RESULT([$DEVKIT_ROOT])
fi
UTIL_PREPEND_TO_PATH([EXTRA_PATH],$DEVKIT_EXTRA_PATH)
# Fallback default of just /bin if DEVKIT_PATH is not defined
if test "x$DEVKIT_TOOLCHAIN_PATH" = x; then
DEVKIT_TOOLCHAIN_PATH="$DEVKIT_ROOT/bin"
fi
UTIL_PREPEND_TO_PATH([TOOLCHAIN_PATH],$DEVKIT_TOOLCHAIN_PATH)
# If DEVKIT_SYSROOT is set, use that, otherwise try a couple of known
# places for backwards compatiblity.
if test "x$DEVKIT_SYSROOT" != x; then
SYSROOT="$DEVKIT_SYSROOT"
elif test -d "$DEVKIT_ROOT/$host_alias/libc"; then
SYSROOT="$DEVKIT_ROOT/$host_alias/libc"
elif test -d "$DEVKIT_ROOT/$host/sys-root"; then
SYSROOT="$DEVKIT_ROOT/$host/sys-root"
fi
if test "x$DEVKIT_ROOT" != x; then
DEVKIT_LIB_DIR="$DEVKIT_ROOT/lib"
if test "x$OPENJDK_TARGET_CPU_BITS" = x64; then
DEVKIT_LIB_DIR="$DEVKIT_ROOT/lib64"
fi
AC_SUBST(DEVKIT_LIB_DIR)
fi
fi
# You can force the sysroot if the sysroot encoded into the compiler tools
# is not correct.
AC_ARG_WITH(sys-root, [AS_HELP_STRING([--with-sys-root],
[alias for --with-sysroot for backwards compatability])],
[SYSROOT=$with_sys_root]
)
AC_ARG_WITH(sysroot, [AS_HELP_STRING([--with-sysroot],
[use this directory as sysroot])],
[SYSROOT=$with_sysroot]
)
AC_ARG_WITH([tools-dir], [AS_HELP_STRING([--with-tools-dir],
[alias for --with-toolchain-path for backwards compatibility])],
[UTIL_PREPEND_TO_PATH([TOOLCHAIN_PATH],$with_tools_dir)]
)
AC_ARG_WITH([toolchain-path], [AS_HELP_STRING([--with-toolchain-path],
[prepend these directories when searching for toolchain binaries (compilers etc)])],
[UTIL_PREPEND_TO_PATH([TOOLCHAIN_PATH],$with_toolchain_path)]
)
AC_ARG_WITH([extra-path], [AS_HELP_STRING([--with-extra-path],
[prepend these directories to the default path])],
[UTIL_PREPEND_TO_PATH([EXTRA_PATH],$with_extra_path)]
)
if test "x$OPENJDK_BUILD_OS" = "xmacosx"; then
# If a devkit has been supplied, find xcodebuild in the toolchain_path.
# If not, detect if Xcode is installed by running xcodebuild -version
# if no Xcode installed, xcodebuild exits with 1
# if Xcode is installed, even if xcode-select is misconfigured, then it exits with 0
if test "x$DEVKIT_ROOT" != x || /usr/bin/xcodebuild -version >/dev/null 2>&1; then
# We need to use xcodebuild in the toolchain dir provided by the user, this will
# fall back on the stub binary in /usr/bin/xcodebuild
AC_PATH_PROG([XCODEBUILD], [xcodebuild], [/usr/bin/xcodebuild], [$TOOLCHAIN_PATH])
else
# this should result in SYSROOT being empty, unless --with-sysroot is provided
# when only the command line tools are installed there are no SDKs, so headers
# are copied into the system frameworks
XCODEBUILD=
AC_SUBST(XCODEBUILD)
fi
AC_MSG_CHECKING([for sdk name])
AC_ARG_WITH([sdk-name], [AS_HELP_STRING([--with-sdk-name],
[use the platform SDK of the given name. @<:@macosx@:>@])],
[SDKNAME=$with_sdk_name]
)
AC_MSG_RESULT([$SDKNAME])
# if toolchain path is specified then don't rely on system headers, they may not compile
HAVE_SYSTEM_FRAMEWORK_HEADERS=0
test -z "$TOOLCHAIN_PATH" && \
HAVE_SYSTEM_FRAMEWORK_HEADERS=`test ! -f /System/Library/Frameworks/Foundation.framework/Headers/Foundation.h; echo $?`
if test -z "$SYSROOT"; then
if test -n "$XCODEBUILD"; then
# if we don't have system headers, use default SDK name (last resort)
if test -z "$SDKNAME" -a $HAVE_SYSTEM_FRAMEWORK_HEADERS -eq 0; then
SDKNAME=${SDKNAME:-macosx}
fi
if test -n "$SDKNAME"; then
# Call xcodebuild to determine SYSROOT
SYSROOT=`"$XCODEBUILD" -sdk $SDKNAME -version | $GREP '^Path: ' | $SED 's/Path: //'`
fi
else
if test $HAVE_SYSTEM_FRAMEWORK_HEADERS -eq 0; then
AC_MSG_ERROR([No xcodebuild tool and no system framework headers found, use --with-sysroot or --with-sdk-name to provide a path to a valid SDK])
fi
fi
else
# warn user if --with-sdk-name was also set
if test -n "$with_sdk_name"; then
AC_MSG_WARN([Both SYSROOT and --with-sdk-name are set, only SYSROOT will be used])
fi
fi
if test $HAVE_SYSTEM_FRAMEWORK_HEADERS -eq 0 -a -z "$SYSROOT"; then
# If no system framework headers, then SYSROOT must be set, or we won't build
AC_MSG_ERROR([Unable to determine SYSROOT and no headers found in /System/Library/Frameworks. Check Xcode configuration, --with-sysroot or --with-sdk-name arguments.])
fi
# Perform a basic sanity test
if test ! -f "$SYSROOT/System/Library/Frameworks/Foundation.framework/Headers/Foundation.h"; then
if test -z "$SYSROOT"; then
AC_MSG_ERROR([Unable to find required framework headers, provide a path to an SDK via --with-sysroot or --with-sdk-name and be sure Xcode is installed properly])
else
AC_MSG_ERROR([Invalid SDK or SYSROOT path, dependent framework headers not found])
fi
fi
# set SDKROOT too, Xcode tools will pick it up
SDKROOT="$SYSROOT"
AC_SUBST(SDKROOT)
fi
# Prepend the extra path to the global path
UTIL_PREPEND_TO_PATH([PATH],$EXTRA_PATH)
AC_MSG_CHECKING([for sysroot])
AC_MSG_RESULT([$SYSROOT])
AC_MSG_CHECKING([for toolchain path])
AC_MSG_RESULT([$TOOLCHAIN_PATH])
AC_MSG_CHECKING([for extra path])
AC_MSG_RESULT([$EXTRA_PATH])
])
###############################################################################
AC_DEFUN_ONCE([BASIC_SETUP_OUTPUT_DIR],
[
AC_ARG_WITH(conf-name, [AS_HELP_STRING([--with-conf-name],
[use this as the name of the configuration @<:@generated from important configuration options@:>@])],
[ CONF_NAME=${with_conf_name} ])
# Test from where we are running configure, in or outside of src root.
AC_MSG_CHECKING([where to store configuration])
if test "x$CONFIGURE_START_DIR" = "x$TOPDIR" \
|| test "x$CONFIGURE_START_DIR" = "x$CUSTOM_ROOT" \
|| test "x$CONFIGURE_START_DIR" = "x$TOPDIR/make/autoconf" \
|| test "x$CONFIGURE_START_DIR" = "x$TOPDIR/make" ; then
# We are running configure from the src root.
# Create a default ./build/target-variant-debuglevel output root.
if test "x${CONF_NAME}" = x; then
AC_MSG_RESULT([in default location])
CONF_NAME="${OPENJDK_TARGET_OS}-${OPENJDK_TARGET_CPU}-${JVM_VARIANTS_WITH_AND}-${DEBUG_LEVEL}"
else
AC_MSG_RESULT([in build directory with custom name])
fi
if test "x$CUSTOM_ROOT" != x; then
WORKSPACE_ROOT="${CUSTOM_ROOT}"
else
WORKSPACE_ROOT="${TOPDIR}"
fi
OUTPUTDIR="${WORKSPACE_ROOT}/build/${CONF_NAME}"
$MKDIR -p "$OUTPUTDIR"
if test ! -d "$OUTPUTDIR"; then
AC_MSG_ERROR([Could not create build directory $OUTPUTDIR])
fi
else
# We are running configure from outside of the src dir.
# Then use the current directory as output dir!
# If configuration is situated in normal build directory, just use the build
# directory name as configuration name, otherwise use the complete path.
if test "x${CONF_NAME}" = x; then
CONF_NAME=`$ECHO $CONFIGURE_START_DIR | $SED -e "s!^${TOPDIR}/build/!!"`
fi
OUTPUTDIR="$CONFIGURE_START_DIR"
AC_MSG_RESULT([in current directory])
# WARNING: This might be a bad thing to do. You need to be sure you want to
# have a configuration in this directory. Do some sanity checks!
if test ! -e "$OUTPUTDIR/spec.gmk"; then
# If we have a spec.gmk, we have run here before and we are OK. Otherwise, check for
# other files
files_present=`$LS $OUTPUTDIR`
# Configure has already touched config.log and confdefs.h in the current dir when this check
# is performed.
filtered_files=`$ECHO "$files_present" \
| $SED -e 's/config.log//g' \
-e 's/configure.log//g' \
-e 's/confdefs.h//g' \
-e 's/configure-support//g' \
-e 's/ //g' \
| $TR -d '\n'`
if test "x$filtered_files" != x; then
AC_MSG_NOTICE([Current directory is $CONFIGURE_START_DIR.])
AC_MSG_NOTICE([Since this is not the source root, configure will output the configuration here])
AC_MSG_NOTICE([(as opposed to creating a configuration in <src_root>/build/<conf-name>).])
AC_MSG_NOTICE([However, this directory is not empty. This is not allowed, since it could])
AC_MSG_NOTICE([seriously mess up just about everything.])
AC_MSG_NOTICE([Try 'cd $TOPDIR' and restart configure])
AC_MSG_NOTICE([(or create a new empty directory and cd to it).])
AC_MSG_ERROR([Will not continue creating configuration in $CONFIGURE_START_DIR])
fi
fi
fi
AC_MSG_CHECKING([what configuration name to use])
AC_MSG_RESULT([$CONF_NAME])
UTIL_FIXUP_PATH(OUTPUTDIR)
CONFIGURESUPPORT_OUTPUTDIR="$OUTPUTDIR/configure-support"
$MKDIR -p "$CONFIGURESUPPORT_OUTPUTDIR"
SPEC="$OUTPUTDIR/spec.gmk"
AC_SUBST(SPEC)
AC_SUBST(CONF_NAME)
AC_SUBST(OUTPUTDIR)
AC_SUBST(WORKSPACE_ROOT)
AC_SUBST(CONFIGURESUPPORT_OUTPUTDIR)
# The spec.gmk file contains all variables for the make system.
AC_CONFIG_FILES([$OUTPUTDIR/spec.gmk:$AUTOCONF_DIR/spec.gmk.in])
# The bootcycle-spec.gmk file contains support for boot cycle builds.
AC_CONFIG_FILES([$OUTPUTDIR/bootcycle-spec.gmk:$AUTOCONF_DIR/bootcycle-spec.gmk.in])
# The buildjdk-spec.gmk file contains support for building a buildjdk when cross compiling.
AC_CONFIG_FILES([$OUTPUTDIR/buildjdk-spec.gmk:$AUTOCONF_DIR/buildjdk-spec.gmk.in])
# The compare.sh is used to compare the build output to other builds.
AC_CONFIG_FILES([$OUTPUTDIR/compare.sh:$AUTOCONF_DIR/compare.sh.in])
# The generated Makefile knows where the spec.gmk is and where the source is.
# You can run make from the OUTPUTDIR, or from the top-level Makefile
# which will look for generated configurations
AC_CONFIG_FILES([$OUTPUTDIR/Makefile:$AUTOCONF_DIR/Makefile.in])
])
###############################################################################
# Check if build directory is on local disk. If not possible to determine,
# we prefer to claim it's local.
# Argument 1: directory to test
# Argument 2: what to do if it is on local disk
# Argument 3: what to do otherwise (remote disk or failure)
AC_DEFUN([BASIC_CHECK_DIR_ON_LOCAL_DISK],
[
# df -l lists only local disks; if the given directory is not found then
# a non-zero exit code is given
if test "x$DF" = x; then
if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
# msys does not have df; use Windows "net use" instead.
IS_NETWORK_DISK=`net use | grep \`pwd -W | cut -d ":" -f 1 | tr a-z A-Z\`:`
if test "x$IS_NETWORK_DISK" = x; then
$2
else
$3
fi
else
# No df here, say it's local
$2
fi
else
# JDK-8189619
# df on AIX does not understand -l. On modern AIXes it understands "-T local" which
# is the same. On older AIXes we just continue to live with a "not local build" warning.
if test "x$OPENJDK_TARGET_OS" = xaix; then
DF_LOCAL_ONLY_OPTION='-T local'
else
DF_LOCAL_ONLY_OPTION='-l'
fi
if $DF $DF_LOCAL_ONLY_OPTION $1 > /dev/null 2>&1; then
$2
else
# In WSL, local Windows drives are considered remote by df, but we are
# required to build into a directory accessible from windows, so consider
# them local here.
if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.wsl"; then
if $DF $1 | $GREP -q "^[[A-Z]]:"; then
$2
else
$3
fi
else
$3
fi
fi
fi
])
###############################################################################
# Check that source files have basic read permissions set. This might
# not be the case in cygwin in certain conditions.
AC_DEFUN_ONCE([BASIC_CHECK_SRC_PERMS],
[
if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
file_to_test="$TOPDIR/LICENSE"
if test `$STAT -c '%a' "$file_to_test"` -lt 400; then
AC_MSG_ERROR([Bad file permissions on src files. This is usually caused by cloning the repositories with a non cygwin hg in a directory not created in cygwin.])
fi
fi
])
###############################################################################
AC_DEFUN_ONCE([BASIC_TEST_USABILITY_ISSUES],
[
AC_MSG_CHECKING([if build directory is on local disk])
BASIC_CHECK_DIR_ON_LOCAL_DISK($OUTPUTDIR,
[OUTPUT_DIR_IS_LOCAL="yes"],
[OUTPUT_DIR_IS_LOCAL="no"])
AC_MSG_RESULT($OUTPUT_DIR_IS_LOCAL)
BASIC_CHECK_SRC_PERMS
# Check if the user has any old-style ALT_ variables set.
FOUND_ALT_VARIABLES=`env | grep ^ALT_`
# Before generating output files, test if they exist. If they do, this is a reconfigure.
# Since we can't properly handle the dependencies for this, warn the user about the situation
if test -e $OUTPUTDIR/spec.gmk; then
IS_RECONFIGURE=yes
else
IS_RECONFIGURE=no
fi
])
################################################################################
#
# Default make target
#
AC_DEFUN_ONCE([BASIC_SETUP_DEFAULT_MAKE_TARGET],
[
AC_ARG_WITH(default-make-target, [AS_HELP_STRING([--with-default-make-target],
[set the default make target @<:@exploded-image@:>@])])
if test "x$with_default_make_target" = "x" \
|| test "x$with_default_make_target" = "xyes"; then
DEFAULT_MAKE_TARGET="exploded-image"
elif test "x$with_default_make_target" = "xno"; then
AC_MSG_ERROR([--without-default-make-target is not a valid option])
else
DEFAULT_MAKE_TARGET="$with_default_make_target"
fi
AC_SUBST(DEFAULT_MAKE_TARGET)
])
###############################################################################
# Setup the default value for LOG=
#
AC_DEFUN_ONCE([BASIC_SETUP_DEFAULT_LOG],
[
AC_ARG_WITH(log, [AS_HELP_STRING([--with-log],
[[default vaue for make LOG argument [warn]]])])
AC_MSG_CHECKING([for default LOG value])
if test "x$with_log" = x; then
DEFAULT_LOG=""
else
# Syntax for valid LOG options is a bit too complex for it to be worth
# implementing a test for correctness in configure. Just accept it.
DEFAULT_LOG=$with_log
fi
AC_MSG_RESULT([$DEFAULT_LOG])
AC_SUBST(DEFAULT_LOG)
])
###############################################################################
# Code to run after AC_OUTPUT
AC_DEFUN_ONCE([BASIC_POST_CONFIG_OUTPUT],
[
# Try to move config.log (generated by autoconf) to the configure-support directory.
if test -e ./config.log; then
$MV -f ./config.log "$CONFIGURESUPPORT_OUTPUTDIR/config.log" 2> /dev/null
fi
# Rotate our log file (configure.log)
if test -e "$OUTPUTDIR/configure.log.old"; then
$RM -f "$OUTPUTDIR/configure.log.old"
fi
if test -e "$OUTPUTDIR/configure.log"; then
$MV -f "$OUTPUTDIR/configure.log" "$OUTPUTDIR/configure.log.old" 2> /dev/null
fi
# Move configure.log from current directory to the build output root
if test -e ./configure.log; then
$MV -f ./configure.log "$OUTPUTDIR/configure.log" 2> /dev/null
fi
# Make the compare script executable
$CHMOD +x $OUTPUTDIR/compare.sh
])

View File

@@ -0,0 +1,488 @@
#
# Copyright (c) 2011, 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.
#
###############################################################################
# Setup the most fundamental tools that relies on not much else to set up,
# but is used by much of the early bootstrap code.
AC_DEFUN_ONCE([BASIC_SETUP_FUNDAMENTAL_TOOLS],
[
# Start with tools that do not need have cross compilation support
# and can be expected to be found in the default PATH. These tools are
# used by configure.
# First are all the simple required tools.
UTIL_REQUIRE_PROGS(BASENAME, basename)
UTIL_REQUIRE_PROGS(BASH, bash)
UTIL_REQUIRE_PROGS(CAT, cat)
UTIL_REQUIRE_PROGS(CHMOD, chmod)
UTIL_REQUIRE_PROGS(CMP, cmp)
UTIL_REQUIRE_PROGS(COMM, comm)
UTIL_REQUIRE_PROGS(CP, cp)
UTIL_REQUIRE_PROGS(CUT, cut)
UTIL_REQUIRE_PROGS(DATE, date)
UTIL_REQUIRE_PROGS(DIFF, [gdiff diff])
UTIL_REQUIRE_PROGS(DIRNAME, dirname)
UTIL_REQUIRE_PROGS(ECHO, echo)
UTIL_REQUIRE_PROGS(EXPR, expr)
UTIL_REQUIRE_PROGS(FILE, file)
UTIL_REQUIRE_PROGS(FIND, find)
UTIL_REQUIRE_PROGS(HEAD, head)
UTIL_REQUIRE_PROGS(GUNZIP, gunzip)
UTIL_REQUIRE_PROGS(GZIP, pigz gzip)
UTIL_REQUIRE_PROGS(LN, ln)
UTIL_REQUIRE_PROGS(LS, ls)
# gmkdir is known to be safe for concurrent invocations with -p flag.
UTIL_REQUIRE_PROGS(MKDIR, [gmkdir mkdir])
UTIL_REQUIRE_PROGS(MKTEMP, mktemp)
UTIL_REQUIRE_PROGS(MV, mv)
UTIL_REQUIRE_PROGS(NAWK, [nawk gawk awk])
UTIL_REQUIRE_PROGS(PRINTF, printf)
UTIL_REQUIRE_PROGS(READLINK, [greadlink readlink])
UTIL_REQUIRE_PROGS(RM, rm)
UTIL_REQUIRE_PROGS(RMDIR, rmdir)
UTIL_REQUIRE_PROGS(SH, sh)
UTIL_REQUIRE_PROGS(SORT, sort)
UTIL_REQUIRE_PROGS(TAIL, tail)
UTIL_REQUIRE_PROGS(TAR, gtar tar)
UTIL_REQUIRE_PROGS(TEE, tee)
UTIL_REQUIRE_PROGS(TOUCH, touch)
UTIL_REQUIRE_PROGS(TR, tr)
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.
UTIL_REQUIRE_SPECIAL(AWK, [AC_PROG_AWK])
UTIL_REQUIRE_SPECIAL(GREP, [AC_PROG_GREP])
UTIL_REQUIRE_SPECIAL(EGREP, [AC_PROG_EGREP])
UTIL_REQUIRE_SPECIAL(FGREP, [AC_PROG_FGREP])
UTIL_REQUIRE_SPECIAL(SED, [AC_PROG_SED])
# Always force rm.
RM="$RM -f"
# pwd behaves differently on various platforms and some don't support the -L flag.
# Always use the bash builtin pwd to get uniform behavior.
THEPWDCMD=pwd
# These are not required on all platforms
UTIL_PATH_PROGS(CYGPATH, cygpath)
UTIL_PATH_PROGS(WSLPATH, wslpath)
UTIL_PATH_PROGS(DF, df)
UTIL_PATH_PROGS(CPIO, [cpio bsdcpio])
UTIL_PATH_PROGS(NICE, nice)
UTIL_PATH_PROGS(LSB_RELEASE, lsb_release)
UTIL_PATH_PROGS(CMD, [cmd.exe /mnt/c/Windows/System32/cmd.exe])
])
###############################################################################
# Check if we have found a usable version of make
# $1: the path to a potential make binary (or empty)
# $2: the description on how we found this
AC_DEFUN([BASIC_CHECK_MAKE_VERSION],
[
MAKE_CANDIDATE="$1"
DESCRIPTION="$2"
# On Cygwin, we require a newer version of make than on other platforms
if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
MAKE_VERSION_EXPR="-e 4\."
MAKE_REQUIRED_VERSION="4.0"
else
MAKE_VERSION_EXPR="-e 3\.8[[12]] -e 4\."
MAKE_REQUIRED_VERSION="3.81"
fi
if test "x$MAKE_CANDIDATE" != x; then
AC_MSG_NOTICE([Testing potential make at $MAKE_CANDIDATE, found using $DESCRIPTION])
MAKE_VERSION_STRING=`$MAKE_CANDIDATE --version | $HEAD -n 1`
IS_GNU_MAKE=`$ECHO $MAKE_VERSION_STRING | $GREP 'GNU Make'`
if test "x$IS_GNU_MAKE" = x; then
AC_MSG_NOTICE([Found potential make at $MAKE_CANDIDATE, however, this is not GNU Make. Ignoring.])
else
IS_MODERN_MAKE=`$ECHO $MAKE_VERSION_STRING | $GREP $MAKE_VERSION_EXPR`
if test "x$IS_MODERN_MAKE" = x; then
AC_MSG_NOTICE([Found GNU make at $MAKE_CANDIDATE, however this is not version $MAKE_REQUIRED_VERSION or later. (it is: $MAKE_VERSION_STRING). Ignoring.])
else
if test "x$OPENJDK_BUILD_OS" = "xwindows"; then
if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
MAKE_EXPECTED_ENV='cygwin'
elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
MAKE_EXPECTED_ENV='msys'
elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.wsl"; then
MAKE_EXPECTED_ENV='x86_64-.*-linux-gnu'
else
AC_MSG_ERROR([Unknown Windows environment])
fi
MAKE_BUILT_FOR=`$MAKE_CANDIDATE --version | $GREP -i 'built for'`
IS_MAKE_CORRECT_ENV=`$ECHO $MAKE_BUILT_FOR | $GREP $MAKE_EXPECTED_ENV`
else
# Not relevant for non-Windows
IS_MAKE_CORRECT_ENV=true
fi
if test "x$IS_MAKE_CORRECT_ENV" = x; then
AC_MSG_NOTICE([Found GNU make version $MAKE_VERSION_STRING at $MAKE_CANDIDATE, but it is not for $MAKE_EXPECTED_ENV (it says: $MAKE_BUILT_FOR). Ignoring.])
else
FOUND_MAKE=$MAKE_CANDIDATE
UTIL_FIXUP_EXECUTABLE(FOUND_MAKE)
fi
fi
fi
fi
])
###############################################################################
AC_DEFUN([BASIC_CHECK_MAKE_OUTPUT_SYNC],
[
# Check if make supports the output sync option and if so, setup using it.
AC_MSG_CHECKING([if make --output-sync is supported])
if $MAKE --version -O > /dev/null 2>&1; then
OUTPUT_SYNC_SUPPORTED=true
AC_MSG_RESULT([yes])
AC_MSG_CHECKING([for output-sync value])
AC_ARG_WITH([output-sync], [AS_HELP_STRING([--with-output-sync],
[set make output sync type if supported by make. @<:@recurse@:>@])],
[OUTPUT_SYNC=$with_output_sync])
if test "x$OUTPUT_SYNC" = "x"; then
OUTPUT_SYNC=none
fi
AC_MSG_RESULT([$OUTPUT_SYNC])
if ! $MAKE --version -O$OUTPUT_SYNC > /dev/null 2>&1; then
AC_MSG_ERROR([Make did not the support the value $OUTPUT_SYNC as output sync type.])
fi
else
OUTPUT_SYNC_SUPPORTED=false
AC_MSG_RESULT([no])
fi
AC_SUBST(OUTPUT_SYNC_SUPPORTED)
AC_SUBST(OUTPUT_SYNC)
])
###############################################################################
# Goes looking for a usable version of GNU make.
AC_DEFUN([BASIC_CHECK_GNU_MAKE],
[
UTIL_SETUP_TOOL([MAKE],
[
# Try our hardest to locate a correct version of GNU make
AC_PATH_PROGS(CHECK_GMAKE, gmake)
BASIC_CHECK_MAKE_VERSION("$CHECK_GMAKE", [gmake in PATH])
if test "x$FOUND_MAKE" = x; then
AC_PATH_PROGS(CHECK_MAKE, make)
BASIC_CHECK_MAKE_VERSION("$CHECK_MAKE", [make in PATH])
fi
if test "x$FOUND_MAKE" = x; then
if test "x$TOOLCHAIN_PATH" != x; then
# We have a toolchain path, check that as well before giving up.
OLD_PATH=$PATH
PATH=$TOOLCHAIN_PATH:$PATH
AC_PATH_PROGS(CHECK_TOOLSDIR_GMAKE, gmake)
BASIC_CHECK_MAKE_VERSION("$CHECK_TOOLSDIR_GMAKE", [gmake in tools-dir])
if test "x$FOUND_MAKE" = x; then
AC_PATH_PROGS(CHECK_TOOLSDIR_MAKE, make)
BASIC_CHECK_MAKE_VERSION("$CHECK_TOOLSDIR_MAKE", [make in tools-dir])
fi
PATH=$OLD_PATH
fi
fi
if test "x$FOUND_MAKE" = x; then
AC_MSG_ERROR([Cannot find GNU make $MAKE_REQUIRED_VERSION or newer! Please put it in the path, or add e.g. MAKE=/opt/gmake3.81/make as argument to configure.])
fi
],[
# If MAKE was set by user, verify the version
BASIC_CHECK_MAKE_VERSION("$MAKE", [user supplied MAKE=$MAKE])
if test "x$FOUND_MAKE" = x; then
AC_MSG_ERROR([The specified make (by MAKE=$MAKE) is not GNU make $MAKE_REQUIRED_VERSION or newer.])
fi
])
MAKE=$FOUND_MAKE
AC_SUBST(MAKE)
AC_MSG_NOTICE([Using GNU make at $FOUND_MAKE (version: $MAKE_VERSION_STRING)])
BASIC_CHECK_MAKE_OUTPUT_SYNC
])
###############################################################################
AC_DEFUN([BASIC_CHECK_FIND_DELETE],
[
# Test if find supports -delete
AC_MSG_CHECKING([if find supports -delete])
FIND_DELETE="-delete"
DELETEDIR=`$MKTEMP -d tmp.XXXXXXXXXX` || (echo Could not create temporary directory!; exit $?)
echo Hejsan > $DELETEDIR/TestIfFindSupportsDelete
TEST_DELETE=`$FIND "$DELETEDIR" -name TestIfFindSupportsDelete $FIND_DELETE 2>&1`
if test -f $DELETEDIR/TestIfFindSupportsDelete; then
# No, it does not.
$RM $DELETEDIR/TestIfFindSupportsDelete
if test "x$OPENJDK_TARGET_OS" = "xaix"; then
# AIX 'find' is buggy if called with '-exec {} \+' and an empty file list
FIND_DELETE="-print | $XARGS $RM"
else
FIND_DELETE="-exec $RM \{\} \+"
fi
AC_MSG_RESULT([no])
else
AC_MSG_RESULT([yes])
fi
$RMDIR $DELETEDIR
AC_SUBST(FIND_DELETE)
])
###############################################################################
AC_DEFUN([BASIC_CHECK_TAR],
[
# Test which kind of tar was found
if test "x$($TAR --version | $GREP "GNU tar")" != "x"; then
TAR_TYPE="gnu"
elif test "x$($TAR --version | $GREP "bsdtar")" != "x"; then
TAR_TYPE="bsd"
elif test "x$($TAR -v | $GREP "bsdtar")" != "x"; then
TAR_TYPE="bsd"
elif test "x$OPENJDK_BUILD_OS" = "xsolaris"; then
TAR_TYPE="solaris"
elif test "x$OPENJDK_BUILD_OS" = "xaix"; then
TAR_TYPE="aix"
fi
AC_MSG_CHECKING([what type of tar was found])
AC_MSG_RESULT([$TAR_TYPE])
TAR_CREATE_FILE_PARAM=""
if test "x$TAR_TYPE" = "xgnu"; then
TAR_INCLUDE_PARAM="T"
TAR_SUPPORTS_TRANSFORM="true"
if test "x$OPENJDK_TARGET_OS" = "xsolaris"; then
# When using gnu tar for Solaris targets, need to use compatibility mode
TAR_CREATE_EXTRA_PARAM="--format=ustar"
fi
elif test "x$TAR_TYPE" = "aix"; then
# -L InputList of aix tar: name of file listing the files and directories
# that need to be archived or extracted
TAR_INCLUDE_PARAM="L"
TAR_SUPPORTS_TRANSFORM="false"
else
TAR_INCLUDE_PARAM="I"
TAR_SUPPORTS_TRANSFORM="false"
fi
AC_SUBST(TAR_TYPE)
AC_SUBST(TAR_CREATE_EXTRA_PARAM)
AC_SUBST(TAR_INCLUDE_PARAM)
AC_SUBST(TAR_SUPPORTS_TRANSFORM)
])
###############################################################################
AC_DEFUN([BASIC_CHECK_GREP],
[
# Test that grep supports -Fx with a list of pattern which includes null pattern.
# This is a problem for the grep resident on AIX.
AC_MSG_CHECKING([that grep ($GREP) -Fx handles empty lines in the pattern list correctly])
# Multiple subsequent spaces..
STACK_SPACES='aaa bbb ccc'
# ..converted to subsequent newlines, causes STACK_LIST to be a list with some empty
# patterns in it.
STACK_LIST=${STACK_SPACES// /$'\n'}
NEEDLE_SPACES='ccc bbb aaa'
NEEDLE_LIST=${NEEDLE_SPACES// /$'\n'}
RESULT="$($GREP -Fvx "$STACK_LIST" <<< "$NEEDLE_LIST")"
if test "x$RESULT" == "x"; then
AC_MSG_RESULT([yes])
else
if test "x$OPENJDK_TARGET_OS" = "xaix"; then
ADDINFO="Please make sure you use GNU grep, usually found at /opt/freeware/bin."
fi
AC_MSG_ERROR([grep does not handle -Fx correctly. ${ADDINFO}])
fi
])
###############################################################################
AC_DEFUN_ONCE([BASIC_SETUP_COMPLEX_TOOLS],
[
BASIC_CHECK_GNU_MAKE
BASIC_CHECK_FIND_DELETE
BASIC_CHECK_TAR
BASIC_CHECK_GREP
BASIC_SETUP_PANDOC
# These tools might not be installed by default,
# need hint on how to install them.
UTIL_REQUIRE_PROGS(UNZIP, unzip)
# Since zip uses "ZIP" as a environment variable for passing options, we need
# to name our variable differently, hence ZIPEXE.
UTIL_REQUIRE_PROGS(ZIPEXE, zip)
# Non-required basic tools
UTIL_PATH_PROGS(LDD, ldd)
if test "x$LDD" = "x"; then
# List shared lib dependencies is used for
# debug output and checking for forbidden dependencies.
# We can build without it.
LDD="true"
fi
UTIL_PATH_PROGS(READELF, [greadelf readelf])
UTIL_PATH_PROGS(DOT, dot)
UTIL_PATH_PROGS(HG, hg)
UTIL_PATH_PROGS(GIT, git)
UTIL_PATH_PROGS(STAT, stat)
UTIL_PATH_PROGS(TIME, time)
UTIL_PATH_PROGS(FLOCK, flock)
# Dtrace is usually found in /usr/sbin on Solaris, but that directory may not
# be in the user path.
UTIL_PATH_PROGS(DTRACE, dtrace, $PATH:/usr/sbin)
UTIL_PATH_PROGS(PATCH, [gpatch patch])
# Check if it's GNU time
IS_GNU_TIME=`$TIME --version 2>&1 | $GREP 'GNU time'`
if test "x$IS_GNU_TIME" != x; then
IS_GNU_TIME=yes
else
IS_GNU_TIME=no
fi
AC_SUBST(IS_GNU_TIME)
if test "x$OPENJDK_TARGET_OS" = "xmacosx"; then
UTIL_REQUIRE_PROGS(DSYMUTIL, dsymutil)
UTIL_REQUIRE_PROGS(MIG, mig)
UTIL_REQUIRE_PROGS(XATTR, xattr)
UTIL_PATH_PROGS(CODESIGN, codesign)
if test "x$CODESIGN" != "x"; then
# Check for user provided code signing identity.
# If no identity was provided, fall back to "openjdk_codesign".
AC_ARG_WITH([macosx-codesign-identity], [AS_HELP_STRING([--with-macosx-codesign-identity],
[specify the code signing identity])],
[MACOSX_CODESIGN_IDENTITY=$with_macosx_codesign_identity],
[MACOSX_CODESIGN_IDENTITY=openjdk_codesign]
)
AC_SUBST(MACOSX_CODESIGN_IDENTITY)
# Verify that the codesign certificate is present
AC_MSG_CHECKING([if codesign certificate is present])
$RM codesign-testfile
$TOUCH codesign-testfile
$CODESIGN -s "$MACOSX_CODESIGN_IDENTITY" codesign-testfile 2>&AS_MESSAGE_LOG_FD \
>&AS_MESSAGE_LOG_FD || CODESIGN=
$RM codesign-testfile
if test "x$CODESIGN" = x; then
AC_MSG_RESULT([no])
else
AC_MSG_RESULT([yes])
# Verify that the codesign has --option runtime
AC_MSG_CHECKING([if codesign has --option runtime])
$RM codesign-testfile
$TOUCH codesign-testfile
$CODESIGN --option runtime -s "$MACOSX_CODESIGN_IDENTITY" codesign-testfile \
2>&AS_MESSAGE_LOG_FD >&AS_MESSAGE_LOG_FD || CODESIGN=
$RM codesign-testfile
if test "x$CODESIGN" = x; then
AC_MSG_ERROR([codesign does not have --option runtime. macOS 10.13.6 and above is required.])
else
AC_MSG_RESULT([yes])
fi
fi
fi
UTIL_REQUIRE_PROGS(SETFILE, SetFile)
elif test "x$OPENJDK_TARGET_OS" = "xsolaris"; then
UTIL_REQUIRE_PROGS(ELFEDIT, elfedit)
fi
if ! test "x$OPENJDK_TARGET_OS" = "xwindows"; then
UTIL_REQUIRE_BUILTIN_PROGS(ULIMIT, ulimit)
fi
])
###############################################################################
# Check for support for specific options in bash
AC_DEFUN_ONCE([BASIC_CHECK_BASH_OPTIONS],
[
# Check bash version
# Extra [ ] to stop m4 mangling
[ BASH_VER=`$BASH --version | $SED -n -e 's/^.*bash.*ersion *\([0-9.]*\).*$/\1/ p'` ]
AC_MSG_CHECKING([bash version])
AC_MSG_RESULT([$BASH_VER])
BASH_MAJOR=`$ECHO $BASH_VER | $CUT -d . -f 1`
BASH_MINOR=`$ECHO $BASH_VER | $CUT -d . -f 2`
if test $BASH_MAJOR -lt 3 || (test $BASH_MAJOR -eq 3 && test $BASH_MINOR -lt 2); then
AC_MSG_ERROR([bash version 3.2 or better is required])
fi
# Test if bash supports pipefail.
AC_MSG_CHECKING([if bash supports pipefail])
if ${BASH} -c 'set -o pipefail'; then
BASH_ARGS="$BASH_ARGS -o pipefail"
AC_MSG_RESULT([yes])
else
AC_MSG_RESULT([no])
fi
AC_MSG_CHECKING([if bash supports errexit (-e)])
if ${BASH} -e -c 'true'; then
BASH_ARGS="$BASH_ARGS -e"
AC_MSG_RESULT([yes])
else
AC_MSG_RESULT([no])
fi
AC_SUBST(BASH_ARGS)
])
################################################################################
#
# Setup Pandoc
#
AC_DEFUN_ONCE([BASIC_SETUP_PANDOC],
[
UTIL_PATH_PROGS(PANDOC, pandoc)
PANDOC_MARKDOWN_FLAG="markdown"
if test -n "$PANDOC"; then
AC_MSG_CHECKING(if the pandoc smart extension needs to be disabled for markdown)
if $PANDOC --list-extensions | $GREP -q '\+smart'; then
AC_MSG_RESULT([yes])
PANDOC_MARKDOWN_FLAG="markdown-smart"
else
AC_MSG_RESULT([no])
fi
fi
if test -n "$PANDOC"; then
ENABLE_PANDOC="true"
else
ENABLE_PANDOC="false"
fi
AC_SUBST(ENABLE_PANDOC)
AC_SUBST(PANDOC_MARKDOWN_FLAG)
])

View File

@@ -0,0 +1,183 @@
#
# Copyright (c) 2011, 2016, 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.
#
# Setup basic configuration paths, and platform-specific stuff related to PATHs.
AC_DEFUN([BASIC_CHECK_PATHS_WINDOWS],
[
SRC_ROOT_LENGTH=`$THEPWDCMD -L|$WC -m`
if test $SRC_ROOT_LENGTH -gt 100; then
AC_MSG_ERROR([Your base path is too long. It is $SRC_ROOT_LENGTH characters long, but only 100 is supported])
fi
if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
AC_MSG_CHECKING([cygwin release])
CYGWIN_VERSION=`$UNAME -r`
AC_MSG_RESULT([$CYGWIN_VERSION])
WINDOWS_ENV_VENDOR='cygwin'
WINDOWS_ENV_VERSION="$CYGWIN_VERSION"
CYGWIN_VERSION_OLD=`$ECHO $CYGWIN_VERSION | $GREP -e '^1\.[0-6]'`
if test "x$CYGWIN_VERSION_OLD" != x; then
AC_MSG_NOTICE([Your cygwin is too old. You are running $CYGWIN_VERSION, but at least cygwin 1.7 is required. Please upgrade.])
AC_MSG_ERROR([Cannot continue])
fi
if test "x$CYGPATH" = x; then
AC_MSG_ERROR([Something is wrong with your cygwin installation since I cannot find cygpath.exe in your path])
fi
AC_MSG_CHECKING([cygwin root directory as unix-style path])
# The cmd output ends with Windows line endings (CR/LF)
cygwin_winpath_root=`cd / ; cmd /c cd | $TR -d '\r\n'`
# Force cygpath to report the proper root by including a trailing space, and then stripping it off again.
CYGWIN_ROOT_PATH=`$CYGPATH -u "$cygwin_winpath_root " | $CUT -f 1 -d " "`
AC_MSG_RESULT([$CYGWIN_ROOT_PATH])
WINDOWS_ENV_ROOT_PATH="$CYGWIN_ROOT_PATH"
test_cygdrive_prefix=`$ECHO $CYGWIN_ROOT_PATH | $GREP ^/cygdrive/`
if test "x$test_cygdrive_prefix" = x; then
AC_MSG_ERROR([Your cygdrive prefix is not /cygdrive. This is currently not supported. Change with mount -c.])
fi
elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
AC_MSG_CHECKING([msys release])
MSYS_VERSION=`$UNAME -r`
AC_MSG_RESULT([$MSYS_VERSION])
WINDOWS_ENV_VENDOR='msys'
WINDOWS_ENV_VERSION="$MSYS_VERSION"
AC_MSG_CHECKING([msys root directory as unix-style path])
# The cmd output ends with Windows line endings (CR/LF), the grep command will strip that away
MSYS_ROOT_PATH=`cd / ; cmd /c cd | $GREP ".*"`
UTIL_REWRITE_AS_UNIX_PATH(MSYS_ROOT_PATH)
AC_MSG_RESULT([$MSYS_ROOT_PATH])
WINDOWS_ENV_ROOT_PATH="$MSYS_ROOT_PATH"
elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.wsl"; then
AC_MSG_CHECKING([Windows version])
# m4 replaces [ and ] so we use @<:@ and @:>@ instead
WINDOWS_VERSION=`$CMD /c ver.exe | $EGREP -o '(@<:@0-9@:>@+\.)+@<:@0-9@:>@+'`
AC_MSG_RESULT([$WINDOWS_VERSION])
AC_MSG_CHECKING([WSL kernel version])
WSL_KERNEL_VERSION=`$UNAME -v`
AC_MSG_RESULT([$WSL_KERNEL_VERSION])
AC_MSG_CHECKING([WSL kernel release])
WSL_KERNEL_RELEASE=`$UNAME -r`
AC_MSG_RESULT([$WSL_KERNEL_RELEASE])
AC_MSG_CHECKING([WSL distribution])
WSL_DISTRIBUTION=`$LSB_RELEASE -d | sed 's/Description:\t//'`
AC_MSG_RESULT([$WSL_DISTRIBUTION])
WINDOWS_ENV_VENDOR='WSL'
WINDOWS_ENV_VERSION="$WSL_DISTRIBUTION $WSL_KERNEL_VERSION $WSL_KERNEL_RELEASE (on Windows build $WINDOWS_VERSION)"
else
AC_MSG_ERROR([Unknown Windows environment. Neither cygwin, msys, nor wsl was detected.])
fi
# Test if windows or unix (cygwin/msys) find is first in path.
AC_MSG_CHECKING([what kind of 'find' is first on the PATH])
FIND_BINARY_OUTPUT=`find --version 2>&1`
if test "x`echo $FIND_BINARY_OUTPUT | $GREP GNU`" != x; then
AC_MSG_RESULT([unix style])
elif test "x`echo $FIND_BINARY_OUTPUT | $GREP FIND`" != x; then
AC_MSG_RESULT([Windows])
AC_MSG_NOTICE([Your path contains Windows tools (C:\Windows\system32) before your unix (cygwin or msys) tools.])
AC_MSG_NOTICE([This will not work. Please correct and make sure /usr/bin (or similar) is first in path.])
AC_MSG_ERROR([Cannot continue])
else
AC_MSG_RESULT([unknown])
AC_MSG_WARN([It seems that your find utility is non-standard.])
fi
])
AC_DEFUN_ONCE([BASIC_COMPILE_FIXPATH],
[
# When using cygwin or msys, we need a wrapper binary that renames
# /cygdrive/c/ arguments into c:/ arguments and peeks into
# @files and rewrites these too! This wrapper binary is
# called fixpath.
FIXPATH=
if test "x$OPENJDK_BUILD_OS" = xwindows; then
AC_MSG_CHECKING([if fixpath can be created])
FIXPATH_SRC="$TOPDIR/make/src/native/fixpath.c"
FIXPATH_BIN="$CONFIGURESUPPORT_OUTPUTDIR/bin/fixpath.exe"
FIXPATH_DIR="$CONFIGURESUPPORT_OUTPUTDIR/fixpath"
if test "x$OPENJDK_BUILD_OS_ENV" = xwindows.cygwin; then
# Important to keep the .exe suffix on Cygwin for Hotspot makefiles
FIXPATH="$FIXPATH_BIN -c"
elif test "x$OPENJDK_BUILD_OS_ENV" = xwindows.msys; then
# Take all collected prefixes and turn them into a -m/c/foo@/c/bar@... command line
# @ was chosen as separator to minimize risk of other tools messing around with it
all_unique_prefixes=`echo "${all_fixpath_prefixes@<:@@@:>@}" \
| tr ' ' '\n' | $GREP '^/./' | $SORT | $UNIQ`
fixpath_argument_list=`echo $all_unique_prefixes | tr ' ' '@'`
FIXPATH="$FIXPATH_BIN -m$fixpath_argument_list"
elif test "x$OPENJDK_BUILD_OS_ENV" = xwindows.wsl; then
FIXPATH="$FIXPATH_BIN -w"
fi
FIXPATH_SRC_W="$FIXPATH_SRC"
FIXPATH_BIN_W="$FIXPATH_BIN"
UTIL_REWRITE_AS_WINDOWS_MIXED_PATH([FIXPATH_SRC_W])
UTIL_REWRITE_AS_WINDOWS_MIXED_PATH([FIXPATH_BIN_W])
$RM -rf $FIXPATH_BIN $FIXPATH_DIR
$MKDIR -p $FIXPATH_DIR $CONFIGURESUPPORT_OUTPUTDIR/bin
cd $FIXPATH_DIR
$CC $FIXPATH_SRC_W -Fe$FIXPATH_BIN_W > $FIXPATH_DIR/fixpath1.log 2>&1
cd $CONFIGURE_START_DIR
if test ! -x $FIXPATH_BIN; then
AC_MSG_RESULT([no])
cat $FIXPATH_DIR/fixpath1.log
AC_MSG_ERROR([Could not create $FIXPATH_BIN])
fi
AC_MSG_RESULT([yes])
if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.wsl"; then
OLD_WSLENV="$WSLENV"
WSLENV=`$ECHO $WSLENV | $SED 's/PATH\/l://'`
UTIL_APPEND_TO_PATH(WSLENV, "FIXPATH_PATH")
export WSLENV
export FIXPATH_PATH=$VS_PATH_WINDOWS
AC_MSG_NOTICE([FIXPATH_PATH is $FIXPATH_PATH])
AC_MSG_NOTICE([Rewriting WSLENV from $OLD_WSLENV to $WSLENV])
fi
AC_MSG_CHECKING([if fixpath.exe works])
cd $FIXPATH_DIR
$FIXPATH $CC $FIXPATH_SRC -Fe$FIXPATH_DIR/fixpath2.exe \
> $FIXPATH_DIR/fixpath2.log 2>&1
cd $CONFIGURE_START_DIR
if test ! -x $FIXPATH_DIR/fixpath2.exe; then
AC_MSG_RESULT([no])
cat $FIXPATH_DIR/fixpath2.log
AC_MSG_ERROR([fixpath did not work!])
fi
AC_MSG_RESULT([yes])
FIXPATH_DETACH_FLAG="--detach"
fi
AC_SUBST(FIXPATH)
AC_SUBST(FIXPATH_DETACH_FLAG)
])

File diff suppressed because it is too large Load Diff

View File

@@ -97,7 +97,7 @@ AC_DEFUN([BOOTJDK_DO_CHECK],
else
# We're done! :-)
BOOT_JDK_FOUND=yes
BASIC_FIXUP_PATH(BOOT_JDK)
UTIL_FIXUP_PATH(BOOT_JDK)
AC_MSG_CHECKING([for Boot JDK])
AC_MSG_RESULT([$BOOT_JDK])
AC_MSG_CHECKING([Boot JDK version])
@@ -150,7 +150,7 @@ AC_DEFUN([BOOTJDK_CHECK_JAVA_HOME],
[
if test "x$JAVA_HOME" != x; then
JAVA_HOME_PROCESSED="$JAVA_HOME"
BASIC_FIXUP_PATH(JAVA_HOME_PROCESSED)
UTIL_FIXUP_PATH(JAVA_HOME_PROCESSED)
if test ! -d "$JAVA_HOME_PROCESSED"; then
AC_MSG_NOTICE([Your JAVA_HOME points to a non-existing directory!])
else
@@ -177,7 +177,7 @@ AC_DEFUN([BOOTJDK_CHECK_JAVA_IN_PATH_IS_SYMLINK],
# Lets find the JDK/JRE directory by following symbolic links.
# Linux/GNU systems often have links from /usr/bin/java to
# /etc/alternatives/java to the real JDK binary.
BASIC_REMOVE_SYMBOLIC_LINKS(BINARY)
UTIL_REMOVE_SYMBOLIC_LINKS(BINARY)
BOOT_JDK=`dirname "$BINARY"`
BOOT_JDK=`cd "$BOOT_JDK/.."; pwd`
if test -x "$BOOT_JDK/bin/javac" && test -x "$BOOT_JDK/bin/java"; then
@@ -241,7 +241,7 @@ AC_DEFUN([BOOTJDK_FIND_BEST_JDK_IN_WINDOWS_VIRTUAL_DIRECTORY],
[
if test "x[$]$1" != x; then
VIRTUAL_DIR="[$]$1/Java"
BASIC_WINDOWS_REWRITE_AS_UNIX_PATH(VIRTUAL_DIR)
UTIL_REWRITE_AS_UNIX_PATH(VIRTUAL_DIR)
BOOTJDK_FIND_BEST_JDK_IN_DIRECTORY($VIRTUAL_DIR)
fi
])
@@ -269,7 +269,7 @@ AC_DEFUN([BOOTJDK_CHECK_WELL_KNOWN_LOCATIONS],
AC_DEFUN([BOOTJDK_CHECK_TOOL_IN_BOOTJDK],
[
# Use user overridden value if available, otherwise locate tool in the Boot JDK.
BASIC_SETUP_TOOL($1,
UTIL_SETUP_TOOL($1,
[
AC_MSG_CHECKING([for $2 in Boot JDK])
$1=$BOOT_JDK/bin/$2
@@ -362,7 +362,7 @@ AC_DEFUN_ONCE([BOOTJDK_SETUP_BOOT_JDK],
# Try to enable CDS
AC_MSG_CHECKING([for local Boot JDK Class Data Sharing (CDS)])
BOOT_JDK_CDS_ARCHIVE=$CONFIGURESUPPORT_OUTPUTDIR/classes.jsa
ADD_JVM_ARG_IF_OK([-XX:+UnlockDiagnosticVMOptions -XX:-VerifySharedSpaces -XX:SharedArchiveFile=$BOOT_JDK_CDS_ARCHIVE],boot_jdk_cds_args,[$JAVA])
UTIL_ADD_JVM_ARG_IF_OK([-XX:+UnlockDiagnosticVMOptions -XX:-VerifySharedSpaces -XX:SharedArchiveFile=$BOOT_JDK_CDS_ARCHIVE],boot_jdk_cds_args,[$JAVA])
if test "x$boot_jdk_cds_args" != x; then
# Try creating a CDS archive
@@ -391,18 +391,18 @@ AC_DEFUN_ONCE([BOOTJDK_SETUP_BOOT_JDK_ARGUMENTS],
AC_MSG_CHECKING([flags for boot jdk java command] )
# Force en-US environment
ADD_JVM_ARG_IF_OK([-Duser.language=en -Duser.country=US],boot_jdk_jvmargs,[$JAVA])
UTIL_ADD_JVM_ARG_IF_OK([-Duser.language=en -Duser.country=US],boot_jdk_jvmargs,[$JAVA])
if test "x$BOOTJDK_USE_LOCAL_CDS" = xtrue; then
# Use our own CDS archive
ADD_JVM_ARG_IF_OK([$boot_jdk_cds_args -Xshare:auto],boot_jdk_jvmargs,[$JAVA])
UTIL_ADD_JVM_ARG_IF_OK([$boot_jdk_cds_args -Xshare:auto],boot_jdk_jvmargs,[$JAVA])
else
# Otherwise optimistically use the system-wide one, if one is present
ADD_JVM_ARG_IF_OK([-Xshare:auto],boot_jdk_jvmargs,[$JAVA])
UTIL_ADD_JVM_ARG_IF_OK([-Xshare:auto],boot_jdk_jvmargs,[$JAVA])
fi
# Finally append user provided options to allow them to override.
ADD_JVM_ARG_IF_OK([$USER_BOOT_JDK_OPTIONS],boot_jdk_jvmargs,[$JAVA])
UTIL_ADD_JVM_ARG_IF_OK([$USER_BOOT_JDK_OPTIONS],boot_jdk_jvmargs,[$JAVA])
AC_MSG_RESULT([$boot_jdk_jvmargs])
@@ -413,7 +413,7 @@ AC_DEFUN_ONCE([BOOTJDK_SETUP_BOOT_JDK_ARGUMENTS],
AC_MSG_CHECKING([flags for boot jdk java command for big workloads])
# Starting amount of heap memory.
ADD_JVM_ARG_IF_OK([-Xms64M],boot_jdk_jvmargs_big,[$JAVA])
UTIL_ADD_JVM_ARG_IF_OK([-Xms64M],boot_jdk_jvmargs_big,[$JAVA])
BOOTCYCLE_JVM_ARGS_BIG=-Xms64M
# Maximum amount of heap memory and stack size.
@@ -441,8 +441,8 @@ AC_DEFUN_ONCE([BOOTJDK_SETUP_BOOT_JDK_ARGUMENTS],
STACK_SIZE=$STACK_SIZE_64
JVM_MAX_HEAP=$JVM_HEAP_LIMIT_64
fi
ADD_JVM_ARG_IF_OK([-Xmx${JVM_MAX_HEAP}M],boot_jdk_jvmargs_big,[$JAVA])
ADD_JVM_ARG_IF_OK([-XX:ThreadStackSize=$STACK_SIZE],boot_jdk_jvmargs_big,[$JAVA])
UTIL_ADD_JVM_ARG_IF_OK([-Xmx${JVM_MAX_HEAP}M],boot_jdk_jvmargs_big,[$JAVA])
UTIL_ADD_JVM_ARG_IF_OK([-XX:ThreadStackSize=$STACK_SIZE],boot_jdk_jvmargs_big,[$JAVA])
AC_MSG_RESULT([$boot_jdk_jvmargs_big])
@@ -469,10 +469,10 @@ AC_DEFUN_ONCE([BOOTJDK_SETUP_BOOT_JDK_ARGUMENTS],
AC_MSG_CHECKING([flags for boot jdk java command for small workloads])
# Use serial gc for small short lived tools if possible
ADD_JVM_ARG_IF_OK([-XX:+UseSerialGC],boot_jdk_jvmargs_small,[$JAVA])
ADD_JVM_ARG_IF_OK([-Xms32M],boot_jdk_jvmargs_small,[$JAVA])
ADD_JVM_ARG_IF_OK([-Xmx512M],boot_jdk_jvmargs_small,[$JAVA])
ADD_JVM_ARG_IF_OK([-XX:TieredStopAtLevel=1],boot_jdk_jvmargs_small,[$JAVA])
UTIL_ADD_JVM_ARG_IF_OK([-XX:+UseSerialGC],boot_jdk_jvmargs_small,[$JAVA])
UTIL_ADD_JVM_ARG_IF_OK([-Xms32M],boot_jdk_jvmargs_small,[$JAVA])
UTIL_ADD_JVM_ARG_IF_OK([-Xmx512M],boot_jdk_jvmargs_small,[$JAVA])
UTIL_ADD_JVM_ARG_IF_OK([-XX:TieredStopAtLevel=1],boot_jdk_jvmargs_small,[$JAVA])
AC_MSG_RESULT([$boot_jdk_jvmargs_small])
@@ -531,7 +531,7 @@ AC_DEFUN([BOOTJDK_CHECK_BUILD_JDK],
else
# We're done!
BUILD_JDK_FOUND=yes
BASIC_FIXUP_PATH(BUILD_JDK)
UTIL_FIXUP_PATH(BUILD_JDK)
AC_MSG_CHECKING([for Build JDK])
AC_MSG_RESULT([$BUILD_JDK])
AC_MSG_CHECKING([Build JDK version])

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2011, 2019, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2011, 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
@@ -167,36 +167,38 @@ AC_DEFUN_ONCE([BPERF_SETUP_TEST_JOBS],
AC_DEFUN([BPERF_SETUP_CCACHE],
[
AC_ARG_ENABLE([ccache],
[AS_HELP_STRING([--enable-ccache],
[enable using ccache to speed up recompilations @<:@disabled@:>@])])
# Check if ccache is available
CCACHE_AVAILABLE=true
CCACHE_STATUS=
AC_MSG_CHECKING([is ccache enabled])
if test "x$enable_ccache" = xyes; then
if test "x$TOOLCHAIN_TYPE" = "xgcc" -o "x$TOOLCHAIN_TYPE" = "xclang"; then
AC_MSG_RESULT([yes])
OLD_PATH="$PATH"
if test "x$TOOLCHAIN_PATH" != x; then
PATH=$TOOLCHAIN_PATH:$PATH
fi
BASIC_REQUIRE_PROGS(CCACHE, ccache)
PATH="$OLD_PATH"
CCACHE_VERSION=[`$CCACHE --version | head -n1 | $SED 's/[A-Za-z ]*//'`]
CCACHE_STATUS="Active ($CCACHE_VERSION)"
else
AC_MSG_RESULT([no])
AC_MSG_WARN([ccache is not supported with toolchain type $TOOLCHAIN_TYPE])
fi
elif test "x$enable_ccache" = xno; then
AC_MSG_RESULT([no, explicitly disabled])
CCACHE_STATUS="Disabled"
elif test "x$enable_ccache" = x; then
AC_MSG_RESULT([no])
else
AC_MSG_RESULT([unknown])
AC_MSG_ERROR([--enable-ccache does not accept any parameters])
OLD_PATH="$PATH"
if test "x$TOOLCHAIN_PATH" != x; then
PATH=$TOOLCHAIN_PATH:$PATH
fi
UTIL_PATH_PROGS(CCACHE, ccache)
PATH="$OLD_PATH"
AC_MSG_CHECKING([if ccache is available])
if test "x$TOOLCHAIN_TYPE" != "xgcc" && test "x$TOOLCHAIN_TYPE" != "xclang"; then
AC_MSG_RESULT([no, not supported for toolchain type $TOOLCHAIN_TYPE])
CCACHE_AVAILABLE=false
elif test "x$CCACHE" = "x"; then
AC_MSG_RESULT([no, ccache binary missing or not executable])
CCACHE_AVAILABLE=false
else
AC_MSG_RESULT([yes])
fi
CCACHE_STATUS=""
UTIL_ARG_ENABLE(NAME: ccache, DEFAULT: false, AVAILABLE: $CCACHE_AVAILABLE,
DESC: [enable using ccache to speed up recompilations],
CHECKING_MSG: [if ccache is enabled],
IF_ENABLED: [
CCACHE_VERSION=[`$CCACHE --version | head -n1 | $SED 's/[A-Za-z ]*//'`]
CCACHE_STATUS="Active ($CCACHE_VERSION)"
],
IF_DISABLED: [
CCACHE=""
])
AC_SUBST(CCACHE)
AC_ARG_WITH([ccache-dir],
@@ -284,16 +286,16 @@ AC_DEFUN([BPERF_RUN_ICECC_CREATE_ENV],
#
AC_DEFUN([BPERF_SETUP_ICECC],
[
AC_ARG_ENABLE([icecc], [AS_HELP_STRING([--enable-icecc],
[enable distribted compilation of native code using icecc/icecream @<:@disabled@:>@])])
UTIL_ARG_ENABLE(NAME: icecc, DEFAULT: false, RESULT: ENABLE_ICECC,
DESC: [enable distributed compilation of native code using icecc/icecream])
if test "x${enable_icecc}" = "xyes"; then
BASIC_REQUIRE_PROGS(ICECC_CMD, icecc)
if test "x$ENABLE_ICECC" = "xtrue"; then
UTIL_REQUIRE_PROGS(ICECC_CMD, icecc)
old_path="$PATH"
# Look for icecc-create-env in some known places
PATH="$PATH:/usr/lib/icecc:/usr/lib64/icecc"
BASIC_REQUIRE_PROGS(ICECC_CREATE_ENV, icecc-create-env)
UTIL_REQUIRE_PROGS(ICECC_CREATE_ENV, icecc-create-env)
# Use icecc-create-env to create a minimal compilation environment that can
# be sent to the other hosts in the icecream cluster.
icecc_create_env_log="${CONFIGURESUPPORT_OUTPUTDIR}/icecc/icecc_create_env.log"
@@ -308,7 +310,7 @@ AC_DEFUN([BPERF_SETUP_ICECC],
elif test "x$TOOLCHAIN_TYPE" = "xclang"; then
# For clang, the icecc compilerwrapper is needed. It usually resides next
# to icecc-create-env.
BASIC_REQUIRE_PROGS(ICECC_WRAPPER, compilerwrapper)
UTIL_REQUIRE_PROGS(ICECC_WRAPPER, compilerwrapper)
BPERF_RUN_ICECC_CREATE_ENV([--clang ${CC} ${ICECC_WRAPPER}], ${icecc_create_env_log})
else
AC_MSG_ERROR([Can only create icecc compiler packages for toolchain types gcc and clang])
@@ -349,56 +351,44 @@ AC_DEFUN([BPERF_SETUP_ICECC],
else
BUILD_ICECC="${ICECC}"
fi
AC_SUBST(ICECC)
AC_SUBST(BUILD_ICECC)
fi
AC_SUBST(ICECC)
AC_SUBST(BUILD_ICECC)
])
AC_DEFUN_ONCE([BPERF_SETUP_PRECOMPILED_HEADERS],
[
###############################################################################
#
# Can the C/C++ compiler use precompiled headers?
#
AC_ARG_ENABLE([precompiled-headers], [AS_HELP_STRING([--disable-precompiled-headers],
[disable using precompiled headers when compiling C++ @<:@enabled@:>@])],
[ENABLE_PRECOMPH=${enable_precompiled_headers}], [ENABLE_PRECOMPH=yes])
USE_PRECOMPILED_HEADER=true
AC_MSG_CHECKING([If precompiled header is enabled])
if test "x$ENABLE_PRECOMPH" = xno; then
AC_MSG_RESULT([no, forced])
USE_PRECOMPILED_HEADER=false
elif test "x$ICECC" != "x"; then
# Are precompiled headers available?
PRECOMPILED_HEADERS_AVAILABLE=true
AC_MSG_CHECKING([if precompiled headers are available])
if test "x$ICECC" != "x"; then
AC_MSG_RESULT([no, does not work effectively with icecc])
USE_PRECOMPILED_HEADER=false
PRECOMPILED_HEADERS_AVAILABLE=false
elif test "x$TOOLCHAIN_TYPE" = xsolstudio; then
AC_MSG_RESULT([no, does not work with Solaris Studio])
USE_PRECOMPILED_HEADER=false
PRECOMPILED_HEADERS_AVAILABLE=false
elif test "x$TOOLCHAIN_TYPE" = xxlc; then
AC_MSG_RESULT([no, does not work with xlc])
USE_PRECOMPILED_HEADER=false
PRECOMPILED_HEADERS_AVAILABLE=false
elif test "x$TOOLCHAIN_TYPE" = xgcc; then
# Check that the compiler actually supports precomp headers.
echo "int alfa();" > conftest.h
$CXX -x c++-header conftest.h -o conftest.hpp.gch 2>&AS_MESSAGE_LOG_FD >&AS_MESSAGE_LOG_FD
if test ! -f conftest.hpp.gch; then
PRECOMPILED_HEADERS_AVAILABLE=false
AC_MSG_RESULT([no, gcc fails to compile properly with -x c++-header])
else
AC_MSG_RESULT([yes])
fi
$RM conftest.h conftest.hpp.gch
else
AC_MSG_RESULT([yes])
fi
if test "x$ENABLE_PRECOMPH" = xyes; then
# Check that the compiler actually supports precomp headers.
if test "x$TOOLCHAIN_TYPE" = xgcc; then
AC_MSG_CHECKING([that precompiled headers work])
echo "int alfa();" > conftest.h
$CXX -x c++-header conftest.h -o conftest.hpp.gch 2>&AS_MESSAGE_LOG_FD >&AS_MESSAGE_LOG_FD
if test ! -f conftest.hpp.gch; then
USE_PRECOMPILED_HEADER=false
AC_MSG_RESULT([no])
else
AC_MSG_RESULT([yes])
fi
$RM conftest.h conftest.hpp.gch
fi
fi
UTIL_ARG_ENABLE(NAME: precompiled-headers, DEFAULT: auto,
RESULT: USE_PRECOMPILED_HEADER, AVAILABLE: $PRECOMPILED_HEADERS_AVAILABLE,
DESC: [enable using precompiled headers when compiling C++])
AC_SUBST(USE_PRECOMPILED_HEADER)
])
@@ -442,29 +432,28 @@ AC_DEFUN_ONCE([BPERF_SETUP_SMART_JAVAC],
if test "$MX_VALUE" -lt "512"; then
MX_VALUE=512
fi
ADD_JVM_ARG_IF_OK([-Xms${MS_VALUE}M -Xmx${MX_VALUE}M],SJAVAC_SERVER_JAVA_FLAGS,[$SJAVAC_SERVER_JAVA])
JAVAC_SERVER_AVAILABLE=true
SJAVAC_MEMORY_OPT="-Xms${MS_VALUE}M -Xmx${MX_VALUE}M"
UTIL_ADD_JVM_ARG_IF_OK([$SJAVAC_MEMORY_OPT],SJAVAC_SERVER_JAVA_FLAGS,[$SJAVAC_SERVER_JAVA])
if test "x$JVM_ARG_OK" = "xfalse"; then
AC_MSG_WARN([Could not set '$SJAVAC_MEMORY_OPT' on bootjdk, disabling sjavac and javac server])
JAVAC_SERVER_AVAILABLE=false
fi
AC_SUBST(SJAVAC_SERVER_JAVA_FLAGS)
AC_ARG_ENABLE([sjavac], [AS_HELP_STRING([--enable-sjavac],
[use sjavac to do fast incremental compiles @<:@disabled@:>@])],
[ENABLE_SJAVAC="${enableval}"], [ENABLE_SJAVAC="no"])
if test "x$JVM_ARG_OK" = "xfalse"; then
AC_MSG_WARN([Could not set -Xms${MS_VALUE}M -Xmx${MX_VALUE}M, disabling sjavac])
ENABLE_SJAVAC="no"
fi
AC_MSG_CHECKING([whether to use sjavac])
AC_MSG_RESULT([$ENABLE_SJAVAC])
UTIL_ARG_ENABLE(NAME: sjavac, DEFAULT: false, AVAILABLE: $JAVAC_SERVER_AVAILABLE,
DESC: [use sjavac to do fast incremental compiles],
CHECKING_MSG: [whether to use sjavac],
IF_ENABLED: [ ENABLE_SJAVAC="yes" ],
IF_DISABLED: [ ENABLE_SJAVAC="no" ])
AC_SUBST(ENABLE_SJAVAC)
AC_ARG_ENABLE([javac-server], [AS_HELP_STRING([--disable-javac-server],
[disable javac server @<:@enabled@:>@])],
[ENABLE_JAVAC_SERVER="${enableval}"], [ENABLE_JAVAC_SERVER="yes"])
if test "x$JVM_ARG_OK" = "xfalse"; then
AC_MSG_WARN([Could not set -Xms${MS_VALUE}M -Xmx${MX_VALUE}M, disabling javac server])
ENABLE_JAVAC_SERVER="no"
fi
AC_MSG_CHECKING([whether to use javac server])
AC_MSG_RESULT([$ENABLE_JAVAC_SERVER])
UTIL_ARG_ENABLE(NAME: javac-server, DEFAULT: true, AVAILABLE: $JAVAC_SERVER_AVAILABLE,
DESC: [enable javac server],
CHECKING_MSG: [whether to use javac server],
IF_ENABLED: [ ENABLE_JAVAC_SERVER="yes" ],
IF_DISABLED: [ ENABLE_JAVAC_SERVER="no" ])
AC_SUBST(ENABLE_JAVAC_SERVER)
if test "x$ENABLE_JAVAC_SERVER" = "xyes" || test "x$ENABLE_SJAVAC" = "xyes"; then

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved.
# 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
@@ -96,6 +96,7 @@ BUILD_GTEST := false
JVM_VARIANTS := server
JVM_VARIANT_MAIN := server
JVM_FEATURES_server := cds compiler1 compiler2 g1gc serialgc
# Some users still set EXTRA_*FLAGS on the make command line. Must
# make sure to override that when building buildjdk.

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2011, 2019, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2011, 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
@@ -36,10 +36,20 @@ AC_INIT(OpenJDK, openjdk, build-dev@openjdk.java.net,,http://openjdk.java.net)
AC_CONFIG_AUX_DIR([$TOPDIR/make/autoconf/build-aux])
m4_include([build-aux/pkg.m4])
AC_DEFUN_ONCE([CUSTOM_EARLY_HOOK])
AC_DEFUN_ONCE([CUSTOM_LATE_HOOK])
AC_DEFUN_ONCE([CUSTOM_CONFIG_OUTPUT_GENERATED_HOOK])
AC_DEFUN_ONCE([CUSTOM_SUMMARY_AND_WARNINGS_HOOK])
# This line needs to be here, verbatim, after the dummy hook definitions but
# before all includes. It is replaced with custom functionality when building
# custom sources.
#CUSTOM_AUTOCONF_INCLUDE
# Include these first...
m4_include([basics.m4])
m4_include([basics_windows.m4])
m4_include([util.m4])
# ... then the rest
m4_include([basic.m4])
m4_include([boot-jdk.m4])
m4_include([build-performance.m4])
m4_include([flags.m4])
@@ -47,21 +57,11 @@ m4_include([help.m4])
m4_include([hotspot.m4])
m4_include([jdk-options.m4])
m4_include([jdk-version.m4])
m4_include([jvm-features.m4])
m4_include([libraries.m4])
m4_include([platform.m4])
m4_include([source-dirs.m4])
m4_include([toolchain.m4])
m4_include([toolchain_windows.m4])
AC_DEFUN_ONCE([CUSTOM_EARLY_HOOK])
AC_DEFUN_ONCE([CUSTOM_LATE_HOOK])
AC_DEFUN_ONCE([CUSTOM_CONFIG_OUTPUT_GENERATED_HOOK])
AC_DEFUN_ONCE([CUSTOM_SUMMARY_AND_WARNINGS_HOOK])
# This line needs to be here, verbatim, after all includes and the dummy hook
# definitions. It is replaced with custom functionality when building
# custom sources.
#CUSTOM_AUTOCONF_INCLUDE
###############################################################################
#
@@ -203,12 +203,6 @@ JDKOPT_SETUP_CODE_COVERAGE
# AddressSanitizer
JDKOPT_SETUP_ADDRESS_SANITIZER
# Need toolchain to setup dtrace
HOTSPOT_SETUP_DTRACE
HOTSPOT_ENABLE_DISABLE_AOT
HOTSPOT_ENABLE_DISABLE_CDS
HOTSPOT_ENABLE_DISABLE_GTEST
###############################################################################
#
# Check dependencies for external and internal libraries.
@@ -221,9 +215,17 @@ BASIC_COMPILE_FIXPATH
LIB_DETERMINE_DEPENDENCIES
LIB_SETUP_LIBRARIES
# Hotspot setup depends on lib checks.
###############################################################################
#
# Setup hotspot and JVM features (needs toolchain).
#
###############################################################################
HOTSPOT_SETUP_JVM_FEATURES
JVM_FEATURES_PARSE_OPTIONS
JVM_FEATURES_SETUP
HOTSPOT_ENABLE_DISABLE_GTEST
HOTSPOT_SETUP_MISC
###############################################################################
#
@@ -277,9 +279,6 @@ BASIC_TEST_USABILITY_ISSUES
# At the end, call the custom hook. (Dummy macro if no custom sources available)
CUSTOM_LATE_HOOK
# This needs to be done after CUSTOM_LATE_HOOK since we can setup custom features.
HOTSPOT_FINALIZE_JVM_FEATURES
# Did user specify any unknown variables?
BASIC_CHECK_LEFTOVER_OVERRIDDEN

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2011, 2019, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2011, 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
@@ -123,7 +123,7 @@ AC_DEFUN([FLAGS_SETUP_DEBUG_SYMBOLS],
elif test "x$TOOLCHAIN_TYPE" = xxlc; then
CFLAGS_DEBUG_SYMBOLS="-g1"
elif test "x$TOOLCHAIN_TYPE" = xmicrosoft; then
CFLAGS_DEBUG_SYMBOLS="-Z7 -d2Zi+"
CFLAGS_DEBUG_SYMBOLS="-Z7"
fi
AC_SUBST(CFLAGS_DEBUG_SYMBOLS)
@@ -132,29 +132,17 @@ AC_DEFUN([FLAGS_SETUP_DEBUG_SYMBOLS],
AC_DEFUN([FLAGS_SETUP_WARNINGS],
[
AC_ARG_ENABLE([warnings-as-errors], [AS_HELP_STRING([--disable-warnings-as-errors],
[do not consider native warnings to be an error @<:@enabled@:>@])])
# Set default value.
if test "x$TOOLCHAIN_TYPE" = xxlc; then
WARNINGS_AS_ERRORS=false
if test "x$TOOLCHAIN_TYPE" != xxlc; then
WARNINGS_AS_ERRORS_DEFAULT=true
else
WARNINGS_AS_ERRORS=true
fi
AC_MSG_CHECKING([if native warnings are errors])
if test "x$enable_warnings_as_errors" = "xyes"; then
AC_MSG_RESULT([yes (explicitly set)])
WARNINGS_AS_ERRORS=true
elif test "x$enable_warnings_as_errors" = "xno"; then
AC_MSG_RESULT([no (explicitly set)])
WARNINGS_AS_ERRORS=false
elif test "x$enable_warnings_as_errors" = "x"; then
AC_MSG_RESULT([${WARNINGS_AS_ERRORS} (default)])
else
AC_MSG_ERROR([--enable-warnings-as-errors accepts no argument])
WARNINGS_AS_ERRORS_DEFAULT=false
fi
UTIL_ARG_ENABLE(NAME: warnings-as-errors, DEFAULT: $WARNINGS_AS_ERRORS_DEFAULT,
RESULT: WARNINGS_AS_ERRORS,
DEFAULT_DESC: [auto],
DESC: [consider native warnings to be an error])
AC_SUBST(WARNINGS_AS_ERRORS)
case "${TOOLCHAIN_TYPE}" in
@@ -532,10 +520,13 @@ AC_DEFUN([FLAGS_SETUP_CFLAGS_HELPER],
if test "x$TOOLCHAIN_TYPE" = xgcc; then
TOOLCHAIN_CFLAGS_JVM="$TOOLCHAIN_CFLAGS_JVM -fcheck-new -fstack-protector"
TOOLCHAIN_CFLAGS_JDK="-pipe -fstack-protector"
# reduce lib size on s390x in link step, this needs also special compile flags
if test "x$OPENJDK_TARGET_CPU" = xs390x; then
TOOLCHAIN_CFLAGS_JVM="$TOOLCHAIN_CFLAGS_JVM -ffunction-sections -fdata-sections"
# reduce lib size on linux in link step, this needs also special compile flags
# do this on s390x also for libjvm (where serviceability agent is not supported)
if test "x$ENABLE_LINKTIME_GC" = xtrue; then
TOOLCHAIN_CFLAGS_JDK="$TOOLCHAIN_CFLAGS_JDK -ffunction-sections -fdata-sections"
if test "x$OPENJDK_TARGET_CPU" = xs390x; then
TOOLCHAIN_CFLAGS_JVM="$TOOLCHAIN_CFLAGS_JVM -ffunction-sections -fdata-sections"
fi
fi
# technically NOT for CXX (but since this gives *worse* performance, use
# no-strict-aliasing everywhere!)
@@ -595,8 +586,7 @@ AC_DEFUN([FLAGS_SETUP_CFLAGS_HELPER],
# our toolchains are in a condition to support that. But what we loosely aim for is
# C99 level.
if test "x$TOOLCHAIN_TYPE" = xgcc || test "x$TOOLCHAIN_TYPE" = xclang || test "x$TOOLCHAIN_TYPE" = xxlc; then
# This raises the language level for older 4.8 gcc, while lowering it for later
# versions. clang and xlclang support the same flag.
# Explicitly set C99. clang and xlclang support the same flag.
LANGSTD_CFLAGS="-std=c99"
elif test "x$TOOLCHAIN_TYPE" = xsolstudio; then
# We can't turn on -std=c99 without breaking compilation of the splashscreen/png
@@ -813,7 +803,7 @@ AC_DEFUN([FLAGS_SETUP_CFLAGS_CPU_DEP],
fi
$1_CXXSTD_CXXFLAG="-std=gnu++98"
FLAGS_CXX_COMPILER_CHECK_ARGUMENTS(ARGUMENT: [${$1_CXXSTD_CXXFLAG} -Werror],
FLAGS_CXX_COMPILER_CHECK_ARGUMENTS(ARGUMENT: [${$1_CXXSTD_CXXFLAG}],
PREFIX: $3, IF_FALSE: [$1_CXXSTD_CXXFLAG=""])
$1_TOOLCHAIN_CFLAGS_JDK_CXXONLY="${$1_CXXSTD_CXXFLAG}"
$1_TOOLCHAIN_CFLAGS_JVM="${$1_TOOLCHAIN_CFLAGS_JVM} ${$1_CXXSTD_CXXFLAG}"
@@ -940,10 +930,10 @@ AC_DEFUN([FLAGS_SETUP_GCC6_COMPILER_FLAGS],
# Notably, value range propagation now assumes that the this pointer of C++
# member functions is non-null.
NO_DELETE_NULL_POINTER_CHECKS_CFLAG="-fno-delete-null-pointer-checks"
FLAGS_COMPILER_CHECK_ARGUMENTS(ARGUMENT: [$NO_DELETE_NULL_POINTER_CHECKS_CFLAG -Werror],
FLAGS_COMPILER_CHECK_ARGUMENTS(ARGUMENT: [$NO_DELETE_NULL_POINTER_CHECKS_CFLAG],
PREFIX: $2, IF_FALSE: [NO_DELETE_NULL_POINTER_CHECKS_CFLAG=""])
NO_LIFETIME_DSE_CFLAG="-fno-lifetime-dse"
FLAGS_COMPILER_CHECK_ARGUMENTS(ARGUMENT: [$NO_LIFETIME_DSE_CFLAG -Werror],
FLAGS_COMPILER_CHECK_ARGUMENTS(ARGUMENT: [$NO_LIFETIME_DSE_CFLAG],
PREFIX: $2, IF_FALSE: [NO_LIFETIME_DSE_CFLAG=""])
$1_GCC6_CFLAGS="${NO_DELETE_NULL_POINTER_CHECKS_CFLAG} ${NO_LIFETIME_DSE_CFLAG}"
])

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2011, 2019, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2011, 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
@@ -72,9 +72,13 @@ AC_DEFUN([FLAGS_SETUP_LDFLAGS_HELPER],
# Add -z defs, to forbid undefined symbols in object files.
# add relro (mark relocations read only) for all libs
BASIC_LDFLAGS="$BASIC_LDFLAGS -Wl,-z,defs -Wl,-z,relro"
# s390x : remove unused code+data in link step
if test "x$OPENJDK_TARGET_CPU" = xs390x; then
BASIC_LDFLAGS="$BASIC_LDFLAGS -Wl,--gc-sections -Wl,--print-gc-sections"
# Linux : remove unused code+data in link step
if test "x$ENABLE_LINKTIME_GC" = xtrue; then
if test "x$OPENJDK_TARGET_CPU" = xs390x; then
BASIC_LDFLAGS="$BASIC_LDFLAGS -Wl,--gc-sections -Wl,--print-gc-sections"
else
BASIC_LDFLAGS_JDK_ONLY="$BASIC_LDFLAGS_JDK_ONLY -Wl,--gc-sections"
fi
fi
BASIC_LDFLAGS_JVM_ONLY="-Wl,-O1"

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2011, 2018, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2011, 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
@@ -49,7 +49,7 @@ AC_DEFUN([FLAGS_SETUP_ABI_PROFILE],
# --- Arm-sflt CFLAGS and ASFLAGS ---
# Armv5te is required for assembler, because pld insn used in arm32 hotspot is only in v5E and above.
# However, there is also a GCC bug which generates unaligned strd/ldrd instructions on armv5te:
# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82445, and it was fixed only quite recently.
# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82445, and it was fixed in gcc 7.1.
# The resulting compromise is to enable v5TE for assembler and let GCC generate code for v5T.
if test "x$OPENJDK_TARGET_ABI_PROFILE" = xarm-vfp-sflt; then
ARM_FLOAT_TYPE=vfp-sflt
@@ -430,7 +430,7 @@ AC_DEFUN([FLAGS_SETUP_FLAGS],
# IF_FALSE: [RUN-IF-FALSE])
# ------------------------------------------------------------
# Check that the C compiler supports an argument
BASIC_DEFUN_NAMED([FLAGS_C_COMPILER_CHECK_ARGUMENTS],
UTIL_DEFUN_NAMED([FLAGS_C_COMPILER_CHECK_ARGUMENTS],
[*ARGUMENT IF_TRUE IF_FALSE PREFIX], [$@],
[
AC_MSG_CHECKING([if ARG_PREFIX[CC] supports "ARG_ARGUMENT"])
@@ -438,7 +438,7 @@ BASIC_DEFUN_NAMED([FLAGS_C_COMPILER_CHECK_ARGUMENTS],
saved_cflags="$CFLAGS"
saved_cc="$CC"
CFLAGS="$CFLAGS ARG_ARGUMENT"
CFLAGS="$CFLAGS $CFLAGS_WARNINGS_ARE_ERRORS ARG_ARGUMENT"
CC="$ARG_PREFIX[CC]"
AC_LANG_PUSH([C])
AC_COMPILE_IFELSE([AC_LANG_SOURCE([[int i;]])], [],
@@ -461,7 +461,7 @@ BASIC_DEFUN_NAMED([FLAGS_C_COMPILER_CHECK_ARGUMENTS],
# IF_FALSE: [RUN-IF-FALSE])
# ------------------------------------------------------------
# Check that the C++ compiler supports an argument
BASIC_DEFUN_NAMED([FLAGS_CXX_COMPILER_CHECK_ARGUMENTS],
UTIL_DEFUN_NAMED([FLAGS_CXX_COMPILER_CHECK_ARGUMENTS],
[*ARGUMENT IF_TRUE IF_FALSE PREFIX], [$@],
[
AC_MSG_CHECKING([if ARG_PREFIX[CXX] supports "ARG_ARGUMENT"])
@@ -469,7 +469,7 @@ BASIC_DEFUN_NAMED([FLAGS_CXX_COMPILER_CHECK_ARGUMENTS],
saved_cxxflags="$CXXFLAGS"
saved_cxx="$CXX"
CXXFLAGS="$CXXFLAG ARG_ARGUMENT"
CXXFLAGS="$CXXFLAG $CFLAGS_WARNINGS_ARE_ERRORS ARG_ARGUMENT"
CXX="$ARG_PREFIX[CXX]"
AC_LANG_PUSH([C++])
AC_COMPILE_IFELSE([AC_LANG_SOURCE([[int i;]])], [],
@@ -492,7 +492,7 @@ BASIC_DEFUN_NAMED([FLAGS_CXX_COMPILER_CHECK_ARGUMENTS],
# IF_FALSE: [RUN-IF-FALSE])
# ------------------------------------------------------------
# Check that the C and C++ compilers support an argument
BASIC_DEFUN_NAMED([FLAGS_COMPILER_CHECK_ARGUMENTS],
UTIL_DEFUN_NAMED([FLAGS_COMPILER_CHECK_ARGUMENTS],
[*ARGUMENT IF_TRUE IF_FALSE PREFIX], [$@],
[
FLAGS_C_COMPILER_CHECK_ARGUMENTS(ARGUMENT: [ARG_ARGUMENT],
@@ -524,7 +524,7 @@ BASIC_DEFUN_NAMED([FLAGS_COMPILER_CHECK_ARGUMENTS],
# IF_FALSE: [RUN-IF-FALSE])
# ------------------------------------------------------------
# Check that the linker support an argument
BASIC_DEFUN_NAMED([FLAGS_LINKER_CHECK_ARGUMENTS],
UTIL_DEFUN_NAMED([FLAGS_LINKER_CHECK_ARGUMENTS],
[*ARGUMENT IF_TRUE IF_FALSE], [$@],
[
AC_MSG_CHECKING([if linker supports "ARG_ARGUMENT"])

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2011, 2019, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2011, 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
@@ -180,21 +180,25 @@ AC_DEFUN_ONCE([HELP_PRINT_ADDITIONAL_HELP_AND_EXIT],
if test "x$CONFIGURE_PRINT_ADDITIONAL_HELP" != x; then
# Print available toolchains
$PRINTF "The following toolchains are available as arguments to --with-toolchain-type.\n"
$PRINTF "Which are valid to use depends on the build platform.\n"
$PRINTF "The following toolchains are valid as arguments to --with-toolchain-type.\n"
$PRINTF "Which are available to use depends on the build platform.\n"
for toolchain in $VALID_TOOLCHAINS_all; do
# Use indirect variable referencing
toolchain_var_name=TOOLCHAIN_DESCRIPTION_$toolchain
TOOLCHAIN_DESCRIPTION=${!toolchain_var_name}
$PRINTF " %-10s %s\n" $toolchain "$TOOLCHAIN_DESCRIPTION"
$PRINTF " %-22s %s\n" $toolchain "$TOOLCHAIN_DESCRIPTION"
done
$PRINTF "\n"
# Print available jvm features
$PRINTF "The following JVM features are available as arguments to --with-jvm-features.\n"
$PRINTF "Which are valid to use depends on the target platform.\n "
$PRINTF "%s " $VALID_JVM_FEATURES
$PRINTF "\n"
# Print available JVM features
$PRINTF "The following JVM features are valid as arguments to --with-jvm-features.\n"
$PRINTF "Which are available to use depends on the environment and JVM variant.\n"
m4_foreach(FEATURE, m4_split(jvm_features_valid), [
# Create an m4 variable containing the description for FEATURE.
m4_define(FEATURE_DESCRIPTION, [jvm_feature_desc_]m4_translit(FEATURE, -, _))
$PRINTF " %-22s %s\n" FEATURE "FEATURE_DESCRIPTION"
m4_undefine([FEATURE_DESCRIPTION])
])
# And now exit directly
exit 0

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2011, 2019, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2011, 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
@@ -23,14 +23,6 @@
# questions.
#
# All valid JVM features, regardless of platform
VALID_JVM_FEATURES="compiler1 compiler2 zero minimal dtrace jvmti jvmci \
graal vm-structs jni-check services management epsilongc g1gc parallelgc serialgc shenandoahgc zgc nmt cds \
static-build link-time-opt aot jfr"
# Deprecated JVM features (these are ignored, but with a warning)
DEPRECATED_JVM_FEATURES="trace cmsgc"
# All valid JVM variants
VALID_JVM_VARIANTS="server client minimal core zero custom"
@@ -46,32 +38,6 @@ VALID_JVM_VARIANTS="server client minimal core zero custom"
AC_DEFUN([HOTSPOT_CHECK_JVM_VARIANT],
[ [ [[ " $JVM_VARIANTS " =~ " $1 " ]] ] ])
###############################################################################
# Check if the specified JVM feature is enabled. To be used in shell if
# constructs, like this:
# if HOTSPOT_CHECK_JVM_FEATURE(jvmti); then
#
# Only valid to use after HOTSPOT_SETUP_JVM_FEATURES has setup features.
# Definition kept in one line to allow inlining in if statements.
# Additional [] needed to keep m4 from mangling shell constructs.
AC_DEFUN([HOTSPOT_CHECK_JVM_FEATURE],
[ [ [[ " $JVM_FEATURES " =~ " $1 " ]] ] ])
###############################################################################
# Check if the specified JVM feature is explicitly disabled. To be used in
# shell if constructs, like this:
# if HOTSPOT_IS_JVM_FEATURE_DISABLED(jvmci); then
#
# This function is internal to hotspot.m4, and is only used when constructing
# the valid set of enabled JVM features. Users outside of hotspot.m4 should just
# use HOTSPOT_CHECK_JVM_FEATURE to check if a feature is enabled or not.
# Definition kept in one line to allow inlining in if statements.
# Additional [] needed to keep m4 from mangling shell constructs.
AC_DEFUN([HOTSPOT_IS_JVM_FEATURE_DISABLED],
[ [ [[ " $DISABLED_JVM_FEATURES " =~ " $1 " ]] ] ])
###############################################################################
# Check which variants of the JVM that we want to build. Available variants are:
# server: normal interpreter, and a tiered C1/C2 compiler
@@ -84,7 +50,8 @@ AC_DEFUN([HOTSPOT_IS_JVM_FEATURE_DISABLED],
AC_DEFUN_ONCE([HOTSPOT_SETUP_JVM_VARIANTS],
[
AC_ARG_WITH([jvm-variants], [AS_HELP_STRING([--with-jvm-variants],
[JVM variants (separated by commas) to build (server,client,minimal,core,zero,custom) @<:@server@:>@])])
[JVM variants to build, separated by commas (server client minimal core
zero custom) @<:@server@:>@])])
if test "x$with_jvm_variants" = x; then
with_jvm_variants="server"
@@ -108,7 +75,8 @@ AC_DEFUN_ONCE([HOTSPOT_SETUP_JVM_VARIANTS],
AC_MSG_RESULT([$JVM_VARIANTS])
# Check that the selected variants are valid
BASIC_GET_NON_MATCHING_VALUES(INVALID_VARIANTS, $JVM_VARIANTS, $VALID_JVM_VARIANTS)
UTIL_GET_NON_MATCHING_VALUES(INVALID_VARIANTS, $JVM_VARIANTS, \
$VALID_JVM_VARIANTS)
if test "x$INVALID_VARIANTS" != x; then
AC_MSG_NOTICE([Unknown variant(s) specified: "$INVALID_VARIANTS"])
AC_MSG_NOTICE([The available JVM variants are: "$VALID_JVM_VARIANTS"])
@@ -117,9 +85,11 @@ AC_DEFUN_ONCE([HOTSPOT_SETUP_JVM_VARIANTS],
# All "special" variants share the same output directory ("server")
VALID_MULTIPLE_JVM_VARIANTS="server client minimal"
BASIC_GET_NON_MATCHING_VALUES(INVALID_MULTIPLE_VARIANTS, $JVM_VARIANTS, $VALID_MULTIPLE_JVM_VARIANTS)
if test "x$INVALID_MULTIPLE_VARIANTS" != x && test "x$BUILDING_MULTIPLE_JVM_VARIANTS" = xtrue; then
AC_MSG_ERROR([You cannot build multiple variants with anything else than $VALID_MULTIPLE_JVM_VARIANTS.])
UTIL_GET_NON_MATCHING_VALUES(INVALID_MULTIPLE_VARIANTS, $JVM_VARIANTS, \
$VALID_MULTIPLE_JVM_VARIANTS)
if test "x$INVALID_MULTIPLE_VARIANTS" != x && \
test "x$BUILDING_MULTIPLE_JVM_VARIANTS" = xtrue; then
AC_MSG_ERROR([You can only build multiple variants using these variants: '$VALID_MULTIPLE_JVM_VARIANTS'])
fi
# The "main" variant is the one used by other libs to link against during the
@@ -139,173 +109,53 @@ AC_DEFUN_ONCE([HOTSPOT_SETUP_JVM_VARIANTS],
AC_SUBST(JVM_VARIANTS)
AC_SUBST(VALID_JVM_VARIANTS)
AC_SUBST(JVM_VARIANT_MAIN)
])
###############################################################################
# Check if gtest should be built
#
AC_DEFUN_ONCE([HOTSPOT_ENABLE_DISABLE_GTEST],
[
GTEST_AVAILABLE=true
AC_MSG_CHECKING([if Hotspot gtest test source is present])
if test -e "${TOPDIR}/test/hotspot/gtest"; then
AC_MSG_RESULT([yes])
else
AC_MSG_RESULT([no, cannot build gtest])
GTEST_AVAILABLE=false
fi
# On solaris, we also must have the libstlport.so.1 library, setup in
# LIB_SETUP_LIBRARIES.
if test "x$OPENJDK_TARGET_OS" = "xsolaris"; then
AC_MSG_CHECKING([if the libstlport.so.1 library is present])
if test "x$STLPORT_LIB" != "x"; then
AC_MSG_RESULT([yes])
else
AC_MSG_RESULT([no, cannot build gtest])
GTEST_AVAILABLE=false
fi
fi
UTIL_ARG_ENABLE(NAME: hotspot-gtest, DEFAULT: auto,
RESULT: BUILD_GTEST, AVAILABLE: $GTEST_AVAILABLE,
DEFAULT_DESC: [enabled if possible to build],
DESC: [enable building of the Hotspot unit tests])
AC_SUBST(BUILD_GTEST)
])
###############################################################################
# Misc hotspot setup that does not fit elsewhere.
#
AC_DEFUN_ONCE([HOTSPOT_SETUP_MISC],
[
if HOTSPOT_CHECK_JVM_VARIANT(zero); then
# zero behaves as a platform and rewrites these values. This is really weird. :(
# We are guaranteed that we do not build any other variants when building zero.
# zero behaves as a platform and rewrites these values. This is a bit weird.
# But when building zero, we never build any other variants so it works.
HOTSPOT_TARGET_CPU=zero
HOTSPOT_TARGET_CPU_ARCH=zero
fi
])
###############################################################################
# Check if dtrace should be enabled and has all prerequisites present.
#
AC_DEFUN_ONCE([HOTSPOT_SETUP_DTRACE],
[
# Test for dtrace dependencies
AC_ARG_ENABLE([dtrace], [AS_HELP_STRING([--enable-dtrace@<:@=yes/no/auto@:>@],
[enable dtrace. Default is auto, where dtrace is enabled if all dependencies
are present.])])
DTRACE_DEP_MISSING=false
AC_MSG_CHECKING([for dtrace tool])
if test "x$DTRACE" != "x" && test -x "$DTRACE"; then
AC_MSG_RESULT([$DTRACE])
else
AC_MSG_RESULT([not found, cannot build dtrace])
DTRACE_DEP_MISSING=true
fi
AC_CHECK_HEADERS([sys/sdt.h], [DTRACE_HEADERS_OK=yes],[DTRACE_HEADERS_OK=no])
if test "x$DTRACE_HEADERS_OK" != "xyes"; then
DTRACE_DEP_MISSING=true
fi
AC_MSG_CHECKING([if dtrace should be built])
if test "x$enable_dtrace" = "xyes"; then
if test "x$DTRACE_DEP_MISSING" = "xtrue"; then
AC_MSG_RESULT([no, missing dependencies])
HELP_MSG_MISSING_DEPENDENCY([dtrace])
AC_MSG_ERROR([Cannot enable dtrace with missing dependencies. See above. $HELP_MSG])
else
INCLUDE_DTRACE=true
AC_MSG_RESULT([yes, forced])
fi
elif test "x$enable_dtrace" = "xno"; then
INCLUDE_DTRACE=false
AC_MSG_RESULT([no, forced])
elif test "x$enable_dtrace" = "xauto" || test "x$enable_dtrace" = "x"; then
if test "x$DTRACE_DEP_MISSING" = "xtrue"; then
INCLUDE_DTRACE=false
AC_MSG_RESULT([no, missing dependencies])
else
INCLUDE_DTRACE=true
AC_MSG_RESULT([yes, dependencies present])
fi
else
AC_MSG_ERROR([Invalid value for --enable-dtrace: $enable_dtrace])
fi
])
################################################################################
# Check if AOT should be enabled
#
AC_DEFUN_ONCE([HOTSPOT_ENABLE_DISABLE_AOT],
[
AC_ARG_ENABLE([aot], [AS_HELP_STRING([--enable-aot@<:@=yes/no/auto@:>@],
[enable ahead of time compilation feature. Default is auto, where aot is enabled if all dependencies are present.])])
if test "x$enable_aot" = "x" || test "x$enable_aot" = "xauto"; then
ENABLE_AOT="true"
elif test "x$enable_aot" = "xyes"; then
ENABLE_AOT="true"
elif test "x$enable_aot" = "xno"; then
ENABLE_AOT="false"
else
AC_MSG_ERROR([Invalid value for --enable-aot: $enable_aot])
fi
if test "x$ENABLE_AOT" = "xtrue"; then
# Only enable AOT on X64 platforms.
if test "x$OPENJDK_TARGET_CPU" = "xx86_64" || test "x$OPENJDK_TARGET_CPU" = "xaarch64" ; then
if test -e "${TOPDIR}/src/jdk.aot"; then
if test -e "${TOPDIR}/src/jdk.internal.vm.compiler"; then
ENABLE_AOT="true"
else
ENABLE_AOT="false"
if test "x$enable_aot" = "xyes"; then
AC_MSG_ERROR([Cannot build AOT without src/jdk.internal.vm.compiler sources. Remove --enable-aot.])
fi
fi
else
ENABLE_AOT="false"
if test "x$enable_aot" = "xyes"; then
AC_MSG_ERROR([Cannot build AOT without src/jdk.aot sources. Remove --enable-aot.])
fi
fi
else
ENABLE_AOT="false"
if test "x$enable_aot" = "xyes"; then
AC_MSG_ERROR([AOT is currently only supported on x86_64 and aarch64. Remove --enable-aot.])
fi
fi
fi
AC_SUBST(ENABLE_AOT)
])
################################################################################
# Allow to disable CDS
#
AC_DEFUN_ONCE([HOTSPOT_ENABLE_DISABLE_CDS],
[
AC_ARG_ENABLE([cds], [AS_HELP_STRING([--enable-cds@<:@=yes/no/auto@:>@],
[enable class data sharing feature in non-minimal VM. Default is auto, where cds is enabled if supported on the platform.])])
if test "x$enable_cds" = "x" || test "x$enable_cds" = "xauto"; then
ENABLE_CDS="true"
elif test "x$enable_cds" = "xyes"; then
ENABLE_CDS="true"
elif test "x$enable_cds" = "xno"; then
ENABLE_CDS="false"
else
AC_MSG_ERROR([Invalid value for --enable-cds: $enable_cds])
fi
AC_SUBST(ENABLE_CDS)
])
###############################################################################
# Set up all JVM features for each JVM variant.
#
AC_DEFUN_ONCE([HOTSPOT_SETUP_JVM_FEATURES],
[
# Prettify the VALID_JVM_FEATURES string
BASIC_SORT_LIST(VALID_JVM_FEATURES, $VALID_JVM_FEATURES)
# The user can in some cases supply additional jvm features. For the custom
# variant, this defines the entire variant.
AC_ARG_WITH([jvm-features], [AS_HELP_STRING([--with-jvm-features],
[JVM features to enable (foo) or disable (-foo), separated by comma. Use '--help' to show possible values @<:@none@:>@])])
if test "x$with_jvm_features" != x; then
AC_MSG_CHECKING([user specified JVM feature list])
USER_JVM_FEATURE_LIST=`$ECHO $with_jvm_features | $SED -e 's/,/ /g'`
AC_MSG_RESULT([$user_jvm_feature_list])
# These features will be added to all variant defaults
JVM_FEATURES=`$ECHO $USER_JVM_FEATURE_LIST | $AWK '{ for (i=1; i<=NF; i++) if (!match($i, /^-.*/)) printf("%s ", $i) }'`
# These features will be removed from all variant defaults
DISABLED_JVM_FEATURES=`$ECHO $USER_JVM_FEATURE_LIST | $AWK '{ for (i=1; i<=NF; i++) if (match($i, /^-.*/)) printf("%s ", substr($i, 2))}'`
# Verify that the user has provided valid features
BASIC_GET_NON_MATCHING_VALUES(INVALID_FEATURES, $JVM_FEATURES $DISABLED_JVM_FEATURES, $VALID_JVM_FEATURES $DEPRECATED_JVM_FEATURES)
if test "x$INVALID_FEATURES" != x; then
AC_MSG_NOTICE([Unknown JVM features specified: "$INVALID_FEATURES"])
AC_MSG_NOTICE([The available JVM features are: "$VALID_JVM_FEATURES"])
AC_MSG_ERROR([Cannot continue])
fi
# Check if the user has provided deprecated features
BASIC_GET_MATCHING_VALUES(DEPRECATED_FEATURES, $JVM_FEATURES $DISABLED_JVM_FEATURES, $DEPRECATED_JVM_FEATURES)
if test "x$DEPRECATED_FEATURES" != x; then
AC_MSG_WARN([Deprecated JVM features specified (will be ignored): "$DEPRECATED_FEATURES"])
# Filter out deprecated features
BASIC_GET_NON_MATCHING_VALUES(JVM_FEATURES, $JVM_FEATURES, $DEPRECATED_FEATURES)
BASIC_GET_NON_MATCHING_VALUES(DISABLED_JVM_FEATURES, $DISABLED_JVM_FEATURES, $DEPRECATED_FEATURES)
fi
fi
# Override hotspot cpu definitions for ARM platforms
if test "x$OPENJDK_TARGET_CPU" = xarm; then
@@ -313,335 +163,6 @@ AC_DEFUN_ONCE([HOTSPOT_SETUP_JVM_FEATURES],
HOTSPOT_TARGET_CPU_DEFINE="ARM32"
fi
# Verify that dependencies are met for explicitly set features.
if HOTSPOT_CHECK_JVM_FEATURE(jvmti) && ! HOTSPOT_CHECK_JVM_FEATURE(services); then
AC_MSG_ERROR([Specified JVM feature 'jvmti' requires feature 'services'])
fi
if HOTSPOT_CHECK_JVM_FEATURE(management) && ! HOTSPOT_CHECK_JVM_FEATURE(nmt); then
AC_MSG_ERROR([Specified JVM feature 'management' requires feature 'nmt'])
fi
if HOTSPOT_CHECK_JVM_FEATURE(jvmci) && ! (HOTSPOT_CHECK_JVM_FEATURE(compiler1) || HOTSPOT_CHECK_JVM_FEATURE(compiler2)); then
AC_MSG_ERROR([Specified JVM feature 'jvmci' requires feature 'compiler2' or 'compiler1'])
fi
# Enable JFR by default, except for Zero, linux-sparcv9 and on minimal.
if ! HOTSPOT_CHECK_JVM_VARIANT(zero); then
if test "x$OPENJDK_TARGET_OS" != xaix; then
if test "x$OPENJDK_TARGET_OS" != xlinux || test "x$OPENJDK_TARGET_CPU" != xsparcv9; then
NON_MINIMAL_FEATURES="$NON_MINIMAL_FEATURES jfr"
fi
fi
fi
# Only enable Shenandoah on supported arches
AC_MSG_CHECKING([if shenandoah can be built])
if test "x$OPENJDK_TARGET_CPU_ARCH" = "xx86" || test "x$OPENJDK_TARGET_CPU" = "xaarch64" ; then
AC_MSG_RESULT([yes])
else
DISABLED_JVM_FEATURES="$DISABLED_JVM_FEATURES shenandoahgc"
AC_MSG_RESULT([no, platform not supported])
fi
# Only enable ZGC on supported platforms
if (test "x$OPENJDK_TARGET_OS" = "xwindows" && test "x$OPENJDK_TARGET_CPU" = "xx86_64"); then
AC_MSG_CHECKING([if zgc can be built on windows])
AC_COMPILE_IFELSE(
[AC_LANG_PROGRAM([[#include <windows.h>]],
[[struct MEM_EXTENDED_PARAMETER x;]])
],
[
AC_MSG_RESULT([yes])
CAN_BUILD_ZGC_ON_WINDOWS="yes"
],
[
AC_MSG_RESULT([no, missing required APIs])
CAN_BUILD_ZGC_ON_WINDOWS="no"
]
)
fi
AC_MSG_CHECKING([if zgc can be built])
if (test "x$OPENJDK_TARGET_OS" = "xlinux" && test "x$OPENJDK_TARGET_CPU" = "xx86_64") || \
(test "x$OPENJDK_TARGET_OS" = "xlinux" && test "x$OPENJDK_TARGET_CPU" = "xaarch64") || \
(test "x$CAN_BUILD_ZGC_ON_WINDOWS" = "xyes") || \
(test "x$OPENJDK_TARGET_OS" = "xmacosx" && test "x$OPENJDK_TARGET_CPU" = "xx86_64"); then
AC_MSG_RESULT([yes])
else
DISABLED_JVM_FEATURES="$DISABLED_JVM_FEATURES zgc"
AC_MSG_RESULT([no, platform not supported])
fi
# Disable unsupported GCs for Zero
if HOTSPOT_CHECK_JVM_VARIANT(zero); then
DISABLED_JVM_FEATURES="$DISABLED_JVM_FEATURES epsilongc g1gc zgc shenandoahgc"
fi
# Turn on additional features based on other parts of configure
if test "x$INCLUDE_DTRACE" = "xtrue"; then
JVM_FEATURES="$JVM_FEATURES dtrace"
else
if HOTSPOT_CHECK_JVM_FEATURE(dtrace); then
AC_MSG_ERROR([To enable dtrace, you must use --enable-dtrace])
fi
fi
if test "x$STATIC_BUILD" = "xtrue"; then
JVM_FEATURES="$JVM_FEATURES static-build"
else
if HOTSPOT_CHECK_JVM_FEATURE(static-build); then
AC_MSG_ERROR([To enable static-build, you must use --enable-static-build])
fi
fi
if ! HOTSPOT_CHECK_JVM_VARIANT(zero); then
if HOTSPOT_CHECK_JVM_FEATURE(zero); then
AC_MSG_ERROR([To enable zero, you must use --with-jvm-variants=zero])
fi
fi
AC_MSG_CHECKING([if jvmci module jdk.internal.vm.ci should be built])
# Check if jvmci is diabled
if HOTSPOT_IS_JVM_FEATURE_DISABLED(jvmci); then
AC_MSG_RESULT([no, forced])
JVM_FEATURES_jvmci=""
INCLUDE_JVMCI="false"
else
# Only enable jvmci on x86_64 and aarch64
if test "x$OPENJDK_TARGET_CPU" = "xx86_64" || \
test "x$OPENJDK_TARGET_CPU" = "xaarch64" ; then
AC_MSG_RESULT([yes])
JVM_FEATURES_jvmci="jvmci"
INCLUDE_JVMCI="true"
else
AC_MSG_RESULT([no])
JVM_FEATURES_jvmci=""
INCLUDE_JVMCI="false"
if HOTSPOT_CHECK_JVM_FEATURE(jvmci); then
AC_MSG_ERROR([JVMCI is currently not supported on this platform.])
fi
fi
fi
AC_SUBST(INCLUDE_JVMCI)
AC_MSG_CHECKING([if graal module jdk.internal.vm.compiler should be built])
# Check if graal is diabled
if HOTSPOT_IS_JVM_FEATURE_DISABLED(graal); then
AC_MSG_RESULT([no, forced])
JVM_FEATURES_graal=""
INCLUDE_GRAAL="false"
else
if HOTSPOT_CHECK_JVM_FEATURE(graal); then
AC_MSG_RESULT([yes, forced])
if test "x$JVM_FEATURES_jvmci" != "xjvmci" ; then
AC_MSG_ERROR([Specified JVM feature 'graal' requires feature 'jvmci'])
fi
JVM_FEATURES_graal="graal"
INCLUDE_GRAAL="true"
else
# By default enable graal build on x64 or where AOT is available.
# graal build requires jvmci.
if test "x$JVM_FEATURES_jvmci" = "xjvmci" && \
(test "x$OPENJDK_TARGET_CPU" = "xx86_64" || \
test "x$ENABLE_AOT" = "xtrue") ; then
AC_MSG_RESULT([yes])
JVM_FEATURES_graal="graal"
INCLUDE_GRAAL="true"
else
AC_MSG_RESULT([no])
JVM_FEATURES_graal=""
INCLUDE_GRAAL="false"
fi
fi
fi
AC_SUBST(INCLUDE_GRAAL)
# Disable aot with '--with-jvm-features=-aot'
if HOTSPOT_IS_JVM_FEATURE_DISABLED(aot); then
ENABLE_AOT="false"
fi
AC_MSG_CHECKING([if aot should be enabled])
if test "x$ENABLE_AOT" = "xtrue"; then
if test "x$JVM_FEATURES_graal" != "xgraal"; then
if test "x$enable_aot" = "xyes" || HOTSPOT_CHECK_JVM_FEATURE(aot); then
AC_MSG_RESULT([yes, forced])
AC_MSG_ERROR([Specified JVM feature 'aot' requires feature 'graal'])
else
AC_MSG_RESULT([no])
fi
JVM_FEATURES_aot=""
ENABLE_AOT="false"
else
if test "x$enable_aot" = "xyes" || HOTSPOT_CHECK_JVM_FEATURE(aot); then
AC_MSG_RESULT([yes, forced])
else
AC_MSG_RESULT([yes])
fi
JVM_FEATURES_aot="aot"
fi
else
if test "x$enable_aot" = "xno" || HOTSPOT_IS_JVM_FEATURE_DISABLED(aot); then
AC_MSG_RESULT([no, forced])
else
AC_MSG_RESULT([no])
fi
JVM_FEATURES_aot=""
if HOTSPOT_CHECK_JVM_FEATURE(aot); then
AC_MSG_ERROR([To enable aot, you must use --enable-aot])
fi
fi
AC_SUBST(ENABLE_AOT)
if test "x$OPENJDK_TARGET_CPU" = xarm ; then
# Default to use link time optimizations on minimal on arm
JVM_FEATURES_link_time_opt="link-time-opt"
else
JVM_FEATURES_link_time_opt=""
fi
# All variants but minimal (and custom) get these features
NON_MINIMAL_FEATURES="$NON_MINIMAL_FEATURES g1gc parallelgc serialgc epsilongc shenandoahgc jni-check jvmti management nmt services vm-structs zgc"
# Disable CDS on AIX.
if test "x$OPENJDK_TARGET_OS" = "xaix"; then
ENABLE_CDS="false"
if test "x$enable_cds" = "xyes"; then
AC_MSG_ERROR([CDS is currently not supported on AIX. Remove --enable-cds.])
fi
fi
# Disable CDS if user requested it with --with-jvm-features=-cds.
if HOTSPOT_IS_JVM_FEATURE_DISABLED(cds); then
ENABLE_CDS="false"
if test "x$enable_cds" = "xyes"; then
AC_MSG_ERROR([CDS was disabled by --with-jvm-features=-cds. Remove --enable-cds.])
fi
fi
# Disable CDS for zero, minimal, core..
if HOTSPOT_CHECK_JVM_VARIANT(zero) || HOTSPOT_CHECK_JVM_VARIANT(minimal) || HOTSPOT_CHECK_JVM_VARIANT(core); then
# ..except when the user explicitely requested it with --enable-jvm-features
if ! HOTSPOT_CHECK_JVM_FEATURE(cds); then
ENABLE_CDS="false"
if test "x$enable_cds" = "xyes"; then
AC_MSG_ERROR([CDS not implemented for variants zero, minimal, core. Remove --enable-cds.])
fi
fi
fi
AC_MSG_CHECKING([if cds should be enabled])
if test "x$ENABLE_CDS" = "xtrue"; then
if test "x$enable_cds" = "xyes"; then
AC_MSG_RESULT([yes, forced])
else
AC_MSG_RESULT([yes])
fi
NON_MINIMAL_FEATURES="$NON_MINIMAL_FEATURES cds"
else
if test "x$enable_cds" = "xno"; then
AC_MSG_RESULT([no, forced])
else
AC_MSG_RESULT([no])
fi
fi
# Enable features depending on variant.
JVM_FEATURES_server="compiler1 compiler2 $NON_MINIMAL_FEATURES $JVM_FEATURES $JVM_FEATURES_jvmci $JVM_FEATURES_aot $JVM_FEATURES_graal"
JVM_FEATURES_client="compiler1 $NON_MINIMAL_FEATURES $JVM_FEATURES"
JVM_FEATURES_core="$NON_MINIMAL_FEATURES $JVM_FEATURES"
JVM_FEATURES_minimal="compiler1 minimal serialgc $JVM_FEATURES $JVM_FEATURES_link_time_opt"
JVM_FEATURES_zero="zero $NON_MINIMAL_FEATURES $JVM_FEATURES"
JVM_FEATURES_custom="$JVM_FEATURES"
AC_SUBST(JVM_FEATURES_server)
AC_SUBST(JVM_FEATURES_client)
AC_SUBST(JVM_FEATURES_core)
AC_SUBST(JVM_FEATURES_minimal)
AC_SUBST(JVM_FEATURES_zero)
AC_SUBST(JVM_FEATURES_custom)
# Used for verification of Makefiles by check-jvm-feature
AC_SUBST(VALID_JVM_FEATURES)
# --with-cpu-port is no longer supported
BASIC_DEPRECATED_ARG_WITH(with-cpu-port)
])
###############################################################################
# Finalize JVM features once all setup is complete, including custom setup.
#
AC_DEFUN_ONCE([HOTSPOT_FINALIZE_JVM_FEATURES],
[
for variant in $JVM_VARIANTS; do
AC_MSG_CHECKING([JVM features for JVM variant '$variant'])
features_var_name=JVM_FEATURES_$variant
JVM_FEATURES_FOR_VARIANT=${!features_var_name}
# Filter out user-requested disabled features
BASIC_GET_NON_MATCHING_VALUES(JVM_FEATURES_FOR_VARIANT, $JVM_FEATURES_FOR_VARIANT, $DISABLED_JVM_FEATURES)
# Keep feature lists sorted and free of duplicates
BASIC_SORT_LIST(JVM_FEATURES_FOR_VARIANT, $JVM_FEATURES_FOR_VARIANT)
# Update real feature set variable
eval $features_var_name='"'$JVM_FEATURES_FOR_VARIANT'"'
AC_MSG_RESULT(["$JVM_FEATURES_FOR_VARIANT"])
# Verify that we have at least one gc selected
GC_FEATURES=`$ECHO $JVM_FEATURES_FOR_VARIANT | $GREP gc`
if test "x$GC_FEATURES" = x; then
AC_MSG_WARN([Invalid JVM features: No gc selected for variant $variant.])
fi
# Validate features (for configure script errors, not user errors)
BASIC_GET_NON_MATCHING_VALUES(INVALID_FEATURES, $JVM_FEATURES_FOR_VARIANT, $VALID_JVM_FEATURES)
if test "x$INVALID_FEATURES" != x; then
AC_MSG_ERROR([Internal configure script error. Invalid JVM feature(s): $INVALID_FEATURES])
fi
done
])
################################################################################
# Check if gtest should be built
#
AC_DEFUN_ONCE([HOTSPOT_ENABLE_DISABLE_GTEST],
[
AC_ARG_ENABLE([hotspot-gtest], [AS_HELP_STRING([--disable-hotspot-gtest],
[Disables building of the Hotspot unit tests @<:@enabled@:>@])])
if test -e "${TOPDIR}/test/hotspot/gtest"; then
GTEST_DIR_EXISTS="true"
else
GTEST_DIR_EXISTS="false"
fi
AC_MSG_CHECKING([if Hotspot gtest unit tests should be built])
if test "x$enable_hotspot_gtest" = "xyes"; then
if test "x$GTEST_DIR_EXISTS" = "xtrue"; then
AC_MSG_RESULT([yes, forced])
BUILD_GTEST="true"
else
AC_MSG_ERROR([Cannot build gtest without the test source])
fi
elif test "x$enable_hotspot_gtest" = "xno"; then
AC_MSG_RESULT([no, forced])
BUILD_GTEST="false"
elif test "x$enable_hotspot_gtest" = "x"; then
if test "x$GTEST_DIR_EXISTS" = "xtrue"; then
AC_MSG_RESULT([yes])
BUILD_GTEST="true"
else
AC_MSG_RESULT([no])
BUILD_GTEST="false"
fi
else
AC_MSG_ERROR([--enable-gtest must be either yes or no])
fi
AC_SUBST(BUILD_GTEST)
UTIL_DEPRECATED_ARG_WITH(with-cpu-port)
])

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2011, 2019, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2011, 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
@@ -34,7 +34,7 @@
AC_DEFUN_ONCE([JDKOPT_SETUP_JDK_VARIANT],
[
# Deprecated in JDK 12
BASIC_DEPRECATED_ARG_WITH([jdk-variant])
UTIL_DEPRECATED_ARG_WITH([jdk-variant])
])
###############################################################################
@@ -46,19 +46,17 @@ AC_DEFUN_ONCE([JDKOPT_SETUP_JDK_VARIANT],
AC_DEFUN_ONCE([JDKOPT_SETUP_DEBUG_LEVEL],
[
DEBUG_LEVEL="release"
AC_MSG_CHECKING([which debug level to use])
AC_ARG_ENABLE([debug], [AS_HELP_STRING([--enable-debug],
[set the debug level to fastdebug (shorthand for --with-debug-level=fastdebug) @<:@disabled@:>@])],
[
ENABLE_DEBUG="${enableval}"
DEBUG_LEVEL="fastdebug"
], [ENABLE_DEBUG="no"])
UTIL_ARG_ENABLE(NAME: debug, DEFAULT: false, RESULT: ENABLE_DEBUG,
DESC: [enable debugging (shorthand for --with-debug-level=fastdebug)],
IF_ENABLED: [ DEBUG_LEVEL="fastdebug" ])
AC_MSG_CHECKING([which debug level to use])
AC_ARG_WITH([debug-level], [AS_HELP_STRING([--with-debug-level],
[set the debug level (release, fastdebug, slowdebug, optimized) @<:@release@:>@])],
[
DEBUG_LEVEL="${withval}"
if test "x$ENABLE_DEBUG" = xyes; then
if test "x$ENABLE_DEBUG" = xtrue; then
AC_MSG_ERROR([You cannot use both --enable-debug and --with-debug-level at the same time.])
fi
])
@@ -103,53 +101,42 @@ AC_DEFUN_ONCE([JDKOPT_SETUP_DEBUG_LEVEL],
#
AC_DEFUN_ONCE([JDKOPT_SETUP_OPEN_OR_CUSTOM],
[
AC_ARG_ENABLE([openjdk-only], [AS_HELP_STRING([--enable-openjdk-only],
[suppress building custom source even if present @<:@disabled@:>@])],,[enable_openjdk_only="no"])
AC_MSG_CHECKING([if custom source is suppressed (openjdk-only)])
AC_MSG_RESULT([$enable_openjdk_only])
if test "x$enable_openjdk_only" = "xyes"; then
SUPPRESS_CUSTOM_EXTENSIONS="true"
elif test "x$enable_openjdk_only" = "xno"; then
SUPPRESS_CUSTOM_EXTENSIONS="false"
else
AC_MSG_ERROR([Invalid value for --enable-openjdk-only: $enable_openjdk_only])
fi
UTIL_ARG_ENABLE(NAME: openjdk-only, DEFAULT: false,
RESULT: SUPPRESS_CUSTOM_EXTENSIONS,
DESC: [suppress building custom source even if present],
CHECKING_MSG: [if custom source is suppressed (openjdk-only)])
])
AC_DEFUN_ONCE([JDKOPT_SETUP_JDK_OPTIONS],
[
# Should we build a JDK without a graphical UI?
AC_MSG_CHECKING([headless only])
AC_ARG_ENABLE([headless-only], [AS_HELP_STRING([--enable-headless-only],
[only build headless (no GUI) support @<:@disabled@:>@])])
if test "x$enable_headless_only" = "xyes"; then
ENABLE_HEADLESS_ONLY="true"
AC_MSG_RESULT([yes])
elif test "x$enable_headless_only" = "xno"; then
ENABLE_HEADLESS_ONLY="false"
AC_MSG_RESULT([no])
elif test "x$enable_headless_only" = "x"; then
ENABLE_HEADLESS_ONLY="false"
AC_MSG_RESULT([no])
else
AC_MSG_ERROR([--enable-headless-only can only take yes or no])
fi
UTIL_ARG_ENABLE(NAME: headless-only, DEFAULT: false,
RESULT: ENABLE_HEADLESS_ONLY,
DESC: [only build headless (no GUI) support],
CHECKING_MSG: [if we should build headless-only (no GUI)])
AC_SUBST(ENABLE_HEADLESS_ONLY)
# Should we build the complete docs, or just a lightweight version?
AC_ARG_ENABLE([full-docs], [AS_HELP_STRING([--enable-full-docs],
[build complete documentation @<:@enabled if all tools found@:>@])])
# should we linktime gc unused code sections in the JDK build ?
if test "x$OPENJDK_TARGET_OS" = "xlinux" && test "x$OPENJDK_TARGET_CPU" = xs390x; then
LINKTIME_GC_DEFAULT=true
else
LINKTIME_GC_DEFAULT=false
fi
# Verify dependencies
UTIL_ARG_ENABLE(NAME: linktime-gc, DEFAULT: $LINKTIME_GC_DEFAULT,
DEFAULT_DESC: [auto], RESULT: ENABLE_LINKTIME_GC,
DESC: [use link time gc on unused code sections in the JDK build],
CHECKING_MSG: [if linker should clean out unused code (linktime-gc)])
AC_SUBST(ENABLE_LINKTIME_GC)
# Check for full doc dependencies
FULL_DOCS_AVAILABLE=true
AC_MSG_CHECKING([for graphviz dot])
if test "x$DOT" != "x"; then
AC_MSG_RESULT([yes])
else
AC_MSG_RESULT([no, cannot generate full docs])
FULL_DOCS_DEP_MISSING=true
FULL_DOCS_AVAILABLE=false
fi
AC_MSG_CHECKING([for pandoc])
@@ -157,35 +144,13 @@ AC_DEFUN_ONCE([JDKOPT_SETUP_JDK_OPTIONS],
AC_MSG_RESULT([yes])
else
AC_MSG_RESULT([no, cannot generate full docs])
FULL_DOCS_DEP_MISSING=true
fi
AC_MSG_CHECKING([full docs])
if test "x$enable_full_docs" = xyes; then
if test "x$FULL_DOCS_DEP_MISSING" = "xtrue"; then
AC_MSG_RESULT([no, missing dependencies])
HELP_MSG_MISSING_DEPENDENCY([dot])
AC_MSG_ERROR([Cannot enable full docs with missing dependencies. See above. $HELP_MSG])
else
ENABLE_FULL_DOCS=true
AC_MSG_RESULT([yes, forced])
fi
elif test "x$enable_full_docs" = xno; then
ENABLE_FULL_DOCS=false
AC_MSG_RESULT([no, forced])
elif test "x$enable_full_docs" = x; then
# Check for prerequisites
if test "x$FULL_DOCS_DEP_MISSING" = xtrue; then
ENABLE_FULL_DOCS=false
AC_MSG_RESULT([no, missing dependencies])
else
ENABLE_FULL_DOCS=true
AC_MSG_RESULT([yes, dependencies present])
fi
else
AC_MSG_ERROR([--enable-full-docs can only take yes or no])
FULL_DOCS_AVAILABLE=false
fi
# Should we build the complete docs, or just a lightweight version?
UTIL_ARG_ENABLE(NAME: full-docs, DEFAULT: auto, RESULT: ENABLE_FULL_DOCS,
AVAILABLE: $FULL_DOCS_AVAILABLE, DESC: [build complete documentation],
DEFAULT_DESC: [enabled if all tools found])
AC_SUBST(ENABLE_FULL_DOCS)
# Choose cacerts source file
@@ -205,14 +170,8 @@ AC_DEFUN_ONCE([JDKOPT_SETUP_JDK_OPTIONS],
AC_SUBST(CACERTS_FILE)
# Enable or disable unlimited crypto
AC_ARG_ENABLE(unlimited-crypto, [AS_HELP_STRING([--disable-unlimited-crypto],
[Disable unlimited crypto policy @<:@enabled@:>@])],,
[enable_unlimited_crypto=yes])
if test "x$enable_unlimited_crypto" = "xyes"; then
UNLIMITED_CRYPTO=true
else
UNLIMITED_CRYPTO=false
fi
UTIL_ARG_ENABLE(NAME: unlimited-crypto, DEFAULT: true, RESULT: UNLIMITED_CRYPTO,
DESC: [enable unlimited crypto policy])
AC_SUBST(UNLIMITED_CRYPTO)
# Should we build the serviceability agent (SA)?
@@ -290,7 +249,7 @@ AC_DEFUN_ONCE([JDKOPT_DETECT_INTREE_EC],
AC_DEFUN_ONCE([JDKOPT_SETUP_DEBUG_SYMBOLS],
[
#
# NATIVE_DEBUG_SYMBOLS
# Native debug symbols.
# This must be done after the toolchain is setup, since we're looking at objcopy.
#
AC_MSG_CHECKING([what type of native debug symbols to use])
@@ -302,24 +261,48 @@ AC_DEFUN_ONCE([JDKOPT_SETUP_DEBUG_SYMBOLS],
if test "x$withval" = xexternal || test "x$withval" = xzipped; then
AC_MSG_ERROR([AIX only supports the parameters 'none' and 'internal' for --with-native-debug-symbols])
fi
elif test "x$OPENJDK_TARGET_OS" = xwindows; then
if test "x$withval" = xinternal; then
AC_MSG_ERROR([Windows does not support the parameter 'internal' for --with-native-debug-symbols])
fi
fi
],
[
if test "x$OPENJDK_TARGET_OS" = xaix; then
# AIX doesn't support 'external' so use 'internal' as default
with_native_debug_symbols="internal"
if test "x$STATIC_BUILD" = xtrue; then
with_native_debug_symbols="none"
else
if test "x$STATIC_BUILD" = xtrue; then
with_native_debug_symbols="none"
if test "x$OPENJDK_TARGET_OS" = xaix; then
# AIX doesn't support 'external' so use 'internal' as default
with_native_debug_symbols="internal"
else
with_native_debug_symbols="external"
fi
fi
])
NATIVE_DEBUG_SYMBOLS=$with_native_debug_symbols
AC_MSG_RESULT([$NATIVE_DEBUG_SYMBOLS])
AC_MSG_RESULT([$with_native_debug_symbols])
if test "x$NATIVE_DEBUG_SYMBOLS" = xzipped; then
if test "x$with_native_debug_symbols" = xnone; then
COMPILE_WITH_DEBUG_SYMBOLS=false
COPY_DEBUG_SYMBOLS=false
ZIP_EXTERNAL_DEBUG_SYMBOLS=false
elif test "x$with_native_debug_symbols" = xinternal; then
COMPILE_WITH_DEBUG_SYMBOLS=true
COPY_DEBUG_SYMBOLS=false
ZIP_EXTERNAL_DEBUG_SYMBOLS=false
elif test "x$with_native_debug_symbols" = xexternal; then
if test "x$OPENJDK_TARGET_OS" = xsolaris || test "x$OPENJDK_TARGET_OS" = xlinux; then
if test "x$OBJCOPY" = x; then
# enabling of enable-debug-symbols and can't find objcopy
# this is an error
AC_MSG_ERROR([Unable to find objcopy, cannot enable native debug symbols])
fi
fi
COMPILE_WITH_DEBUG_SYMBOLS=true
COPY_DEBUG_SYMBOLS=true
ZIP_EXTERNAL_DEBUG_SYMBOLS=false
elif test "x$with_native_debug_symbols" = xzipped; then
if test "x$OPENJDK_TARGET_OS" = xsolaris || test "x$OPENJDK_TARGET_OS" = xlinux; then
if test "x$OBJCOPY" = x; then
@@ -332,27 +315,6 @@ AC_DEFUN_ONCE([JDKOPT_SETUP_DEBUG_SYMBOLS],
COMPILE_WITH_DEBUG_SYMBOLS=true
COPY_DEBUG_SYMBOLS=true
ZIP_EXTERNAL_DEBUG_SYMBOLS=true
elif test "x$NATIVE_DEBUG_SYMBOLS" = xnone; then
COMPILE_WITH_DEBUG_SYMBOLS=false
COPY_DEBUG_SYMBOLS=false
ZIP_EXTERNAL_DEBUG_SYMBOLS=false
elif test "x$NATIVE_DEBUG_SYMBOLS" = xinternal; then
COMPILE_WITH_DEBUG_SYMBOLS=true
COPY_DEBUG_SYMBOLS=false
ZIP_EXTERNAL_DEBUG_SYMBOLS=false
elif test "x$NATIVE_DEBUG_SYMBOLS" = xexternal; then
if test "x$OPENJDK_TARGET_OS" = xsolaris || test "x$OPENJDK_TARGET_OS" = xlinux; then
if test "x$OBJCOPY" = x; then
# enabling of enable-debug-symbols and can't find objcopy
# this is an error
AC_MSG_ERROR([Unable to find objcopy, cannot enable native debug symbols])
fi
fi
COMPILE_WITH_DEBUG_SYMBOLS=true
COPY_DEBUG_SYMBOLS=true
ZIP_EXTERNAL_DEBUG_SYMBOLS=false
else
AC_MSG_ERROR([Allowed native debug symbols are: none, internal, external, zipped])
fi
@@ -360,6 +322,33 @@ AC_DEFUN_ONCE([JDKOPT_SETUP_DEBUG_SYMBOLS],
AC_SUBST(COMPILE_WITH_DEBUG_SYMBOLS)
AC_SUBST(COPY_DEBUG_SYMBOLS)
AC_SUBST(ZIP_EXTERNAL_DEBUG_SYMBOLS)
# Should we add external native debug symbols to the shipped bundles?
AC_MSG_CHECKING([if we should add external native debug symbols to the shipped bundles])
AC_ARG_WITH([external-symbols-in-bundles],
[AS_HELP_STRING([--with-external-symbols-in-bundles],
[which type of external native debug symbol information shall be shipped in product bundles (none, public, full)
(e.g. ship full/stripped pdbs on Windows) @<:@none@:>@])])
if test "x$with_external_symbols_in_bundles" = x || test "x$with_external_symbols_in_bundles" = xnone ; then
AC_MSG_RESULT([no])
elif test "x$with_external_symbols_in_bundles" = xfull || test "x$with_external_symbols_in_bundles" = xpublic ; then
if test "x$OPENJDK_TARGET_OS" != xwindows ; then
AC_MSG_ERROR([--with-external-symbols-in-bundles currently only works on windows!])
elif test "x$COPY_DEBUG_SYMBOLS" != xtrue ; then
AC_MSG_ERROR([--with-external-symbols-in-bundles only works when --with-native-debug-symbols=external is used!])
elif test "x$with_external_symbols_in_bundles" = xfull ; then
AC_MSG_RESULT([full])
SHIP_DEBUG_SYMBOLS=full
else
AC_MSG_RESULT([public])
SHIP_DEBUG_SYMBOLS=public
fi
else
AC_MSG_ERROR([$with_external_symbols_in_bundles is an unknown value for --with-external-symbols-in-bundles])
fi
AC_SUBST(SHIP_DEBUG_SYMBOLS)
])
################################################################################
@@ -368,14 +357,19 @@ AC_DEFUN_ONCE([JDKOPT_SETUP_DEBUG_SYMBOLS],
#
AC_DEFUN_ONCE([JDKOPT_SETUP_CODE_COVERAGE],
[
AC_ARG_ENABLE(native-coverage, [AS_HELP_STRING([--enable-native-coverage],
[enable native compilation with code coverage data@<:@disabled@:>@])])
GCOV_ENABLED="false"
if test "x$enable_native_coverage" = "xyes"; then
case $TOOLCHAIN_TYPE in
gcc | clang)
AC_MSG_CHECKING([if native coverage is enabled])
AC_MSG_RESULT([yes])
UTIL_ARG_ENABLE(NAME: native-coverage, DEFAULT: false, RESULT: GCOV_ENABLED,
DESC: [enable native compilation with code coverage data],
CHECK_AVAILABLE: [
AC_MSG_CHECKING([if native coverage is available])
if test "x$TOOLCHAIN_TYPE" = "xgcc" ||
test "x$TOOLCHAIN_TYPE" = "xclang"; then
AC_MSG_RESULT([yes])
else
AC_MSG_RESULT([no])
AVAILABLE=false
fi
],
IF_ENABLED: [
GCOV_CFLAGS="-fprofile-arcs -ftest-coverage -fno-inline"
GCOV_LDFLAGS="-fprofile-arcs"
JVM_CFLAGS="$JVM_CFLAGS $GCOV_CFLAGS"
@@ -386,18 +380,7 @@ AC_DEFUN_ONCE([JDKOPT_SETUP_CODE_COVERAGE],
CXXFLAGS_JDKEXE="$CXXFLAGS_JDKEXE $GCOV_CFLAGS"
LDFLAGS_JDKLIB="$LDFLAGS_JDKLIB $GCOV_LDFLAGS"
LDFLAGS_JDKEXE="$LDFLAGS_JDKEXE $GCOV_LDFLAGS"
GCOV_ENABLED="true"
;;
*)
AC_MSG_ERROR([--enable-native-coverage only works with toolchain type gcc or clang])
;;
esac
elif test "x$enable_native_coverage" = "xno"; then
AC_MSG_CHECKING([if native coverage is enabled])
AC_MSG_RESULT([no])
elif test "x$enable_native_coverage" != "x"; then
AC_MSG_ERROR([--enable-native-coverage can only be assigned "yes" or "no"])
fi
])
AC_SUBST(GCOV_ENABLED)
AC_ARG_WITH(jcov, [AS_HELP_STRING([--with-jcov],
@@ -419,14 +402,14 @@ AC_DEFUN_ONCE([JDKOPT_SETUP_CODE_COVERAGE],
AC_MSG_ERROR([Invalid JCov bundle: "$JCOV_HOME/lib/jcov.jar" does not exist])
fi
JCOV_ENABLED="true"
BASIC_FIXUP_PATH(JCOV_HOME)
UTIL_FIXUP_PATH(JCOV_HOME)
if test "x$with_jcov_input_jdk" != "x" ; then
JCOV_INPUT_JDK="$with_jcov_input_jdk"
if test ! -f "$JCOV_INPUT_JDK/bin/java$EXE_SUFFIX"; then
AC_MSG_RESULT([fail])
AC_MSG_ERROR([Invalid JDK bundle: "$JCOV_INPUT_JDK/bin/java$EXE_SUFFIX" does not exist])
fi
BASIC_FIXUP_PATH(JCOV_INPUT_JDK)
UTIL_FIXUP_PATH(JCOV_INPUT_JDK)
fi
if test "x$with_jcov_filters" != "x" ; then
JCOV_FILTERS="$with_jcov_filters"
@@ -444,14 +427,19 @@ AC_DEFUN_ONCE([JDKOPT_SETUP_CODE_COVERAGE],
#
AC_DEFUN_ONCE([JDKOPT_SETUP_ADDRESS_SANITIZER],
[
AC_ARG_ENABLE(asan, [AS_HELP_STRING([--enable-asan],
[enable AddressSanitizer if possible @<:@disabled@:>@])])
ASAN_ENABLED="no"
if test "x$enable_asan" = "xyes"; then
case $TOOLCHAIN_TYPE in
gcc | clang)
AC_MSG_CHECKING([if asan is enabled])
AC_MSG_RESULT([yes])
UTIL_ARG_ENABLE(NAME: asan, DEFAULT: false,
DESC: [enable AddressSanitizer],
CHECK_AVAILABLE: [
AC_MSG_CHECKING([if AddressSanitizer (asan) is available])
if test "x$TOOLCHAIN_TYPE" = "xgcc" ||
test "x$TOOLCHAIN_TYPE" = "xclang"; then
AC_MSG_RESULT([yes])
else
AC_MSG_RESULT([no])
AVAILABLE=false
fi
],
IF_ENABLED: [
ASAN_CFLAGS="-fsanitize=address -fno-omit-frame-pointer"
ASAN_LDFLAGS="-fsanitize=address"
JVM_CFLAGS="$JVM_CFLAGS $ASAN_CFLAGS"
@@ -463,17 +451,10 @@ AC_DEFUN_ONCE([JDKOPT_SETUP_ADDRESS_SANITIZER],
LDFLAGS_JDKLIB="$LDFLAGS_JDKLIB $ASAN_LDFLAGS"
LDFLAGS_JDKEXE="$LDFLAGS_JDKEXE $ASAN_LDFLAGS"
ASAN_ENABLED="yes"
;;
*)
AC_MSG_ERROR([--enable-asan only works with toolchain type gcc or clang])
;;
esac
elif test "x$enable_asan" = "xno"; then
AC_MSG_CHECKING([if asan is enabled])
AC_MSG_RESULT([no])
elif test "x$enable_asan" != "x"; then
AC_MSG_ERROR([--enable-asan can only be assigned "yes" or "no"])
fi
],
IF_DISABLED: [
ASAN_ENABLED="no"
])
AC_SUBST(ASAN_ENABLED)
])
@@ -485,26 +466,23 @@ AC_DEFUN_ONCE([JDKOPT_SETUP_ADDRESS_SANITIZER],
#
AC_DEFUN_ONCE([JDKOPT_SETUP_STATIC_BUILD],
[
AC_ARG_ENABLE([static-build], [AS_HELP_STRING([--enable-static-build],
[enable static library build @<:@disabled@:>@])])
STATIC_BUILD=false
if test "x$enable_static_build" = "xyes"; then
AC_MSG_CHECKING([if static build is enabled])
AC_MSG_RESULT([yes])
if test "x$OPENJDK_TARGET_OS" != "xmacosx"; then
AC_MSG_ERROR([--enable-static-build is only supported for macosx builds])
fi
STATIC_BUILD_CFLAGS="-DSTATIC_BUILD=1"
CFLAGS_JDKLIB_EXTRA="$CFLAGS_JDKLIB_EXTRA $STATIC_BUILD_CFLAGS"
CXXFLAGS_JDKLIB_EXTRA="$CXXFLAGS_JDKLIB_EXTRA $STATIC_BUILD_CFLAGS"
STATIC_BUILD=true
elif test "x$enable_static_build" = "xno"; then
AC_MSG_CHECKING([if static build is enabled])
AC_MSG_RESULT([no])
elif test "x$enable_static_build" != "x"; then
AC_MSG_ERROR([--enable-static-build can only be assigned "yes" or "no"])
fi
UTIL_ARG_ENABLE(NAME: static-build, DEFAULT: false, RESULT: STATIC_BUILD,
DESC: [enable static library build],
CHECKING_MSG: [if static build is enabled],
CHECK_AVAILABLE: [
AC_MSG_CHECKING([if static build is available])
if test "x$OPENJDK_TARGET_OS" = "xmacosx"; then
AC_MSG_RESULT([yes])
else
AC_MSG_RESULT([no])
AVAILABLE=false
fi
],
IF_ENABLED: [
STATIC_BUILD_CFLAGS="-DSTATIC_BUILD=1"
CFLAGS_JDKLIB_EXTRA="$CFLAGS_JDKLIB_EXTRA $STATIC_BUILD_CFLAGS"
CXXFLAGS_JDKLIB_EXTRA="$CXXFLAGS_JDKLIB_EXTRA $STATIC_BUILD_CFLAGS"
])
AC_SUBST(STATIC_BUILD)
])
@@ -515,24 +493,10 @@ AC_DEFUN_ONCE([JDKOPT_SETUP_STATIC_BUILD],
#
AC_DEFUN_ONCE([JDKOPT_SETUP_JLINK_OPTIONS],
[
AC_ARG_ENABLE([keep-packaged-modules], [AS_HELP_STRING([--disable-keep-packaged-modules],
[Do not keep packaged modules in jdk image @<:@enable@:>@])])
AC_MSG_CHECKING([if packaged modules are kept])
if test "x$enable_keep_packaged_modules" = "xyes"; then
AC_MSG_RESULT([yes])
JLINK_KEEP_PACKAGED_MODULES=true
elif test "x$enable_keep_packaged_modules" = "xno"; then
AC_MSG_RESULT([no])
JLINK_KEEP_PACKAGED_MODULES=false
elif test "x$enable_keep_packaged_modules" = "x"; then
AC_MSG_RESULT([yes (default)])
JLINK_KEEP_PACKAGED_MODULES=true
else
AC_MSG_RESULT([error])
AC_MSG_ERROR([--enable-keep-packaged-modules accepts no argument])
fi
UTIL_ARG_ENABLE(NAME: keep-packaged-modules, DEFAULT: true,
RESULT: JLINK_KEEP_PACKAGED_MODULES,
DESC: [enable keeping of packaged modules in jdk image],
CHECKING_MSG: [if packaged modules are kept])
AC_SUBST(JLINK_KEEP_PACKAGED_MODULES)
])
@@ -542,36 +506,20 @@ AC_DEFUN_ONCE([JDKOPT_SETUP_JLINK_OPTIONS],
#
AC_DEFUN_ONCE([JDKOPT_ENABLE_DISABLE_FAILURE_HANDLER],
[
AC_ARG_ENABLE([jtreg-failure-handler], [AS_HELP_STRING([--enable-jtreg-failure-handler],
[forces build of the jtreg failure handler to be enabled, missing dependencies
become fatal errors. Default is auto, where the failure handler is built if all
dependencies are present and otherwise just disabled.])])
AC_MSG_CHECKING([if jtreg failure handler should be built])
if test "x$enable_jtreg_failure_handler" = "xyes"; then
if test "x$JT_HOME" = "x"; then
AC_MSG_ERROR([Cannot enable jtreg failure handler without jtreg.])
else
BUILD_FAILURE_HANDLER=true
AC_MSG_RESULT([yes, forced])
fi
elif test "x$enable_jtreg_failure_handler" = "xno"; then
BUILD_FAILURE_HANDLER=false
AC_MSG_RESULT([no, forced])
elif test "x$enable_jtreg_failure_handler" = "xauto" \
|| test "x$enable_jtreg_failure_handler" = "x"; then
if test "x$JT_HOME" = "x"; then
BUILD_FAILURE_HANDLER=false
AC_MSG_RESULT([no, missing jtreg])
else
BUILD_FAILURE_HANDLER=true
AC_MSG_RESULT([yes, jtreg present])
fi
else
AC_MSG_ERROR([Invalid value for --enable-jtreg-failure-handler: $enable_jtreg_failure_handler])
fi
UTIL_ARG_ENABLE(NAME: jtreg-failure-handler, DEFAULT: auto,
RESULT: BUILD_FAILURE_HANDLER,
DESC: [enable keeping of packaged modules in jdk image],
DEFAULT_DESC: [enabled if jtreg is present],
CHECKING_MSG: [if the jtreg failure handler should be built],
CHECK_AVAILABLE: [
AC_MSG_CHECKING([if the jtreg failure handler is available])
if test "x$JT_HOME" != "x"; then
AC_MSG_RESULT([yes])
else
AVAILABLE=false
AC_MSG_RESULT([no (jtreg not present)])
fi
])
AC_SUBST(BUILD_FAILURE_HANDLER)
])
@@ -581,48 +529,14 @@ AC_DEFUN_ONCE([JDKOPT_ENABLE_DISABLE_FAILURE_HANDLER],
#
AC_DEFUN_ONCE([JDKOPT_ENABLE_DISABLE_GENERATE_CLASSLIST],
[
AC_ARG_ENABLE([generate-classlist], [AS_HELP_STRING([--disable-generate-classlist],
[forces enabling or disabling of the generation of a CDS classlist at build time.
Default is to generate it when either the server or client JVMs are built and
enable-cds is true.])])
# Check if it's likely that it's possible to generate the classlist. Depending
# on exact jvm configuration it could be possible anyway.
if test "x$ENABLE_CDS" = "xtrue" && (HOTSPOT_CHECK_JVM_VARIANT(server) || HOTSPOT_CHECK_JVM_VARIANT(client) || HOTSPOT_CHECK_JVM_FEATURE(cds)); then
ENABLE_GENERATE_CLASSLIST_POSSIBLE="true"
else
ENABLE_GENERATE_CLASSLIST_POSSIBLE="false"
fi
AC_MSG_CHECKING([if the CDS classlist generation should be enabled])
if test "x$enable_generate_classlist" = "xyes"; then
AC_MSG_RESULT([yes, forced])
ENABLE_GENERATE_CLASSLIST="true"
if test "x$ENABLE_GENERATE_CLASSLIST_POSSIBLE" = "xfalse"; then
if test "x$ENABLE_CDS" = "xfalse"; then
# In GenerateLinkOptData.gmk, DumpLoadedClassList is used to generate the
# classlist file. It never will work in this case since the VM will report
# an error for DumpLoadedClassList when CDS is disabled.
AC_MSG_ERROR([Generation of classlist is not possible with enable-cds=false])
else
AC_MSG_WARN([Generation of classlist might not be possible with JVM Variants $JVM_VARIANTS and enable-cds=$ENABLE_CDS])
fi
fi
elif test "x$enable_generate_classlist" = "xno"; then
AC_MSG_RESULT([no, forced])
ENABLE_GENERATE_CLASSLIST="false"
elif test "x$enable_generate_classlist" = "x"; then
if test "x$ENABLE_GENERATE_CLASSLIST_POSSIBLE" = "xtrue"; then
AC_MSG_RESULT([yes])
ENABLE_GENERATE_CLASSLIST="true"
else
AC_MSG_RESULT([no])
ENABLE_GENERATE_CLASSLIST="false"
fi
else
AC_MSG_ERROR([Invalid value for --enable-generate-classlist: $enable_generate_classlist])
fi
# In GenerateLinkOptData.gmk, DumpLoadedClassList is used to generate the
# classlist file. It never will work if CDS is disabled, since the VM will report
# an error for DumpLoadedClassList.
UTIL_ARG_ENABLE(NAME: generate-classlist, DEFAULT: auto,
RESULT: ENABLE_GENERATE_CLASSLIST, AVAILABLE: $ENABLE_CDS,
DESC: [enable generation of a CDS classlist at build time],
DEFAULT_DESC: [enabled if the JVM feature 'cds' is enabled for all JVM variants],
CHECKING_MSG: [if the CDS classlist generation should be enabled])
AC_SUBST(ENABLE_GENERATE_CLASSLIST)
])
@@ -654,56 +568,33 @@ AC_DEFUN([JDKOPT_EXCLUDE_TRANSLATIONS],
#
AC_DEFUN([JDKOPT_ENABLE_DISABLE_MANPAGES],
[
AC_ARG_ENABLE([manpages], [AS_HELP_STRING([--disable-manpages],
[Set to disable copy of static man pages @<:@enabled@:>@])])
BUILD_MANPAGES="true"
AC_MSG_CHECKING([if static man pages should be copied])
if test "x$enable_manpages" = "x"; then
AC_MSG_RESULT([yes])
elif test "x$enable_manpages" = "xyes"; then
AC_MSG_RESULT([yes, forced])
elif test "x$enable_manpages" = "xno"; then
AC_MSG_RESULT([no, forced])
BUILD_MANPAGES="false"
else
AC_MSG_RESULT([no])
AC_MSG_ERROR([--enable-manpages can only yes/no or empty])
fi
UTIL_ARG_ENABLE(NAME: manpages, DEFAULT: true, RESULT: BUILD_MANPAGES,
DESC: [enable copying of static man pages],
CHECKING_MSG: [if static man pages should be copied])
AC_SUBST(BUILD_MANPAGES)
])
################################################################################
#
# Disable the default CDS archive generation
# cross compilation - disabled
#
AC_DEFUN([JDKOPT_ENABLE_DISABLE_CDS_ARCHIVE],
[
AC_ARG_ENABLE([cds-archive], [AS_HELP_STRING([--disable-cds-archive],
[Set to disable generation of a default CDS archive in the product image @<:@enabled@:>@])])
AC_MSG_CHECKING([if a default CDS archive should be generated])
if test "x$ENABLE_CDS" = "xfalse"; then
AC_MSG_RESULT([no, because CDS is disabled])
BUILD_CDS_ARCHIVE="false"
elif test "x$COMPILE_TYPE" = "xcross"; then
AC_MSG_RESULT([no, not possible with cross compilation])
BUILD_CDS_ARCHIVE="false"
elif test "x$enable_cds_archive" = "xyes"; then
AC_MSG_RESULT([yes, forced])
BUILD_CDS_ARCHIVE="true"
elif test "x$enable_cds_archive" = "x"; then
AC_MSG_RESULT([yes])
BUILD_CDS_ARCHIVE="true"
elif test "x$enable_cds_archive" = "xno"; then
AC_MSG_RESULT([no, forced])
BUILD_CDS_ARCHIVE="false"
else
AC_MSG_RESULT([no])
AC_MSG_ERROR([--enable-cds_archive can only be yes/no or empty])
fi
UTIL_ARG_ENABLE(NAME: cds-archive, DEFAULT: auto, RESULT: BUILD_CDS_ARCHIVE,
DESC: [enable generation of a default CDS archive in the product image],
DEFAULT_DESC: [enabled if possible],
CHECKING_MSG: [if a default CDS archive should be generated],
CHECK_AVAILABLE: [
AC_MSG_CHECKING([if CDS archive is available])
if test "x$ENABLE_CDS" = "xfalse"; then
AC_MSG_RESULT([no (CDS is disabled)])
AVAILABLE=false
elif test "x$COMPILE_TYPE" = "xcross"; then
AC_MSG_RESULT([no (not possible with cross compilation)])
AVAILABLE=false
else
AC_MSG_RESULT([yes])
fi
])
AC_SUBST(BUILD_CDS_ARCHIVE)
])

View File

@@ -0,0 +1,671 @@
#
# Copyright (c) 2011, 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.
#
###############################################################################
# Terminology used in this file:
#
# Valid features == All possible features that the JVM knows about.
# Deprecated features == Previously known features (not considered valid).
# Available features == Features that are possible to use in this configuration.
# Default features == Features that are on by default in this configuration.
# Enabled features == Features requested by the user to be present.
# Disabled features == Features excluded from being used by the user.
# Active features == The exact set of features to be used for a JVM variant.
#
# All valid features are considered available, unless listed as unavailable.
# All available features will be turned on as default, unless listed in a filter.
###############################################################################
# We need these as m4 defines to be able to loop over them using m4 later on.
# All valid JVM features, regardless of platform
m4_define(jvm_features_valid, m4_normalize( \
ifdef([custom_jvm_features_valid], custom_jvm_features_valid) \
\
aot cds compiler1 compiler2 dtrace epsilongc g1gc graal jfr jni-check \
jvmci jvmti link-time-opt management minimal nmt opt-size parallelgc \
serialgc services shenandoahgc static-build vm-structs zero zgc \
))
# Deprecated JVM features (these are ignored, but with a warning)
m4_define(jvm_features_deprecated, m4_normalize(
cmsgc trace \
))
# Feature descriptions
m4_define(jvm_feature_desc_aot, [enable ahead of time compilation (AOT)])
m4_define(jvm_feature_desc_cds, [enable class data sharing (CDS)])
m4_define(jvm_feature_desc_compiler1, [enable hotspot compiler C1])
m4_define(jvm_feature_desc_compiler2, [enable hotspot compiler C2])
m4_define(jvm_feature_desc_dtrace, [enable dtrace support])
m4_define(jvm_feature_desc_epsilongc, [include the epsilon (no-op) garbage collector])
m4_define(jvm_feature_desc_g1gc, [include the G1 garbage collector])
m4_define(jvm_feature_desc_graal, [enable Graal (jdk.internal.vm.compiler)])
m4_define(jvm_feature_desc_jfr, [enable JDK Flight Recorder (JFR)])
m4_define(jvm_feature_desc_jni_check, [enable -Xcheck:jni support])
m4_define(jvm_feature_desc_jvmci, [enable JVM Compiler Interface (JVMCI)])
m4_define(jvm_feature_desc_jvmti, [enable Java Virtual Machine Tool Interface (JVM TI)])
m4_define(jvm_feature_desc_link_time_opt, [enable link time optimization])
m4_define(jvm_feature_desc_management, [enable java.lang.management API support])
m4_define(jvm_feature_desc_minimal, [support building variant 'minimal'])
m4_define(jvm_feature_desc_nmt, [include native memory tracking (NMT)])
m4_define(jvm_feature_desc_opt_size, [optimize the JVM library for size])
m4_define(jvm_feature_desc_parallelgc, [include the parallel garbage collector])
m4_define(jvm_feature_desc_serialgc, [include the serial garbage collector])
m4_define(jvm_feature_desc_services, [enable diagnostic services and client attaching])
m4_define(jvm_feature_desc_shenandoahgc, [include the Shenandoah garbage collector])
m4_define(jvm_feature_desc_static_build, [build static library instead of dynamic])
m4_define(jvm_feature_desc_vm_structs, [export JVM structures to the Serviceablility Agent])
m4_define(jvm_feature_desc_zero, [support building variant 'zero'])
m4_define(jvm_feature_desc_zgc, [include the Z garbage collector])
###############################################################################
# Parse command line options for JVM feature selection. After this function
# has run $JVM_FEATURES_ENABLED, $JVM_FEATURES_DISABLED and $JVM_FEATURES_VALID
# can be used.
#
AC_DEFUN_ONCE([JVM_FEATURES_PARSE_OPTIONS],
[
# Setup shell variables from the m4 lists
UTIL_SORT_LIST(JVM_FEATURES_VALID, "jvm_features_valid")
UTIL_SORT_LIST(JVM_FEATURES_DEPRECATED, "jvm_features_deprecated")
# For historical reasons, some jvm features have their own, shorter names.
# Keep those as aliases for the --enable-jvm-feature-* style arguments.
UTIL_ALIASED_ARG_ENABLE(aot, --enable-jvm-feature-aot)
UTIL_ALIASED_ARG_ENABLE(cds, --enable-jvm-feature-cds)
UTIL_ALIASED_ARG_ENABLE(dtrace, --enable-jvm-feature-dtrace)
# First check for features using the
# --with-jvm-features="<[-]feature>[,<[-]feature> ...]" syntax.
AC_ARG_WITH([jvm-features], [AS_HELP_STRING([--with-jvm-features],
[JVM features to enable (foo) or disable (-foo), separated by comma. Use
'--help' to show possible values @<:@none@:>@])])
if test "x$with_jvm_features" != x; then
# Replace "," with " ".
user_jvm_feature_list=${with_jvm_features//,/ }
JVM_FEATURES_ENABLED=`$ECHO $user_jvm_feature_list | \
$AWK '{ for (i=1; i<=NF; i++) if (!match($i, /^-.*/)) printf("%s ", $i) }'`
JVM_FEATURES_DISABLED=`$ECHO $user_jvm_feature_list | \
$AWK '{ for (i=1; i<=NF; i++) if (match($i, /^-.*/)) printf("%s ", substr($i, 2))}'`
# Verify that the user has provided only valid (or deprecated) features
UTIL_GET_NON_MATCHING_VALUES(invalid_features, $JVM_FEATURES_ENABLED \
$JVM_FEATURES_DISABLED, $JVM_FEATURES_VALID $JVM_FEATURES_DEPRECATED)
if test "x$invalid_features" != x; then
AC_MSG_NOTICE([Unknown JVM features specified: '$invalid_features'])
AC_MSG_NOTICE([The available JVM features are: '$JVM_FEATURES_VALID'])
AC_MSG_ERROR([Cannot continue])
fi
# Check if the user has provided deprecated features
UTIL_GET_MATCHING_VALUES(deprecated_features, $JVM_FEATURES_ENABLED \
$JVM_FEATURES_DISABLED, $JVM_FEATURES_DEPRECATED)
if test "x$deprecated_features" != x; then
AC_MSG_WARN([Deprecated JVM features specified (will be ignored): '$deprecated_features'])
# Filter out deprecated features
UTIL_GET_NON_MATCHING_VALUES(JVM_FEATURES_ENABLED, \
$JVM_FEATURES_ENABLED, $deprecated_features)
UTIL_GET_NON_MATCHING_VALUES(JVM_FEATURES_DISABLED, \
$JVM_FEATURES_DISABLED, $deprecated_features)
fi
fi
# Then check for features using the "--enable-jvm-feature-<feature>" syntax.
# Using m4, loop over all features with the variable FEATURE.
m4_foreach(FEATURE, m4_split(jvm_features_valid), [
# Create an m4 variable containing a shell variable name (like
# "enable_jvm_feature_static_build"), and the description.
m4_define(FEATURE_SHELL, [enable_jvm_feature_]m4_translit(FEATURE, -, _))
m4_define(FEATURE_DESCRIPTION, [jvm_feature_desc_]m4_translit(FEATURE, -, _))
AC_ARG_ENABLE(jvm-feature-FEATURE, AS_HELP_STRING(
[--enable-jvm-feature-FEATURE], [enable jvm feature 'FEATURE' (FEATURE_DESCRIPTION)]))
if test "x$FEATURE_SHELL" = xyes; then
JVM_FEATURES_ENABLED="$JVM_FEATURES_ENABLED FEATURE"
elif test "x$FEATURE_SHELL" = xno; then
JVM_FEATURES_DISABLED="$JVM_FEATURES_DISABLED FEATURE"
elif test "x$FEATURE_SHELL" != x; then
AC_MSG_ERROR([Invalid value for --enable-jvm-feature-FEATURE: '$FEATURE_SHELL'])
fi
m4_undefine([FEATURE_SHELL])
m4_undefine([FEATURE_DESCRIPTION])
])
# Likewise, check for deprecated arguments.
m4_foreach(FEATURE, m4_split(jvm_features_deprecated), [
AC_ARG_ENABLE(jvm-feature-FEATURE, AS_HELP_STRING(
[--enable-jvm-feature-FEATURE],
[Deprecated. Option is kept for backwards compatibility and is ignored]))
m4_define(FEATURE_SHELL, [enable_jvm_feature_]m4_translit(FEATURE, -, _))
if test "x$FEATURE_SHELL" != x; then
AC_MSG_WARN([Deprecated JVM feature, will be ignored: --enable-jvm-feature-FEATURE])
fi
m4_undefine([FEATURE_SHELL])
])
# Check if the user has both enabled and disabled a feature
UTIL_GET_MATCHING_VALUES(enabled_and_disabled, $JVM_FEATURES_ENABLED, \
$JVM_FEATURES_DISABLED)
if test "x$enabled_and_disabled" != x; then
AC_MSG_NOTICE([These feature are both enabled and disabled: '$enabled_and_disabled'])
AC_MSG_NOTICE([This can happen if you mix --with-jvm-features and --enable-jvm-feature-*])
AC_MSG_NOTICE([The recommendation is to only use --enable-jvm-feature-*])
AC_MSG_ERROR([Cannot continue])
fi
# Clean up lists and announce results to user
UTIL_SORT_LIST(JVM_FEATURES_ENABLED, $JVM_FEATURES_ENABLED)
AC_MSG_CHECKING([for JVM features enabled by the user])
if test "x$JVM_FEATURES_ENABLED" != x; then
AC_MSG_RESULT(['$JVM_FEATURES_ENABLED'])
else
AC_MSG_RESULT([none])
fi
UTIL_SORT_LIST(JVM_FEATURES_DISABLED, $JVM_FEATURES_DISABLED)
AC_MSG_CHECKING([for JVM features disabled by the user])
if test "x$JVM_FEATURES_DISABLED" != x; then
AC_MSG_RESULT(['$JVM_FEATURES_DISABLED'])
else
AC_MSG_RESULT([none])
fi
# Makefiles use VALID_JVM_FEATURES in check-jvm-feature to verify correctness.
VALID_JVM_FEATURES="$JVM_FEATURES_VALID"
AC_SUBST(VALID_JVM_FEATURES)
])
###############################################################################
# Helper function for the JVM_FEATURES_CHECK_* suite.
# The code in the code block should assign 'false' to the variable AVAILABLE
# if the feature is not available, and this function will handle everything
# else that is needed.
#
# arg 1: The name of the feature to test
# arg 2: The code block to execute
#
AC_DEFUN([JVM_FEATURES_CHECK_AVAILABILITY],
[
# Assume that feature is available
AVAILABLE=true
# Execute feature test block
$2
AC_MSG_CHECKING([if JVM feature '$1' is available])
if test "x$AVAILABLE" = "xtrue"; then
AC_MSG_RESULT([yes])
else
AC_MSG_RESULT([no])
JVM_FEATURES_PLATFORM_UNAVAILABLE="$JVM_FEATURES_PLATFORM_UNAVAILABLE $1"
fi
])
###############################################################################
# Check if the feature 'aot' is available on this platform.
#
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
AC_MSG_RESULT([yes])
else
AC_MSG_RESULT([no, $OPENJDK_TARGET_CPU])
AVAILABLE=false
fi
AC_MSG_CHECKING([if AOT source code is present])
if test -e "${TOPDIR}/src/jdk.internal.vm.compiler" && \
test -e "${TOPDIR}/src/jdk.aot"; then
AC_MSG_RESULT([yes])
else
AC_MSG_RESULT([no, missing src/jdk.internal.vm.compiler or src/jdk.aot])
AVAILABLE=false
fi
])
])
###############################################################################
# Check if the feature 'cds' is available on this platform.
#
AC_DEFUN_ONCE([JVM_FEATURES_CHECK_CDS],
[
JVM_FEATURES_CHECK_AVAILABILITY(cds, [
AC_MSG_CHECKING([if platform is supported by CDS])
if test "x$OPENJDK_TARGET_OS" != xaix; then
AC_MSG_RESULT([yes])
else
AC_MSG_RESULT([no, $OPENJDK_TARGET_OS])
AVAILABLE=false
fi
])
])
###############################################################################
# Check if the feature 'dtrace' is available on this platform.
#
AC_DEFUN_ONCE([JVM_FEATURES_CHECK_DTRACE],
[
JVM_FEATURES_CHECK_AVAILABILITY(dtrace, [
AC_MSG_CHECKING([for dtrace tool])
if test "x$DTRACE" != "x" && test -x "$DTRACE"; then
AC_MSG_RESULT([$DTRACE])
else
AC_MSG_RESULT([no])
AVAILABLE=false
fi
AC_CHECK_HEADERS([sys/sdt.h], [dtrace_headers_ok=true])
if test "x$dtrace_headers_ok" != "xtrue"; then
HELP_MSG_MISSING_DEPENDENCY([dtrace])
AC_MSG_NOTICE([Cannot enable dtrace with missing dependencies. See above.])
AVAILABLE=false
fi
])
])
###############################################################################
# Check if the feature 'graal' is available on this platform.
#
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
AC_MSG_RESULT([yes])
else
AC_MSG_RESULT([no, $OPENJDK_TARGET_CPU])
AVAILABLE=false
fi
])
])
###############################################################################
# Check if the feature 'jfr' is available on this platform.
#
AC_DEFUN_ONCE([JVM_FEATURES_CHECK_JFR],
[
JVM_FEATURES_CHECK_AVAILABILITY(jfr, [
AC_MSG_CHECKING([if platform is supported by JFR])
if test "x$OPENJDK_TARGET_OS" = xaix || \
test "x$OPENJDK_TARGET_OS-$OPENJDK_TARGET_CPU" = "xlinux-sparcv9"; then
AC_MSG_RESULT([no, $OPENJDK_TARGET_OS-$OPENJDK_TARGET_CPU])
AVAILABLE=false
else
AC_MSG_RESULT([yes])
fi
])
])
###############################################################################
# Check if the feature 'jvmci' is available on this platform.
#
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
AC_MSG_RESULT([yes])
else
AC_MSG_RESULT([no, $OPENJDK_TARGET_CPU])
AVAILABLE=false
fi
])
])
###############################################################################
# Check if the feature 'shenandoahgc' is available on this platform.
#
AC_DEFUN_ONCE([JVM_FEATURES_CHECK_SHENANDOAHGC],
[
JVM_FEATURES_CHECK_AVAILABILITY(shenandoahgc, [
AC_MSG_CHECKING([if platform is supported by Shenandoah])
if test "x$OPENJDK_TARGET_CPU_ARCH" = "xx86" || \
test "x$OPENJDK_TARGET_CPU" = "xaarch64" ; then
AC_MSG_RESULT([yes])
else
AC_MSG_RESULT([no, $OPENJDK_TARGET_CPU])
AVAILABLE=false
fi
])
])
###############################################################################
# Check if the feature 'static-build' is available on this platform.
#
AC_DEFUN_ONCE([JVM_FEATURES_CHECK_STATIC_BUILD],
[
JVM_FEATURES_CHECK_AVAILABILITY(static-build, [
AC_MSG_CHECKING([if static-build is enabled in configure])
if test "x$STATIC_BUILD" = "xtrue"; then
AC_MSG_RESULT([yes])
else
AC_MSG_RESULT([no, use --enable-static-build to enable static build.])
AVAILABLE=false
fi
])
])
###############################################################################
# Check if the feature 'zgc' is available on this platform.
#
AC_DEFUN_ONCE([JVM_FEATURES_CHECK_ZGC],
[
JVM_FEATURES_CHECK_AVAILABILITY(zgc, [
AC_MSG_CHECKING([if platform is supported by ZGC])
if test "x$OPENJDK_TARGET_CPU" = "xx86_64"; then
if test "x$OPENJDK_TARGET_OS" = "xlinux" || \
test "x$OPENJDK_TARGET_OS" = "xwindows" || \
test "x$OPENJDK_TARGET_OS" = "xmacosx"; then
AC_MSG_RESULT([yes])
else
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])
else
AC_MSG_RESULT([no, $OPENJDK_TARGET_OS-$OPENJDK_TARGET_CPU])
AVAILABLE=false
fi
if test "x$OPENJDK_TARGET_OS" = "xwindows"; then
AC_MSG_CHECKING([if Windows APIs required for ZGC is present])
AC_COMPILE_IFELSE(
[AC_LANG_PROGRAM([[#include <windows.h>]],
[[struct MEM_EXTENDED_PARAMETER x;]])
],
[
AC_MSG_RESULT([yes])
],
[
AC_MSG_RESULT([no, missing required APIs])
AVAILABLE=false
]
)
fi
])
])
###############################################################################
# Setup JVM_FEATURES_PLATFORM_UNAVAILABLE and JVM_FEATURES_PLATFORM_FILTER
# to contain those features that are unavailable, or should be off by default,
# for this platform, regardless of JVM variant.
#
AC_DEFUN_ONCE([JVM_FEATURES_PREPARE_PLATFORM],
[
# The checks below should add unavailable features to
# JVM_FEATURES_PLATFORM_UNAVAILABLE.
JVM_FEATURES_CHECK_AOT
JVM_FEATURES_CHECK_CDS
JVM_FEATURES_CHECK_DTRACE
JVM_FEATURES_CHECK_GRAAL
JVM_FEATURES_CHECK_JFR
JVM_FEATURES_CHECK_JVMCI
JVM_FEATURES_CHECK_SHENANDOAHGC
JVM_FEATURES_CHECK_STATIC_BUILD
JVM_FEATURES_CHECK_ZGC
# Filter out features by default for all variants on certain platforms.
# Make sure to just add to JVM_FEATURES_PLATFORM_FILTER, since it could
# have a value already from custom extensions.
if test "x$OPENJDK_TARGET_OS" = xaix; then
JVM_FEATURES_PLATFORM_FILTER="$JVM_FEATURES_PLATFORM_FILTER jfr"
fi
if test "x$OPENJDK_TARGET_OS-$OPENJDK_TARGET_CPU" = "xlinux-sparcv9"; then
JVM_FEATURES_PLATFORM_FILTER="$JVM_FEATURES_PLATFORM_FILTER jfr"
fi
])
###############################################################################
# Setup JVM_FEATURES_VARIANT_UNAVAILABLE and JVM_FEATURES_VARIANT_FILTER
# to contain those features that are unavailable, or should be off by default,
# for this particular JVM variant.
#
# arg 1: JVM variant
#
AC_DEFUN([JVM_FEATURES_PREPARE_VARIANT],
[
variant=$1
# Check which features are unavailable for this JVM variant.
# This means that is not possible to build these features for this variant.
if test "x$variant" = "xminimal"; then
JVM_FEATURES_VARIANT_UNAVAILABLE="cds zero"
elif test "x$variant" = "xcore"; then
JVM_FEATURES_VARIANT_UNAVAILABLE="cds minimal zero"
elif test "x$variant" = "xzero"; then
JVM_FEATURES_VARIANT_UNAVAILABLE="aot cds compiler1 compiler2 \
epsilongc g1gc graal jvmci minimal shenandoahgc zgc"
else
JVM_FEATURES_VARIANT_UNAVAILABLE="minimal zero"
fi
# Check which features should be off by default for this JVM variant.
if test "x$variant" = "xclient"; then
JVM_FEATURES_VARIANT_FILTER="aot compiler2 graal jvmci link-time-opt opt-size"
elif test "x$variant" = "xminimal"; then
JVM_FEATURES_VARIANT_FILTER="aot cds compiler2 dtrace epsilongc g1gc \
graal jfr jni-check jvmci jvmti management nmt parallelgc services \
shenandoahgc vm-structs zgc"
if test "x$OPENJDK_TARGET_CPU" = xarm ; then
JVM_FEATURES_VARIANT_FILTER="$JVM_FEATURES_VARIANT_FILTER opt-size"
else
# Only arm-32 should have link-time-opt enabled as default.
JVM_FEATURES_VARIANT_FILTER="$JVM_FEATURES_VARIANT_FILTER \
link-time-opt"
fi
elif test "x$variant" = "xcore"; then
JVM_FEATURES_VARIANT_FILTER="aot compiler1 compiler2 graal jvmci \
link-time-opt opt-size"
elif test "x$variant" = "xzero"; then
JVM_FEATURES_VARIANT_FILTER="jfr link-time-opt opt-size"
else
JVM_FEATURES_VARIANT_FILTER="link-time-opt opt-size"
fi
])
###############################################################################
# Calculate the actual set of active JVM features for this JVM variant. Store
# the result in JVM_FEATURES_ACTIVE.
#
# arg 1: JVM variant
#
AC_DEFUN([JVM_FEATURES_CALCULATE_ACTIVE],
[
variant=$1
# The default is set to all valid features except those unavailable or listed
# in a filter.
if test "x$variant" != xcustom; then
UTIL_GET_NON_MATCHING_VALUES(default_for_variant, $JVM_FEATURES_VALID, \
$JVM_FEATURES_PLATFORM_UNAVAILABLE $JVM_FEATURES_VARIANT_UNAVAILABLE \
$JVM_FEATURES_PLATFORM_FILTER $JVM_FEATURES_VARIANT_FILTER)
else
# Except for the 'custom' variant, where the default is to start with an
# empty set.
default_for_variant=""
fi
# Verify that explicitly enabled features are available
UTIL_GET_MATCHING_VALUES(enabled_but_unavailable, $JVM_FEATURES_ENABLED, \
$JVM_FEATURES_PLATFORM_UNAVAILABLE $JVM_FEATURES_VARIANT_UNAVAILABLE)
if test "x$enabled_but_unavailable" != x; then
AC_MSG_NOTICE([ERROR: Unavailable JVM features explicitly enabled for '$variant': '$enabled_but_unavailable'])
AC_MSG_ERROR([Cannot continue])
fi
# Notify the user if their command line options has no real effect
UTIL_GET_MATCHING_VALUES(enabled_but_default, $JVM_FEATURES_ENABLED, \
$default_for_variant)
if test "x$enabled_but_default" != x; then
AC_MSG_NOTICE([Default JVM features explicitly enabled for '$variant': '$enabled_but_default'])
fi
UTIL_GET_MATCHING_VALUES(disabled_but_unavailable, $JVM_FEATURES_DISABLED, \
$JVM_FEATURES_PLATFORM_UNAVAILABLE $JVM_FEATURES_VARIANT_UNAVAILABLE)
if test "x$disabled_but_unavailable" != x; then
AC_MSG_NOTICE([Unavailable JVM features explicitly disabled for '$variant': '$disabled_but_unavailable'])
fi
# JVM_FEATURES_ACTIVE is the set of all default features and all explicitly
# enabled features, with the explicitly disabled features filtered out.
UTIL_GET_NON_MATCHING_VALUES(JVM_FEATURES_ACTIVE, $default_for_variant \
$JVM_FEATURES_ENABLED, $JVM_FEATURES_DISABLED)
])
###############################################################################
# Helper function for JVM_FEATURES_VERIFY. Check if the specified JVM
# feature is active. To be used in shell if constructs, like this:
# 'if JVM_FEATURES_IS_ACTIVE(jvmti); then'
#
# Definition kept in one line to allow inlining in if statements.
# Additional [] needed to keep m4 from mangling shell constructs.
AC_DEFUN([JVM_FEATURES_IS_ACTIVE],
[ [ [[ " $JVM_FEATURES_ACTIVE " =~ ' '$1' ' ]] ] ])
###############################################################################
# Verify that the resulting set of features is consistent and legal.
#
# arg 1: JVM variant
#
AC_DEFUN([JVM_FEATURES_VERIFY],
[
variant=$1
# Verify that dependencies are met for inter-feature relations.
if JVM_FEATURES_IS_ACTIVE(aot) && ! JVM_FEATURES_IS_ACTIVE(graal); then
AC_MSG_ERROR([Specified JVM feature 'aot' requires feature 'graal' for variant '$variant'])
fi
if JVM_FEATURES_IS_ACTIVE(graal) && ! JVM_FEATURES_IS_ACTIVE(jvmci); then
AC_MSG_ERROR([Specified JVM feature 'graal' requires feature 'jvmci' for variant '$variant'])
fi
if JVM_FEATURES_IS_ACTIVE(jvmci) && ! (JVM_FEATURES_IS_ACTIVE(compiler1) || \
JVM_FEATURES_IS_ACTIVE(compiler2)); then
AC_MSG_ERROR([Specified JVM feature 'jvmci' requires feature 'compiler2' or 'compiler1' for variant '$variant'])
fi
if JVM_FEATURES_IS_ACTIVE(jvmti) && ! JVM_FEATURES_IS_ACTIVE(services); then
AC_MSG_ERROR([Specified JVM feature 'jvmti' requires feature 'services' for variant '$variant'])
fi
if JVM_FEATURES_IS_ACTIVE(management) && ! JVM_FEATURES_IS_ACTIVE(nmt); then
AC_MSG_ERROR([Specified JVM feature 'management' requires feature 'nmt' for variant '$variant'])
fi
# For backwards compatibility, disable a feature "globally" if one variant
# is missing the feature.
if ! JVM_FEATURES_IS_ACTIVE(aot); then
ENABLE_AOT="false"
fi
if ! JVM_FEATURES_IS_ACTIVE(cds); then
ENABLE_CDS="false"
fi
if ! JVM_FEATURES_IS_ACTIVE(graal); then
INCLUDE_GRAAL="false"
fi
if ! JVM_FEATURES_IS_ACTIVE(jvmci); then
INCLUDE_JVMCI="false"
fi
# Verify that we have at least one gc selected (i.e., feature named "*gc").
if ! JVM_FEATURES_IS_ACTIVE(.*gc); then
AC_MSG_NOTICE([At least one gc needed for variant '$variant'.])
AC_MSG_NOTICE([Specified features: '$JVM_FEATURES_ACTIVE'])
AC_MSG_ERROR([Cannot continue])
fi
])
###############################################################################
# Set up all JVM features for each enabled JVM variant. Requires that
# JVM_FEATURES_PARSE_OPTIONS has been called.
#
AC_DEFUN_ONCE([JVM_FEATURES_SETUP],
[
# Set up variant-independent factors
JVM_FEATURES_PREPARE_PLATFORM
# For backwards compatibility, tentatively enable these features "globally",
# and disable them in JVM_FEATURES_VERIFY if a variant is found that are
# missing any of them.
ENABLE_AOT="true"
ENABLE_CDS="true"
INCLUDE_GRAAL="true"
INCLUDE_JVMCI="true"
for variant in $JVM_VARIANTS; do
# Figure out if any features are unavailable, or should be filtered out
# by default, for this variant.
# Store the result in JVM_FEATURES_VARIANT_UNAVAILABLE and
# JVM_FEATURES_VARIANT_FILTER.
JVM_FEATURES_PREPARE_VARIANT($variant)
# Calculate the resulting set of enabled features for this variant.
# The result is stored in JVM_FEATURES_ACTIVE.
JVM_FEATURES_CALCULATE_ACTIVE($variant)
# Verify consistency for JVM_FEATURES_ACTIVE.
JVM_FEATURES_VERIFY($variant)
# Keep feature list sorted and free of duplicates
UTIL_SORT_LIST(JVM_FEATURES_ACTIVE, $JVM_FEATURES_ACTIVE)
AC_MSG_CHECKING([JVM features to use for variant '$variant'])
AC_MSG_RESULT(['$JVM_FEATURES_ACTIVE'])
# Save this as e.g. JVM_FEATURES_server, using indirect variable
# referencing.
features_var_name=JVM_FEATURES_$variant
eval $features_var_name=\"$JVM_FEATURES_ACTIVE\"
done
# Unfortunately AC_SUBST does not work with non-literally named variables,
# so list all variants here.
AC_SUBST(JVM_FEATURES_server)
AC_SUBST(JVM_FEATURES_client)
AC_SUBST(JVM_FEATURES_minimal)
AC_SUBST(JVM_FEATURES_core)
AC_SUBST(JVM_FEATURES_zero)
AC_SUBST(JVM_FEATURES_custom)
AC_SUBST(ENABLE_AOT)
AC_SUBST(INCLUDE_GRAAL)
AC_SUBST(INCLUDE_JVMCI)
])

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
# 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
@@ -28,6 +28,10 @@
################################################################################
AC_DEFUN_ONCE([LIB_SETUP_LIBFFI],
[
UTIL_ARG_ENABLE(NAME: libffi-bundling, DEFAULT: false,
RESULT: ENABLE_LIBFFI_BUNDLING,
DESC: [enable bundling of libffi.so to make the built JDK runnable on more systems])
AC_ARG_WITH(libffi, [AS_HELP_STRING([--with-libffi],
[specify prefix directory for the libffi package
(expecting the libraries under PATH/lib and the headers under PATH/include)])])
@@ -35,8 +39,6 @@ AC_DEFUN_ONCE([LIB_SETUP_LIBFFI],
[specify directory for the libffi include files])])
AC_ARG_WITH(libffi-lib, [AS_HELP_STRING([--with-libffi-lib],
[specify directory for the libffi library])])
AC_ARG_ENABLE(libffi-bundling, [AS_HELP_STRING([--enable-libffi-bundling],
[enable bundling of libffi.so to make the built JDK runnable on more systems])])
if test "x$NEEDS_LIB_FFI" = xfalse; then
if (test "x${with_libffi}" != x && test "x${with_libffi}" != xno) || \
@@ -114,20 +116,6 @@ AC_DEFUN_ONCE([LIB_SETUP_LIBFFI],
AC_MSG_ERROR([Found libffi but could not link and compile with it. $HELP_MSG])
fi
AC_MSG_CHECKING([if libffi should be bundled])
if test "x$enable_libffi_bundling" = "x"; then
AC_MSG_RESULT([no])
ENABLE_LIBFFI_BUNDLING=false
elif test "x$enable_libffi_bundling" = "xno"; then
AC_MSG_RESULT([no, forced])
ENABLE_LIBFFI_BUNDLING=false
elif test "x$enable_libffi_bundling" = "xyes"; then
AC_MSG_RESULT([yes, forced])
ENABLE_LIBFFI_BUNDLING=true
else
AC_MSG_ERROR([Invalid value for --enable-libffi-bundling])
fi
# Find the libffi.so.X to bundle
if test "x${ENABLE_LIBFFI_BUNDLING}" = "xtrue"; then
AC_MSG_CHECKING([for libffi lib file location])

View File

@@ -51,7 +51,7 @@ AC_DEFUN_ONCE([LIB_TESTS_SETUP_GRAALUNIT],
fi
fi
BASIC_FIXUP_PATH([GRAALUNIT_LIB])
UTIL_FIXUP_PATH([GRAALUNIT_LIB])
AC_SUBST(GRAALUNIT_LIB)
])
@@ -77,7 +77,7 @@ AC_DEFUN_ONCE([LIB_TESTS_SETUP_JMH],
AC_MSG_RESULT([no, error])
AC_MSG_ERROR([$JMH_HOME does not exist or is not a directory])
fi
BASIC_FIXUP_PATH([JMH_HOME])
UTIL_FIXUP_PATH([JMH_HOME])
jar_names="jmh-core jmh-generator-annprocess jopt-simple commons-math3"
for jar in $jar_names; do

View File

@@ -196,7 +196,7 @@ AC_DEFUN_ONCE([LIB_SETUP_MISC_LIBS],
################################################################################
AC_DEFUN_ONCE([LIB_SETUP_SOLARIS_STLPORT],
[
if test "$OPENJDK_TARGET_OS" = "solaris" && test "x$BUILD_GTEST" = "xtrue"; then
if test "x$OPENJDK_TARGET_OS" = "xsolaris"; then
# Find the root of the Solaris Studio installation from the compiler path
SOLARIS_STUDIO_DIR="$(dirname $CC)/.."
STLPORT_LIB="$SOLARIS_STUDIO_DIR/lib/stlport4$OPENJDK_TARGET_CPU_ISADIR/libstlport.so.1"
@@ -207,10 +207,9 @@ AC_DEFUN_ONCE([LIB_SETUP_SOLARIS_STLPORT],
fi
if test -f "$STLPORT_LIB"; then
AC_MSG_RESULT([yes, $STLPORT_LIB])
BASIC_FIXUP_PATH([STLPORT_LIB])
UTIL_FIXUP_PATH([STLPORT_LIB])
else
AC_MSG_RESULT([no, not found at $STLPORT_LIB])
AC_MSG_ERROR([Failed to find libstlport.so.1, cannot build Hotspot gtests])
AC_MSG_RESULT([no, not found at $STLPORT_LIB, cannot build Hotspot gtests])
fi
AC_SUBST(STLPORT_LIB)
fi

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2011, 2018, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2011, 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
@@ -563,11 +563,14 @@ AC_DEFUN_ONCE([PLATFORM_SETUP_OPENJDK_BUILD_AND_TARGET],
AC_DEFUN([PLATFORM_CHECK_DEPRECATION],
[
AC_ARG_ENABLE(deprecated-ports, [AS_HELP_STRING([--enable-deprecated-ports@<:@=yes/no@:>@],
[Suppress the error when configuring for a deprecated port @<:@no@:>@])])
UTIL_ARG_ENABLE(NAME: deprecated-ports, DEFAULT: false,
RESULT: ENABLE_DEPRECATED_PORTS,
DESC: [suppress the error when configuring for a deprecated port])
if test "x$OPENJDK_TARGET_OS" = xsolaris || test "x$OPENJDK_TARGET_CPU_ARCH" = xsparc; then
if test "x$enable_deprecated_ports" = "xyes"; then
if test "x$OPENJDK_TARGET_OS" = xsolaris || \
(test "x$OPENJDK_TARGET_CPU_ARCH" = xsparc && \
test "x$with_jvm_variants" != xzero); then
if test "x$ENABLE_DEPRECATED_PORTS" = "xtrue"; then
AC_MSG_WARN([The Solaris and SPARC ports are deprecated and may be removed in a future release.])
else
AC_MSG_ERROR(m4_normalize([The Solaris and SPARC ports are deprecated and may be removed in a

View File

@@ -46,7 +46,7 @@ AC_DEFUN_ONCE([SRCDIRS_SETUP_IMPORT_MODULES],
&& test "x$with_import_modules" != "xno"; then
if test -d "$with_import_modules"; then
IMPORT_MODULES_TOPDIR="$with_import_modules"
BASIC_FIXUP_PATH([IMPORT_MODULES_TOPDIR])
UTIL_FIXUP_PATH([IMPORT_MODULES_TOPDIR])
elif test -e "$with_import_modules"; then
IMPORT_MODULES_TOPDIR="$CONFIGURESUPPORT_OUTPUTDIR/import-modules"
$RM -rf "$IMPORT_MODULES_TOPDIR"

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2011, 2019, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2011, 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
@@ -301,6 +301,11 @@ USE_PRECOMPILED_HEADER := @USE_PRECOMPILED_HEADER@
# Only build headless support or not
ENABLE_HEADLESS_ONLY := @ENABLE_HEADLESS_ONLY@
ENABLE_LINKTIME_GC := @ENABLE_LINKTIME_GC@
# Ship debug symbols (e.g. pdbs on Windows)
SHIP_DEBUG_SYMBOLS := @SHIP_DEBUG_SYMBOLS@
ENABLE_FULL_DOCS := @ENABLE_FULL_DOCS@
# JDK_OUTPUTDIR specifies where a working jvm is built.
@@ -560,6 +565,8 @@ CXXFILT:=@CXXFILT@
LIPO:=@LIPO@
INSTALL_NAME_TOOL:=@INSTALL_NAME_TOOL@
METAL := @METAL@
METALLIB := @METALLIB@
# Options to linker to specify a mapfile.
# (Note absence of := assignment, because we do not want to evaluate the macro body here)
@@ -651,7 +658,7 @@ BUILD_JAVA_FLAGS := @BOOTCYCLE_JVM_ARGS_BIG@
BUILD_JAVA=@FIXPATH@ $(BUILD_JDK)/bin/java $(BUILD_JAVA_FLAGS)
BUILD_JAR=@FIXPATH@ $(BUILD_JDK)/bin/jar
# Interim langtools and rmic modules and arguments
# Interim langtools modules and arguments
INTERIM_LANGTOOLS_BASE_MODULES := java.compiler jdk.compiler jdk.javadoc
INTERIM_LANGTOOLS_MODULES := $(addsuffix .interim, $(INTERIM_LANGTOOLS_BASE_MODULES))
INTERIM_LANGTOOLS_ADD_EXPORTS := \
@@ -670,15 +677,6 @@ INTERIM_LANGTOOLS_ARGS := \
JAVAC_MAIN_CLASS = -m jdk.compiler.interim/com.sun.tools.javac.Main
JAVADOC_MAIN_CLASS = -m jdk.javadoc.interim/jdk.javadoc.internal.tool.Main
INTERIM_RMIC_BASE_MODULES := jdk.rmic
INTERIM_RMIC_MODULES := $(addsuffix .interim, $(INTERIM_RMIC_BASE_MODULES))
#
# Use = to delay expansion of PathList since it's not available in this file.
INTERIM_RMIC_ARGS = --limit-modules java.base,jdk.compiler,jdk.javadoc \
--module-path $(call PathList, $(BUILDTOOLS_OUTPUTDIR)/interim_rmic_modules \
$(BUILDTOOLS_OUTPUTDIR)/interim_langtools_modules) \
#
# You run the new javac using the boot jdk with $(BOOT_JDK)/bin/java $(NEW_JAVAC) ...
# Use = assignment to be able to override in bootcycle-spec.gmk
NEW_JAVAC = $(INTERIM_LANGTOOLS_ARGS) $(JAVAC_MAIN_CLASS)
@@ -902,13 +900,23 @@ DOCS_OUTPUTDIR := $(DOCS_IMAGE_DIR)
STATIC_LIBS_IMAGE_SUBDIR := static-libs
STATIC_LIBS_IMAGE_DIR := $(IMAGES_OUTPUTDIR)/$(STATIC_LIBS_IMAGE_SUBDIR)
# Graal builder image
GRAAL_BUILDER_IMAGE_SUBDIR := graal-builder-jdk
GRAAL_BUILDER_IMAGE_DIR := $(IMAGES_OUTPUTDIR)/$(GRAAL_BUILDER_IMAGE_SUBDIR)
# Macosx bundles directory definitions
JDK_MACOSX_BUNDLE_SUBDIR=jdk-bundle
JRE_MACOSX_BUNDLE_SUBDIR=jre-bundle
JDK_MACOSX_BUNDLE_SUBDIR_SIGNED=jdk-bundle-signed
JRE_MACOSX_BUNDLE_SUBDIR_SIGNED=jre-bundle-signed
JDK_MACOSX_BUNDLE_DIR=$(IMAGES_OUTPUTDIR)/$(JDK_MACOSX_BUNDLE_SUBDIR)
JRE_MACOSX_BUNDLE_DIR=$(IMAGES_OUTPUTDIR)/$(JRE_MACOSX_BUNDLE_SUBDIR)
JDK_MACOSX_CONTENTS_SUBDIR=jdk-$(VERSION_NUMBER).jdk/Contents
JRE_MACOSX_CONTENTS_SUBDIR=jre-$(VERSION_NUMBER).jre/Contents
JDK_MACOSX_BUNDLE_DIR_SIGNED=$(IMAGES_OUTPUTDIR)/$(JDK_MACOSX_BUNDLE_SUBDIR_SIGNED)
JRE_MACOSX_BUNDLE_DIR_SIGNED=$(IMAGES_OUTPUTDIR)/$(JRE_MACOSX_BUNDLE_SUBDIR_SIGNED)
JDK_MACOSX_BUNDLE_TOP_DIR=jdk-$(VERSION_NUMBER).jdk
JRE_MACOSX_BUNDLE_TOP_DIR=jre-$(VERSION_NUMBER).jre
JDK_MACOSX_CONTENTS_SUBDIR=$(JDK_MACOSX_BUNDLE_TOP_DIR)/Contents
JRE_MACOSX_CONTENTS_SUBDIR=$(JRE_MACOSX_BUNDLE_TOP_DIR)/Contents
JDK_MACOSX_CONTENTS_DIR=$(JDK_MACOSX_BUNDLE_DIR)/$(JDK_MACOSX_CONTENTS_SUBDIR)
JRE_MACOSX_CONTENTS_DIR=$(JRE_MACOSX_BUNDLE_DIR)/$(JRE_MACOSX_CONTENTS_SUBDIR)

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2011, 2019, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2011, 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
@@ -32,6 +32,7 @@
# compilers and related tools that are used.
########################################################################
m4_include([toolchain_windows.m4])
# All valid toolchains, regardless of platform (used by help.m4)
VALID_TOOLCHAINS_all="gcc clang solstudio xlc microsoft"
@@ -52,7 +53,7 @@ TOOLCHAIN_DESCRIPTION_xlc="IBM XL C/C++"
# Minimum supported versions, empty means unspecified
TOOLCHAIN_MINIMUM_VERSION_clang="3.2"
TOOLCHAIN_MINIMUM_VERSION_gcc="4.8"
TOOLCHAIN_MINIMUM_VERSION_gcc="5.0"
TOOLCHAIN_MINIMUM_VERSION_microsoft="16.00.30319.01" # VS2010
TOOLCHAIN_MINIMUM_VERSION_solstudio="5.13"
TOOLCHAIN_MINIMUM_VERSION_xlc=""
@@ -64,10 +65,11 @@ TOOLCHAIN_MINIMUM_LD_VERSION_gcc="2.18"
# Must have CC_VERSION_NUMBER and CXX_VERSION_NUMBER.
# $1 - optional variable prefix for compiler and version variables (BUILD_)
# $2 - optional variable prefix for comparable variable (OPENJDK_BUILD_)
# $3 - optional human readable description for the type of compilers ("build " or "")
AC_DEFUN([TOOLCHAIN_PREPARE_FOR_VERSION_COMPARISONS],
[
if test "x[$]$1CC_VERSION_NUMBER" != "x[$]$1CXX_VERSION_NUMBER"; then
AC_MSG_WARN([C and C++ compiler have different version numbers, [$]$1CC_VERSION_NUMBER vs [$]$1CXX_VERSION_NUMBER.])
AC_MSG_WARN([The $3C and C++ compilers have different version numbers, [$]$1CC_VERSION_NUMBER vs [$]$1CXX_VERSION_NUMBER.])
AC_MSG_WARN([This typically indicates a broken setup, and is not supported])
fi
@@ -91,7 +93,7 @@ AC_DEFUN([TOOLCHAIN_PREPARE_FOR_VERSION_COMPARISONS],
# IF_AT_LEAST: block to run if the compiler is at least this version (>=)
# IF_OLDER_THAN: block to run if the compiler is older than this version (<)
# PREFIX: Optional variable prefix for compiler to compare version for (OPENJDK_BUILD_)
BASIC_DEFUN_NAMED([TOOLCHAIN_CHECK_COMPILER_VERSION],
UTIL_DEFUN_NAMED([TOOLCHAIN_CHECK_COMPILER_VERSION],
[*VERSION PREFIX IF_AT_LEAST IF_OLDER_THAN], [$@],
[
# Need to assign to a variable since m4 is blocked from modifying parts in [].
@@ -142,7 +144,7 @@ AC_DEFUN([TOOLCHAIN_PREPARE_FOR_LD_VERSION_COMPARISONS],
# IF_AT_LEAST: block to run if the compiler is at least this version (>=)
# IF_OLDER_THAN: block to run if the compiler is older than this version (<)
# PREFIX: Optional variable prefix for compiler to compare version for (OPENJDK_BUILD_)
BASIC_DEFUN_NAMED([TOOLCHAIN_CHECK_LINKER_VERSION],
UTIL_DEFUN_NAMED([TOOLCHAIN_CHECK_LINKER_VERSION],
[*VERSION PREFIX IF_AT_LEAST IF_OLDER_THAN], [$@],
[
# Need to assign to a variable since m4 is blocked from modifying parts in [].
@@ -348,8 +350,8 @@ AC_DEFUN_ONCE([TOOLCHAIN_PRE_DETECTION],
if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.wsl"; then
# Append VS_PATH. In WSL, VS_PATH will not contain the WSL env path needed
# for using basic Unix tools, so need to keep the original PATH.
BASIC_APPEND_TO_PATH(PATH, $VS_PATH)
BASIC_APPEND_TO_PATH(WSLENV, "PATH/l:LIB:INCLUDE")
UTIL_APPEND_TO_PATH(PATH, $VS_PATH)
UTIL_APPEND_TO_PATH(WSLENV, "PATH/l:LIB:INCLUDE")
export WSLENV
else
# Reset path to VS_PATH. It will include everything that was on PATH at the time we
@@ -450,9 +452,10 @@ AC_DEFUN([TOOLCHAIN_EXTRACT_COMPILER_VERSION],
# There is no specific version flag, but all output starts with a version string.
# First line typically looks something like:
# Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 16.00.40219.01 for 80x86
# but the compiler name may vary depending on locale.
COMPILER_VERSION_OUTPUT=`"$COMPILER" 2>&1 | $GREP -v 'ERROR.*UtilTranslatePathList' | $HEAD -n 1 | $TR -d '\r'`
# Check that this is likely to be Microsoft CL.EXE.
$ECHO "$COMPILER_VERSION_OUTPUT" | $GREP "Microsoft.*Compiler" > /dev/null
$ECHO "$COMPILER_VERSION_OUTPUT" | $GREP "Microsoft" > /dev/null
if test $? -ne 0; then
AC_MSG_NOTICE([The $COMPILER_NAME compiler (located as $COMPILER) does not seem to be the required $TOOLCHAIN_TYPE compiler.])
AC_MSG_NOTICE([The result from running it was: "$COMPILER_VERSION_OUTPUT"])
@@ -578,12 +581,12 @@ AC_DEFUN([TOOLCHAIN_FIND_COMPILER],
fi
# Now we have a compiler binary in $1. Make sure it's okay.
BASIC_FIXUP_EXECUTABLE($1)
UTIL_FIXUP_EXECUTABLE($1)
TEST_COMPILER="[$]$1"
AC_MSG_CHECKING([resolved symbolic links for $1])
SYMLINK_ORIGINAL="$TEST_COMPILER"
BASIC_REMOVE_SYMBOLIC_LINKS(SYMLINK_ORIGINAL)
UTIL_REMOVE_SYMBOLIC_LINKS(SYMLINK_ORIGINAL)
if test "x$TEST_COMPILER" = "x$SYMLINK_ORIGINAL"; then
AC_MSG_RESULT([no symlink])
else
@@ -714,9 +717,9 @@ AC_DEFUN_ONCE([TOOLCHAIN_DETECT_TOOLCHAIN_CORE],
# Setup the preprocessor (CPP and CXXCPP)
#
AC_PROG_CPP
BASIC_FIXUP_EXECUTABLE(CPP)
UTIL_FIXUP_EXECUTABLE(CPP)
AC_PROG_CXXCPP
BASIC_FIXUP_EXECUTABLE(CXXCPP)
UTIL_FIXUP_EXECUTABLE(CXXCPP)
#
# Setup the linker (LD)
@@ -726,7 +729,7 @@ AC_DEFUN_ONCE([TOOLCHAIN_DETECT_TOOLCHAIN_CORE],
# Make sure we reject /usr/bin/link (as determined in CYGWIN_LINK), which is
# a cygwin program for something completely different.
AC_CHECK_PROG([LD], [link$EXE_SUFFIX],[link$EXE_SUFFIX],,, [$CYGWIN_LINK])
BASIC_FIXUP_EXECUTABLE(LD)
UTIL_FIXUP_EXECUTABLE(LD)
# Verify that we indeed succeeded with this trick.
AC_MSG_CHECKING([if the found link.exe is actually the Visual Studio linker])
"$LD" --version > /dev/null
@@ -744,8 +747,8 @@ AC_DEFUN_ONCE([TOOLCHAIN_DETECT_TOOLCHAIN_CORE],
LD="$CC"
LDCXX="$CXX"
# jaotc expects 'ld' as the linker rather than the compiler.
BASIC_CHECK_TOOLS([LD_JAOTC], ld)
BASIC_FIXUP_EXECUTABLE(LD_JAOTC)
UTIL_CHECK_TOOLS([LD_JAOTC], ld)
UTIL_FIXUP_EXECUTABLE(LD_JAOTC)
fi
AC_SUBST(LD)
AC_SUBST(LD_JAOTC)
@@ -767,8 +770,8 @@ AC_DEFUN_ONCE([TOOLCHAIN_DETECT_TOOLCHAIN_CORE],
# Setup the assembler (AS)
#
if test "x$OPENJDK_TARGET_OS" = xsolaris; then
BASIC_PATH_PROGS(AS, as)
BASIC_FIXUP_EXECUTABLE(AS)
UTIL_PATH_PROGS(AS, as)
UTIL_FIXUP_EXECUTABLE(AS)
if test "x$AS" = x; then
AC_MSG_ERROR([Solaris assembler (as) is required. Please install via "pkg install pkg:/developer/assembler".])
fi
@@ -785,11 +788,11 @@ AC_DEFUN_ONCE([TOOLCHAIN_DETECT_TOOLCHAIN_CORE],
# The corresponding ar tool is lib.exe (used to create static libraries)
AC_CHECK_PROG([AR], [lib$EXE_SUFFIX],[lib$EXE_SUFFIX],,,)
elif test "x$TOOLCHAIN_TYPE" = xgcc; then
BASIC_CHECK_TOOLS(AR, ar gcc-ar)
UTIL_CHECK_TOOLS(AR, ar gcc-ar)
else
BASIC_CHECK_TOOLS(AR, ar)
UTIL_CHECK_TOOLS(AR, ar)
fi
BASIC_FIXUP_EXECUTABLE(AR)
UTIL_FIXUP_EXECUTABLE(AR)
])
# Setup additional tools that is considered a part of the toolchain, but not the
@@ -798,22 +801,48 @@ AC_DEFUN_ONCE([TOOLCHAIN_DETECT_TOOLCHAIN_CORE],
AC_DEFUN_ONCE([TOOLCHAIN_DETECT_TOOLCHAIN_EXTRA],
[
if test "x$OPENJDK_TARGET_OS" = "xmacosx"; then
BASIC_PATH_PROGS(LIPO, lipo)
BASIC_FIXUP_EXECUTABLE(LIPO)
BASIC_REQUIRE_PROGS(OTOOL, otool)
BASIC_FIXUP_EXECUTABLE(OTOOL)
BASIC_REQUIRE_PROGS(INSTALL_NAME_TOOL, install_name_tool)
BASIC_FIXUP_EXECUTABLE(INSTALL_NAME_TOOL)
UTIL_PATH_PROGS(LIPO, lipo)
UTIL_FIXUP_EXECUTABLE(LIPO)
UTIL_REQUIRE_PROGS(OTOOL, otool)
UTIL_FIXUP_EXECUTABLE(OTOOL)
UTIL_REQUIRE_PROGS(INSTALL_NAME_TOOL, install_name_tool)
UTIL_FIXUP_EXECUTABLE(INSTALL_NAME_TOOL)
UTIL_PATH_PROGS(METAL, metal)
if test "x$METAL" = x; then
AC_MSG_CHECKING([if metal can be run using xcrun])
METAL="xcrun -sdk macosx metal"
test_metal=`$METAL --version 2>&1`
if test $? -ne 0; then
AC_MSG_RESULT([no])
AC_MSG_ERROR([XCode tool 'metal' neither found in path nor with xcrun])
else
AC_MSG_RESULT([yes, will be using '$METAL'])
fi
fi
UTIL_PATH_PROGS(METALLIB, metallib)
if test "x$METALLIB" = x; then
AC_MSG_CHECKING([if metallib can be run using xcrun])
METALLIB="xcrun -sdk macosx metallib"
test_metallib=`$METALLIB --version 2>&1`
if test $? -ne 0; then
AC_MSG_RESULT([no])
AC_MSG_ERROR([XCode tool 'metallib' neither found in path nor with xcrun])
else
AC_MSG_RESULT([yes, will be using '$METALLIB'])
fi
fi
fi
if test "x$TOOLCHAIN_TYPE" = xmicrosoft; then
AC_CHECK_PROG([MT], [mt$EXE_SUFFIX], [mt$EXE_SUFFIX],,, [/usr/bin/mt])
BASIC_FIXUP_EXECUTABLE(MT)
UTIL_FIXUP_EXECUTABLE(MT)
# Setup the resource compiler (RC)
AC_CHECK_PROG([RC], [rc$EXE_SUFFIX], [rc$EXE_SUFFIX],,, [/usr/bin/rc])
BASIC_FIXUP_EXECUTABLE(RC)
UTIL_FIXUP_EXECUTABLE(RC)
AC_CHECK_PROG([DUMPBIN], [dumpbin$EXE_SUFFIX], [dumpbin$EXE_SUFFIX],,,)
BASIC_FIXUP_EXECUTABLE(DUMPBIN)
UTIL_FIXUP_EXECUTABLE(DUMPBIN)
# We need to check for 'msbuild.exe' because at the place where we expect to
# find 'msbuild.exe' there's also a directory called 'msbuild' and configure
# won't find the 'msbuild.exe' executable in that case (and the
@@ -825,22 +854,22 @@ AC_DEFUN_ONCE([TOOLCHAIN_DETECT_TOOLCHAIN_EXTRA],
fi
if test "x$OPENJDK_TARGET_OS" = xsolaris; then
BASIC_PATH_PROGS(STRIP, strip)
BASIC_FIXUP_EXECUTABLE(STRIP)
BASIC_PATH_PROGS(NM, nm)
BASIC_FIXUP_EXECUTABLE(NM)
BASIC_PATH_PROGS(GNM, gnm)
BASIC_FIXUP_EXECUTABLE(GNM)
UTIL_PATH_PROGS(STRIP, strip)
UTIL_FIXUP_EXECUTABLE(STRIP)
UTIL_PATH_PROGS(NM, nm)
UTIL_FIXUP_EXECUTABLE(NM)
UTIL_PATH_PROGS(GNM, gnm)
UTIL_FIXUP_EXECUTABLE(GNM)
elif test "x$OPENJDK_TARGET_OS" != xwindows; then
# FIXME: we should unify this with the solaris case above.
BASIC_CHECK_TOOLS(STRIP, strip)
BASIC_FIXUP_EXECUTABLE(STRIP)
UTIL_CHECK_TOOLS(STRIP, strip)
UTIL_FIXUP_EXECUTABLE(STRIP)
if test "x$TOOLCHAIN_TYPE" = xgcc; then
BASIC_CHECK_TOOLS(NM, nm gcc-nm)
UTIL_CHECK_TOOLS(NM, nm gcc-nm)
else
BASIC_CHECK_TOOLS(NM, nm)
UTIL_CHECK_TOOLS(NM, nm)
fi
BASIC_FIXUP_EXECUTABLE(NM)
UTIL_FIXUP_EXECUTABLE(NM)
GNM="$NM"
AC_SUBST(GNM)
fi
@@ -848,10 +877,10 @@ AC_DEFUN_ONCE([TOOLCHAIN_DETECT_TOOLCHAIN_EXTRA],
# objcopy is used for moving debug symbols to separate files when
# full debug symbols are enabled.
if test "x$OPENJDK_TARGET_OS" = xsolaris || test "x$OPENJDK_TARGET_OS" = xlinux; then
BASIC_CHECK_TOOLS(OBJCOPY, [gobjcopy objcopy])
UTIL_CHECK_TOOLS(OBJCOPY, [gobjcopy objcopy])
# Only call fixup if objcopy was found.
if test -n "$OBJCOPY"; then
BASIC_FIXUP_EXECUTABLE(OBJCOPY)
UTIL_FIXUP_EXECUTABLE(OBJCOPY)
if test "x$OPENJDK_BUILD_OS" = xsolaris; then
# objcopy prior to 2.21.1 on solaris is broken and is not usable.
# Rewrite objcopy version output to VALID_VERSION or BAD_VERSION.
@@ -892,18 +921,18 @@ AC_DEFUN_ONCE([TOOLCHAIN_DETECT_TOOLCHAIN_EXTRA],
fi
fi
BASIC_CHECK_TOOLS(OBJDUMP, [gobjdump objdump])
UTIL_CHECK_TOOLS(OBJDUMP, [gobjdump objdump])
if test "x$OBJDUMP" != x; then
# Only used for compare.sh; we can live without it. BASIC_FIXUP_EXECUTABLE
# Only used for compare.sh; we can live without it. UTIL_FIXUP_EXECUTABLE
# bails if argument is missing.
BASIC_FIXUP_EXECUTABLE(OBJDUMP)
UTIL_FIXUP_EXECUTABLE(OBJDUMP)
fi
case $TOOLCHAIN_TYPE in
gcc|clang|solstudio)
BASIC_CHECK_TOOLS(CXXFILT, [c++filt])
BASIC_CHECK_NONEMPTY(CXXFILT)
BASIC_FIXUP_EXECUTABLE(CXXFILT)
UTIL_CHECK_TOOLS(CXXFILT, [c++filt])
UTIL_CHECK_NONEMPTY(CXXFILT)
UTIL_FIXUP_EXECUTABLE(CXXFILT)
;;
esac
])
@@ -931,7 +960,7 @@ AC_DEFUN_ONCE([TOOLCHAIN_SETUP_BUILD_COMPILERS],
if test ! -d "$with_build_devkit"; then
AC_MSG_ERROR([--with-build-devkit points to non existing dir: $with_build_devkit])
else
BASIC_FIXUP_PATH([with_build_devkit])
UTIL_FIXUP_PATH([with_build_devkit])
BUILD_DEVKIT_ROOT="$with_build_devkit"
# Check for a meta data info file in the root of the devkit
if test -f "$BUILD_DEVKIT_ROOT/devkit.info"; then
@@ -975,18 +1004,18 @@ AC_DEFUN_ONCE([TOOLCHAIN_SETUP_BUILD_COMPILERS],
# 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.
BASIC_REQUIRE_PROGS(BUILD_CC, [cl cc gcc])
BASIC_FIXUP_EXECUTABLE(BUILD_CC)
BASIC_REQUIRE_PROGS(BUILD_CXX, [cl CC g++])
BASIC_FIXUP_EXECUTABLE(BUILD_CXX)
BASIC_PATH_PROGS(BUILD_NM, nm gcc-nm)
BASIC_FIXUP_EXECUTABLE(BUILD_NM)
BASIC_PATH_PROGS(BUILD_AR, ar gcc-ar)
BASIC_FIXUP_EXECUTABLE(BUILD_AR)
BASIC_PATH_PROGS(BUILD_OBJCOPY, objcopy)
BASIC_FIXUP_EXECUTABLE(BUILD_OBJCOPY)
BASIC_PATH_PROGS(BUILD_STRIP, strip)
BASIC_FIXUP_EXECUTABLE(BUILD_STRIP)
UTIL_REQUIRE_PROGS(BUILD_CC, [cl cc gcc])
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)
UTIL_PATH_PROGS(BUILD_AR, ar gcc-ar)
UTIL_FIXUP_EXECUTABLE(BUILD_AR)
UTIL_PATH_PROGS(BUILD_OBJCOPY, objcopy)
UTIL_FIXUP_EXECUTABLE(BUILD_OBJCOPY)
UTIL_PATH_PROGS(BUILD_STRIP, strip)
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
@@ -997,7 +1026,7 @@ AC_DEFUN_ONCE([TOOLCHAIN_SETUP_BUILD_COMPILERS],
TOOLCHAIN_EXTRACT_COMPILER_VERSION(BUILD_CC, [BuildC])
TOOLCHAIN_EXTRACT_COMPILER_VERSION(BUILD_CXX, [BuildC++])
TOOLCHAIN_PREPARE_FOR_VERSION_COMPARISONS([BUILD_], [OPENJDK_BUILD_])
TOOLCHAIN_PREPARE_FOR_VERSION_COMPARISONS([BUILD_], [OPENJDK_BUILD_], [build ])
TOOLCHAIN_EXTRACT_LD_VERSION(BUILD_LD, [build linker])
TOOLCHAIN_PREPARE_FOR_LD_VERSION_COMPARISONS([BUILD_], [OPENJDK_BUILD_])
else
@@ -1013,7 +1042,7 @@ AC_DEFUN_ONCE([TOOLCHAIN_SETUP_BUILD_COMPILERS],
BUILD_STRIP="$STRIP"
BUILD_AR="$AR"
TOOLCHAIN_PREPARE_FOR_VERSION_COMPARISONS([], [OPENJDK_BUILD_])
TOOLCHAIN_PREPARE_FOR_VERSION_COMPARISONS([], [OPENJDK_BUILD_], [build ])
TOOLCHAIN_PREPARE_FOR_LD_VERSION_COMPARISONS([BUILD_], [OPENJDK_BUILD_])
fi
@@ -1080,7 +1109,7 @@ AC_DEFUN_ONCE([TOOLCHAIN_SETUP_JTREG],
elif test "x$with_jtreg" != xyes && test "x$with_jtreg" != x; then
# An explicit path is specified, use it.
JT_HOME="$with_jtreg"
BASIC_FIXUP_PATH([JT_HOME])
UTIL_FIXUP_PATH([JT_HOME])
if test ! -d "$JT_HOME"; then
AC_MSG_ERROR([jtreg home directory from --with-jtreg=$with_jtreg does not exist])
fi
@@ -1120,7 +1149,7 @@ AC_DEFUN_ONCE([TOOLCHAIN_SETUP_JTREG],
if test "x$JT_HOME" = x; then
# JT_HOME is not set in environment, or was deemed invalid.
# Try to find jtreg on path
BASIC_PATH_PROGS(JTREGEXE, jtreg)
UTIL_PATH_PROGS(JTREGEXE, jtreg)
if test "x$JTREGEXE" != x; then
# That's good, now try to derive JT_HOME
JT_HOME=`(cd $($DIRNAME $JTREGEXE)/.. && pwd)`
@@ -1146,8 +1175,8 @@ AC_DEFUN_ONCE([TOOLCHAIN_SETUP_JTREG],
fi
fi
BASIC_FIXUP_EXECUTABLE(JTREGEXE)
BASIC_FIXUP_PATH(JT_HOME)
UTIL_FIXUP_EXECUTABLE(JTREGEXE)
UTIL_FIXUP_PATH(JT_HOME)
AC_SUBST(JT_HOME)
AC_SUBST(JTREGEXE)
])

View File

@@ -112,7 +112,7 @@ AC_DEFUN([TOOLCHAIN_CHECK_POSSIBLE_VISUAL_STUDIO_ROOT],
VS_BASE="$2"
METHOD="$3"
BASIC_WINDOWS_REWRITE_AS_UNIX_PATH(VS_BASE)
UTIL_REWRITE_AS_UNIX_PATH(VS_BASE)
# In VS 2017 and VS 2019, the default installation is in a subdir named after the edition.
# Find the first one present and use that.
if test "x$VS_EDITIONS" != x; then
@@ -160,7 +160,7 @@ AC_DEFUN([TOOLCHAIN_CHECK_POSSIBLE_WIN_SDK_ROOT],
VS_VERSION="$1"
WIN_SDK_BASE="$2"
METHOD="$3"
BASIC_WINDOWS_REWRITE_AS_UNIX_PATH(WIN_SDK_BASE)
UTIL_REWRITE_AS_UNIX_PATH(WIN_SDK_BASE)
if test -d "$WIN_SDK_BASE"; then
# There have been cases of partial or broken SDK installations. A missing
# lib dir is not going to work.
@@ -209,8 +209,8 @@ AC_DEFUN([TOOLCHAIN_FIND_VISUAL_STUDIO_BAT_FILE],
eval SDK_INSTALL_DIR="\${VS_SDK_INSTALLDIR_${VS_VERSION}}"
eval VS_ENV_ARGS="\${VS_ENV_ARGS_${VS_VERSION}}"
eval VS_TOOLSET_SUPPORTED="\${VS_TOOLSET_SUPPORTED_${VS_VERSION}}"
VS_ENV_CMD=""
VS_ENV_CMD=""
# When using --with-tools-dir, assume it points to the correct and default
# version of Visual Studio or that --with-toolchain-version was also set.
@@ -313,7 +313,7 @@ AC_DEFUN([TOOLCHAIN_FIND_VISUAL_STUDIO],
VS_PATH_WINDOWS=""
for i in $TOOLCHAIN_PATH; do
path=$i
BASIC_WINDOWS_REWRITE_AS_WINDOWS_MIXED_PATH([path])
UTIL_REWRITE_AS_WINDOWS_MIXED_PATH([path])
VS_PATH_WINDOWS="$VS_PATH_WINDOWS;$path"
done
IFS="$OLDIFS"
@@ -331,14 +331,14 @@ AC_DEFUN([TOOLCHAIN_FIND_VISUAL_STUDIO],
IFS=";"
for i in $DEVKIT_VS_INCLUDE; do
ipath=$i
BASIC_WINDOWS_REWRITE_AS_WINDOWS_MIXED_PATH([ipath])
UTIL_REWRITE_AS_WINDOWS_MIXED_PATH([ipath])
VS_INCLUDE="$VS_INCLUDE;$ipath"
done
# Convert DEVKIT_VS_LIB into VS_LIB so that it can still be exported
# as LIB for compiler invocations without SYSROOT_LDFLAGS
for i in $DEVKIT_VS_LIB; do
libpath=$i
BASIC_WINDOWS_REWRITE_AS_WINDOWS_MIXED_PATH([libpath])
UTIL_REWRITE_AS_WINDOWS_MIXED_PATH([libpath])
VS_LIB="$VS_LIB;$libpath"
done
IFS="$OLDIFS"
@@ -408,7 +408,7 @@ AC_DEFUN([TOOLCHAIN_SETUP_VISUAL_STUDIO_ENV],
if test "x$DEVKIT_VS_VERSION" = x; then
if test "x$VS_ENV_CMD" != x; then
# We have found a Visual Studio environment on disk, let's extract variables from the vsvars bat file.
BASIC_FIXUP_EXECUTABLE(VS_ENV_CMD)
UTIL_FIXUP_EXECUTABLE(VS_ENV_CMD)
# Lets extract the variables that are set by vcvarsall.bat/vsvars32.bat/vsvars64.bat
AC_MSG_NOTICE([Trying to extract Visual Studio environment variables])
@@ -420,13 +420,13 @@ AC_DEFUN([TOOLCHAIN_SETUP_VISUAL_STUDIO_ENV],
# Cannot use the VS10 setup script directly (since it only updates the DOS subshell environment).
# Instead create a shell script which will set the relevant variables when run.
WINPATH_VS_ENV_CMD="$VS_ENV_CMD"
BASIC_WINDOWS_REWRITE_AS_WINDOWS_MIXED_PATH([WINPATH_VS_ENV_CMD])
UTIL_REWRITE_AS_WINDOWS_MIXED_PATH([WINPATH_VS_ENV_CMD])
if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.wsl"; then
WINPATH_BASH="bash"
else
WINPATH_BASH="$BASH"
BASIC_WINDOWS_REWRITE_AS_WINDOWS_MIXED_PATH([WINPATH_BASH])
UTIL_REWRITE_AS_WINDOWS_MIXED_PATH([WINPATH_BASH])
fi
# Generate a DOS batch file which runs $VS_ENV_CMD, and then creates a shell
@@ -521,10 +521,10 @@ AC_DEFUN([TOOLCHAIN_SETUP_VISUAL_STUDIO_ENV],
IFS="$OLDIFS"
# Check that directory exists before calling fixup_path
testpath=$path
BASIC_WINDOWS_REWRITE_AS_UNIX_PATH([testpath])
UTIL_REWRITE_AS_UNIX_PATH([testpath])
if test -d "$testpath"; then
BASIC_FIXUP_PATH([path])
BASIC_APPEND_TO_PATH(VS_PATH, $path)
UTIL_FIXUP_PATH([path])
UTIL_APPEND_TO_PATH(VS_PATH, $path)
fi
IFS=";"
fi
@@ -576,9 +576,9 @@ AC_DEFUN([TOOLCHAIN_SETUP_VISUAL_STUDIO_ENV],
IFS="$OLDIFS"
# Check that directory exists before calling fixup_path
testpath=$ipath
BASIC_WINDOWS_REWRITE_AS_UNIX_PATH([testpath])
UTIL_REWRITE_AS_UNIX_PATH([testpath])
if test -d "$testpath"; then
BASIC_FIXUP_PATH([ipath])
UTIL_FIXUP_PATH([ipath])
SYSROOT_CFLAGS="$SYSROOT_CFLAGS -I$ipath"
fi
IFS=";"
@@ -592,9 +592,9 @@ AC_DEFUN([TOOLCHAIN_SETUP_VISUAL_STUDIO_ENV],
IFS="$OLDIFS"
# Check that directory exists before calling fixup_path
testpath=$libpath
BASIC_WINDOWS_REWRITE_AS_UNIX_PATH([testpath])
UTIL_REWRITE_AS_UNIX_PATH([testpath])
if test -d "$testpath"; then
BASIC_FIXUP_PATH([libpath])
UTIL_FIXUP_PATH([libpath])
SYSROOT_LDFLAGS="$SYSROOT_LDFLAGS -libpath:$libpath"
fi
IFS=";"
@@ -665,7 +665,7 @@ AC_DEFUN([TOOLCHAIN_SETUP_MSVC_DLL],
if test "x$MSVC_DLL" = x; then
if test "x$VCINSTALLDIR" != x; then
CYGWIN_VC_INSTALL_DIR="$VCINSTALLDIR"
BASIC_FIXUP_PATH(CYGWIN_VC_INSTALL_DIR)
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
@@ -675,7 +675,7 @@ AC_DEFUN([TOOLCHAIN_SETUP_MSVC_DLL],
fi
else
CYGWIN_VC_TOOLS_REDIST_DIR="$VCToolsRedistDir"
BASIC_FIXUP_PATH(CYGWIN_VC_TOOLS_REDIST_DIR)
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`"
@@ -702,7 +702,7 @@ AC_DEFUN([TOOLCHAIN_SETUP_MSVC_DLL],
if test "x$MSVC_DLL" = x; then
# Probe: Look in the Windows system32 directory
CYGWIN_SYSTEMROOT="$SYSTEMROOT"
BASIC_WINDOWS_REWRITE_AS_UNIX_PATH(CYGWIN_SYSTEMROOT)
UTIL_REWRITE_AS_UNIX_PATH(CYGWIN_SYSTEMROOT)
POSSIBLE_MSVC_DLL="$CYGWIN_SYSTEMROOT/system32/$DLL_NAME"
TOOLCHAIN_CHECK_POSSIBLE_MSVC_DLL([$DLL_NAME], [$POSSIBLE_MSVC_DLL],
[well-known location in SYSTEMROOT])
@@ -712,7 +712,7 @@ AC_DEFUN([TOOLCHAIN_SETUP_MSVC_DLL],
# Probe: If Visual Studio Express is installed, there is usually one with the debugger
if test "x$VS100COMNTOOLS" != x; then
CYGWIN_VS_TOOLS_DIR="$VS100COMNTOOLS/.."
BASIC_WINDOWS_REWRITE_AS_UNIX_PATH(CYGWIN_VS_TOOLS_DIR)
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`
@@ -814,14 +814,14 @@ AC_DEFUN([TOOLCHAIN_SETUP_VS_RUNTIME_DLLS],
else
AC_MSG_RESULT([$with_ucrt_dll_dir])
UCRT_DLL_DIR="$with_ucrt_dll_dir"
BASIC_FIXUP_PATH([UCRT_DLL_DIR])
UTIL_FIXUP_PATH([UCRT_DLL_DIR])
fi
elif test "x$DEVKIT_UCRT_DLL_DIR" != "x"; then
UCRT_DLL_DIR="$DEVKIT_UCRT_DLL_DIR"
AC_MSG_RESULT($UCRT_DLL_DIR)
else
CYGWIN_WINDOWSSDKDIR="${WINDOWSSDKDIR}"
BASIC_FIXUP_PATH([CYGWIN_WINDOWSSDKDIR])
UTIL_FIXUP_PATH([CYGWIN_WINDOWSSDKDIR])
dll_subdir=$OPENJDK_TARGET_CPU
if test "x$dll_subdir" = "xx86_64"; then
dll_subdir="x64"

584
make/autoconf/util.m4 Normal file
View File

@@ -0,0 +1,584 @@
#
# Copyright (c) 2011, 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.
#
m4_include([util_paths.m4])
m4_include([util_windows.m4])
###############################################################################
# Create a function/macro that takes a series of named arguments. The call is
# similar to AC_DEFUN, but the setup of the function looks like this:
# UTIL_DEFUN_NAMED([MYFUNC], [FOO *BAR], [$@], [
# ... do something
# AC_MSG_NOTICE([Value of BAR is ARG_BAR])
# ])
# A star (*) in front of a named argument means that it is required and it's
# presence will be verified. To pass e.g. the first value as a normal indexed
# argument, use [m4_shift($@)] as the third argument instead of [$@]. These
# arguments are referenced in the function by their name prefixed by ARG_, e.g.
# "ARG_FOO".
#
# The generated function can be called like this:
# MYFUNC(FOO: [foo-val],
# BAR: [
# $ECHO hello world
# ])
# Note that the argument value must start on the same line as the argument name.
#
# Argument 1: Name of the function to define
# Argument 2: List of legal named arguments, with a * prefix for required arguments
# Argument 3: Argument array to treat as named, typically $@
# Argument 4: The main function body
AC_DEFUN([UTIL_DEFUN_NAMED],
[
AC_DEFUN($1, [
m4_foreach(arg, m4_split(m4_normalize($2)), [
m4_if(m4_bregexp(arg, [^\*]), -1,
[
m4_set_add(legal_named_args, arg)
],
[
m4_set_add(legal_named_args, m4_substr(arg, 1))
m4_set_add(required_named_args, m4_substr(arg, 1))
]
)
])
m4_foreach([arg], [$3], [
m4_if(m4_bregexp(arg, [: ]), -1, m4_define([arg], m4_bpatsubst(arg, [:], [: ])))
m4_define(arg_name, m4_substr(arg, 0, m4_bregexp(arg, [: ])))
m4_set_contains(legal_named_args, arg_name, [],[AC_MSG_ERROR([Internal error: m4_if(arg_name, , arg, arg_name) is not a valid named argument to [$1]. Valid arguments are 'm4_set_contents(defined_args, [ ]) m4_set_contents(legal_named_args, [ ])'.])])
m4_set_remove(required_named_args, arg_name)
m4_set_remove(legal_named_args, arg_name)
m4_pushdef([ARG_][]arg_name, m4_bpatsubst(m4_substr(arg, m4_incr(m4_incr(m4_bregexp(arg, [: ])))), [^\s*], []))
m4_set_add(defined_args, arg_name)
m4_undefine([arg_name])
])
m4_set_empty(required_named_args, [], [
AC_MSG_ERROR([Internal error: Required named arguments are missing for [$1]. Missing arguments: 'm4_set_contents(required_named_args, [ ])'])
])
m4_foreach([arg], m4_indir([m4_dquote]m4_set_listc([legal_named_args])), [
m4_pushdef([ARG_][]arg, [])
m4_set_add(defined_args, arg)
])
m4_set_delete(legal_named_args)
m4_set_delete(required_named_args)
# Execute function body
$4
m4_foreach([arg], m4_indir([m4_dquote]m4_set_listc([defined_args])), [
m4_popdef([ARG_][]arg)
])
m4_set_delete(defined_args)
])
])
###############################################################################
# Assert that a programmatic condition holds. If not, exit with an error message.
# Check that a shell expression gives return code 0
#
# $1: The shell expression to evaluate
# $2: A message to describe the expression in case of failure
# $2: An message to print in case of failure [optional]
#
AC_DEFUN([UTIL_ASSERT_SHELL_TEST],
[
ASSERTION_MSG="m4_normalize([$3])"
if $1; then
$ECHO Assertion failed: $2
if test "x$3" != x; then
$ECHO Assertion message: "$3"
fi
exit 1
fi
])
###############################################################################
# Assert that a programmatic condition holds. If not, exit with an error message.
# Check that two strings are equal.
#
# $1: The actual string found
# $2: The expected string
# $3: An message to print in case of failure [optional]
#
AC_DEFUN([UTIL_ASSERT_STRING_EQUALS],
[
UTIL_ASSERT_SHELL_TEST(
[test "x[$1]" != "x[$2]"],
[Actual value '[$1]' \("[$1]"\) did not match expected value '[$2]' \("[$2]"\)],
$3)
])
###############################################################################
# Assert that a programmatic condition holds. If not, exit with an error message.
# Check that two strings not are equal.
#
# $1: The actual string found
# $2: The expected string
# $3: An message to print in case of failure [optional]
#
AC_DEFUN([UTIL_ASSERT_STRING_NOT_EQUALS],
[
UTIL_ASSERT_SHELL_TEST(
[test "x[$1]" = "x[$2]"],
[Actual value '[$1]' \("[$1]"\) unexpectedly matched '[$2]' \("[$2]"\)],
$3)
])
###############################################################################
# Assert that a programmatic condition holds. If not, exit with an error message.
# Check that the given expression evaluates to the string 'true'
#
# $1: The expression to evaluate
# $2: An message to print in case of failure [optional]
#
AC_DEFUN([UTIL_ASSERT_TRUE],
[
UTIL_ASSERT_STRING_EQUALS($1, true, $3)
])
###############################################################################
# Assert that a programmatic condition holds. If not, exit with an error message.
# Check that the given expression does not evaluate to the string 'true'
#
# $1: The expression to evaluate
# $2: An message to print in case of failure [optional]
#
AC_DEFUN([UTIL_ASSERT_NOT_TRUE],
[
UTIL_ASSERT_STRING_NOT_EQUALS($1, true, $3)
])
###############################################################################
# Check if a list of space-separated words are selected only from a list of
# space-separated legal words. Typical use is to see if a user-specified
# set of words is selected from a set of legal words.
#
# Sets the specified variable to list of non-matching (offending) words, or to
# the empty string if all words are matching the legal set.
#
# $1: result variable name
# $2: list of values to check
# $3: list of legal values
AC_DEFUN([UTIL_GET_NON_MATCHING_VALUES],
[
# grep filter function inspired by a comment to http://stackoverflow.com/a/1617326
# Notice that the original variant fails on SLES 10 and 11
# Some grep versions (at least bsd) behaves strangely on the base case with
# no legal_values, so make it explicit.
values_to_check=`$ECHO $2 | $TR ' ' '\n'`
legal_values=`$ECHO $3 | $TR ' ' '\n'`
if test -z "$legal_values"; then
$1="$2"
else
result=`$GREP -Fvx "$legal_values" <<< "$values_to_check" | $GREP -v '^$'`
$1=${result//$'\n'/ }
fi
])
###############################################################################
# Check if a list of space-separated words contains any word(s) from a list of
# space-separated illegal words. Typical use is to see if a user-specified
# set of words contains any from a set of illegal words.
#
# Sets the specified variable to list of matching illegal words, or to
# the empty string if no words are matching the illegal set.
#
# $1: result variable name
# $2: list of values to check
# $3: list of illegal values
AC_DEFUN([UTIL_GET_MATCHING_VALUES],
[
# grep filter function inspired by a comment to http://stackoverflow.com/a/1617326
# Notice that the original variant fails on SLES 10 and 11
# Some grep versions (at least bsd) behaves strangely on the base case with
# no legal_values, so make it explicit.
values_to_check=`$ECHO $2 | $TR ' ' '\n'`
illegal_values=`$ECHO $3 | $TR ' ' '\n'`
if test -z "$illegal_values"; then
$1=""
else
result=`$GREP -Fx "$illegal_values" <<< "$values_to_check" | $GREP -v '^$'`
$1=${result//$'\n'/ }
fi
])
###############################################################################
# Sort a space-separated list, and remove duplicates.
#
# Sets the specified variable to the resulting list.
#
# $1: result variable name
# $2: list of values to sort
AC_DEFUN([UTIL_SORT_LIST],
[
values_to_sort=`$ECHO $2 | $TR ' ' '\n'`
result=`$SORT -u <<< "$values_to_sort" | $GREP -v '^$'`
$1=${result//$'\n'/ }
])
###############################################################################
# Test if $1 is a valid argument to $3 (often is $JAVA passed as $3)
# If so, then append $1 to $2 \
# Also set JVM_ARG_OK to true/false depending on outcome.
AC_DEFUN([UTIL_ADD_JVM_ARG_IF_OK],
[
$ECHO "Check if jvm arg is ok: $1" >&AS_MESSAGE_LOG_FD
$ECHO "Command: $3 $1 -version" >&AS_MESSAGE_LOG_FD
OUTPUT=`$3 $1 $USER_BOOT_JDK_OPTIONS -version 2>&1`
FOUND_WARN=`$ECHO "$OUTPUT" | $GREP -i warn`
FOUND_VERSION=`$ECHO $OUTPUT | $GREP " version \""`
if test "x$FOUND_VERSION" != x && test "x$FOUND_WARN" = x; then
$2="[$]$2 $1"
JVM_ARG_OK=true
else
$ECHO "Arg failed:" >&AS_MESSAGE_LOG_FD
$ECHO "$OUTPUT" >&AS_MESSAGE_LOG_FD
JVM_ARG_OK=false
fi
])
###############################################################################
# Register a --with argument but mark it as deprecated
# $1: The name of the with argument to deprecate, not including --with-
AC_DEFUN([UTIL_DEPRECATED_ARG_WITH],
[
AC_ARG_WITH($1, [AS_HELP_STRING([--with-$1],
[Deprecated. Option is kept for backwards compatibility and is ignored])],
[AC_MSG_WARN([Option --with-$1 is deprecated and will be ignored.])])
])
###############################################################################
# Register a --enable argument but mark it as deprecated
# $1: The name of the with argument to deprecate, not including --enable-
AC_DEFUN([UTIL_DEPRECATED_ARG_ENABLE],
[
AC_ARG_ENABLE($1, [AS_HELP_STRING([--enable-$1],
[Deprecated. Option is kept for backwards compatibility and is ignored])],
[AC_MSG_WARN([Option --enable-$1 is deprecated and will be ignored.])])
])
###############################################################################
# Register an --enable-* argument as an alias for another argument.
# $1: The name of the enable argument for the new alias, not including --enable-
# $2: The full name of the argument of which to make this an alias, including
# --enable- or --with-.
AC_DEFUN([UTIL_ALIASED_ARG_ENABLE],
[
AC_ARG_ENABLE($1, [AS_HELP_STRING([--enable-$1], [alias for $2])], [
# Use m4 to strip initial -- from target ($2), convert - to _, prefix enable_
# to new alias name, and create a shell variable assignment,
# e.g.: enable_old_style="$enable_new_alias"
m4_translit(m4_bpatsubst($2, --), -, _)="$[enable_]m4_translit($1, -, _)"
])
])
###############################################################################
# Creates a command-line option using the --enable-* pattern. Will return a
# value of 'true' or 'false' in the RESULT variable, depending on whether the
# option was enabled or not by the user. The option can not be turned on if it
# is not available, as specified by AVAILABLE and/or AVAILABLE_CHECK.
#
# Arguments:
# NAME: The base name of this option (i.e. what follows --enable-). Required.
# RESULT: The name of the variable to set to the result. Defaults to
# <NAME in uppercase>_RESULT.
# DEFAULT: The default value for this option. Can be true, false or auto.
# Defaults to true.
# AVAILABLE: If true, this option is allowed to be selected. Defaults to true.
# DESC: A description of this option. Defaults to a generic and unhelpful
# string.
# DEFAULT_DESC: A message describing the default value, for the help. Defaults
# to the literal value of DEFAULT.
# CHECKING_MSG: The message to present to user when checking this option.
# Defaults to a generic message.
# CHECK_AVAILABLE: An optional code block to execute to determine if the
# option should be available. Must set AVAILABLE to 'false' if not.
# IF_GIVEN: An optional code block to execute if the option was given on the
# command line (regardless of the value).
# IF_ENABLED: An optional code block to execute if the option is turned on.
# IF_DISABLED: An optional code block to execute if the option is turned off.
#
UTIL_DEFUN_NAMED([UTIL_ARG_ENABLE],
[*NAME RESULT DEFAULT AVAILABLE DESC DEFAULT_DESC CHECKING_MSG
CHECK_AVAILABLE IF_GIVEN IF_ENABLED IF_DISABLED], [$@],
[
##########################
# Part 1: Set up m4 macros
##########################
# If DEFAULT is not specified, set it to 'true'.
m4_define([ARG_DEFAULT], m4_if(ARG_DEFAULT, , true, ARG_DEFAULT))
# If AVAILABLE is not specified, set it to 'true'.
m4_define([ARG_AVAILABLE], m4_if(ARG_AVAILABLE, , true, ARG_AVAILABLE))
# If DEFAULT_DESC is not specified, calculate it from DEFAULT.
m4_define([ARG_DEFAULT_DESC], m4_if(ARG_DEFAULT_DESC, , m4_if(ARG_DEFAULT, true, enabled, m4_if(ARG_DEFAULT, false, disabled, ARG_DEFAULT)), ARG_DEFAULT_DESC))
# If RESULT is not specified, set it to 'ARG_NAME[_ENABLED]'.
m4_define([ARG_RESULT], m4_if(ARG_RESULT, , m4_translit(ARG_NAME, [a-z-], [A-Z_])[_ENABLED], ARG_RESULT))
# Construct shell variable names for the option
m4_define(ARG_OPTION, [enable_]m4_translit(ARG_NAME, [-], [_]))
m4_define(ARG_GIVEN, m4_translit(ARG_NAME, [a-z-], [A-Z_])[_GIVEN])
# If DESC is not specified, set it to a generic description.
m4_define([ARG_DESC], m4_if(ARG_DESC, , [Enable the ARG_NAME feature], m4_normalize(ARG_DESC)))
# If CHECKING_MSG is not specified, set it to a generic description.
m4_define([ARG_CHECKING_MSG], m4_if(ARG_CHECKING_MSG, , [for --enable-ARG_NAME], ARG_CHECKING_MSG))
# If the code blocks are not given, set them to the empty statements to avoid
# tripping up bash.
m4_define([ARG_CHECK_AVAILABLE], m4_if(ARG_CHECK_AVAILABLE, , :, ARG_CHECK_AVAILABLE))
m4_define([ARG_IF_GIVEN], m4_if(ARG_IF_GIVEN, , :, ARG_IF_GIVEN))
m4_define([ARG_IF_ENABLED], m4_if(ARG_IF_ENABLED, , :, ARG_IF_ENABLED))
m4_define([ARG_IF_DISABLED], m4_if(ARG_IF_DISABLED, , :, ARG_IF_DISABLED))
##########################
# Part 2: Set up autoconf shell code
##########################
# Check that DEFAULT has a valid value
if test "[x]ARG_DEFAULT" != xtrue && test "[x]ARG_DEFAULT" != xfalse && \
test "[x]ARG_DEFAULT" != xauto ; then
AC_MSG_ERROR([Internal error: Argument DEFAULT to [UTIL_ARG_ENABLE] can only be true, false or auto, was: 'ARG_DEFAULT'])
fi
# Check that AVAILABLE has a valid value
if test "[x]ARG_AVAILABLE" != xtrue && test "[x]ARG_AVAILABLE" != xfalse; then
AC_MSG_ERROR([Internal error: Argument AVAILABLE to [UTIL_ARG_ENABLE] can only be true or false, was: 'ARG_AVAILABLE'])
fi
AC_ARG_ENABLE(ARG_NAME, AS_HELP_STRING([--enable-]ARG_NAME,
[ARG_DESC [ARG_DEFAULT_DESC]]), [ARG_GIVEN=true], [ARG_GIVEN=false])
# Check if the option is available
AVAILABLE=ARG_AVAILABLE
# Run the available check block (if any), which can overwrite AVAILABLE.
ARG_CHECK_AVAILABLE
# Check if the option should be turned on
AC_MSG_CHECKING(ARG_CHECKING_MSG)
if test x$ARG_GIVEN = xfalse; then
if test ARG_DEFAULT = auto; then
# If not given, and default is auto, set it to true iff it's available.
ARG_RESULT=$AVAILABLE
REASON="from default 'auto'"
else
ARG_RESULT=ARG_DEFAULT
REASON="default"
fi
else
if test x$ARG_OPTION = xyes; then
ARG_RESULT=true
REASON="from command line"
elif test x$ARG_OPTION = xno; then
ARG_RESULT=false
REASON="from command line"
elif test x$ARG_OPTION = xauto; then
if test ARG_DEFAULT = auto; then
# If both given and default is auto, set it to true iff it's available.
ARG_RESULT=$AVAILABLE
else
ARG_RESULT=ARG_DEFAULT
fi
REASON="from command line 'auto'"
else
AC_MSG_ERROR([Option [--enable-]ARG_NAME can only be 'yes', 'no' or 'auto'])
fi
fi
if test x$ARG_RESULT = xtrue; then
AC_MSG_RESULT([enabled, $REASON])
if test x$AVAILABLE = xfalse; then
AC_MSG_ERROR([Option [--enable-]ARG_NAME is not available])
fi
else
AC_MSG_RESULT([disabled, $REASON])
fi
# Execute result payloads, if present
if test x$ARG_GIVEN = xtrue; then
ARG_IF_GIVEN
fi
if test x$ARG_RESULT = xtrue; then
ARG_IF_ENABLED
else
ARG_IF_DISABLED
fi
])
###############################################################################
# Test that variable $1 denoting a program is not empty. If empty, exit with an error.
# $1: variable to check
AC_DEFUN([UTIL_CHECK_NONEMPTY],
[
if test "x[$]$1" = x; then
AC_MSG_ERROR([Could not find required tool for $1])
fi
])
###############################################################################
# Setup a tool for the given variable. If correctly specified by the user,
# use that value, otherwise search for the tool using the supplied code snippet.
# $1: variable to set
# $2: code snippet to call to look for the tool
# $3: code snippet to call if variable was used to find tool
AC_DEFUN([UTIL_SETUP_TOOL],
[
# Publish this variable in the help.
AC_ARG_VAR($1, [Override default value for $1])
if [[ -z "${$1+x}" ]]; then
# The variable is not set by user, try to locate tool using the code snippet
$2
else
# The variable is set, but is it from the command line or the environment?
# Try to remove the string !$1! from our list.
try_remove_var=${CONFIGURE_OVERRIDDEN_VARIABLES//!$1!/}
if test "x$try_remove_var" = "x$CONFIGURE_OVERRIDDEN_VARIABLES"; then
# If it failed, the variable was not from the command line. Ignore it,
# but warn the user (except for BASH, which is always set by the calling BASH).
if test "x$1" != xBASH; then
AC_MSG_WARN([Ignoring value of $1 from the environment. Use command line variables instead.])
fi
# Try to locate tool using the code snippet
$2
else
# If it succeeded, then it was overridden by the user. We will use it
# for the tool.
# First remove it from the list of overridden variables, so we can test
# for unknown variables in the end.
CONFIGURE_OVERRIDDEN_VARIABLES="$try_remove_var"
tool_override=[$]$1
AC_MSG_NOTICE([User supplied override $1="$tool_override"])
# Check if we try to supply an empty value
if test "x$tool_override" = x; then
AC_MSG_CHECKING([for $1])
AC_MSG_RESULT([disabled])
else
# Split up override in command part and argument part
tool_and_args=($tool_override)
[ tool_command=${tool_and_args[0]} ]
[ unset 'tool_and_args[0]' ]
[ tool_args=${tool_and_args[@]} ]
# Check if the provided tool contains a complete path.
tool_basename="${tool_command##*/}"
if test "x$tool_basename" = "x$tool_command"; then
# A command without a complete path is provided, search $PATH.
AC_MSG_NOTICE([Will search for user supplied tool "$tool_basename"])
AC_PATH_PROG($1, $tool_basename)
if test "x[$]$1" = x; then
AC_MSG_ERROR([User supplied tool $1="$tool_basename" could not be found])
fi
else
# Otherwise we believe it is a complete path. Use it as it is.
AC_MSG_NOTICE([Will use user supplied tool "$tool_command"])
AC_MSG_CHECKING([for $tool_command])
if test ! -x "$tool_command"; then
AC_MSG_RESULT([not found])
AC_MSG_ERROR([User supplied tool $1="$tool_command" does not exist or is not executable])
fi
$1="$tool_command"
AC_MSG_RESULT([found])
fi
if test "x$tool_args" != x; then
# If we got arguments, re-append them to the command after the fixup.
$1="[$]$1 $tool_args"
fi
fi
fi
$3
fi
])
###############################################################################
# Call UTIL_SETUP_TOOL with AC_PATH_PROGS to locate the tool
# $1: variable to set
# $2: executable name (or list of names) to look for
# $3: [path]
AC_DEFUN([UTIL_PATH_PROGS],
[
UTIL_SETUP_TOOL($1, [AC_PATH_PROGS($1, $2, , $3)])
])
###############################################################################
# Call UTIL_SETUP_TOOL with AC_CHECK_TOOLS to locate the tool
# $1: variable to set
# $2: executable name (or list of names) to look for
AC_DEFUN([UTIL_CHECK_TOOLS],
[
UTIL_SETUP_TOOL($1, [AC_CHECK_TOOLS($1, $2)])
])
###############################################################################
# Like UTIL_PATH_PROGS but fails if no tool was found.
# $1: variable to set
# $2: executable name (or list of names) to look for
# $3: [path]
AC_DEFUN([UTIL_REQUIRE_PROGS],
[
UTIL_PATH_PROGS($1, $2, , $3)
UTIL_CHECK_NONEMPTY($1)
])
###############################################################################
# Like UTIL_SETUP_TOOL but fails if no tool was found.
# $1: variable to set
# $2: autoconf macro to call to look for the special tool
AC_DEFUN([UTIL_REQUIRE_SPECIAL],
[
UTIL_SETUP_TOOL($1, [$2])
UTIL_CHECK_NONEMPTY($1)
])
###############################################################################
# Like UTIL_REQUIRE_PROGS but also allows for bash built-ins
# $1: variable to set
# $2: executable name (or list of names) to look for
# $3: [path]
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 help $2 > /dev/null 2>&1; then
AC_MSG_NOTICE([Found $2 as shell built-in. Using it])
$1="$2"
else
AC_MSG_ERROR([Required tool $2 also not found as built-in.])
fi
fi
UTIL_CHECK_NONEMPTY($1)
])

232
make/autoconf/util_paths.m4 Normal file
View File

@@ -0,0 +1,232 @@
#
# Copyright (c) 2011, 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.
#
# Appends a string to a path variable, only adding the : when needed.
AC_DEFUN([UTIL_APPEND_TO_PATH],
[
if test "x$2" != x; then
if test "x[$]$1" = x; then
$1="$2"
else
$1="[$]$1:$2"
fi
fi
])
# Prepends a string to a path variable, only adding the : when needed.
AC_DEFUN([UTIL_PREPEND_TO_PATH],
[
if test "x$2" != x; then
if test "x[$]$1" = x; then
$1="$2"
else
$1="$2:[$]$1"
fi
fi
])
################################################################################
# This will make a path absolute. Assumes it's already a unix path. Also
# resolves ~ to homedir.
AC_DEFUN([UTIL_ABSOLUTE_PATH],
[
if test "x[$]$1" != x; then
new_path="[$]$1"
# Use eval to expand a potential ~. This technique does not work if there
# are spaces in the path (which is valid at this point on Windows), so only
# try to apply it if there is an actual ~ first in the path.
if [ [[ "$new_path" = "~"* ]] ]; then
eval new_path="$new_path"
if test ! -f "$new_path" && test ! -d "$new_path"; then
AC_MSG_ERROR([The new_path of $1, which resolves as "$new_path", is not found.])
fi
fi
if test -d "$new_path"; then
$1="`cd "$new_path"; $THEPWDCMD -L`"
else
dir="`$DIRNAME "$new_path"`"
base="`$BASENAME "$new_path"`"
$1="`cd "$dir"; $THEPWDCMD -L`/$base"
fi
fi
])
###############################################################################
# This will make sure the given variable points to a full and proper
# path. This means:
# 1) There will be no spaces in the path. On unix platforms,
# spaces in the path will result in an error. On Windows,
# the path will be rewritten using short-style to be space-free.
# 2) The path will be absolute, and it will be in unix-style (on
# cygwin).
# $1: The name of the variable to fix
AC_DEFUN([UTIL_FIXUP_PATH],
[
# Only process if variable expands to non-empty
if test "x[$]$1" != x; then
if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
UTIL_FIXUP_PATH_CYGWIN($1)
elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
UTIL_FIXUP_PATH_MSYS($1)
elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.wsl"; then
UTIL_FIXUP_PATH_WSL($1)
else
# We're on a unix platform. Hooray! :)
path="[$]$1"
has_space=`$ECHO "$path" | $GREP " "`
if test "x$has_space" != x; then
AC_MSG_NOTICE([The path of $1, which resolves as "$path", is invalid.])
AC_MSG_ERROR([Spaces are not allowed in this path.])
fi
UTIL_ABSOLUTE_PATH(path)
$1="$path"
fi
fi
])
###############################################################################
# This will make sure the given variable points to a executable
# with a full and proper path. This means:
# 1) There will be no spaces in the path. On unix platforms,
# spaces in the path will result in an error. On Windows,
# the path will be rewritten using short-style to be space-free.
# 2) The path will be absolute, and it will be in unix-style (on
# cygwin).
# Any arguments given to the executable is preserved.
# If the input variable does not have a directory specification, then
# it need to be in the PATH.
# $1: The name of the variable to fix
AC_DEFUN([UTIL_FIXUP_EXECUTABLE],
[
# Only process if variable expands to non-empty
if test "x[$]$1" != x; then
if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
UTIL_FIXUP_EXECUTABLE_CYGWIN($1)
elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
UTIL_FIXUP_EXECUTABLE_MSYS($1)
elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.wsl"; then
UTIL_FIXUP_EXECUTABLE_WSL($1)
else
# We're on a unix platform. Hooray! :)
# First separate the path from the arguments. This will split at the first
# space.
complete="[$]$1"
path="${complete%% *}"
tmp="$complete EOL"
arguments="${tmp#* }"
# Cannot rely on the command "which" here since it doesn't always work.
is_absolute_path=`$ECHO "$path" | $GREP ^/`
if test -z "$is_absolute_path"; then
# Path to executable is not absolute. Find it.
IFS_save="$IFS"
IFS=:
for p in $PATH; do
if test -f "$p/$path" && test -x "$p/$path"; then
new_path="$p/$path"
break
fi
done
IFS="$IFS_save"
else
# This is an absolute path, we can use it without further modifications.
new_path="$path"
fi
if test "x$new_path" = x; then
AC_MSG_NOTICE([The path of $1, which resolves as "$complete", is not found.])
has_space=`$ECHO "$complete" | $GREP " "`
if test "x$has_space" != x; then
AC_MSG_NOTICE([This might be caused by spaces in the path, which is not allowed.])
fi
AC_MSG_ERROR([Cannot locate the the path of $1])
fi
fi
# Now join together the path and the arguments once again
if test "x$arguments" != xEOL; then
new_complete="$new_path ${arguments% *}"
else
new_complete="$new_path"
fi
if test "x$complete" != "x$new_complete"; then
$1="$new_complete"
AC_MSG_NOTICE([Rewriting $1 to "$new_complete"])
fi
fi
])
###############################################################################
AC_DEFUN([UTIL_REMOVE_SYMBOLIC_LINKS],
[
if test "x$OPENJDK_BUILD_OS" != xwindows; then
# Follow a chain of symbolic links. Use readlink
# where it exists, else fall back to horribly
# complicated shell code.
if test "x$READLINK_TESTED" != yes; then
# On MacOSX there is a readlink tool with a different
# purpose than the GNU readlink tool. Check the found readlink.
READLINK_ISGNU=`$READLINK --version 2>&1 | $GREP GNU`
# If READLINK_ISGNU is empty, then it's a non-GNU readlink. Don't use it.
READLINK_TESTED=yes
fi
if test "x$READLINK" != x && test "x$READLINK_ISGNU" != x; then
$1=`$READLINK -f [$]$1`
else
# Save the current directory for restoring afterwards
STARTDIR=$PWD
COUNTER=0
sym_link_dir=`$DIRNAME [$]$1`
sym_link_file=`$BASENAME [$]$1`
cd $sym_link_dir
# Use -P flag to resolve symlinks in directories.
cd `$THEPWDCMD -P`
sym_link_dir=`$THEPWDCMD -P`
# Resolve file symlinks
while test $COUNTER -lt 20; do
ISLINK=`$LS -l $sym_link_dir/$sym_link_file | $GREP '\->' | $SED -e 's/.*-> \(.*\)/\1/'`
if test "x$ISLINK" == x; then
# This is not a symbolic link! We are done!
break
fi
# Again resolve directory symlinks since the target of the just found
# link could be in a different directory
cd `$DIRNAME $ISLINK`
sym_link_dir=`$THEPWDCMD -P`
sym_link_file=`$BASENAME $ISLINK`
let COUNTER=COUNTER+1
done
cd $STARTDIR
$1=$sym_link_dir/$sym_link_file
fi
fi
])

View File

@@ -23,7 +23,7 @@
# questions.
#
AC_DEFUN([BASIC_WINDOWS_REWRITE_AS_UNIX_PATH],
AC_DEFUN([UTIL_REWRITE_AS_UNIX_PATH],
[
windows_path="[$]$1"
if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
@@ -42,7 +42,7 @@ AC_DEFUN([BASIC_WINDOWS_REWRITE_AS_UNIX_PATH],
fi
])
AC_DEFUN([BASIC_WINDOWS_REWRITE_AS_WINDOWS_MIXED_PATH],
AC_DEFUN([UTIL_REWRITE_AS_WINDOWS_MIXED_PATH],
[
unix_path="[$]$1"
if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
@@ -60,7 +60,7 @@ AC_DEFUN([BASIC_WINDOWS_REWRITE_AS_WINDOWS_MIXED_PATH],
# Helper function which possibly converts a path using DOS-style short mode.
# If so, the updated path is stored in $new_path.
# $1: The path to check
AC_DEFUN([BASIC_MAKE_WINDOWS_SPACE_SAFE_CYGWIN],
AC_DEFUN([UTIL_MAKE_WINDOWS_SPACE_SAFE_CYGWIN],
[
input_path="$1"
# Check if we need to convert this using DOS-style short mode. If the path
@@ -96,7 +96,7 @@ AC_DEFUN([BASIC_MAKE_WINDOWS_SPACE_SAFE_CYGWIN],
# Helper function which possibly converts a path using DOS-style short mode.
# If so, the updated path is stored in $new_path.
# $1: The path to check
AC_DEFUN([BASIC_MAKE_WINDOWS_SPACE_SAFE_MSYS],
AC_DEFUN([UTIL_MAKE_WINDOWS_SPACE_SAFE_MSYS],
[
input_path="$1"
# Check if we need to convert this using DOS-style short mode. If the path
@@ -113,7 +113,7 @@ AC_DEFUN([BASIC_MAKE_WINDOWS_SPACE_SAFE_MSYS],
# Helper function which possibly converts a path using DOS-style short mode.
# If so, the updated path is stored in $new_path.
# $1: The path to check
AC_DEFUN([BASIC_MAKE_WINDOWS_SPACE_SAFE_WSL],
AC_DEFUN([UTIL_MAKE_WINDOWS_SPACE_SAFE_WSL],
[
input_path="$1"
# Check if we need to convert this using DOS-style short mode. If the path
@@ -124,31 +124,31 @@ AC_DEFUN([BASIC_MAKE_WINDOWS_SPACE_SAFE_WSL],
if test "x$has_forbidden_chars" != x; then
# Now convert it to mixed DOS-style, short mode (no spaces, and / instead of \)
TOPDIR_windows="$TOPDIR"
BASIC_WINDOWS_REWRITE_AS_WINDOWS_MIXED_PATH([TOPDIR_windows])
UTIL_REWRITE_AS_WINDOWS_MIXED_PATH([TOPDIR_windows])
# First convert to Windows path to make input valid for cmd
BASIC_WINDOWS_REWRITE_AS_WINDOWS_MIXED_PATH([input_path])
UTIL_REWRITE_AS_WINDOWS_MIXED_PATH([input_path])
new_path=`$CMD /c $TOPDIR_windows/make/scripts/windowsShortName.bat "$input_path" \
| $SED -e 's|\r||g' \
| $TR \\\\\\\\ / | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
# Rewrite back to unix style
BASIC_WINDOWS_REWRITE_AS_UNIX_PATH([new_path])
UTIL_REWRITE_AS_UNIX_PATH([new_path])
fi
])
# FIXME: The BASIC_FIXUP_*_CYGWIN/MSYS is most likely too convoluted
# FIXME: The UTIL_FIXUP_*_CYGWIN/MSYS is most likely too convoluted
# and could probably be heavily simplified. However, all changes in this
# area tend to need lot of testing in different scenarios, and in lack of
# proper unit testing, cleaning this up has not been deemed worth the effort
# at the moment.
AC_DEFUN([BASIC_FIXUP_PATH_CYGWIN],
AC_DEFUN([UTIL_FIXUP_PATH_CYGWIN],
[
# Input might be given as Windows format, start by converting to
# unix format.
path="[$]$1"
new_path=`$CYGPATH -u "$path"`
BASIC_ABSOLUTE_PATH(new_path)
UTIL_ABSOLUTE_PATH(new_path)
# Cygwin tries to hide some aspects of the Windows file system, such that binaries are
# named .exe but called without that suffix. Therefore, "foo" and "foo.exe" are considered
@@ -165,7 +165,7 @@ AC_DEFUN([BASIC_FIXUP_PATH_CYGWIN],
# Call helper function which possibly converts this using DOS-style short mode.
# If so, the updated path is stored in $new_path.
BASIC_MAKE_WINDOWS_SPACE_SAFE_CYGWIN([$new_path])
UTIL_MAKE_WINDOWS_SPACE_SAFE_CYGWIN([$new_path])
if test "x$path" != "x$new_path"; then
$1="$new_path"
@@ -173,7 +173,7 @@ AC_DEFUN([BASIC_FIXUP_PATH_CYGWIN],
fi
])
AC_DEFUN([BASIC_FIXUP_PATH_MSYS],
AC_DEFUN([UTIL_FIXUP_PATH_MSYS],
[
path="[$]$1"
has_colon=`$ECHO $path | $GREP ^.:`
@@ -183,10 +183,10 @@ AC_DEFUN([BASIC_FIXUP_PATH_MSYS],
new_path=`cmd //c echo $path`
fi
BASIC_ABSOLUTE_PATH(new_path)
UTIL_ABSOLUTE_PATH(new_path)
BASIC_MAKE_WINDOWS_SPACE_SAFE_MSYS([$new_path])
BASIC_WINDOWS_REWRITE_AS_UNIX_PATH(new_path)
UTIL_MAKE_WINDOWS_SPACE_SAFE_MSYS([$new_path])
UTIL_REWRITE_AS_UNIX_PATH(new_path)
if test "x$path" != "x$new_path"; then
$1="$new_path"
AC_MSG_NOTICE([Rewriting $1 to "$new_path"])
@@ -196,18 +196,18 @@ AC_DEFUN([BASIC_FIXUP_PATH_MSYS],
all_fixpath_prefixes=("${all_fixpath_prefixes@<:@@@:>@}" "${new_path:0:10}")
])
AC_DEFUN([BASIC_FIXUP_PATH_WSL],
AC_DEFUN([UTIL_FIXUP_PATH_WSL],
[
# Input might be given as Windows format, start by converting to
# unix format.
new_path="[$]$1"
BASIC_WINDOWS_REWRITE_AS_UNIX_PATH([new_path])
UTIL_REWRITE_AS_UNIX_PATH([new_path])
BASIC_ABSOLUTE_PATH(new_path)
UTIL_ABSOLUTE_PATH(new_path)
# Call helper function which possibly converts this using DOS-style short mode.
# If so, the updated path is stored in $new_path.
BASIC_MAKE_WINDOWS_SPACE_SAFE_WSL([$new_path])
UTIL_MAKE_WINDOWS_SPACE_SAFE_WSL([$new_path])
if test "x$path" != "x$new_path"; then
$1="$new_path"
@@ -215,7 +215,7 @@ AC_DEFUN([BASIC_FIXUP_PATH_WSL],
fi
])
AC_DEFUN([BASIC_FIXUP_EXECUTABLE_CYGWIN],
AC_DEFUN([UTIL_FIXUP_EXECUTABLE_CYGWIN],
[
# First separate the path from the arguments. This will split at the first
# space.
@@ -291,12 +291,12 @@ AC_DEFUN([BASIC_FIXUP_EXECUTABLE_CYGWIN],
# Call helper function which possibly converts this using DOS-style short mode.
# If so, the updated path is stored in $new_path.
new_path="$input_to_shortpath"
BASIC_MAKE_WINDOWS_SPACE_SAFE_CYGWIN([$input_to_shortpath])
UTIL_MAKE_WINDOWS_SPACE_SAFE_CYGWIN([$input_to_shortpath])
# remove trailing .exe if any
new_path="${new_path/%.exe/}"
])
AC_DEFUN([BASIC_FIXUP_EXECUTABLE_MSYS],
AC_DEFUN([UTIL_FIXUP_EXECUTABLE_MSYS],
[
# First separate the path from the arguments. This will split at the first
# space.
@@ -308,7 +308,7 @@ AC_DEFUN([BASIC_FIXUP_EXECUTABLE_MSYS],
# Input might be given as Windows format, start by converting to
# unix format.
new_path="$path"
BASIC_WINDOWS_REWRITE_AS_UNIX_PATH(new_path)
UTIL_REWRITE_AS_UNIX_PATH(new_path)
# Now try to locate executable using which
new_path=`$WHICH "$new_path" 2> /dev/null`
@@ -321,7 +321,7 @@ AC_DEFUN([BASIC_FIXUP_EXECUTABLE_MSYS],
path="$complete"
arguments="EOL"
new_path="$path"
BASIC_WINDOWS_REWRITE_AS_UNIX_PATH(new_path)
UTIL_REWRITE_AS_UNIX_PATH(new_path)
new_path=`$WHICH "$new_path" 2> /dev/null`
# bat and cmd files are not always considered executable in MSYS causing which
@@ -330,7 +330,7 @@ AC_DEFUN([BASIC_FIXUP_EXECUTABLE_MSYS],
&& test "x`$ECHO \"$path\" | $GREP -i -e \"\\.bat$\" -e \"\\.cmd$\"`" != x \
&& test "x`$LS \"$path\" 2>/dev/null`" != x; then
new_path="$path"
BASIC_WINDOWS_REWRITE_AS_UNIX_PATH(new_path)
UTIL_REWRITE_AS_UNIX_PATH(new_path)
fi
if test "x$new_path" = x; then
@@ -352,9 +352,9 @@ AC_DEFUN([BASIC_FIXUP_EXECUTABLE_MSYS],
else
# Not in mixed or Windows style, start by that.
new_path=`cmd //c echo $new_path`
BASIC_MAKE_WINDOWS_SPACE_SAFE_MSYS([$new_path])
UTIL_MAKE_WINDOWS_SPACE_SAFE_MSYS([$new_path])
# Output is in $new_path
BASIC_WINDOWS_REWRITE_AS_UNIX_PATH(new_path)
UTIL_REWRITE_AS_UNIX_PATH(new_path)
# remove trailing .exe if any
new_path="${new_path/%.exe/}"
@@ -363,7 +363,7 @@ AC_DEFUN([BASIC_FIXUP_EXECUTABLE_MSYS],
fi
])
AC_DEFUN([BASIC_FIXUP_EXECUTABLE_WSL],
AC_DEFUN([UTIL_FIXUP_EXECUTABLE_WSL],
[
# First separate the path from the arguments. This will split at the first
# space.
@@ -375,7 +375,7 @@ AC_DEFUN([BASIC_FIXUP_EXECUTABLE_WSL],
# Input might be given as Windows format, start by converting to
# unix format.
new_path="$path"
BASIC_WINDOWS_REWRITE_AS_UNIX_PATH([new_path])
UTIL_REWRITE_AS_UNIX_PATH([new_path])
# Now try to locate executable using which
new_path_bak="$new_path"
@@ -394,7 +394,7 @@ AC_DEFUN([BASIC_FIXUP_EXECUTABLE_WSL],
path="$complete"
arguments="EOL"
new_path="$path"
BASIC_WINDOWS_REWRITE_AS_UNIX_PATH([new_path])
UTIL_REWRITE_AS_UNIX_PATH([new_path])
new_path_bak="$new_path"
new_path=`$WHICH "$new_path" 2> /dev/null`
# bat and cmd files are not considered executable in WSL
@@ -433,164 +433,6 @@ AC_DEFUN([BASIC_FIXUP_EXECUTABLE_WSL],
# Call helper function which possibly converts this using DOS-style short mode.
# If so, the updated path is stored in $new_path.
new_path="$input_to_shortpath"
BASIC_MAKE_WINDOWS_SPACE_SAFE_WSL([$input_to_shortpath])
UTIL_MAKE_WINDOWS_SPACE_SAFE_WSL([$input_to_shortpath])
])
# Setup basic configuration paths, and platform-specific stuff related to PATHs.
AC_DEFUN([BASIC_CHECK_PATHS_WINDOWS],
[
SRC_ROOT_LENGTH=`$THEPWDCMD -L|$WC -m`
if test $SRC_ROOT_LENGTH -gt 100; then
AC_MSG_ERROR([Your base path is too long. It is $SRC_ROOT_LENGTH characters long, but only 100 is supported])
fi
if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
AC_MSG_CHECKING([cygwin release])
CYGWIN_VERSION=`$UNAME -r`
AC_MSG_RESULT([$CYGWIN_VERSION])
WINDOWS_ENV_VENDOR='cygwin'
WINDOWS_ENV_VERSION="$CYGWIN_VERSION"
CYGWIN_VERSION_OLD=`$ECHO $CYGWIN_VERSION | $GREP -e '^1\.[0-6]'`
if test "x$CYGWIN_VERSION_OLD" != x; then
AC_MSG_NOTICE([Your cygwin is too old. You are running $CYGWIN_VERSION, but at least cygwin 1.7 is required. Please upgrade.])
AC_MSG_ERROR([Cannot continue])
fi
if test "x$CYGPATH" = x; then
AC_MSG_ERROR([Something is wrong with your cygwin installation since I cannot find cygpath.exe in your path])
fi
AC_MSG_CHECKING([cygwin root directory as unix-style path])
# The cmd output ends with Windows line endings (CR/LF)
cygwin_winpath_root=`cd / ; cmd /c cd | $TR -d '\r\n'`
# Force cygpath to report the proper root by including a trailing space, and then stripping it off again.
CYGWIN_ROOT_PATH=`$CYGPATH -u "$cygwin_winpath_root " | $CUT -f 1 -d " "`
AC_MSG_RESULT([$CYGWIN_ROOT_PATH])
WINDOWS_ENV_ROOT_PATH="$CYGWIN_ROOT_PATH"
test_cygdrive_prefix=`$ECHO $CYGWIN_ROOT_PATH | $GREP ^/cygdrive/`
if test "x$test_cygdrive_prefix" = x; then
AC_MSG_ERROR([Your cygdrive prefix is not /cygdrive. This is currently not supported. Change with mount -c.])
fi
elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
AC_MSG_CHECKING([msys release])
MSYS_VERSION=`$UNAME -r`
AC_MSG_RESULT([$MSYS_VERSION])
WINDOWS_ENV_VENDOR='msys'
WINDOWS_ENV_VERSION="$MSYS_VERSION"
AC_MSG_CHECKING([msys root directory as unix-style path])
# The cmd output ends with Windows line endings (CR/LF), the grep command will strip that away
MSYS_ROOT_PATH=`cd / ; cmd /c cd | $GREP ".*"`
BASIC_WINDOWS_REWRITE_AS_UNIX_PATH(MSYS_ROOT_PATH)
AC_MSG_RESULT([$MSYS_ROOT_PATH])
WINDOWS_ENV_ROOT_PATH="$MSYS_ROOT_PATH"
elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.wsl"; then
AC_MSG_CHECKING([Windows version])
# m4 replaces [ and ] so we use @<:@ and @:>@ instead
WINDOWS_VERSION=`$CMD /c ver.exe | $EGREP -o '(@<:@0-9@:>@+\.)+@<:@0-9@:>@+'`
AC_MSG_RESULT([$WINDOWS_VERSION])
AC_MSG_CHECKING([WSL kernel version])
WSL_KERNEL_VERSION=`$UNAME -v`
AC_MSG_RESULT([$WSL_KERNEL_VERSION])
AC_MSG_CHECKING([WSL kernel release])
WSL_KERNEL_RELEASE=`$UNAME -r`
AC_MSG_RESULT([$WSL_KERNEL_RELEASE])
AC_MSG_CHECKING([WSL distribution])
WSL_DISTRIBUTION=`$LSB_RELEASE -d | sed 's/Description:\t//'`
AC_MSG_RESULT([$WSL_DISTRIBUTION])
WINDOWS_ENV_VENDOR='WSL'
WINDOWS_ENV_VERSION="$WSL_DISTRIBUTION $WSL_KERNEL_VERSION $WSL_KERNEL_RELEASE (on Windows build $WINDOWS_VERSION)"
else
AC_MSG_ERROR([Unknown Windows environment. Neither cygwin, msys, nor wsl was detected.])
fi
# Test if windows or unix (cygwin/msys) find is first in path.
AC_MSG_CHECKING([what kind of 'find' is first on the PATH])
FIND_BINARY_OUTPUT=`find --version 2>&1`
if test "x`echo $FIND_BINARY_OUTPUT | $GREP GNU`" != x; then
AC_MSG_RESULT([unix style])
elif test "x`echo $FIND_BINARY_OUTPUT | $GREP FIND`" != x; then
AC_MSG_RESULT([Windows])
AC_MSG_NOTICE([Your path contains Windows tools (C:\Windows\system32) before your unix (cygwin or msys) tools.])
AC_MSG_NOTICE([This will not work. Please correct and make sure /usr/bin (or similar) is first in path.])
AC_MSG_ERROR([Cannot continue])
else
AC_MSG_RESULT([unknown])
AC_MSG_WARN([It seems that your find utility is non-standard.])
fi
])
AC_DEFUN_ONCE([BASIC_COMPILE_FIXPATH],
[
# When using cygwin or msys, we need a wrapper binary that renames
# /cygdrive/c/ arguments into c:/ arguments and peeks into
# @files and rewrites these too! This wrapper binary is
# called fixpath.
FIXPATH=
if test "x$OPENJDK_BUILD_OS" = xwindows; then
AC_MSG_CHECKING([if fixpath can be created])
FIXPATH_SRC="$TOPDIR/make/src/native/fixpath.c"
FIXPATH_BIN="$CONFIGURESUPPORT_OUTPUTDIR/bin/fixpath.exe"
FIXPATH_DIR="$CONFIGURESUPPORT_OUTPUTDIR/fixpath"
if test "x$OPENJDK_BUILD_OS_ENV" = xwindows.cygwin; then
# Important to keep the .exe suffix on Cygwin for Hotspot makefiles
FIXPATH="$FIXPATH_BIN -c"
elif test "x$OPENJDK_BUILD_OS_ENV" = xwindows.msys; then
# Take all collected prefixes and turn them into a -m/c/foo@/c/bar@... command line
# @ was chosen as separator to minimize risk of other tools messing around with it
all_unique_prefixes=`echo "${all_fixpath_prefixes@<:@@@:>@}" \
| tr ' ' '\n' | $GREP '^/./' | $SORT | $UNIQ`
fixpath_argument_list=`echo $all_unique_prefixes | tr ' ' '@'`
FIXPATH="$FIXPATH_BIN -m$fixpath_argument_list"
elif test "x$OPENJDK_BUILD_OS_ENV" = xwindows.wsl; then
FIXPATH="$FIXPATH_BIN -w"
fi
FIXPATH_SRC_W="$FIXPATH_SRC"
FIXPATH_BIN_W="$FIXPATH_BIN"
BASIC_WINDOWS_REWRITE_AS_WINDOWS_MIXED_PATH([FIXPATH_SRC_W])
BASIC_WINDOWS_REWRITE_AS_WINDOWS_MIXED_PATH([FIXPATH_BIN_W])
$RM -rf $FIXPATH_BIN $FIXPATH_DIR
$MKDIR -p $FIXPATH_DIR $CONFIGURESUPPORT_OUTPUTDIR/bin
cd $FIXPATH_DIR
$CC $FIXPATH_SRC_W -Fe$FIXPATH_BIN_W > $FIXPATH_DIR/fixpath1.log 2>&1
cd $CONFIGURE_START_DIR
if test ! -x $FIXPATH_BIN; then
AC_MSG_RESULT([no])
cat $FIXPATH_DIR/fixpath1.log
AC_MSG_ERROR([Could not create $FIXPATH_BIN])
fi
AC_MSG_RESULT([yes])
if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.wsl"; then
OLD_WSLENV="$WSLENV"
WSLENV=`$ECHO $WSLENV | $SED 's/PATH\/l://'`
BASIC_APPEND_TO_PATH(WSLENV, "FIXPATH_PATH")
export WSLENV
export FIXPATH_PATH=$VS_PATH_WINDOWS
AC_MSG_NOTICE([FIXPATH_PATH is $FIXPATH_PATH])
AC_MSG_NOTICE([Rewriting WSLENV from $OLD_WSLENV to $WSLENV])
fi
AC_MSG_CHECKING([if fixpath.exe works])
cd $FIXPATH_DIR
$FIXPATH $CC $FIXPATH_SRC -Fe$FIXPATH_DIR/fixpath2.exe \
> $FIXPATH_DIR/fixpath2.log 2>&1
cd $CONFIGURE_START_DIR
if test ! -x $FIXPATH_DIR/fixpath2.exe; then
AC_MSG_RESULT([no])
cat $FIXPATH_DIR/fixpath2.log
AC_MSG_ERROR([fixpath did not work!])
fi
AC_MSG_RESULT([yes])
FIXPATH_DETACH_FLAG="--detach"
fi
AC_SUBST(FIXPATH)
AC_SUBST(FIXPATH_DETACH_FLAG)
])

View File

@@ -26,18 +26,18 @@
# Default version, product, and vendor information to use,
# unless overridden by configure
DEFAULT_VERSION_FEATURE=14
DEFAULT_VERSION_FEATURE=15
DEFAULT_VERSION_INTERIM=0
DEFAULT_VERSION_UPDATE=0
DEFAULT_VERSION_PATCH=0
DEFAULT_VERSION_EXTRA1=0
DEFAULT_VERSION_EXTRA2=0
DEFAULT_VERSION_EXTRA3=0
DEFAULT_VERSION_DATE=2020-03-17
DEFAULT_VERSION_CLASSFILE_MAJOR=58 # "`$EXPR $DEFAULT_VERSION_FEATURE + 44`"
DEFAULT_VERSION_DATE=2020-09-15
DEFAULT_VERSION_CLASSFILE_MAJOR=59 # "`$EXPR $DEFAULT_VERSION_FEATURE + 44`"
DEFAULT_VERSION_CLASSFILE_MINOR=0
DEFAULT_ACCEPTABLE_BOOT_VERSIONS="13 14"
DEFAULT_JDK_SOURCE_TARGET_VERSION=14
DEFAULT_ACCEPTABLE_BOOT_VERSIONS="13 14 15"
DEFAULT_JDK_SOURCE_TARGET_VERSION=15
DEFAULT_PROMOTED_VERSION_PRE=ea
LAUNCHER_NAME=openjdk

View File

@@ -52,9 +52,11 @@ JTREG_TESTROOTS += $(addprefix $(TOPDIR)/test/, hotspot/jtreg jdk langtools nash
JTREG_ROOT_FILES := $(addsuffix /TEST.ROOT, $(JTREG_TESTROOTS))
JTREG_GROUP_FILES :=
$(foreach root, $(JTREG_TESTROOTS), \
$(eval include $(root)/TEST.ROOT) \
$(eval $(root)_JTREG_GROUP_FILES := $$(addprefix $(root)/, $$(groups))) \
$(eval JTREG_GROUP_FILES += $$($(root)_JTREG_GROUP_FILES)) \
$(if $(wildcard $(root)/TEST.ROOT), \
$(eval include $(root)/TEST.ROOT) \
$(eval $(root)_JTREG_GROUP_FILES := $$(addprefix $(root)/, $$(groups))) \
$(eval JTREG_GROUP_FILES += $$($(root)_JTREG_GROUP_FILES)) \
) \
)
# Cache the expensive to calculate test names in a generated makefile.

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2011, 2019, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2011, 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
@@ -154,6 +154,7 @@ endef
# SETUP:=must point to a previously setup java compiler, for example: SETUP:=BOOTJAVAC
# JVM:=path to ..bin/java
# ADD_JAVAC_FLAGS:=javac flags to append to the default ones.
# DISABLED_WARNINGS:=list of Xlint warnings that should be disabled
# SRC:=one or more directories to search for sources. The order of the source roots
# is significant. The first found file of a certain name has priority.
# BIN:=store classes here
@@ -198,9 +199,15 @@ define SetupJavaCompilationBody
$1_FLAGS := -g
endif
$1_FLAGS += $$($$($1_SETUP)_FLAGS) $$($1_ADD_JAVAC_FLAGS) $(JAVAC_FLAGS)
ifneq ($$($1_DISABLED_WARNINGS), )
$1_FLAGS += -Xlint:$$(call CommaList, $$(addprefix -, $$($1_DISABLED_WARNINGS)))
endif
ifneq ($$($1_CLASSPATH), )
$1_FLAGS += -cp $$(call PathList, $$($1_CLASSPATH))
endif
ifeq ($$($1_JAVAC),)
$$(error The Java compilation $1 refers to a non-existant java compiler setup $$($1_SETUP))
endif

View File

@@ -525,15 +525,16 @@ DependOnVariableFileName = \
# Param 2 - (optional) name of file to store value in
DependOnVariableHelper = \
$(strip \
$(eval -include $(call DependOnVariableFileName, $1, $2)) \
$(eval $1_filename := $(call DependOnVariableFileName, $1, $2)) \
$(if $(wildcard $($1_filename)), $(eval include $($1_filename))) \
$(if $(call equals, $(strip $($1)), $(strip $($1_old))),,\
$(call MakeDir, $(dir $(call DependOnVariableFileName, $1, $2))) \
$(call MakeDir, $(dir $($1_filename))) \
$(if $(findstring $(LOG_LEVEL), trace), \
$(info NewVariable $1: >$(strip $($1))<) \
$(info OldVariable $1: >$(strip $($1_old))<)) \
$(call WriteFile, $1_old:=$(call DoubleDollar,$(call EscapeHash,$($1))), \
$(call DependOnVariableFileName, $1, $2))) \
$(call DependOnVariableFileName, $1, $2) \
$($1_filename))) \
$($1_filename) \
)
# Main macro

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2011, 2019, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2011, 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
@@ -917,6 +917,9 @@ define SetupNativeCompilationBody
ifeq ($(call isTargetOs, windows), true)
$1_EXTRA_LDFLAGS += -debug "-pdb:$$($1_SYMBOLS_DIR)/$$($1_NOSUFFIX).pdb" \
"-map:$$($1_SYMBOLS_DIR)/$$($1_NOSUFFIX).map"
ifeq ($(SHIP_DEBUG_SYMBOLS), public)
$1_EXTRA_LDFLAGS += "-pdbstripped:$$($1_SYMBOLS_DIR)/$$($1_NOSUFFIX).stripped.pdb"
endif
$1_DEBUGINFO_FILES := $$($1_SYMBOLS_DIR)/$$($1_NOSUFFIX).pdb \
$$($1_SYMBOLS_DIR)/$$($1_NOSUFFIX).map

View File

@@ -1,94 +0,0 @@
#
# Copyright (c) 2011, 2019, 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.
#
# Setup make rules for creating an RMI compilation.
#
# Parameter 1 is the name of the rule. This name is used as variable prefix,
# and the targets generated are listed in a variable by that name.
#
# Remaining parameters are named arguments. These include:
# CLASSES:=List of classes to generate stubs for
# CLASSES_DIR:=Directory where to look for classes
# STUB_CLASSES_DIR:=Directory in where to put stub classes
# RUN_V11:=Set to run rmic with -v1.1
# RUN_V12:=Set to run rmic with -v1.2
# KEEP_GENERATED:=Set to keep generated sources around
# STUB_SOURCES_DIR:=Directory to put generated sources in
SetupRMICompilation = $(NamedParamsMacroTemplate)
define SetupRMICompilationBody
$1_DEP_FILE := $$($1_STUB_CLASSES_DIR)/_the.$1_rmic.generated
$1_CLASSES_SLASH := $$(subst .,/,$$($1_CLASSES))
$1_CLASS_FILES := $$(addprefix $$($1_CLASSES_DIR)/,$$(addsuffix .class,$$($1_CLASSES_SLASH)))
$1_STUB_FILES := $$(addprefix $$($1_STUB_CLASSES_DIR)/,$$(addsuffix _Stub.class,$$($1_CLASSES_SLASH)))
$1_TARGETS := $$($1_STUB_FILES)
$1_ARGS :=
ifneq (,$$($1_RUN_V11))
$1_SKEL_FILES := $$(addprefix $$($1_STUB_CLASSES_DIR)/,$$(addsuffix _Skel.class,$$($1_CLASSES_SLASH)))
$1_TARGETS += $$($1_SKEL_FILES)
$1_ARGS += -v1.1
endif
ifneq (,$$($1_RUN_V12))
$1_ARGS += -v1.2
endif
$1_TIE_BASE_FILES := $$(foreach f,$$($1_CLASSES_SLASH),$$(dir $$f)_$$(notdir $$f))
$1_TIE_FILES := $$(addprefix $$($1_STUB_CLASSES_DIR)/org/omg/stub/,$$(addsuffix _Tie.class,$$($1_TIE_BASE_FILES)))
$1_TIE_STDPKG_FILES := $$(addprefix $$($1_STUB_CLASSES_DIR)/,$$(addsuffix _Tie.class,$$($1_TIE_BASE_FILES)))
ifneq ($$($1_KEEP_GENERATED), )
$1_ARGS += -keepgenerated
$1_JAVA_TARGETS := $$(subst .class,.java,$$($1_TARGETS))
ifneq ($$($1_STUB_SOURCES_DIR), )
# This is where the java files are created by rmic
$1_JAVA_TARGETS_REL := $$(subst $$($1_STUB_CLASSES_DIR),, $$($1_JAVA_TARGETS))
# This is where the caller wants the java files
$1_JAVA_TARGETS := $$(addprefix $$($1_STUB_SOURCES_DIR), $$($1_JAVA_TARGETS_REL))
endif
$1_TARGETS += $$($1_JAVA_TARGETS)
endif
$1_DOLLAR_SAFE_CLASSES := $$(subst $$$$,\$$$$,$$($1_CLASSES))
$$($1_TARGETS): $$($1_DEP_FILE) $$($1_CLASS_FILES)
$$($1_DEP_FILE): $$($1_CLASS_FILES)
$$(call LogInfo, Running rmic $$($1_ARGS) for $$($1_DOLLAR_SAFE_CLASSES))
$$(call MakeDir, $$($1_STUB_CLASSES_DIR))
$(RMIC) $$($1_ARGS) -classpath "$$($1_CLASSES_DIR)" \
-d $$($1_STUB_CLASSES_DIR) $$($1_DOLLAR_SAFE_CLASSES); \
$$(if $$($1_STUB_SOURCES_DIR), \
$$(foreach f, $$($1_JAVA_TARGETS_REL), \
$(MKDIR) -p $$(dir $$($1_STUB_SOURCES_DIR)/$$f) ; \
$(MV) $$($1_STUB_CLASSES_DIR)/$$f $$($1_STUB_SOURCES_DIR)/$$f ; \
) \
) \
$(TOUCH) $$@
$1 := $$($1_TARGETS) $$($1_DEP_FILE)
endef

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2011, 2019, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2011, 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
@@ -31,8 +31,6 @@ $(eval $(call IncludeCustomExtension, common/SetupJavaCompilers.gmk))
include JavaCompilation.gmk
DISABLE_WARNINGS ?= -Xlint:all,-deprecation,-removal,-unchecked,-rawtypes,-cast,-serial,-dep-ann,-static,-fallthrough,-try,-varargs,-empty,-finally
JDK_SOURCE_TARGET_FLAGS := -source $(JDK_SOURCE_TARGET_VERSION) \
-target $(JDK_SOURCE_TARGET_VERSION)
@@ -48,7 +46,7 @@ $(eval $(call SetupJavaCompiler,BOOT_JAVAC, \
$(JAVA_TOOL_FLAGS_SMALL) \
$(BOOT_JDK_SOURCETARGET) \
-XDignore.symbol.file=true -g \
-Xlint:all$(COMMA)-deprecation$(COMMA)-options -Werror, \
$(JAVAC_WARNINGS) -Xlint:-options, \
DISABLE_SJAVAC := true, \
))
@@ -66,7 +64,7 @@ $(eval $(call SetupJavaCompiler,GENERATE_OLDBYTECODE, \
JVM := $(JAVA_SMALL), \
JAVAC := $(NEW_JAVAC), \
FLAGS := $(BOOT_JDK_SOURCETARGET) -XDignore.symbol.file=true -XDstringConcat=inline \
$(DISABLE_WARNINGS) -Xlint:-options, \
$(JAVAC_WARNINGS) -Xlint:-options, \
SERVER_DIR := $(SJAVAC_SERVER_DIR), \
SERVER_JVM := $(SJAVAC_SERVER_JAVA)))
@@ -80,16 +78,6 @@ $(eval $(call SetupJavaCompiler,GENERATE_JDKBYTECODE, \
SERVER_DIR := $(SJAVAC_SERVER_DIR), \
SERVER_JVM := $(SJAVAC_SERVER_JAVA)))
# The generate new bytecode javac setup uses the new compiler to compile for the
# new jdk. This new bytecode might only be possible to run using the new jvm.
$(eval $(call SetupJavaCompiler,GENERATE_JDKBYTECODE_NOWARNINGS, \
JVM := $(JAVA_JAVAC), \
JAVAC := $(NEW_JAVAC), \
FLAGS := $(JDK_SOURCE_TARGET_FLAGS) \
-encoding ascii -XDignore.symbol.file=true $(DISABLE_WARNINGS), \
SERVER_DIR := $(SJAVAC_SERVER_DIR), \
SERVER_JVM := $(SJAVAC_SERVER_JAVA)))
# After the jdk is built, we want to build demos using only the recently
# generated jdk classes and nothing else, no jdk source, etc etc.
# I.e. the rt.jar, but since rt.jar has not yet been generated
@@ -97,7 +85,8 @@ $(eval $(call SetupJavaCompiler,GENERATE_JDKBYTECODE_NOWARNINGS, \
$(eval $(call SetupJavaCompiler,GENERATE_USINGJDKBYTECODE, \
JVM := $(JAVA_SMALL), \
JAVAC := $(NEW_JAVAC), \
FLAGS := --upgrade-module-path $(JDK_OUTPUTDIR)/modules --system none $(DISABLE_WARNINGS), \
FLAGS := --upgrade-module-path $(JDK_OUTPUTDIR)/modules --system none \
$(JAVAC_WARNINGS), \
SERVER_DIR := $(SJAVAC_SERVER_DIR), \
SERVER_JVM := $(SJAVAC_SERVER_JAVA)))
@@ -108,7 +97,7 @@ $(eval $(call SetupJavaCompiler,GENERATE_8_BYTECODE, \
$(JAVA_TOOL_FLAGS_SMALL) \
--release 8 \
-XDignore.symbol.file=true -g \
-Xlint:all -Werror, \
$(JAVAC_WARNINGS), \
DISABLE_SJAVAC := true, \
))

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2015, 2019, Oracle and/or its affiliates. All rights reserved.
* 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
@@ -251,7 +251,7 @@ var getJibProfilesCommon = function (input, data) {
configure_args: concat(["--enable-jtreg-failure-handler"],
"--with-exclude-translations=de,es,fr,it,ko,pt_BR,sv,ca,tr,cs,sk,ja_JP_A,ja_JP_HA,ja_JP_HI,ja_JP_I,zh_TW,zh_HK",
"--disable-manpages",
"--with-jvm-features=-shenandoahgc",
"--disable-jvm-feature-shenandoahgc",
versionArgs(input, common))
};
// Extra settings for debug profiles
@@ -466,8 +466,7 @@ var getJibProfilesProfiles = function (input, common, data) {
build_cpu: "x64",
dependencies: ["devkit", "build_devkit", "cups"],
configure_args: [
"--openjdk-target=aarch64-linux-gnu", "--with-freetype=bundled",
"--disable-warnings-as-errors"
"--openjdk-target=aarch64-linux-gnu",
],
},
@@ -539,7 +538,7 @@ var getJibProfilesProfiles = function (input, common, data) {
});
// Generate -gcov profiles
[ "linux-x64", "macosx-x64" ].forEach(function (name) {
[ "linux-aarch64", "linux-x64", "macosx-x64" ].forEach(function (name) {
var gcovName = name + "-gcov";
profiles[gcovName] = clone(profiles[name]);
profiles[gcovName].default_make_targets = ["product-bundles", "test-bundles"];
@@ -626,7 +625,7 @@ var getJibProfilesProfiles = function (input, common, data) {
});
// JCov profiles build JCov-instrumented JDK image based on images provided through dependencies.
[ "linux-x64", "macosx-x64", "solaris-sparcv9", "windows-x64"]
[ "linux-aarch64", "linux-x64", "macosx-x64", "solaris-sparcv9", "windows-x64"]
.forEach(function (name) {
var jcovName = name + "-jcov";
profiles[jcovName] = clone(common.main_profile_base);
@@ -783,7 +782,7 @@ var getJibProfilesProfiles = function (input, common, data) {
});
// Artifacts of JCov profiles
[ "linux-x64", "macosx-x64", "solaris-sparcv9", "windows-x64"]
[ "linux-aarch64", "linux-x64", "macosx-x64", "solaris-sparcv9", "windows-x64"]
.forEach(function (name) {
var o = artifactData[name]
var jdk_subdir = (o.jdk_subdir != null ? o.jdk_subdir : "jdk-" + data.version);
@@ -803,7 +802,7 @@ var getJibProfilesProfiles = function (input, common, data) {
});
// Artifacts of gcov (native-code-coverage) profiles
[ "linux-x64", "macosx-x64" ].forEach(function (name) {
[ "linux-aarch64", "linux-x64", "macosx-x64" ].forEach(function (name) {
var o = artifactData[name]
var pf = o.platform
var jdk_subdir = (o.jdk_subdir != null ? o.jdk_subdir : "jdk-" + data.version);
@@ -866,7 +865,7 @@ var getJibProfilesProfiles = function (input, common, data) {
testImageProfile = testedProfile;
}
var testedProfileTest = testImageProfile + ".test"
var testOnlyMake = [ "run-test-prebuilt", "LOG_CMDLINES=true", "JTREG_VERBOSE=fail,error,time" ];
var testOnlyMake = [ "test-prebuilt", "LOG_CMDLINES=true", "JTREG_VERBOSE=fail,error,time" ];
if (testedProfile.endsWith("-gcov")) {
testOnlyMake = concat(testOnlyMake, "GCOV_ENABLED=true")
}
@@ -974,7 +973,7 @@ var getJibProfilesDependencies = function (input, common) {
solaris_x64: "SS12u4-Solaris11u1+1.0",
solaris_sparcv9: "SS12u6-Solaris11u3+1.0",
windows_x64: "VS2017-15.9.16+1.0",
linux_aarch64: "gcc8.2.0-Fedora27+1.0",
linux_aarch64: "gcc8.3.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"
@@ -1004,9 +1003,17 @@ var getJibProfilesDependencies = function (input, common) {
? input.get("gnumake", "install_path") + "/cygwin/bin"
: input.get("gnumake", "install_path") + "/bin");
var dependencies = {
boot_jdk: {
if (input.build_cpu == 'aarch64') {
boot_jdk = {
organization: common.organization,
ext: "tar.gz",
module: "jdk-linux_aarch64",
revision: "13+1.0",
configure_args: "--with-boot-jdk=" + common.boot_jdk_home,
environment_path: common.boot_jdk_home + "/bin"
}
} else {
boot_jdk = {
server: "jpg",
product: "jdk",
version: common.boot_jdk_version,
@@ -1015,7 +1022,11 @@ 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,
@@ -1041,11 +1052,12 @@ var getJibProfilesDependencies = function (input, common) {
},
jtreg: {
server: "javare",
revision: "4.2",
build_number: "b16",
server: "jpg",
product: "jtreg",
version: "5.0",
build_number: "b01",
checksum_file: "MD5_VALUES",
file: "jtreg_bin-4.2.zip",
file: "bundles/jtreg_bin-5.0.zip",
environment_name: "JT_HOME",
environment_path: input.get("jtreg", "install_path") + "/jtreg/bin"
},
@@ -1066,7 +1078,7 @@ var getJibProfilesDependencies = function (input, common) {
// build_number: "b07",
// file: "bundles/jcov-3_0.zip",
organization: common.organization,
revision: "3.0-58-support+1.0",
revision: "3.0-59-support+1.0",
ext: "zip",
environment_name: "JCOV_HOME",
},

View File

@@ -0,0 +1,49 @@
#
# source: 34B003AF.RPMAP130
# c->b only entries
#
815C 2015
8160 FF5E
8161 2225
817C FF0D
88A0 555E
898B 7130
89A8 9DD7
8A9A 5699
8BA0 4FE0
8BEB 8EC0
8C71 7E6B
8C74 8346
8CB2 9E7C
8D8D 9EB4
8DF2 6805
8EC6 5C62
8F4A 7E61
8FD3 8523
8FDD 91AC
90E4 87EC
917E 6414
9189 7626
91CB 9A52
925C 7C1E
92CD 6451
9355 5861
935E 985A
9398 79B1
93C0 7006
9458 56CA
948D 525D
94AC 6F51
94AE 91B1
966A 9830
96CB 9EB5
9789 840A
9858 881F
9BA0 5C5B
9DB7 6522
9E94 688E
E379 7E48
E445 8141
E8F6 9839
FA55 FFE4
FA59 F86F

View File

@@ -23,10 +23,10 @@
# 0xF9FD -> u256F -> 0xA2A3
# 0xA2CC -> u5341 -> 0xA451
# 0xA2CE -> u5345 -> 0xA4CA
# 0xF9F9 -> u2550 -> 0xA2A4
# 0xF9E9 -> u255E -> 0xA2A5
# 0xF9EA -> u256A -> 0xA2A6
# 0xF9EB -> u2561 -> 0xA2A7
# 0xA2A4 -> u2550 -> 0xF9F9
# 0xA2A5 -> u255E -> 0xF9E9
# 0xA2A6 -> u256A -> 0xF9EA
# 0xA2A7 -> u2561 -> 0xF9EB
#
# Column #1 is the cp950 code (in hex)
# Column #2 is the Unicode (in hex as 0xXXXX)

View File

@@ -6,13 +6,13 @@
# (we don't need a MS950.c2b, the entries of MS950.c2b-irreversible
# are added in MS950.b2c already)
#
0xF9FA 0x256D
0xA2A4 0x2550
0xA2A5 0x255E
0xA2A6 0x256A
0xA2A7 0x2561
0xA2CC 0x5341
0xA2CE 0x5345
0xF9FA 0x256D
0xF9FB 0x256E
0xF9FC 0x2570
0xF9FD 0x256F
0xA2CC 0x5341
0xA2CE 0x5345
0xF9F9 0x2550
0xF9E9 0x255E
0xF9EA 0x256A
0xF9EB 0x2561

View File

@@ -1,4 +1,4 @@
File-Date: 2019-09-16
File-Date: 2020-03-16
%%
Type: language
Subtag: aa
@@ -47129,6 +47129,16 @@ Comments: Pamaka dialect of the "Busi Nenge Tongo" English-based
Creole continuum in Eastern Suriname and Western French Guiana
%%
Type: variant
Subtag: peano
Description: Latino Sine Flexione
Description: Interlingua de API
Description: Interlingua de Peano
Prefix: la
Comments: Peanos Interlingua, created in 1903 by Giuseppe Peano as an
international auxiliary language
Added: 2020-03-12
%%
Type: variant
Subtag: petr1708
Description: Petrine orthography
Added: 2010-10-10

View File

@@ -0,0 +1,230 @@
#
# 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.
#
# ##########################################################
# ### THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ###
# ##########################################################
#
module name java.base
header exports java/io,java/lang,java/lang/annotation,java/lang/constant,java/lang/invoke,java/lang/module,java/lang/ref,java/lang/reflect,java/lang/runtime,java/math,java/net,java/net/spi,java/nio,java/nio/channels,java/nio/channels/spi,java/nio/charset,java/nio/charset/spi,java/nio/file,java/nio/file/attribute,java/nio/file/spi,java/security,java/security/cert,java/security/interfaces,java/security/spec,java/text,java/text/spi,java/time,java/time/chrono,java/time/format,java/time/temporal,java/time/zone,java/util,java/util/concurrent,java/util/concurrent/atomic,java/util/concurrent/locks,java/util/function,java/util/jar,java/util/regex,java/util/spi,java/util/stream,java/util/zip,javax/crypto,javax/crypto/interfaces,javax/crypto/spec,javax/net,javax/net/ssl,javax/security/auth,javax/security/auth/callback,javax/security/auth/login,javax/security/auth/spi,javax/security/auth/x500,javax/security/cert uses java/lang/System$LoggerFinder,java/net/ContentHandlerFactory,java/net/spi/URLStreamHandlerProvider,java/nio/channels/spi/AsynchronousChannelProvider,java/nio/channels/spi/SelectorProvider,java/nio/charset/spi/CharsetProvider,java/nio/file/spi/FileSystemProvider,java/nio/file/spi/FileTypeDetector,java/security/Provider,java/text/spi/BreakIteratorProvider,java/text/spi/CollatorProvider,java/text/spi/DateFormatProvider,java/text/spi/DateFormatSymbolsProvider,java/text/spi/DecimalFormatSymbolsProvider,java/text/spi/NumberFormatProvider,java/time/chrono/AbstractChronology,java/time/chrono/Chronology,java/time/zone/ZoneRulesProvider,java/util/spi/CalendarDataProvider,java/util/spi/CalendarNameProvider,java/util/spi/CurrencyNameProvider,java/util/spi/LocaleNameProvider,java/util/spi/ResourceBundleControlProvider,java/util/spi/ResourceBundleProvider,java/util/spi/TimeZoneNameProvider,java/util/spi/ToolProvider,javax/security/auth/spi/LoginModule,jdk/internal/logger/DefaultLoggerFinder,sun/text/spi/JavaTimeDateTimePatternProvider,sun/util/locale/provider/LocaleDataMetaInfo,sun/util/resources/LocaleData$CommonResourceBundleProvider,sun/util/resources/LocaleData$SupplementaryResourceBundleProvider,sun/util/spi/CalendarProvider provides interface\u0020;java/nio/file/spi/FileSystemProvider\u0020;impls\u0020;jdk/internal/jrtfs/JrtFileSystemProvider target linux-amd64 flags 8000
class name java/io/PrintStream
method name write descriptor ([B)V thrownTypes java/io/IOException flags 1
method name writeBytes descriptor ([B)V flags 1
class name java/io/Serial
header extends java/lang/Object implements java/lang/annotation/Annotation flags 2601 runtimeAnnotations @Ljava/lang/annotation/Target;(value={eLjava/lang/annotation/ElementType;METHOD;eLjava/lang/annotation/ElementType;FIELD;})@Ljava/lang/annotation/Retention;(value=eLjava/lang/annotation/RetentionPolicy;SOURCE;)
class name java/lang/Class
method name getRecordComponents descriptor ()[Ljava/lang/reflect/RecordComponent; flags 1 classAnnotations @Ljdk/internal/PreviewFeature;(feature=eLjdk/internal/PreviewFeature$Feature;RECORDS;,essentialAPI=Zfalse) runtimeAnnotations @Ljdk/internal/reflect/CallerSensitive;
method name isRecord descriptor ()Z flags 1 classAnnotations @Ljdk/internal/PreviewFeature;(feature=eLjdk/internal/PreviewFeature$Feature;RECORDS;,essentialAPI=Zfalse)
class name java/lang/Math
-method name ceil descriptor (D)D
-method name floor descriptor (D)D
-method name rint descriptor (D)D
method name ceil descriptor (D)D flags 9 runtimeAnnotations @Ljdk/internal/HotSpotIntrinsicCandidate;
method name floor descriptor (D)D flags 9 runtimeAnnotations @Ljdk/internal/HotSpotIntrinsicCandidate;
method name rint descriptor (D)D flags 9 runtimeAnnotations @Ljdk/internal/HotSpotIntrinsicCandidate;
class name java/lang/NullPointerException
method name getMessage descriptor ()Ljava/lang/String; flags 1
class name java/lang/Record
header extends java/lang/Object flags 421 classAnnotations @Ljdk/internal/PreviewFeature;(feature=eLjdk/internal/PreviewFeature$Feature;RECORDS;,essentialAPI=Ztrue)
method name <init> descriptor ()V flags 4
method name equals descriptor (Ljava/lang/Object;)Z flags 401
method name hashCode descriptor ()I flags 401
method name toString descriptor ()Ljava/lang/String; flags 401
class name java/lang/StrictMath
method name incrementExact descriptor (I)I flags 9
method name incrementExact descriptor (J)J flags 9
method name decrementExact descriptor (I)I flags 9
method name decrementExact descriptor (J)J flags 9
method name negateExact descriptor (I)I flags 9
method name negateExact descriptor (J)J flags 9
class name java/lang/String
-method name stripIndent descriptor ()Ljava/lang/String;
-method name translateEscapes descriptor ()Ljava/lang/String;
-method name formatted descriptor ([Ljava/lang/Object;)Ljava/lang/String;
method name stripIndent descriptor ()Ljava/lang/String; flags 1 classAnnotations @Ljdk/internal/PreviewFeature;(feature=eLjdk/internal/PreviewFeature$Feature;TEXT_BLOCKS;,essentialAPI=Ztrue)
method name translateEscapes descriptor ()Ljava/lang/String; flags 1 classAnnotations @Ljdk/internal/PreviewFeature;(feature=eLjdk/internal/PreviewFeature$Feature;TEXT_BLOCKS;,essentialAPI=Ztrue)
method name formatted descriptor ([Ljava/lang/Object;)Ljava/lang/String; flags 81 classAnnotations @Ljdk/internal/PreviewFeature;(feature=eLjdk/internal/PreviewFeature$Feature;TEXT_BLOCKS;,essentialAPI=Ztrue)
class name java/lang/Thread
-method name suspend descriptor ()V
-method name resume descriptor ()V
-method name countStackFrames descriptor ()I
method name suspend descriptor ()V flags 11 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="1.2")
method name resume descriptor ()V flags 11 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="1.2")
method name countStackFrames descriptor ()I flags 1 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="1.2")
class name java/lang/ThreadGroup
-method name suspend descriptor ()V
-method name resume descriptor ()V
-method name allowThreadSuspension descriptor (Z)Z
method name suspend descriptor ()V flags 11 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="1.2")
method name resume descriptor ()V flags 11 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="1.2")
method name allowThreadSuspension descriptor (Z)Z flags 1 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="1.2")
class name java/lang/annotation/ElementType
field name RECORD_COMPONENT descriptor Ljava/lang/annotation/ElementType; flags 4019 classAnnotations @Ljdk/internal/PreviewFeature;(feature=eLjdk/internal/PreviewFeature$Feature;RECORDS;,essentialAPI=Ztrue)
class name java/lang/invoke/ConstantBootstraps
-method name <init> descriptor ()V
method name <init> descriptor ()V flags 1 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="14")
class name java/lang/invoke/MethodHandles$Lookup
-method name hasPrivateAccess descriptor ()Z
method name previousLookupClass descriptor ()Ljava/lang/Class; flags 1 signature ()Ljava/lang/Class<*>;
method name hasPrivateAccess descriptor ()Z flags 1 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(since="14")
method name hasFullPrivilegeAccess descriptor ()Z flags 1
class name java/lang/reflect/Modifier
-method name <init> descriptor ()V
method name <init> descriptor ()V flags 1 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="14")
class name java/lang/reflect/RecordComponent
header extends java/lang/Object implements java/lang/reflect/AnnotatedElement flags 31 classAnnotations @Ljdk/internal/PreviewFeature;(feature=eLjdk/internal/PreviewFeature$Feature;RECORDS;,essentialAPI=Zfalse)
method name getName descriptor ()Ljava/lang/String; flags 1
method name getType descriptor ()Ljava/lang/Class; flags 1 signature ()Ljava/lang/Class<*>;
method name getGenericSignature descriptor ()Ljava/lang/String; flags 1
method name getGenericType descriptor ()Ljava/lang/reflect/Type; flags 1
method name getAnnotatedType descriptor ()Ljava/lang/reflect/AnnotatedType; flags 1
method name getAccessor descriptor ()Ljava/lang/reflect/Method; flags 1
method name getAnnotation descriptor (Ljava/lang/Class;)Ljava/lang/annotation/Annotation; flags 1 signature <T::Ljava/lang/annotation/Annotation;>(Ljava/lang/Class<TT;>;)TT;
method name getAnnotations descriptor ()[Ljava/lang/annotation/Annotation; flags 1
method name getDeclaredAnnotations descriptor ()[Ljava/lang/annotation/Annotation; flags 1
method name toString descriptor ()Ljava/lang/String; flags 1
method name getDeclaringRecord descriptor ()Ljava/lang/Class; flags 1 signature ()Ljava/lang/Class<*>;
class name java/lang/runtime/ObjectMethods
header extends java/lang/Object flags 21 classAnnotations @Ljdk/internal/PreviewFeature;(feature=eLjdk/internal/PreviewFeature$Feature;RECORDS;,essentialAPI=Zfalse)
innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
method name bootstrap descriptor (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/TypeDescriptor;Ljava/lang/Class;Ljava/lang/String;[Ljava/lang/invoke/MethodHandle;)Ljava/lang/Object; thrownTypes java/lang/Throwable flags 89 signature (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/TypeDescriptor;Ljava/lang/Class<*>;Ljava/lang/String;[Ljava/lang/invoke/MethodHandle;)Ljava/lang/Object;
class name java/net/MulticastSocket
-method name joinGroup descriptor (Ljava/net/InetAddress;)V
-method name leaveGroup descriptor (Ljava/net/InetAddress;)V
-method name setInterface descriptor (Ljava/net/InetAddress;)V
-method name getInterface descriptor ()Ljava/net/InetAddress;
-method name setLoopbackMode descriptor (Z)V
-method name getLoopbackMode descriptor ()Z
method name joinGroup descriptor (Ljava/net/InetAddress;)V thrownTypes java/io/IOException flags 1 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(since="14")
method name leaveGroup descriptor (Ljava/net/InetAddress;)V thrownTypes java/io/IOException flags 1 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(since="14")
method name setInterface descriptor (Ljava/net/InetAddress;)V thrownTypes java/net/SocketException flags 1 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(since="14")
method name getInterface descriptor ()Ljava/net/InetAddress; thrownTypes java/net/SocketException flags 1 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(since="14")
method name setLoopbackMode descriptor (Z)V thrownTypes java/net/SocketException flags 1 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(since="14")
method name getLoopbackMode descriptor ()Z thrownTypes java/net/SocketException flags 1 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(since="14")
class name java/nio/channels/SelectionKey
header extends java/lang/Object flags 421
innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
class name java/nio/channels/spi/AbstractSelectableChannel
header extends java/nio/channels/SelectableChannel flags 421
innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
class name java/nio/channels/spi/AbstractSelectionKey
header extends java/nio/channels/SelectionKey flags 421
innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
class name java/nio/channels/spi/AbstractSelector
header extends java/nio/channels/Selector flags 421
innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
-class name java/security/acl/Acl
-class name java/security/acl/AclEntry
-class name java/security/acl/AclNotFoundException
-class name java/security/acl/Group
-class name java/security/acl/LastOwnerException
-class name java/security/acl/NotOwnerException
-class name java/security/acl/Owner
-class name java/security/acl/Permission
class name java/text/CompactNumberFormat
header extends java/text/NumberFormat flags 31
innerclass innerClass java/text/NumberFormat$Field outerClass java/text/NumberFormat innerClassName Field flags 9
innerclass innerClass java/text/Format$Field outerClass java/text/Format innerClassName Field flags 9
innerclass innerClass java/util/Map$Entry outerClass java/util/Map innerClassName Entry flags 609
innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
method name <init> descriptor (Ljava/lang/String;Ljava/text/DecimalFormatSymbols;[Ljava/lang/String;Ljava/lang/String;)V flags 1
class name java/util/HashSet
method name toArray descriptor ()[Ljava/lang/Object; flags 1
method name toArray descriptor ([Ljava/lang/Object;)[Ljava/lang/Object; flags 1 signature <T:Ljava/lang/Object;>([TT;)[TT;
class name java/util/concurrent/locks/AbstractQueuedLongSynchronizer
header extends java/util/concurrent/locks/AbstractOwnableSynchronizer implements java/io/Serializable nestMembers java/util/concurrent/locks/AbstractQueuedLongSynchronizer$ConditionObject flags 421
innerclass innerClass java/util/concurrent/locks/AbstractQueuedLongSynchronizer$ConditionObject outerClass java/util/concurrent/locks/AbstractQueuedLongSynchronizer innerClassName ConditionObject flags 1
-method name <init> descriptor ()V
method name <init> descriptor ()V flags 1
class name java/util/concurrent/locks/AbstractQueuedLongSynchronizer$ConditionObject
header extends java/lang/Object implements java/util/concurrent/locks/Condition,java/io/Serializable nestHost java/util/concurrent/locks/AbstractQueuedLongSynchronizer flags 21
innerclass innerClass java/util/concurrent/locks/AbstractQueuedLongSynchronizer$ConditionObject outerClass java/util/concurrent/locks/AbstractQueuedLongSynchronizer innerClassName ConditionObject flags 1
innerclass innerClass java/util/concurrent/ForkJoinPool$ManagedBlocker outerClass java/util/concurrent/ForkJoinPool innerClassName ManagedBlocker flags 609
class name java/util/concurrent/locks/AbstractQueuedSynchronizer
header extends java/util/concurrent/locks/AbstractOwnableSynchronizer implements java/io/Serializable nestMembers java/util/concurrent/locks/AbstractQueuedSynchronizer$ConditionObject flags 421
innerclass innerClass java/util/concurrent/locks/AbstractQueuedSynchronizer$ConditionObject outerClass java/util/concurrent/locks/AbstractQueuedSynchronizer innerClassName ConditionObject flags 1
class name java/util/concurrent/locks/AbstractQueuedSynchronizer$ConditionObject
header extends java/lang/Object implements java/util/concurrent/locks/Condition,java/io/Serializable nestHost java/util/concurrent/locks/AbstractQueuedSynchronizer flags 21
innerclass innerClass java/util/concurrent/locks/AbstractQueuedSynchronizer$ConditionObject outerClass java/util/concurrent/locks/AbstractQueuedSynchronizer innerClassName ConditionObject flags 1
innerclass innerClass java/util/concurrent/ForkJoinPool$ManagedBlocker outerClass java/util/concurrent/ForkJoinPool innerClassName ManagedBlocker flags 609
class name java/util/concurrent/locks/LockSupport
method name setCurrentBlocker descriptor (Ljava/lang/Object;)V flags 9
class name java/util/concurrent/locks/StampedLock
header extends java/lang/Object implements java/io/Serializable flags 21 classAnnotations @Ljdk/Profile+Annotation;(value=I1)
method name tryWriteLock descriptor ()J flags 1
method name writeLockInterruptibly descriptor ()J thrownTypes java/lang/InterruptedException flags 1
method name tryReadLock descriptor ()J flags 1
method name tryReadLock descriptor (JLjava/util/concurrent/TimeUnit;)J thrownTypes java/lang/InterruptedException flags 1
method name readLockInterruptibly descriptor ()J thrownTypes java/lang/InterruptedException flags 1
method name unlock descriptor (J)V flags 1
-method name tryWriteLock descriptor ()J
-method name writeLockInterruptibly descriptor ()J
-method name tryReadLock descriptor ()J
-method name tryReadLock descriptor (JLjava/util/concurrent/TimeUnit;)J
-method name readLockInterruptibly descriptor ()J
-method name unlock descriptor (J)V
-class name java/util/jar/Pack200
-class name java/util/jar/Pack200$Packer
-class name java/util/jar/Pack200$Unpacker

View File

@@ -0,0 +1,143 @@
#
# Copyright (c) 2019, 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.
#
# ##########################################################
# ### THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ###
# ##########################################################
#
class name javax/lang/model/SourceVersion
field name RELEASE_14 descriptor Ljavax/lang/model/SourceVersion; flags 4019
class name javax/lang/model/element/ElementKind
field name RECORD descriptor Ljavax/lang/model/element/ElementKind; flags 4019 classAnnotations @Ljdk/internal/PreviewFeature;(feature=eLjdk/internal/PreviewFeature$Feature;RECORDS;,essentialAPI=Zfalse)
field name RECORD_COMPONENT descriptor Ljavax/lang/model/element/ElementKind; flags 4019 classAnnotations @Ljdk/internal/PreviewFeature;(feature=eLjdk/internal/PreviewFeature$Feature;RECORDS;,essentialAPI=Zfalse)
field name BINDING_VARIABLE descriptor Ljavax/lang/model/element/ElementKind; flags 4019 classAnnotations @Ljdk/internal/PreviewFeature;(feature=eLjdk/internal/PreviewFeature$Feature;PATTERN_MATCHING_IN_INSTANCEOF;,essentialAPI=Zfalse)
class name javax/lang/model/element/ElementVisitor
method name visitRecordComponent descriptor (Ljavax/lang/model/element/RecordComponentElement;Ljava/lang/Object;)Ljava/lang/Object; flags 1 signature (Ljavax/lang/model/element/RecordComponentElement;TP;)TR; classAnnotations @Ljdk/internal/PreviewFeature;(feature=eLjdk/internal/PreviewFeature$Feature;RECORDS;,essentialAPI=Zfalse)
class name javax/lang/model/element/RecordComponentElement
header extends java/lang/Object implements javax/lang/model/element/Element flags 601 classAnnotations @Ljdk/internal/PreviewFeature;(feature=eLjdk/internal/PreviewFeature$Feature;RECORDS;,essentialAPI=Zfalse)
method name getEnclosingElement descriptor ()Ljavax/lang/model/element/Element; flags 401
method name getSimpleName descriptor ()Ljavax/lang/model/element/Name; flags 401
method name getAccessor descriptor ()Ljavax/lang/model/element/ExecutableElement; flags 401
class name javax/lang/model/element/TypeElement
method name getRecordComponents descriptor ()Ljava/util/List; flags 1 signature ()Ljava/util/List<+Ljavax/lang/model/element/RecordComponentElement;>; classAnnotations @Ljdk/internal/PreviewFeature;(feature=eLjdk/internal/PreviewFeature$Feature;RECORDS;,essentialAPI=Zfalse)
class name javax/lang/model/util/AbstractAnnotationValueVisitor14
header extends javax/lang/model/util/AbstractAnnotationValueVisitor9 flags 421 signature <R:Ljava/lang/Object;P:Ljava/lang/Object;>Ljavax/lang/model/util/AbstractAnnotationValueVisitor9<TR;TP;>; runtimeAnnotations @Ljavax/annotation/processing/SupportedSourceVersion;(value=eLjavax/lang/model/SourceVersion;RELEASE_14;)
method name <init> descriptor ()V flags 4
class name javax/lang/model/util/AbstractAnnotationValueVisitor9
header extends javax/lang/model/util/AbstractAnnotationValueVisitor8 flags 421 signature <R:Ljava/lang/Object;P:Ljava/lang/Object;>Ljavax/lang/model/util/AbstractAnnotationValueVisitor8<TR;TP;>; runtimeAnnotations @Ljavax/annotation/processing/SupportedSourceVersion;(value=eLjavax/lang/model/SourceVersion;RELEASE_14;)
class name javax/lang/model/util/AbstractElementVisitor14
header extends javax/lang/model/util/AbstractElementVisitor9 flags 421 signature <R:Ljava/lang/Object;P:Ljava/lang/Object;>Ljavax/lang/model/util/AbstractElementVisitor9<TR;TP;>; classAnnotations @Ljdk/internal/PreviewFeature;(feature=eLjdk/internal/PreviewFeature$Feature;RECORDS;,essentialAPI=Zfalse) runtimeAnnotations @Ljavax/annotation/processing/SupportedSourceVersion;(value=eLjavax/lang/model/SourceVersion;RELEASE_14;)
method name <init> descriptor ()V flags 4
method name visitRecordComponent descriptor (Ljavax/lang/model/element/RecordComponentElement;Ljava/lang/Object;)Ljava/lang/Object; flags 401 signature (Ljavax/lang/model/element/RecordComponentElement;TP;)TR;
class name javax/lang/model/util/AbstractElementVisitor6
method name visitRecordComponent descriptor (Ljavax/lang/model/element/RecordComponentElement;Ljava/lang/Object;)Ljava/lang/Object; flags 1 signature (Ljavax/lang/model/element/RecordComponentElement;TP;)TR;
class name javax/lang/model/util/AbstractElementVisitor9
header extends javax/lang/model/util/AbstractElementVisitor8 flags 421 signature <R:Ljava/lang/Object;P:Ljava/lang/Object;>Ljavax/lang/model/util/AbstractElementVisitor8<TR;TP;>; runtimeAnnotations @Ljavax/annotation/processing/SupportedSourceVersion;(value=eLjavax/lang/model/SourceVersion;RELEASE_14;)
class name javax/lang/model/util/AbstractTypeVisitor14
header extends javax/lang/model/util/AbstractTypeVisitor9 flags 421 signature <R:Ljava/lang/Object;P:Ljava/lang/Object;>Ljavax/lang/model/util/AbstractTypeVisitor9<TR;TP;>; runtimeAnnotations @Ljavax/annotation/processing/SupportedSourceVersion;(value=eLjavax/lang/model/SourceVersion;RELEASE_14;)
method name <init> descriptor ()V flags 4
class name javax/lang/model/util/AbstractTypeVisitor9
header extends javax/lang/model/util/AbstractTypeVisitor8 flags 421 signature <R:Ljava/lang/Object;P:Ljava/lang/Object;>Ljavax/lang/model/util/AbstractTypeVisitor8<TR;TP;>; runtimeAnnotations @Ljavax/annotation/processing/SupportedSourceVersion;(value=eLjavax/lang/model/SourceVersion;RELEASE_14;)
class name javax/lang/model/util/ElementFilter
method name recordComponentsIn descriptor (Ljava/lang/Iterable;)Ljava/util/List; flags 9 signature (Ljava/lang/Iterable<+Ljavax/lang/model/element/Element;>;)Ljava/util/List<Ljavax/lang/model/element/RecordComponentElement;>; classAnnotations @Ljdk/internal/PreviewFeature;(feature=eLjdk/internal/PreviewFeature$Feature;RECORDS;,essentialAPI=Zfalse)
method name recordComponentsIn descriptor (Ljava/util/Set;)Ljava/util/Set; flags 9 signature (Ljava/util/Set<+Ljavax/lang/model/element/Element;>;)Ljava/util/Set<Ljavax/lang/model/element/RecordComponentElement;>; classAnnotations @Ljdk/internal/PreviewFeature;(feature=eLjdk/internal/PreviewFeature$Feature;RECORDS;,essentialAPI=Zfalse)
class name javax/lang/model/util/ElementKindVisitor14
header extends javax/lang/model/util/ElementKindVisitor9 flags 21 signature <R:Ljava/lang/Object;P:Ljava/lang/Object;>Ljavax/lang/model/util/ElementKindVisitor9<TR;TP;>; classAnnotations @Ljdk/internal/PreviewFeature;(feature=eLjdk/internal/PreviewFeature$Feature;RECORDS;,essentialAPI=Zfalse) runtimeAnnotations @Ljavax/annotation/processing/SupportedSourceVersion;(value=eLjavax/lang/model/SourceVersion;RELEASE_14;)
method name <init> descriptor ()V flags 4
method name <init> descriptor (Ljava/lang/Object;)V flags 4 signature (TR;)V
method name visitRecordComponent descriptor (Ljavax/lang/model/element/RecordComponentElement;Ljava/lang/Object;)Ljava/lang/Object; flags 1 signature (Ljavax/lang/model/element/RecordComponentElement;TP;)TR;
method name visitTypeAsRecord descriptor (Ljavax/lang/model/element/TypeElement;Ljava/lang/Object;)Ljava/lang/Object; flags 1 signature (Ljavax/lang/model/element/TypeElement;TP;)TR;
method name visitVariableAsBindingVariable descriptor (Ljavax/lang/model/element/VariableElement;Ljava/lang/Object;)Ljava/lang/Object; flags 1 signature (Ljavax/lang/model/element/VariableElement;TP;)TR;
class name javax/lang/model/util/ElementKindVisitor6
method name visitTypeAsRecord descriptor (Ljavax/lang/model/element/TypeElement;Ljava/lang/Object;)Ljava/lang/Object; flags 1 signature (Ljavax/lang/model/element/TypeElement;TP;)TR; classAnnotations @Ljdk/internal/PreviewFeature;(feature=eLjdk/internal/PreviewFeature$Feature;RECORDS;,essentialAPI=Zfalse)
method name visitVariableAsBindingVariable descriptor (Ljavax/lang/model/element/VariableElement;Ljava/lang/Object;)Ljava/lang/Object; flags 1 signature (Ljavax/lang/model/element/VariableElement;TP;)TR;
class name javax/lang/model/util/ElementKindVisitor9
header extends javax/lang/model/util/ElementKindVisitor8 flags 21 signature <R:Ljava/lang/Object;P:Ljava/lang/Object;>Ljavax/lang/model/util/ElementKindVisitor8<TR;TP;>; runtimeAnnotations @Ljavax/annotation/processing/SupportedSourceVersion;(value=eLjavax/lang/model/SourceVersion;RELEASE_14;)
class name javax/lang/model/util/ElementScanner14
header extends javax/lang/model/util/ElementScanner9 flags 21 signature <R:Ljava/lang/Object;P:Ljava/lang/Object;>Ljavax/lang/model/util/ElementScanner9<TR;TP;>; classAnnotations @Ljdk/internal/PreviewFeature;(feature=eLjdk/internal/PreviewFeature$Feature;RECORDS;,essentialAPI=Zfalse) runtimeAnnotations @Ljavax/annotation/processing/SupportedSourceVersion;(value=eLjavax/lang/model/SourceVersion;RELEASE_14;)
method name <init> descriptor ()V flags 4
method name <init> descriptor (Ljava/lang/Object;)V flags 4 signature (TR;)V
method name visitType descriptor (Ljavax/lang/model/element/TypeElement;Ljava/lang/Object;)Ljava/lang/Object; flags 1 signature (Ljavax/lang/model/element/TypeElement;TP;)TR;
method name visitExecutable descriptor (Ljavax/lang/model/element/ExecutableElement;Ljava/lang/Object;)Ljava/lang/Object; flags 1 signature (Ljavax/lang/model/element/ExecutableElement;TP;)TR;
method name visitRecordComponent descriptor (Ljavax/lang/model/element/RecordComponentElement;Ljava/lang/Object;)Ljava/lang/Object; flags 1 signature (Ljavax/lang/model/element/RecordComponentElement;TP;)TR;
class name javax/lang/model/util/ElementScanner9
header extends javax/lang/model/util/ElementScanner8 flags 21 signature <R:Ljava/lang/Object;P:Ljava/lang/Object;>Ljavax/lang/model/util/ElementScanner8<TR;TP;>; runtimeAnnotations @Ljavax/annotation/processing/SupportedSourceVersion;(value=eLjavax/lang/model/SourceVersion;RELEASE_14;)
class name javax/lang/model/util/Elements
method name recordComponentFor descriptor (Ljavax/lang/model/element/ExecutableElement;)Ljavax/lang/model/element/RecordComponentElement; flags 1 classAnnotations @Ljdk/internal/PreviewFeature;(feature=eLjdk/internal/PreviewFeature$Feature;RECORDS;,essentialAPI=Zfalse)
class name javax/lang/model/util/SimpleAnnotationValueVisitor14
header extends javax/lang/model/util/SimpleAnnotationValueVisitor9 flags 21 signature <R:Ljava/lang/Object;P:Ljava/lang/Object;>Ljavax/lang/model/util/SimpleAnnotationValueVisitor9<TR;TP;>; runtimeAnnotations @Ljavax/annotation/processing/SupportedSourceVersion;(value=eLjavax/lang/model/SourceVersion;RELEASE_14;)
method name <init> descriptor ()V flags 4
method name <init> descriptor (Ljava/lang/Object;)V flags 4 signature (TR;)V
class name javax/lang/model/util/SimpleAnnotationValueVisitor9
header extends javax/lang/model/util/SimpleAnnotationValueVisitor8 flags 21 signature <R:Ljava/lang/Object;P:Ljava/lang/Object;>Ljavax/lang/model/util/SimpleAnnotationValueVisitor8<TR;TP;>; runtimeAnnotations @Ljavax/annotation/processing/SupportedSourceVersion;(value=eLjavax/lang/model/SourceVersion;RELEASE_14;)
class name javax/lang/model/util/SimpleElementVisitor14
header extends javax/lang/model/util/SimpleElementVisitor9 flags 21 signature <R:Ljava/lang/Object;P:Ljava/lang/Object;>Ljavax/lang/model/util/SimpleElementVisitor9<TR;TP;>; classAnnotations @Ljdk/internal/PreviewFeature;(feature=eLjdk/internal/PreviewFeature$Feature;RECORDS;,essentialAPI=Zfalse) runtimeAnnotations @Ljavax/annotation/processing/SupportedSourceVersion;(value=eLjavax/lang/model/SourceVersion;RELEASE_14;)
method name <init> descriptor ()V flags 4
method name <init> descriptor (Ljava/lang/Object;)V flags 4 signature (TR;)V
method name visitRecordComponent descriptor (Ljavax/lang/model/element/RecordComponentElement;Ljava/lang/Object;)Ljava/lang/Object; flags 1 signature (Ljavax/lang/model/element/RecordComponentElement;TP;)TR;
class name javax/lang/model/util/SimpleElementVisitor9
header extends javax/lang/model/util/SimpleElementVisitor8 flags 21 signature <R:Ljava/lang/Object;P:Ljava/lang/Object;>Ljavax/lang/model/util/SimpleElementVisitor8<TR;TP;>; runtimeAnnotations @Ljavax/annotation/processing/SupportedSourceVersion;(value=eLjavax/lang/model/SourceVersion;RELEASE_14;)
class name javax/lang/model/util/SimpleTypeVisitor14
header extends javax/lang/model/util/SimpleTypeVisitor9 flags 21 signature <R:Ljava/lang/Object;P:Ljava/lang/Object;>Ljavax/lang/model/util/SimpleTypeVisitor9<TR;TP;>; runtimeAnnotations @Ljavax/annotation/processing/SupportedSourceVersion;(value=eLjavax/lang/model/SourceVersion;RELEASE_14;)
method name <init> descriptor ()V flags 4
method name <init> descriptor (Ljava/lang/Object;)V flags 4 signature (TR;)V
class name javax/lang/model/util/SimpleTypeVisitor9
header extends javax/lang/model/util/SimpleTypeVisitor8 flags 21 signature <R:Ljava/lang/Object;P:Ljava/lang/Object;>Ljavax/lang/model/util/SimpleTypeVisitor8<TR;TP;>; runtimeAnnotations @Ljavax/annotation/processing/SupportedSourceVersion;(value=eLjavax/lang/model/SourceVersion;RELEASE_14;)
class name javax/lang/model/util/TypeKindVisitor14
header extends javax/lang/model/util/TypeKindVisitor9 flags 21 signature <R:Ljava/lang/Object;P:Ljava/lang/Object;>Ljavax/lang/model/util/TypeKindVisitor9<TR;TP;>; runtimeAnnotations @Ljavax/annotation/processing/SupportedSourceVersion;(value=eLjavax/lang/model/SourceVersion;RELEASE_14;)
method name <init> descriptor ()V flags 4
method name <init> descriptor (Ljava/lang/Object;)V flags 4 signature (TR;)V
class name javax/lang/model/util/TypeKindVisitor9
header extends javax/lang/model/util/TypeKindVisitor8 flags 21 signature <R:Ljava/lang/Object;P:Ljava/lang/Object;>Ljavax/lang/model/util/TypeKindVisitor8<TR;TP;>; runtimeAnnotations @Ljavax/annotation/processing/SupportedSourceVersion;(value=eLjavax/lang/model/SourceVersion;RELEASE_14;)
class name javax/tools/ToolProvider
-method name <init> descriptor ()V
method name <init> descriptor ()V flags 1 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="14")

View File

@@ -0,0 +1,31 @@
#
# Copyright (c) 2019, 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.
#
# ##########################################################
# ### THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ###
# ##########################################################
#
class name javax/accessibility/AccessibleBundle
header extends java/lang/Object flags 421 classAnnotations @Ljdk/Profile+Annotation;(value=I4)

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2011, 2019, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2019, 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
@@ -22,32 +22,14 @@
# or visit www.oracle.com if you need additional information or have any
# questions.
#
default: all
include RmicCommon.gmk
##########################################################################################
#
# Generate RMI stubs
# ##########################################################
# ### THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ###
# ##########################################################
#
class name javax/xml/stream/XMLInputFactory
method name newFactory descriptor ()Ljavax/xml/stream/XMLInputFactory; thrownTypes javax/xml/stream/FactoryConfigurationError flags 9
-method name newFactory descriptor ()Ljavax/xml/stream/XMLInputFactory;
JMX_RMI_CLASSES := javax.management.remote.rmi.RMIConnectionImpl \
javax.management.remote.rmi.RMIServerImpl
class name org/xml/sax/ContentHandler
method name declaration descriptor (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V thrownTypes org/xml/sax/SAXException flags 1
# Generate into gensrc dir where sources get picked up for javadoc, then move the classes
# into the stub classes dir.
$(eval $(call SetupRMICompilation,RMI_GEN, \
CLASSES := $(JMX_RMI_CLASSES), \
CLASSES_DIR := $(CLASSES_DIR)/java.management.rmi, \
STUB_CLASSES_DIR := $(STUB_CLASSES_DIR)/java.management.rmi, \
RUN_V12 := true, \
KEEP_GENERATED := true, \
STUB_SOURCES_DIR := $(RMIC_GENSRC_DIR)/java.management.rmi, \
))
##########################################################################################
all: $(RMI_GEN)
.PHONY: all

View File

@@ -0,0 +1,91 @@
#
# Copyright (c) 2019, 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.
#
# ##########################################################
# ### THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ###
# ##########################################################
#
class name com/sun/source/tree/BindingPatternTree
header extends java/lang/Object implements com/sun/source/tree/PatternTree flags 601
method name getType descriptor ()Lcom/sun/source/tree/Tree; flags 401
method name getBinding descriptor ()Ljavax/lang/model/element/Name; flags 401
class name com/sun/source/tree/CaseTree
-method name getExpression descriptor ()Lcom/sun/source/tree/ExpressionTree;
-method name getExpressions descriptor ()Ljava/util/List;
-method name getBody descriptor ()Lcom/sun/source/tree/Tree;
-method name getCaseKind descriptor ()Lcom/sun/source/tree/CaseTree$CaseKind;
method name getExpression descriptor ()Lcom/sun/source/tree/ExpressionTree; flags 401 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;
method name getExpressions descriptor ()Ljava/util/List; flags 401 signature ()Ljava/util/List<+Lcom/sun/source/tree/ExpressionTree;>;
method name getBody descriptor ()Lcom/sun/source/tree/Tree; flags 1
method name getCaseKind descriptor ()Lcom/sun/source/tree/CaseTree$CaseKind; flags 1
class name com/sun/source/tree/CaseTree$CaseKind
header extends java/lang/Enum nestHost com/sun/source/tree/CaseTree flags 4031 signature Ljava/lang/Enum<Lcom/sun/source/tree/CaseTree$CaseKind;>;
innerclass innerClass com/sun/source/tree/CaseTree$CaseKind outerClass com/sun/source/tree/CaseTree innerClassName CaseKind flags 4019
class name com/sun/source/tree/InstanceOfTree
method name getPattern descriptor ()Lcom/sun/source/tree/PatternTree; flags 401
class name com/sun/source/tree/PatternTree
header extends java/lang/Object implements com/sun/source/tree/Tree flags 601
class name com/sun/source/tree/SwitchExpressionTree
header extends java/lang/Object implements com/sun/source/tree/ExpressionTree flags 601
class name com/sun/source/tree/Tree$Kind
-field name SWITCH_EXPRESSION descriptor Lcom/sun/source/tree/Tree$Kind;
-field name YIELD descriptor Lcom/sun/source/tree/Tree$Kind;
field name BINDING_PATTERN descriptor Lcom/sun/source/tree/Tree$Kind; flags 4019
field name SWITCH_EXPRESSION descriptor Lcom/sun/source/tree/Tree$Kind; flags 4019
field name RECORD descriptor Lcom/sun/source/tree/Tree$Kind; flags 4019 classAnnotations @Ljdk/internal/PreviewFeature;(feature=eLjdk/internal/PreviewFeature$Feature;RECORDS;,essentialAPI=Zfalse)
field name YIELD descriptor Lcom/sun/source/tree/Tree$Kind; flags 4019
class name com/sun/source/tree/TreeVisitor
-method name visitSwitchExpression descriptor (Lcom/sun/source/tree/SwitchExpressionTree;Ljava/lang/Object;)Ljava/lang/Object;
-method name visitYield descriptor (Lcom/sun/source/tree/YieldTree;Ljava/lang/Object;)Ljava/lang/Object;
method name visitBindingPattern descriptor (Lcom/sun/source/tree/BindingPatternTree;Ljava/lang/Object;)Ljava/lang/Object; flags 401 signature (Lcom/sun/source/tree/BindingPatternTree;TP;)TR;
method name visitSwitchExpression descriptor (Lcom/sun/source/tree/SwitchExpressionTree;Ljava/lang/Object;)Ljava/lang/Object; flags 401 signature (Lcom/sun/source/tree/SwitchExpressionTree;TP;)TR;
method name visitYield descriptor (Lcom/sun/source/tree/YieldTree;Ljava/lang/Object;)Ljava/lang/Object; flags 401 signature (Lcom/sun/source/tree/YieldTree;TP;)TR;
class name com/sun/source/tree/YieldTree
header extends java/lang/Object implements com/sun/source/tree/StatementTree flags 601
class name com/sun/source/util/Plugin
method name autoStart descriptor ()Z flags 1
class name com/sun/source/util/SimpleTreeVisitor
-method name visitSwitchExpression descriptor (Lcom/sun/source/tree/SwitchExpressionTree;Ljava/lang/Object;)Ljava/lang/Object;
-method name visitYield descriptor (Lcom/sun/source/tree/YieldTree;Ljava/lang/Object;)Ljava/lang/Object;
method name visitSwitchExpression descriptor (Lcom/sun/source/tree/SwitchExpressionTree;Ljava/lang/Object;)Ljava/lang/Object; flags 1 signature (Lcom/sun/source/tree/SwitchExpressionTree;TP;)TR;
method name visitBindingPattern descriptor (Lcom/sun/source/tree/BindingPatternTree;Ljava/lang/Object;)Ljava/lang/Object; flags 1 signature (Lcom/sun/source/tree/BindingPatternTree;TP;)TR;
method name visitYield descriptor (Lcom/sun/source/tree/YieldTree;Ljava/lang/Object;)Ljava/lang/Object; flags 1 signature (Lcom/sun/source/tree/YieldTree;TP;)TR;
class name com/sun/source/util/TreeScanner
-method name visitSwitchExpression descriptor (Lcom/sun/source/tree/SwitchExpressionTree;Ljava/lang/Object;)Ljava/lang/Object;
-method name visitYield descriptor (Lcom/sun/source/tree/YieldTree;Ljava/lang/Object;)Ljava/lang/Object;
method name visitSwitchExpression descriptor (Lcom/sun/source/tree/SwitchExpressionTree;Ljava/lang/Object;)Ljava/lang/Object; flags 1 signature (Lcom/sun/source/tree/SwitchExpressionTree;TP;)TR;
method name visitBindingPattern descriptor (Lcom/sun/source/tree/BindingPatternTree;Ljava/lang/Object;)Ljava/lang/Object; flags 1 signature (Lcom/sun/source/tree/BindingPatternTree;TP;)TR;
method name visitYield descriptor (Lcom/sun/source/tree/YieldTree;Ljava/lang/Object;)Ljava/lang/Object; flags 1 signature (Lcom/sun/source/tree/YieldTree;TP;)TR;

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2019, 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
@@ -22,27 +22,15 @@
# or visit www.oracle.com if you need additional information or have any
# questions.
#
default: all
include RmicCommon.gmk
################################################################################
#
# Generate RMI stubs
# ##########################################################
# ### THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ###
# ##########################################################
#
class name com/sun/net/httpserver/BasicAuthenticator
-field name realm descriptor Ljava/lang/String;
field name realm descriptor Ljava/lang/String; flags 14
method name <init> descriptor (Ljava/lang/String;Ljava/nio/charset/Charset;)V flags 1
$(eval $(call SetupRMICompilation,RMI_12, \
CLASSES := sun.rmi.server.Activation$$ActivationSystemImpl \
java.rmi.activation.ActivationGroup, \
CLASSES_DIR := $(CLASSES_DIR)/java.rmi, \
STUB_CLASSES_DIR := $(STUB_CLASSES_DIR)/java.rmi, \
RUN_V12 := true))
GENCLASSES += $(RMI_12)
class name com/sun/net/httpserver/HttpExchange
header extends java/lang/Object implements java/lang/AutoCloseable flags 421
################################################################################
all: $(RMI_12)
.PHONY: all

View File

@@ -0,0 +1,204 @@
#
# 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.
#
# ##########################################################
# ### THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ###
# ##########################################################
#
module name jdk.incubator.foreign
header exports jdk/incubator/foreign requires name\u0020;java.base\u0020;flags\u0020;8000 target linux-amd64 resolution 9 flags 8000
class name jdk/incubator/foreign/AbstractLayout
header extends java/lang/Object implements jdk/incubator/foreign/MemoryLayout flags 420
innerclass innerClass java/lang/constant/DirectMethodHandleDesc$Kind outerClass java/lang/constant/DirectMethodHandleDesc innerClassName Kind flags 4019
innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
method name <init> descriptor (Ljava/util/OptionalLong;JLjava/util/Optional;)V flags 1 signature (Ljava/util/OptionalLong;JLjava/util/Optional<Ljava/lang/String;>;)V
method name withName descriptor (Ljava/lang/String;)Ljdk/incubator/foreign/AbstractLayout; flags 1
method name name descriptor ()Ljava/util/Optional; flags 11 signature ()Ljava/util/Optional<Ljava/lang/String;>;
method name withBitAlignment descriptor (J)Ljdk/incubator/foreign/AbstractLayout; flags 1
method name bitAlignment descriptor ()J flags 11
method name hasSize descriptor ()Z flags 1
method name bitSize descriptor ()J flags 1
method name hashCode descriptor ()I flags 1
method name equals descriptor (Ljava/lang/Object;)Z flags 1
method name withBitAlignment descriptor (J)Ljdk/incubator/foreign/MemoryLayout; flags 1041
method name withName descriptor (Ljava/lang/String;)Ljdk/incubator/foreign/MemoryLayout; flags 1041
class name jdk/incubator/foreign/GroupLayout
header extends jdk/incubator/foreign/AbstractLayout flags 31
innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
method name memberLayouts descriptor ()Ljava/util/List; flags 1 signature ()Ljava/util/List<Ljdk/incubator/foreign/MemoryLayout;>;
method name toString descriptor ()Ljava/lang/String; flags 1
method name isStruct descriptor ()Z flags 1
method name isUnion descriptor ()Z flags 1
method name equals descriptor (Ljava/lang/Object;)Z flags 1
method name hashCode descriptor ()I flags 1
method name describeConstable descriptor ()Ljava/util/Optional; flags 1 signature ()Ljava/util/Optional<Ljava/lang/constant/DynamicConstantDesc<Ljdk/incubator/foreign/GroupLayout;>;>;
method name withName descriptor (Ljava/lang/String;)Ljdk/incubator/foreign/GroupLayout; flags 1
method name withBitAlignment descriptor (J)Ljdk/incubator/foreign/GroupLayout; flags 1
method name bitSize descriptor ()J flags 1041
method name hasSize descriptor ()Z flags 1041
method name withBitAlignment descriptor (J)Ljdk/incubator/foreign/AbstractLayout; flags 1041
method name withName descriptor (Ljava/lang/String;)Ljdk/incubator/foreign/AbstractLayout; flags 1041
method name withBitAlignment descriptor (J)Ljdk/incubator/foreign/MemoryLayout; flags 1041
method name withName descriptor (Ljava/lang/String;)Ljdk/incubator/foreign/MemoryLayout; flags 1041
class name jdk/incubator/foreign/MemoryAddress
header extends java/lang/Object flags 601
method name addOffset descriptor (J)Ljdk/incubator/foreign/MemoryAddress; flags 401
method name offset descriptor ()J flags 401
method name segment descriptor ()Ljdk/incubator/foreign/MemorySegment; flags 401
method name equals descriptor (Ljava/lang/Object;)Z flags 401
method name hashCode descriptor ()I flags 401
method name copy descriptor (Ljdk/incubator/foreign/MemoryAddress;Ljdk/incubator/foreign/MemoryAddress;J)V flags 9
class name jdk/incubator/foreign/MemoryHandles
header extends java/lang/Object flags 31
innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
method name varHandle descriptor (Ljava/lang/Class;Ljava/nio/ByteOrder;)Ljava/lang/invoke/VarHandle; flags 9 signature (Ljava/lang/Class<*>;Ljava/nio/ByteOrder;)Ljava/lang/invoke/VarHandle;
method name varHandle descriptor (Ljava/lang/Class;JLjava/nio/ByteOrder;)Ljava/lang/invoke/VarHandle; flags 9 signature (Ljava/lang/Class<*>;JLjava/nio/ByteOrder;)Ljava/lang/invoke/VarHandle;
method name withOffset descriptor (Ljava/lang/invoke/VarHandle;J)Ljava/lang/invoke/VarHandle; flags 9
method name withStride descriptor (Ljava/lang/invoke/VarHandle;J)Ljava/lang/invoke/VarHandle; flags 9
class name jdk/incubator/foreign/MemoryLayout
header extends java/lang/Object implements java/lang/constant/Constable nestMembers jdk/incubator/foreign/MemoryLayout$PathElement flags 601
innerclass innerClass jdk/incubator/foreign/MemoryLayout$PathElement outerClass jdk/incubator/foreign/MemoryLayout innerClassName PathElement flags 609
innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
method name describeConstable descriptor ()Ljava/util/Optional; flags 401 signature ()Ljava/util/Optional<+Ljava/lang/constant/DynamicConstantDesc<+Ljdk/incubator/foreign/MemoryLayout;>;>;
method name hasSize descriptor ()Z flags 401
method name bitSize descriptor ()J flags 401
method name byteSize descriptor ()J flags 1
method name name descriptor ()Ljava/util/Optional; flags 401 signature ()Ljava/util/Optional<Ljava/lang/String;>;
method name withName descriptor (Ljava/lang/String;)Ljdk/incubator/foreign/MemoryLayout; flags 401
method name bitAlignment descriptor ()J flags 401
method name byteAlignment descriptor ()J flags 1
method name withBitAlignment descriptor (J)Ljdk/incubator/foreign/MemoryLayout; flags 401
method name offset descriptor ([Ljdk/incubator/foreign/MemoryLayout$PathElement;)J flags 81
method name varHandle descriptor (Ljava/lang/Class;[Ljdk/incubator/foreign/MemoryLayout$PathElement;)Ljava/lang/invoke/VarHandle; flags 81 signature (Ljava/lang/Class<*>;[Ljdk/incubator/foreign/MemoryLayout$PathElement;)Ljava/lang/invoke/VarHandle;
method name select descriptor ([Ljdk/incubator/foreign/MemoryLayout$PathElement;)Ljdk/incubator/foreign/MemoryLayout; flags 81
method name map descriptor (Ljava/util/function/UnaryOperator;[Ljdk/incubator/foreign/MemoryLayout$PathElement;)Ljdk/incubator/foreign/MemoryLayout; flags 81 signature (Ljava/util/function/UnaryOperator<Ljdk/incubator/foreign/MemoryLayout;>;[Ljdk/incubator/foreign/MemoryLayout$PathElement;)Ljdk/incubator/foreign/MemoryLayout;
method name equals descriptor (Ljava/lang/Object;)Z flags 401
method name hashCode descriptor ()I flags 401
method name toString descriptor ()Ljava/lang/String; flags 401
method name ofPaddingBits descriptor (J)Ljdk/incubator/foreign/MemoryLayout; flags 9
method name ofValueBits descriptor (JLjava/nio/ByteOrder;)Ljdk/incubator/foreign/ValueLayout; flags 9
method name ofSequence descriptor (JLjdk/incubator/foreign/MemoryLayout;)Ljdk/incubator/foreign/SequenceLayout; flags 9
method name ofSequence descriptor (Ljdk/incubator/foreign/MemoryLayout;)Ljdk/incubator/foreign/SequenceLayout; flags 9
method name ofStruct descriptor ([Ljdk/incubator/foreign/MemoryLayout;)Ljdk/incubator/foreign/GroupLayout; flags 89
method name ofUnion descriptor ([Ljdk/incubator/foreign/MemoryLayout;)Ljdk/incubator/foreign/GroupLayout; flags 89
class name jdk/incubator/foreign/MemoryLayout$PathElement
header extends java/lang/Object nestHost jdk/incubator/foreign/MemoryLayout flags 601
innerclass innerClass jdk/incubator/foreign/MemoryLayout$PathElement outerClass jdk/incubator/foreign/MemoryLayout innerClassName PathElement flags 609
innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
method name groupElement descriptor (Ljava/lang/String;)Ljdk/incubator/foreign/MemoryLayout$PathElement; flags 9
method name sequenceElement descriptor (J)Ljdk/incubator/foreign/MemoryLayout$PathElement; flags 9
method name sequenceElement descriptor (JJ)Ljdk/incubator/foreign/MemoryLayout$PathElement; flags 9
method name sequenceElement descriptor ()Ljdk/incubator/foreign/MemoryLayout$PathElement; flags 9
class name jdk/incubator/foreign/MemoryLayouts
header extends java/lang/Object flags 31
field name BITS_8_LE descriptor Ljdk/incubator/foreign/ValueLayout; flags 19
field name BITS_16_LE descriptor Ljdk/incubator/foreign/ValueLayout; flags 19
field name BITS_32_LE descriptor Ljdk/incubator/foreign/ValueLayout; flags 19
field name BITS_64_LE descriptor Ljdk/incubator/foreign/ValueLayout; flags 19
field name BITS_8_BE descriptor Ljdk/incubator/foreign/ValueLayout; flags 19
field name BITS_16_BE descriptor Ljdk/incubator/foreign/ValueLayout; flags 19
field name BITS_32_BE descriptor Ljdk/incubator/foreign/ValueLayout; flags 19
field name BITS_64_BE descriptor Ljdk/incubator/foreign/ValueLayout; flags 19
field name PAD_8 descriptor Ljdk/incubator/foreign/MemoryLayout; flags 19
field name PAD_16 descriptor Ljdk/incubator/foreign/MemoryLayout; flags 19
field name PAD_32 descriptor Ljdk/incubator/foreign/MemoryLayout; flags 19
field name PAD_64 descriptor Ljdk/incubator/foreign/MemoryLayout; flags 19
field name JAVA_BYTE descriptor Ljdk/incubator/foreign/ValueLayout; flags 19
field name JAVA_CHAR descriptor Ljdk/incubator/foreign/ValueLayout; flags 19
field name JAVA_SHORT descriptor Ljdk/incubator/foreign/ValueLayout; flags 19
field name JAVA_INT descriptor Ljdk/incubator/foreign/ValueLayout; flags 19
field name JAVA_LONG descriptor Ljdk/incubator/foreign/ValueLayout; flags 19
field name JAVA_FLOAT descriptor Ljdk/incubator/foreign/ValueLayout; flags 19
field name JAVA_DOUBLE descriptor Ljdk/incubator/foreign/ValueLayout; flags 19
class name jdk/incubator/foreign/MemorySegment
header extends java/lang/Object implements java/lang/AutoCloseable flags 601
innerclass innerClass java/nio/channels/FileChannel$MapMode outerClass java/nio/channels/FileChannel innerClassName MapMode flags 9
innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
method name baseAddress descriptor ()Ljdk/incubator/foreign/MemoryAddress; flags 401
method name acquire descriptor ()Ljdk/incubator/foreign/MemorySegment; flags 401
method name ownerThread descriptor ()Ljava/lang/Thread; flags 401
method name byteSize descriptor ()J flags 401
method name asReadOnly descriptor ()Ljdk/incubator/foreign/MemorySegment; flags 401
method name asSlice descriptor (JJ)Ljdk/incubator/foreign/MemorySegment; flags 401
method name isAlive descriptor ()Z flags 401
method name isReadOnly descriptor ()Z flags 401
method name close descriptor ()V flags 401
method name asByteBuffer descriptor ()Ljava/nio/ByteBuffer; flags 401
method name toByteArray descriptor ()[B flags 401
method name ofByteBuffer descriptor (Ljava/nio/ByteBuffer;)Ljdk/incubator/foreign/MemorySegment; flags 9
method name ofArray descriptor ([B)Ljdk/incubator/foreign/MemorySegment; flags 9
method name ofArray descriptor ([C)Ljdk/incubator/foreign/MemorySegment; flags 9
method name ofArray descriptor ([S)Ljdk/incubator/foreign/MemorySegment; flags 9
method name ofArray descriptor ([I)Ljdk/incubator/foreign/MemorySegment; flags 9
method name ofArray descriptor ([F)Ljdk/incubator/foreign/MemorySegment; flags 9
method name ofArray descriptor ([J)Ljdk/incubator/foreign/MemorySegment; flags 9
method name ofArray descriptor ([D)Ljdk/incubator/foreign/MemorySegment; flags 9
method name allocateNative descriptor (Ljdk/incubator/foreign/MemoryLayout;)Ljdk/incubator/foreign/MemorySegment; flags 9
method name allocateNative descriptor (J)Ljdk/incubator/foreign/MemorySegment; flags 9
method name mapFromPath descriptor (Ljava/nio/file/Path;JLjava/nio/channels/FileChannel$MapMode;)Ljdk/incubator/foreign/MemorySegment; thrownTypes java/io/IOException flags 9
method name allocateNative descriptor (JJ)Ljdk/incubator/foreign/MemorySegment; flags 9
class name jdk/incubator/foreign/SequenceLayout
header extends jdk/incubator/foreign/AbstractLayout flags 31
method name elementLayout descriptor ()Ljdk/incubator/foreign/MemoryLayout; flags 1
method name elementCount descriptor ()Ljava/util/OptionalLong; flags 1
method name withElementCount descriptor (J)Ljdk/incubator/foreign/SequenceLayout; flags 1
method name toString descriptor ()Ljava/lang/String; flags 1
method name equals descriptor (Ljava/lang/Object;)Z flags 1
method name hashCode descriptor ()I flags 1
method name describeConstable descriptor ()Ljava/util/Optional; flags 1 signature ()Ljava/util/Optional<Ljava/lang/constant/DynamicConstantDesc<Ljdk/incubator/foreign/SequenceLayout;>;>;
method name withName descriptor (Ljava/lang/String;)Ljdk/incubator/foreign/SequenceLayout; flags 1
method name withBitAlignment descriptor (J)Ljdk/incubator/foreign/SequenceLayout; flags 1
method name bitSize descriptor ()J flags 1041
method name hasSize descriptor ()Z flags 1041
method name withBitAlignment descriptor (J)Ljdk/incubator/foreign/AbstractLayout; flags 1041
method name withName descriptor (Ljava/lang/String;)Ljdk/incubator/foreign/AbstractLayout; flags 1041
method name withBitAlignment descriptor (J)Ljdk/incubator/foreign/MemoryLayout; flags 1041
method name withName descriptor (Ljava/lang/String;)Ljdk/incubator/foreign/MemoryLayout; flags 1041
class name jdk/incubator/foreign/ValueLayout
header extends jdk/incubator/foreign/AbstractLayout implements jdk/incubator/foreign/MemoryLayout flags 31
method name order descriptor ()Ljava/nio/ByteOrder; flags 1
method name withOrder descriptor (Ljava/nio/ByteOrder;)Ljdk/incubator/foreign/ValueLayout; flags 1
method name toString descriptor ()Ljava/lang/String; flags 1
method name equals descriptor (Ljava/lang/Object;)Z flags 1
method name hashCode descriptor ()I flags 1
method name describeConstable descriptor ()Ljava/util/Optional; flags 1 signature ()Ljava/util/Optional<Ljava/lang/constant/DynamicConstantDesc<Ljdk/incubator/foreign/ValueLayout;>;>;
method name withName descriptor (Ljava/lang/String;)Ljdk/incubator/foreign/ValueLayout; flags 1
method name withBitAlignment descriptor (J)Ljdk/incubator/foreign/ValueLayout; flags 1
method name bitSize descriptor ()J flags 1041
method name hasSize descriptor ()Z flags 1041
method name withBitAlignment descriptor (J)Ljdk/incubator/foreign/AbstractLayout; flags 1041
method name withName descriptor (Ljava/lang/String;)Ljdk/incubator/foreign/AbstractLayout; flags 1041
method name withBitAlignment descriptor (J)Ljdk/incubator/foreign/MemoryLayout; flags 1041
method name withName descriptor (Ljava/lang/String;)Ljdk/incubator/foreign/MemoryLayout; flags 1041

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2015, 2018, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2019, 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
@@ -22,31 +22,10 @@
# or visit www.oracle.com if you need additional information or have any
# questions.
#
# ##########################################################
# ### THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ###
# ##########################################################
#
module name jdk.incubator.jpackage
header requires name\u0020;java.base\u0020;flags\u0020;8000,name\u0020;jdk.jlink\u0020;flags\u0020;0,name\u0020;java.desktop\u0020;flags\u0020;0 uses jdk/incubator/jpackage/internal/Bundler,jdk/incubator/jpackage/internal/Bundlers provides interface\u0020;java/util/spi/ToolProvider\u0020;impls\u0020;jdk/incubator/jpackage/internal/JPackageToolProvider,interface\u0020;jdk/incubator/jpackage/internal/Bundler\u0020;impls\u0020;jdk/incubator/jpackage/internal/LinuxAppBundler\u005C;u002C;jdk/incubator/jpackage/internal/LinuxDebBundler\u005C;u002C;jdk/incubator/jpackage/internal/LinuxRpmBundler,interface\u0020;jdk/incubator/jpackage/internal/Bundlers\u0020;impls\u0020;jdk/incubator/jpackage/internal/BasicBundlers target linux-amd64 resolution 9 flags 8000
default: all
include $(SPEC)
include MakeBase.gmk
##########################################################################################
### CLDRConverter needs the JRE time zone names from the java.base source.
define cldrconverter_copytznames
$(call MakeTargetDir)
$(RM) '$@'
$(SED) -e "s/package sun.util.resources/package build.tools.cldrconverter/" \
-e "s/extends TimeZoneNamesBundle//" \
-e "s/protected final/static final/" \
< $(<) > $@
endef
$(eval $(call SetupCopyFiles,COPY_INTERIM_CLDRCONVERTER, \
SRC := $(TOPDIR)/src/java.base/share/classes/sun/util/resources, \
DEST := $(BUILDTOOLS_OUTPUTDIR)/interim_cldrconverter_classes/build/tools/cldrconverter, \
FILES := TimeZoneNames.java, \
MACRO := cldrconverter_copytznames))
##########################################################################################
all: $(COPY_INTERIM_CLDRCONVERTER)

View File

@@ -0,0 +1,82 @@
#
# 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.
#
# ##########################################################
# ### THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ###
# ##########################################################
#
class name jdk/jfr/consumer/EventStream
header extends java/lang/Object implements java/lang/AutoCloseable flags 601
method name openRepository descriptor ()Ljdk/jfr/consumer/EventStream; thrownTypes java/io/IOException flags 9
method name openRepository descriptor (Ljava/nio/file/Path;)Ljdk/jfr/consumer/EventStream; thrownTypes java/io/IOException flags 9
method name openFile descriptor (Ljava/nio/file/Path;)Ljdk/jfr/consumer/EventStream; thrownTypes java/io/IOException flags 9
method name onEvent descriptor (Ljava/util/function/Consumer;)V flags 401 signature (Ljava/util/function/Consumer<Ljdk/jfr/consumer/RecordedEvent;>;)V
method name onEvent descriptor (Ljava/lang/String;Ljava/util/function/Consumer;)V flags 401 signature (Ljava/lang/String;Ljava/util/function/Consumer<Ljdk/jfr/consumer/RecordedEvent;>;)V
method name onFlush descriptor (Ljava/lang/Runnable;)V flags 401
method name onError descriptor (Ljava/util/function/Consumer;)V flags 401 signature (Ljava/util/function/Consumer<Ljava/lang/Throwable;>;)V
method name onClose descriptor (Ljava/lang/Runnable;)V flags 401
method name close descriptor ()V flags 401
method name remove descriptor (Ljava/lang/Object;)Z flags 401
method name setReuse descriptor (Z)V flags 401
method name setOrdered descriptor (Z)V flags 401
method name setStartTime descriptor (Ljava/time/Instant;)V flags 401
method name setEndTime descriptor (Ljava/time/Instant;)V flags 401
method name start descriptor ()V flags 401
method name startAsync descriptor ()V flags 401
method name awaitTermination descriptor (Ljava/time/Duration;)V thrownTypes java/lang/InterruptedException flags 401
method name awaitTermination descriptor ()V thrownTypes java/lang/InterruptedException flags 401
class name jdk/jfr/consumer/RecordedEvent
method name objectAt descriptor (I)Ljava/lang/Object; flags 14
class name jdk/jfr/consumer/RecordedObject
method name objectAt descriptor (I)Ljava/lang/Object; flags 4
class name jdk/jfr/consumer/RecordingStream
header extends java/lang/Object implements java/lang/AutoCloseable,jdk/jfr/consumer/EventStream flags 31
method name <init> descriptor ()V flags 1
method name <init> descriptor (Ljdk/jfr/Configuration;)V flags 1
method name enable descriptor (Ljava/lang/String;)Ljdk/jfr/EventSettings; flags 1
method name setSettings descriptor (Ljava/util/Map;)V flags 1 signature (Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;)V
method name enable descriptor (Ljava/lang/Class;)Ljdk/jfr/EventSettings; flags 1 signature (Ljava/lang/Class<+Ljdk/jfr/Event;>;)Ljdk/jfr/EventSettings;
method name disable descriptor (Ljava/lang/String;)Ljdk/jfr/EventSettings; flags 1
method name disable descriptor (Ljava/lang/Class;)Ljdk/jfr/EventSettings; flags 1 signature (Ljava/lang/Class<+Ljdk/jfr/Event;>;)Ljdk/jfr/EventSettings;
method name setMaxAge descriptor (Ljava/time/Duration;)V flags 1
method name setMaxSize descriptor (J)V flags 1
method name setReuse descriptor (Z)V flags 1
method name setOrdered descriptor (Z)V flags 1
method name setStartTime descriptor (Ljava/time/Instant;)V flags 1
method name setEndTime descriptor (Ljava/time/Instant;)V flags 1
method name onEvent descriptor (Ljava/lang/String;Ljava/util/function/Consumer;)V flags 1 signature (Ljava/lang/String;Ljava/util/function/Consumer<Ljdk/jfr/consumer/RecordedEvent;>;)V
method name onEvent descriptor (Ljava/util/function/Consumer;)V flags 1 signature (Ljava/util/function/Consumer<Ljdk/jfr/consumer/RecordedEvent;>;)V
method name onFlush descriptor (Ljava/lang/Runnable;)V flags 1
method name onClose descriptor (Ljava/lang/Runnable;)V flags 1
method name onError descriptor (Ljava/util/function/Consumer;)V flags 1 signature (Ljava/util/function/Consumer<Ljava/lang/Throwable;>;)V
method name close descriptor ()V flags 1
method name remove descriptor (Ljava/lang/Object;)Z flags 1
method name start descriptor ()V flags 1
method name startAsync descriptor ()V flags 1
method name awaitTermination descriptor (Ljava/time/Duration;)V thrownTypes java/lang/InterruptedException flags 1
method name awaitTermination descriptor ()V thrownTypes java/lang/InterruptedException flags 1

View File

@@ -0,0 +1,31 @@
#
# Copyright (c) 2019, 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.
#
# ##########################################################
# ### THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ###
# ##########################################################
#
module name jdk.jlink
header requires name\u0020;java.base\u0020;flags\u0020;8000,name\u0020;jdk.internal.opt\u0020;flags\u0020;0,name\u0020;jdk.jdeps\u0020;flags\u0020;0 uses jdk/tools/jlink/plugin/Plugin provides interface\u0020;java/util/spi/ToolProvider\u0020;impls\u0020;jdk/tools/jmod/Main$JmodToolProvider\u005C;u002C;jdk/tools/jlink/internal/Main$JlinkToolProvider,interface\u0020;jdk/tools/jlink/plugin/Plugin\u0020;impls\u0020;jdk/tools/jlink/internal/plugins/DefaultStripDebugPlugin\u005C;u002C;jdk/tools/jlink/internal/plugins/StripJavaDebugAttributesPlugin\u005C;u002C;jdk/tools/jlink/internal/plugins/ExcludePlugin\u005C;u002C;jdk/tools/jlink/internal/plugins/ExcludeFilesPlugin\u005C;u002C;jdk/tools/jlink/internal/plugins/ExcludeJmodSectionPlugin\u005C;u002C;jdk/tools/jlink/internal/plugins/LegalNoticeFilePlugin\u005C;u002C;jdk/tools/jlink/internal/plugins/SystemModulesPlugin\u005C;u002C;jdk/tools/jlink/internal/plugins/StripNativeCommandsPlugin\u005C;u002C;jdk/tools/jlink/internal/plugins/OrderResourcesPlugin\u005C;u002C;jdk/tools/jlink/internal/plugins/DefaultCompressPlugin\u005C;u002C;jdk/tools/jlink/internal/plugins/ExcludeVMPlugin\u005C;u002C;jdk/tools/jlink/internal/plugins/IncludeLocalesPlugin\u005C;u002C;jdk/tools/jlink/internal/plugins/GenerateJLIClassesPlugin\u005C;u002C;jdk/tools/jlink/internal/plugins/ReleaseInfoPlugin\u005C;u002C;jdk/tools/jlink/internal/plugins/AddOptionsPlugin\u005C;u002C;jdk/tools/jlink/internal/plugins/VendorBugURLPlugin\u005C;u002C;jdk/tools/jlink/internal/plugins/VendorVMBugURLPlugin\u005C;u002C;jdk/tools/jlink/internal/plugins/VendorVersionPlugin\u005C;u002C;jdk/tools/jlink/internal/plugins/StripNativeDebugSymbolsPlugin target linux-amd64 flags 8000

View File

@@ -0,0 +1,31 @@
#
# Copyright (c) 2019, 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.
#
# ##########################################################
# ### THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ###
# ##########################################################
#
class name jdk/jshell/Snippet$SubKind
field name RECORD_SUBKIND descriptor Ljdk/jshell/Snippet$SubKind; flags 4019 classAnnotations @Ljdk/internal/PreviewFeature;(feature=eLjdk/internal/PreviewFeature$Feature;RECORDS;)

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2019, 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
@@ -22,24 +22,13 @@
# or visit www.oracle.com if you need additional information or have any
# questions.
#
default: all
include RmicCommon.gmk
##########################################################################################
#
# Generate RMI stubs
# ##########################################################
# ### THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ###
# ##########################################################
#
module name jdk.jsobject
header exports netscape/javascript requires name\u0020;java.base\u0020;flags\u0020;8000 target linux-amd64 flags 8000
$(eval $(call SetupRMICompilation,RMI_12, \
CLASSES := com.sun.jndi.rmi.registry.ReferenceWrapper, \
CLASSES_DIR := $(CLASSES_DIR)/jdk.naming.rmi, \
STUB_CLASSES_DIR := $(STUB_CLASSES_DIR)/jdk.naming.rmi, \
RUN_V12 := true))
class name netscape/javascript/JSObject
-method name getWindow descriptor (Ljava/applet/Applet;)Lnetscape/javascript/JSObject;
##########################################################################################
all: $(RMI_12)
.PHONY: all

View File

@@ -0,0 +1,42 @@
#
# Copyright (c) 2019, 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.
#
# ##########################################################
# ### THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ###
# ##########################################################
#
class name com/sun/management/OperatingSystemMXBean
-method name getFreePhysicalMemorySize descriptor ()J
-method name getTotalPhysicalMemorySize descriptor ()J
-method name getSystemCpuLoad descriptor ()D
method name getFreePhysicalMemorySize descriptor ()J flags 1 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(since="14")
method name getFreeMemorySize descriptor ()J flags 401
method name getTotalPhysicalMemorySize descriptor ()J flags 1 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(since="14")
method name getTotalMemorySize descriptor ()J flags 401
method name getSystemCpuLoad descriptor ()D flags 1 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(since="14")
method name getCpuLoad descriptor ()D flags 401
class name com/sun/management/ThreadMXBean
method name getCurrentThreadAllocatedBytes descriptor ()J flags 1

View File

@@ -0,0 +1,42 @@
#
# Copyright (c) 2019, 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.
#
# ##########################################################
# ### THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ###
# ##########################################################
#
class name jdk/net/ExtendedSocketOptions
-field name SO_FLOW_SLA descriptor Ljava/net/SocketOption;
field name SO_FLOW_SLA descriptor Ljava/net/SocketOption; flags 19 deprecated true signature Ljava/net/SocketOption<Ljdk/net/SocketFlow;>; runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="14")
class name jdk/net/SocketFlow
header extends java/lang/Object nestMembers jdk/net/SocketFlow$Status flags 21 deprecated true runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="14")
innerclass innerClass jdk/net/SocketFlow$Status outerClass jdk/net/SocketFlow innerClassName Status flags 4019
innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19
class name jdk/net/SocketFlow$Status
header extends java/lang/Enum nestHost jdk/net/SocketFlow flags 4031 deprecated true signature Ljava/lang/Enum<Ljdk/net/SocketFlow$Status;>; runtimeAnnotations @Ljava/lang/Deprecated;(forRemoval=Ztrue,since="14")
innerclass innerClass jdk/net/SocketFlow$Status outerClass jdk/net/SocketFlow innerClassName Status flags 4019
innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19

View File

@@ -0,0 +1,30 @@
#
# Copyright (c) 2019, 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.
#
# ##########################################################
# ### THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ###
# ##########################################################
#
-module name jdk.pack

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2015, 2019, Oracle and/or its affiliates. All rights reserved.
# 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
@@ -29,7 +29,7 @@
#command used to generate this file:
#build.tools.symbolgenerator.CreateSymbols build-description-incremental symbols include.list
#
generate platforms 7:8:9:A:B:C:D
generate platforms 7:8:9:A:B:C:D:E
platform version 8 files java.activation-8.sym.txt:java.base-8.sym.txt:java.compiler-8.sym.txt:java.corba-8.sym.txt:java.datatransfer-8.sym.txt:java.desktop-8.sym.txt:java.instrument-8.sym.txt:java.logging-8.sym.txt:java.management-8.sym.txt:java.management.rmi-8.sym.txt:java.naming-8.sym.txt:java.prefs-8.sym.txt:java.rmi-8.sym.txt:java.scripting-8.sym.txt:java.security.jgss-8.sym.txt:java.security.sasl-8.sym.txt:java.sql-8.sym.txt:java.sql.rowset-8.sym.txt:java.transaction-8.sym.txt:java.xml-8.sym.txt:java.xml.bind-8.sym.txt:java.xml.crypto-8.sym.txt:java.xml.ws-8.sym.txt:java.xml.ws.annotation-8.sym.txt:jdk.httpserver-8.sym.txt:jdk.management-8.sym.txt:jdk.scripting.nashorn-8.sym.txt:jdk.sctp-8.sym.txt:jdk.security.auth-8.sym.txt:jdk.security.jgss-8.sym.txt
platform version 7 base 8 files java.base-7.sym.txt:java.compiler-7.sym.txt:java.datatransfer-7.sym.txt:java.desktop-7.sym.txt:java.logging-7.sym.txt:java.management-7.sym.txt:java.naming-7.sym.txt:java.prefs-7.sym.txt:java.rmi-7.sym.txt:java.scripting-7.sym.txt:java.security.jgss-7.sym.txt:java.security.sasl-7.sym.txt:java.sql-7.sym.txt:java.sql.rowset-7.sym.txt:java.xml-7.sym.txt:java.xml.bind-7.sym.txt:java.xml.ws.annotation-7.sym.txt:jdk.httpserver-7.sym.txt:jdk.management-7.sym.txt:jdk.scripting.nashorn-7.sym.txt:jdk.sctp-7.sym.txt:jdk.security.auth-7.sym.txt:jdk.security.jgss-7.sym.txt
platform version 9 base 8 files java.activation-9.sym.txt:java.base-9.sym.txt:java.compiler-9.sym.txt:java.corba-9.sym.txt:java.datatransfer-9.sym.txt:java.desktop-9.sym.txt:java.instrument-9.sym.txt:java.logging-9.sym.txt:java.management-9.sym.txt:java.management.rmi-9.sym.txt:java.naming-9.sym.txt:java.prefs-9.sym.txt:java.rmi-9.sym.txt:java.scripting-9.sym.txt:java.se-9.sym.txt:java.se.ee-9.sym.txt:java.security.jgss-9.sym.txt:java.security.sasl-9.sym.txt:java.smartcardio-9.sym.txt:java.sql-9.sym.txt:java.sql.rowset-9.sym.txt:java.transaction-9.sym.txt:java.xml-9.sym.txt:java.xml.bind-9.sym.txt:java.xml.crypto-9.sym.txt:java.xml.ws-9.sym.txt:java.xml.ws.annotation-9.sym.txt:jdk.accessibility-9.sym.txt:jdk.attach-9.sym.txt:jdk.charsets-9.sym.txt:jdk.compiler-9.sym.txt:jdk.crypto.cryptoki-9.sym.txt:jdk.crypto.ec-9.sym.txt:jdk.dynalink-9.sym.txt:jdk.editpad-9.sym.txt:jdk.hotspot.agent-9.sym.txt:jdk.httpserver-9.sym.txt:jdk.incubator.httpclient-9.sym.txt:jdk.jartool-9.sym.txt:jdk.javadoc-9.sym.txt:jdk.jcmd-9.sym.txt:jdk.jconsole-9.sym.txt:jdk.jdeps-9.sym.txt:jdk.jdi-9.sym.txt:jdk.jdwp.agent-9.sym.txt:jdk.jlink-9.sym.txt:jdk.jshell-9.sym.txt:jdk.jsobject-9.sym.txt:jdk.jstatd-9.sym.txt:jdk.localedata-9.sym.txt:jdk.management-9.sym.txt:jdk.management.agent-9.sym.txt:jdk.naming.dns-9.sym.txt:jdk.naming.rmi-9.sym.txt:jdk.net-9.sym.txt:jdk.pack-9.sym.txt:jdk.policytool-9.sym.txt:jdk.rmic-9.sym.txt:jdk.scripting.nashorn-9.sym.txt:jdk.sctp-9.sym.txt:jdk.security.auth-9.sym.txt:jdk.security.jgss-9.sym.txt:jdk.unsupported-9.sym.txt:jdk.xml.dom-9.sym.txt:jdk.zipfs-9.sym.txt
@@ -37,3 +37,4 @@ platform version A base 9 files java.activation-A.sym.txt:java.base-A.sym.txt:ja
platform version B base A files java.activation-B.sym.txt:java.base-B.sym.txt:java.compiler-B.sym.txt:java.corba-B.sym.txt:java.datatransfer-B.sym.txt:java.desktop-B.sym.txt:java.instrument-B.sym.txt:java.logging-B.sym.txt:java.management-B.sym.txt:java.management.rmi-B.sym.txt:java.naming-B.sym.txt:java.net.http-B.sym.txt:java.prefs-B.sym.txt:java.rmi-B.sym.txt:java.scripting-B.sym.txt:java.se-B.sym.txt:java.se.ee-B.sym.txt:java.security.jgss-B.sym.txt:java.security.sasl-B.sym.txt:java.smartcardio-B.sym.txt:java.sql-B.sym.txt:java.sql.rowset-B.sym.txt:java.transaction-B.sym.txt:java.transaction.xa-B.sym.txt:java.xml-B.sym.txt:java.xml.bind-B.sym.txt:java.xml.crypto-B.sym.txt:java.xml.ws-B.sym.txt:java.xml.ws.annotation-B.sym.txt:jdk.accessibility-B.sym.txt:jdk.attach-B.sym.txt:jdk.charsets-B.sym.txt:jdk.compiler-B.sym.txt:jdk.crypto.cryptoki-B.sym.txt:jdk.crypto.ec-B.sym.txt:jdk.dynalink-B.sym.txt:jdk.editpad-B.sym.txt:jdk.hotspot.agent-B.sym.txt:jdk.httpserver-B.sym.txt:jdk.incubator.httpclient-B.sym.txt:jdk.jartool-B.sym.txt:jdk.javadoc-B.sym.txt:jdk.jcmd-B.sym.txt:jdk.jconsole-B.sym.txt:jdk.jdeps-B.sym.txt:jdk.jdi-B.sym.txt:jdk.jdwp.agent-B.sym.txt:jdk.jfr-B.sym.txt:jdk.jlink-B.sym.txt:jdk.jshell-B.sym.txt:jdk.jsobject-B.sym.txt:jdk.jstatd-B.sym.txt:jdk.localedata-B.sym.txt:jdk.management-B.sym.txt:jdk.management.agent-B.sym.txt:jdk.management.jfr-B.sym.txt:jdk.naming.dns-B.sym.txt:jdk.naming.rmi-B.sym.txt:jdk.net-B.sym.txt:jdk.pack-B.sym.txt:jdk.rmic-B.sym.txt:jdk.scripting.nashorn-B.sym.txt:jdk.sctp-B.sym.txt:jdk.security.auth-B.sym.txt:jdk.security.jgss-B.sym.txt:jdk.unsupported-B.sym.txt:jdk.xml.dom-B.sym.txt:jdk.zipfs-B.sym.txt
platform version C base B files java.base-C.sym.txt:java.compiler-C.sym.txt:java.desktop-C.sym.txt:java.naming-C.sym.txt:java.rmi-C.sym.txt:java.xml-C.sym.txt:jdk.compiler-C.sym.txt:jdk.jfr-C.sym.txt:jdk.jsobject-C.sym.txt:jdk.unsupported-C.sym.txt
platform version D base C files java.base-D.sym.txt:java.compiler-D.sym.txt:java.desktop-D.sym.txt:java.management-D.sym.txt:java.management.rmi-D.sym.txt:java.net.http-D.sym.txt:java.security.jgss-D.sym.txt:java.xml-D.sym.txt:java.xml.crypto-D.sym.txt:jdk.compiler-D.sym.txt:jdk.httpserver-D.sym.txt:jdk.jartool-D.sym.txt:jdk.javadoc-D.sym.txt:jdk.jlink-D.sym.txt:jdk.jshell-D.sym.txt
platform version E base D files java.base-E.sym.txt:java.compiler-E.sym.txt:java.desktop-E.sym.txt:java.xml-E.sym.txt:jdk.compiler-E.sym.txt:jdk.httpserver-E.sym.txt:jdk.incubator.foreign-E.sym.txt:jdk.incubator.jpackage-E.sym.txt:jdk.jfr-E.sym.txt:jdk.jlink-E.sym.txt:jdk.jshell-E.sym.txt:jdk.jsobject-E.sym.txt:jdk.management-E.sym.txt:jdk.net-E.sym.txt:jdk.pack-E.sym.txt

View File

@@ -51,9 +51,17 @@ endif
$(info ARCH=$(ARCH))
KERNEL_HEADERS_RPM := kernel-headers
ifeq ($(BASE_OS), OL)
BASE_URL := http://yum.oracle.com/repo/OracleLinux/OL6/4/base/$(ARCH)/
LINUX_VERSION := OL6.4
ifeq ($(ARCH), aarch64)
BASE_URL := http://yum.oracle.com/repo/OracleLinux/OL7/6/base/$(ARCH)/
LINUX_VERSION := OL7.6
KERNEL_HEADERS_RPM := kernel-uek-headers
else
BASE_URL := http://yum.oracle.com/repo/OracleLinux/OL6/4/base/$(ARCH)/
LINUX_VERSION := OL6.4
endif
else ifeq ($(BASE_OS), Fedora)
DEFAULT_OS_VERSION := 27
ifeq ($(BASE_OS_VERSION), )
@@ -118,7 +126,7 @@ GDB := http://ftp.gnu.org/gnu/gdb/${gdb_ver}.tar.xz
# RPMs used by all BASE_OS
RPM_LIST := \
kernel-headers \
$(KERNEL_HEADERS_RPM) \
glibc glibc-headers glibc-devel \
cups-libs cups-devel \
libX11 libX11-devel \

View File

@@ -100,6 +100,21 @@ GENSRC_JAVA_BASE += $(GENSRC_LSREQUIVMAPS)
################################################################################
INTPOLY_GEN_DONE := $(GENSRC_DIR)/_intpoly-gensrc.marker
INTPOLY_HEADER := $(TOPDIR)/make/jdk/src/classes/build/tools/intpoly/header.txt
$(INTPOLY_GEN_DONE): $(INTPLOY_HEADER) $(BUILD_TOOLS_JDK)
$(call MakeDir, $(GENSRC_DIR))
$(call LogInfo, Generating fixed-field math classes for java.base)
$(call ExecuteWithLog, $@, \
$(TOOL_INTPOLY) \
$(INTPOLY_HEADER) \
$(GENSRC_DIR)) $(LOG_DEBUG)
$(TOUCH) $@
GENSRC_JAVA_BASE += $(INTPOLY_GEN_DONE)
################################################################################
java.base: $(GENSRC_JAVA_BASE)
all: java.base

View File

@@ -36,6 +36,7 @@ SRC_DIR := $(TOPDIR)/src/$(MODULE)/share/classes
################################################################################
PROC_SRC_SUBDIRS := \
org.graalvm.compiler.asm.amd64 \
org.graalvm.compiler.code \
org.graalvm.compiler.core \
org.graalvm.compiler.core.aarch64 \

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2013, 2019, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2013, 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
@@ -31,7 +31,7 @@ JFR_TOOLS_OUTPUTDIR := $(JVM_VARIANT_OUTPUTDIR)/buildtools/tools_classes
$(eval $(call SetupJavaCompiler, GENERATE_JFRBYTECODE, \
JAVAC := $(JAVAC), \
FLAGS := $(DISABLE_WARNINGS), \
FLAGS := -Xlint:all -Werror, \
SERVER_DIR := $(SJAVAC_SERVER_DIR), \
SERVER_JVM := $(SJAVAC_SERVER_JAVA), \
DISABLE_SJAVAC := true, \
@@ -41,6 +41,7 @@ $(eval $(call SetupJavaCompilation, BUILD_JFR_TOOLS, \
SETUP := GENERATE_JFRBYTECODE, \
SRC := $(JFR_TOOLS_SRCDIR), \
BIN := $(JFR_TOOLS_OUTPUTDIR), \
DISABLED_WARNINGS := try, \
))
TARGETS += $(BUILD_JFR_TOOLS)

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2013, 2019, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2013, 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
@@ -34,7 +34,7 @@ JVMTI_TOOLS_OUTPUTDIR := $(JVM_VARIANT_OUTPUTDIR)/tools/jvmti
$(eval $(call SetupJavaCompiler, GENERATE_OLDBYTECODE, \
JAVAC := $(JAVAC), \
FLAGS := $(DISABLE_WARNINGS), \
FLAGS := -Xlint:all -Werror, \
SERVER_DIR := $(SJAVAC_SERVER_DIR), \
SERVER_JVM := $(SJAVAC_SERVER_JAVA), \
DISABLE_SJAVAC := true, \
@@ -43,6 +43,7 @@ $(eval $(call SetupJavaCompiler, GENERATE_OLDBYTECODE, \
$(eval $(call SetupJavaCompilation, BUILD_JVMTI_TOOLS, \
SETUP := GENERATE_OLDBYTECODE, \
SRC := $(JVMTI_TOOLS_SRCDIR), \
DISABLED_WARNINGS := rawtypes cast, \
INCLUDE_FILES := jvmtiGen.java jvmtiEnvFill.java, \
BIN := $(JVMTI_TOOLS_OUTPUTDIR), \
))

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2016, 2019, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2016, 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
@@ -98,7 +98,7 @@ ifeq ($(call isTargetOs, windows), true)
$(eval $(call SetupJavaCompilation, BUILD_PROJECT_CREATOR, \
SETUP := GENERATE_OLDBYTECODE, \
ADD_JAVAC_FLAGS := -Xlint:-auxiliaryclass, \
DISABLED_WARNINGS := auxiliaryclass deprecation rawtypes unchecked cast, \
SRC := $(TOPDIR)/make/hotspot/src/classes, \
BIN := $(TOOLS_OUTPUTDIR), \
))

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2013, 2019, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2013, 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
@@ -82,7 +82,7 @@ DISABLED_WARNINGS_gcc := parentheses comment unknown-pragmas address \
delete-non-virtual-dtor char-subscripts array-bounds int-in-bool-context \
ignored-qualifiers missing-field-initializers implicit-fallthrough \
empty-body strict-overflow sequence-point maybe-uninitialized \
misleading-indentation cast-function-type
misleading-indentation cast-function-type invalid-offsetof
ifeq ($(call check-jvm-feature, zero), true)
DISABLED_WARNINGS_gcc += return-type switch clobbered
@@ -91,7 +91,8 @@ endif
DISABLED_WARNINGS_clang := tautological-compare \
undefined-var-template sometimes-uninitialized unknown-pragmas \
delete-non-virtual-dtor missing-braces char-subscripts \
ignored-qualifiers missing-field-initializers mismatched-tags
ignored-qualifiers missing-field-initializers mismatched-tags \
invalid-offsetof
DISABLED_WARNINGS_solstudio := labelnotused hidef w_novirtualdescr inlafteruse \
unknownpragma doubunder w_enumnotused w_toomanyenumnotused \

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2013, 2019, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2013, 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
@@ -186,97 +186,95 @@ ifeq ($(call check-jvm-feature, link-time-opt), true)
JVM_LDFLAGS_FEATURES += -O3 -flto -fuse-linker-plugin -fno-strict-aliasing
endif
ifeq ($(call check-jvm-feature, minimal), true)
ifeq ($(call check-jvm-feature, link-time-opt), false)
JVM_OPTIMIZATION := SIZE
OPT_SPEED_SRC := \
allocation.cpp \
assembler.cpp \
assembler_linux_arm.cpp \
barrierSet.cpp \
basicLock.cpp \
biasedLocking.cpp \
bytecode.cpp \
bytecodeInterpreter.cpp \
bytecodeInterpreter_x86.cpp \
c1_Compilation.cpp \
c1_Compiler.cpp \
c1_GraphBuilder.cpp \
c1_LinearScan.cpp \
c1_LIR.cpp \
ciEnv.cpp \
ciObjectFactory.cpp \
codeBlob.cpp \
constantPool.cpp \
constMethod.cpp \
classLoader.cpp \
classLoaderData.cpp \
classFileParser.cpp \
classFileStream.cpp \
cpCache.cpp \
defNewGeneration.cpp \
frame_arm.cpp \
genCollectedHeap.cpp \
generation.cpp \
genMarkSweep.cpp \
growableArray.cpp \
handles.cpp \
hashtable.cpp \
heap.cpp \
icache.cpp \
icache_arm.cpp \
instanceKlass.cpp \
invocationCounter.cpp \
iterator.cpp \
javaCalls.cpp \
javaClasses.cpp \
jniFastGetField_arm.cpp \
jvm.cpp \
jvm_linux.cpp \
linkResolver.cpp \
klass.cpp \
klassVtable.cpp \
markSweep.cpp \
memRegion.cpp \
memoryPool.cpp \
method.cpp \
methodHandles.cpp \
methodHandles_arm.cpp \
methodLiveness.cpp \
metablock.cpp \
metaspace.cpp \
mutex.cpp \
mutex_linux.cpp \
mutexLocker.cpp \
nativeLookup.cpp \
objArrayKlass.cpp \
os_linux.cpp \
os_linux_arm.cpp \
placeHolders.cpp \
quickSort.cpp \
resourceArea.cpp \
rewriter.cpp \
sharedRuntime.cpp \
signature.cpp \
space.cpp \
stackMapTable.cpp \
symbolTable.cpp \
systemDictionary.cpp \
symbol.cpp \
synchronizer.cpp \
threadLS_bsd_x86.cpp \
threadLS_linux_arm.cpp \
threadLS_linux_x86.cpp \
timer.cpp \
typeArrayKlass.cpp \
unsafe.cpp \
utf8.cpp \
vmSymbols.cpp \
#
ifeq ($(call check-jvm-feature, opt-size), true)
JVM_OPTIMIZATION := SIZE
OPT_SPEED_SRC := \
allocation.cpp \
assembler.cpp \
barrierSet.cpp \
basicLock.cpp \
biasedLocking.cpp \
bytecode.cpp \
bytecodeInterpreter.cpp \
c1_Compilation.cpp \
c1_Compiler.cpp \
c1_GraphBuilder.cpp \
c1_LinearScan.cpp \
c1_LIR.cpp \
ciEnv.cpp \
ciObjectFactory.cpp \
codeBlob.cpp \
constantPool.cpp \
constMethod.cpp \
classLoader.cpp \
classLoaderData.cpp \
classFileParser.cpp \
classFileStream.cpp \
cpCache.cpp \
defNewGeneration.cpp \
frame_arm.cpp \
frame_aarch64.cpp \
frame_ppc.cpp \
frame_s390.cpp \
frame_x86.cpp \
genCollectedHeap.cpp \
generation.cpp \
genMarkSweep.cpp \
growableArray.cpp \
handles.cpp \
hashtable.cpp \
heap.cpp \
icache.cpp \
icache_arm.cpp \
icache_aarch64.cpp \
icache_ppc.cpp \
icache_s390.cpp \
icache_x86.cpp \
instanceKlass.cpp \
invocationCounter.cpp \
iterator.cpp \
javaCalls.cpp \
javaClasses.cpp \
jniFastGetField_arm.cpp \
jvm.cpp \
linkResolver.cpp \
klass.cpp \
klassVtable.cpp \
markSweep.cpp \
memRegion.cpp \
memoryPool.cpp \
method.cpp \
methodHandles.cpp \
methodHandles_arm.cpp \
methodLiveness.cpp \
metaspace.cpp \
mutex.cpp \
mutexLocker.cpp \
nativeLookup.cpp \
objArrayKlass.cpp \
os_linux.cpp \
os_linux_arm.cpp \
resourceArea.cpp \
rewriter.cpp \
sharedRuntime.cpp \
signature.cpp \
space.cpp \
stackMapTable.cpp \
symbolTable.cpp \
systemDictionary.cpp \
symbol.cpp \
synchronizer.cpp \
timer.cpp \
typeArrayKlass.cpp \
unsafe.cpp \
utf8.cpp \
vmSymbols.cpp \
#
$(foreach s, $(OPT_SPEED_SRC), \
$(eval BUILD_LIBJVM_$s_OPTIMIZATION := HIGHEST_JVM))
$(foreach s, $(OPT_SPEED_SRC), \
$(eval BUILD_LIBJVM_$s_OPTIMIZATION := HIGHEST_JVM))
ifneq ($(filter $(TOOLCHAIN_TYPE), gcc clang), )
BUILD_LIBJVM_systemDictionary.cpp_CXXFLAGS := -fno-optimize-sibling-calls
endif
endif

View File

@@ -213,7 +213,7 @@ int generateJvmOffsets(GEN_variant gen_variant) {
GEN_VALUE(AccessFlags_NATIVE, JVM_ACC_NATIVE);
GEN_VALUE(ConstMethod_has_linenumber_table, ConstMethod::_has_linenumber_table);
GEN_OFFS(AccessFlags, _flags);
GEN_OFFS(Symbol, _length_and_refcount);
GEN_OFFS(Symbol, _length);
GEN_OFFS(Symbol, _body);
printf("\n");

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2016, 2019, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2016, 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
@@ -45,12 +45,14 @@ ifeq ($(call isTargetOs, windows), true)
FLATTEN := true, \
)) \
$(eval TARGETS += $$(COPY_GTEST_MSVCR_$v)) \
$(eval $(call SetupCopyFiles, COPY_GTEST_PDB_$v, \
SRC := $(HOTSPOT_OUTPUTDIR)/variant-$v/libjvm/gtest, \
DEST := $(TEST_IMAGE_DIR)/hotspot/gtest/$v, \
FILES := jvm.pdb gtestLauncher.pdb, \
)) \
$(eval TARGETS += $$(COPY_GTEST_PDB_$v)) \
$(if $(call equals, $(COPY_DEBUG_SYMBOLS), true), \
$(eval $(call SetupCopyFiles, COPY_GTEST_PDB_$v, \
SRC := $(HOTSPOT_OUTPUTDIR)/variant-$v/libjvm/gtest, \
DEST := $(TEST_IMAGE_DIR)/hotspot/gtest/$v, \
FILES := jvm.pdb gtestLauncher.pdb, \
)) \
$(eval TARGETS += $$(COPY_GTEST_PDB_$v)) \
) \
)
endif

View File

@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="###ROOT_DIR###" vcs="hg4idea" />
<mapping directory="###ROOT_DIR###" vcs="###VCS_TYPE###" />
</component>
</project>

View File

@@ -1,5 +1,5 @@
<!--
Copyright (c) 2007, 2008, Oracle and/or its affiliates. All rights reserved.
Copyright (c) 2007, 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
@@ -60,37 +60,7 @@
</target>
<!-- ~~~~~~~~~~~~~~~~~~~~~~~~~ -->
<!-- Call rmic-jmx subtargets -->
<target name="-rmic-jmx" depends="-init,-rmic-jmx-jrmp"
description="Calls -init,-rmic-jmx-jrmp"
/>
<!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
<!-- Generate RMI JRMP stub class files for remote objects -->
<!-- Generated java files are kept in a separate directory -->
<target name="-rmic-jmx-jrmp" depends="-init"
description="Generate RMI JRMP stub class files for remote objects. Keep generated java files in separate dir." >
<!-- Dir to keep generated stub source -->
<mkdir dir="${gensrc.dir}" />
<rmic base="${classes.dir}/javax/management"
sourcebase="${gensrc.dir}"
includeAntRuntime="no"
includeJavaRuntime="no"
stubversion="1.2"
>
<include name="javax/management/remote/rmi/RMIConnectionImpl.class" />
<include name="javax/management/remote/rmi/RMIServerImpl.class" />
</rmic>
</target>
<target name="-post-compile" depends="-init,-rmic-jmx"
<target name="-post-compile" depends="-init"
description="Jar JMX class files (including RMI stubs)" >
<mkdir dir="${dist.dir}/lib"/>
<jar jarfile="${dist.dir}/lib/${jar.jmx.name}"

View File

@@ -31,6 +31,9 @@
*/
package build.tools.classlist;
import java.lang.invoke.MethodHandle;
import java.lang.invoke.MethodHandles;
import java.lang.invoke.MethodType;
import java.net.InetAddress;
import java.nio.file.FileSystems;
import java.time.LocalDateTime;
@@ -55,19 +58,20 @@ public class HelloClasslist {
private static final Logger LOGGER = Logger.getLogger("Hello");
public static void main(String ... args) {
public static void main(String ... args) throws Throwable {
FileSystems.getDefault();
List<String> strings = Arrays.asList("Hello", "World!", "From: ",
InetAddress.getLoopbackAddress().toString());
InetAddress.getLoopbackAddress().toString());
String helloWorld = strings.parallelStream()
.map(s -> s.toLowerCase(Locale.ROOT))
.collect(joining(","));
.map(s -> s.toLowerCase(Locale.ROOT))
.collect(joining(","));
Stream.of(helloWorld.split(","))
.forEach(System.out::println);
Stream.of(helloWorld.split("([,x-z]{1,3})([\\s]*)"))
.map(String::toString)
.forEach(System.out::println);
// Common concatenation patterns
String SS = String.valueOf(args.length) + String.valueOf(args.length);
@@ -83,6 +87,10 @@ public class HelloClasslist {
String SCSCS = String.valueOf(args.length) + "string" + String.valueOf(args.length) + "string" + String.valueOf(args.length);
String CI = "string" + args.length;
String IC = args.length + "string";
String SI = String.valueOf(args.length) + args.length;
String IS = args.length + String.valueOf(args.length);
String CIS = "string" + args.length + String.valueOf(args.length);
String CSCI = "string" + String.valueOf(args.length) + "string" + args.length;
String CIC = "string" + args.length + "string";
String CICI = "string" + args.length + "string" + args.length;
String CJ = "string" + System.currentTimeMillis();
@@ -99,7 +107,31 @@ public class HelloClasslist {
DateFormat.getDateInstance(DateFormat.DEFAULT, Locale.ROOT)
.format(new Date()));
LOGGER.log(Level.INFO, "New Date: " + newDate + " - old: " + oldDate);
// A selection of trivial and relatively common MH operations
invoke(MethodHandles.identity(double.class), 1.0);
invoke(MethodHandles.identity(int.class), 1);
invoke(MethodHandles.identity(String.class), "x");
invoke(handle("staticMethod_V", MethodType.methodType(void.class)));
LOGGER.log(Level.FINE, "New Date: " + newDate + " - old: " + oldDate);
}
public static void staticMethod_V() {}
private static MethodHandle handle(String name, MethodType type) throws Throwable {
return MethodHandles.lookup().findStatic(HelloClasslist.class, name, type);
}
private static Object invoke(MethodHandle mh, Object ... args) throws Throwable {
try {
for (Object o : args) {
mh = MethodHandles.insertArguments(mh, 0, o);
}
return mh.invoke();
} catch (Throwable t) {
LOGGER.warning("Failed to find, link and/or invoke " + mh.toString() + ": " + t.getMessage());
throw t;
}
}
}

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2012, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2012, 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
@@ -72,7 +72,9 @@ class Bundle {
"NumberElements/exponential",
"NumberElements/permille",
"NumberElements/infinity",
"NumberElements/nan"
"NumberElements/nan",
"NumberElements/currencyDecimal",
"NumberElements/currencyGroup",
};
private final static String[] TIME_PATTERN_KEYS = {
@@ -284,7 +286,7 @@ class Bundle {
handleMultipleInheritance(myMap, parentsMap, calendarPrefix + "QuarterAbbreviations");
handleMultipleInheritance(myMap, parentsMap, calendarPrefix + "QuarterNarrows");
adjustEraNames(myMap, calendarType);
adjustEraNames(myMap, parentsMap, calendarType);
handleDateTimeFormatPatterns(TIME_PATTERN_KEYS, myMap, parentsMap, calendarType, "TimePatterns");
handleDateTimeFormatPatterns(DATE_PATTERN_KEYS, myMap, parentsMap, calendarType, "DatePatterns");
@@ -292,7 +294,6 @@ class Bundle {
}
// First, weed out any empty timezone or metazone names from myMap.
// Fill in any missing abbreviations if locale is "en".
for (Iterator<String> it = myMap.keySet().iterator(); it.hasNext();) {
String key = it.next();
if (key.startsWith(CLDRConverter.TIMEZONE_ID_PREFIX)
@@ -305,10 +306,6 @@ class Bundle {
it.remove();
continue;
}
if (id.equals("en")) {
fillInJREs(key, nameMap);
}
}
}
for (Iterator<String> it = myMap.keySet().iterator(); it.hasNext();) {
@@ -413,8 +410,9 @@ class Bundle {
}
/**
* Fills in any empty elements with its parent element. Returns true if the resulting array is
* identical to its parent array.
* Fills in any empty elements with its parent element, falling back to
* aliased one if parent element is not found. Returns true if the resulting
* array is identical to its parent array.
*
* @param parents
* @param key
@@ -426,7 +424,7 @@ class Bundle {
return false;
}
if (value instanceof String[]) {
Object pvalue = parents.get(key);
Object pvalue = parents.getOrDefault(key, parents.get(CLDRConverter.aliases.get(key)));
if (pvalue != null && pvalue instanceof String[]) {
String[] strings = (String[]) value;
String[] pstrings = (String[]) pvalue;
@@ -445,7 +443,7 @@ class Bundle {
* Adjusts String[] for era names because JRE's Calendars use different
* ERA value indexes in the Buddhist, Japanese Imperial, and Islamic calendars.
*/
private void adjustEraNames(Map<String, Object> map, CalendarType type) {
private void adjustEraNames(Map<String, Object> map, Map<String, Object> pMap, CalendarType type) {
String[][] eraNames = new String[ERA_KEYS.length][];
String[] realKeys = new String[ERA_KEYS.length];
int index = 0;
@@ -453,6 +451,9 @@ class Bundle {
String realKey = type.keyElementName() + key;
String[] value = (String[]) map.get(realKey);
if (value != null) {
// first fill in missing elements from parents map.
fillInElements(pMap, realKey, value);
switch (type) {
case GREGORIAN:
break;
@@ -634,42 +635,6 @@ class Bundle {
return null;
}
static List<Object[]> jreTimeZoneNames = Arrays.asList(TimeZoneNames.getContents());
private void fillInJREs(String key, Map<String, String> map) {
String tzid = null;
if (key.startsWith(CLDRConverter.METAZONE_ID_PREFIX)) {
// Look for tzid
String meta = key.substring(CLDRConverter.METAZONE_ID_PREFIX.length());
if (meta.equals("GMT")) {
tzid = meta;
} else {
for (String tz : CLDRConverter.handlerMetaZones.keySet()) {
if (CLDRConverter.handlerMetaZones.get(tz).equals(meta)) {
tzid = tz;
break;
}
}
}
} else {
tzid = key.substring(CLDRConverter.TIMEZONE_ID_PREFIX.length());
}
if (tzid != null) {
for (Object[] jreZone : jreTimeZoneNames) {
if (jreZone[0].equals(tzid)) {
for (int i = 0; i < ZONE_NAME_KEYS.length; i++) {
if (map.get(ZONE_NAME_KEYS[i]) == null) {
String[] jreNames = (String[])jreZone[1];
map.put(ZONE_NAME_KEYS[i], jreNames[i]);
}
}
break;
}
}
}
}
/**
* Perform a generic conversion of CLDR date-time format pattern letter based
* on the support given by the SimpleDateFormat and the j.t.f.DateTimeFormatter
@@ -810,7 +775,10 @@ class Bundle {
assert keys == NUMBER_ELEMENT_KEYS;
if (key.endsWith("/pattern")) {
numArray[idx] = "#";
} else {
} else if (!key.endsWith("currencyDecimal") &&
!key.endsWith("currencyGroup")) {
// throw error unless it is for "currencyDecimal/Group",
// which may be missing.
throw new InternalError("NumberElements: null for " +
key + ", id: " + id);
}

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2012, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2012, 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
@@ -25,7 +25,6 @@
package build.tools.cldrconverter;
import static build.tools.cldrconverter.Bundle.jreTimeZoneNames;
import build.tools.cldrconverter.BundleGenerator.BundleType;
import java.io.File;
import java.io.IOException;
@@ -89,7 +88,9 @@ public class CLDRConverter {
static final String ZONE_NAME_PREFIX = "timezone.displayname.";
static final String METAZONE_ID_PREFIX = "metazone.id.";
static final String PARENT_LOCALE_PREFIX = "parentLocale.";
static final String META_EMPTY_ZONE_NAME = "EMPTY_ZONE";
static final String[] EMPTY_ZONE = {"", "", "", "", "", ""};
static final String META_ETCUTC_ZONE_NAME = "ETC_UTC";
private static SupplementDataParseHandler handlerSuppl;
private static LikelySubtagsParseHandler handlerLikelySubtags;
@@ -684,61 +685,7 @@ public class CLDRConverter {
}
private static Map<String, Object> extractZoneNames(Map<String, Object> map, String id) {
Map<String, Object> names = new HashMap<>();
// Copy over missing time zone ids from JRE for English locale
if (id.equals("en")) {
Map<String[], String> jreMetaMap = new HashMap<>();
jreTimeZoneNames.stream().forEach(e -> {
String tzid = (String)e[0];
String[] data = (String[])e[1];
if (map.get(TIMEZONE_ID_PREFIX + tzid) == null &&
handlerMetaZones.get(tzid) == null ||
handlerMetaZones.get(tzid) != null &&
map.get(METAZONE_ID_PREFIX + handlerMetaZones.get(tzid)) == null) {
// First, check the alias
String canonID = canonicalTZMap.get(tzid);
if (canonID != null && !tzid.equals(canonID)) {
Object value = map.get(TIMEZONE_ID_PREFIX + canonID);
if (value != null) {
names.put(tzid, value);
return;
} else {
String meta = handlerMetaZones.get(canonID);
if (meta != null) {
value = map.get(METAZONE_ID_PREFIX + meta);
if (value != null) {
names.put(tzid, meta);
return;
}
}
}
}
// Check the CLDR meta key
Optional<Map.Entry<String, String>> cldrMeta =
handlerMetaZones.getData().entrySet().stream()
.filter(me ->
Arrays.deepEquals(data,
(String[])map.get(METAZONE_ID_PREFIX + me.getValue())))
.findAny();
cldrMeta.ifPresentOrElse(meta -> names.put(tzid, meta.getValue()), () -> {
// Check the JRE meta key, add if there is not.
Optional<Map.Entry<String[], String>> jreMeta =
jreMetaMap.entrySet().stream()
.filter(jm -> Arrays.deepEquals(data, jm.getKey()))
.findAny();
jreMeta.ifPresentOrElse(meta -> names.put(tzid, meta.getValue()), () -> {
String metaName = "JRE_" + tzid.replaceAll("[/-]", "_");
names.put(METAZONE_ID_PREFIX + metaName, data);
names.put(tzid, metaName);
});
});
}
});
}
Map<String, Object> names = new TreeMap<>(KeyComparator.INSTANCE);
getAvailableZoneIds().stream().forEach(tzid -> {
// If the tzid is deprecated, get the data for the replacement id
@@ -747,7 +694,14 @@ public class CLDRConverter {
Object data = map.get(TIMEZONE_ID_PREFIX + tzKey);
if (data instanceof String[]) {
names.put(tzid, data);
// Hack for UTC. UTC is an alias to Etc/UTC in CLDR
if (tzid.equals("Etc/UTC") && !map.containsKey(TIMEZONE_ID_PREFIX + "UTC")) {
names.put(METAZONE_ID_PREFIX + META_ETCUTC_ZONE_NAME, data);
names.put(tzid, META_ETCUTC_ZONE_NAME);
names.put("UTC", META_ETCUTC_ZONE_NAME);
} else {
names.put(tzid, data);
}
} else {
String meta = handlerMetaZones.get(tzKey);
if (meta != null) {
@@ -764,24 +718,23 @@ public class CLDRConverter {
// exemplar cities.
Map<String, Object> exCities = map.entrySet().stream()
.filter(e -> e.getKey().startsWith(CLDRConverter.EXEMPLAR_CITY_PREFIX))
.collect(Collectors
.toMap(Map.Entry::getKey, Map.Entry::getValue));
.filter(e -> e.getKey().startsWith(CLDRConverter.EXEMPLAR_CITY_PREFIX))
.collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue));
names.putAll(exCities);
if (!id.equals("en") &&
!names.isEmpty()) {
// CLDR does not have UTC entry, so add it here.
names.put("UTC", EMPTY_ZONE);
// no metazone zones
Arrays.asList(handlerMetaZones.get(MetaZonesParseHandler.NO_METAZONE_KEY)
.split("\\s")).stream()
.forEach(tz -> {
names.put(tz, EMPTY_ZONE);
});
// If there's no UTC entry at this point, add an empty one
if (!names.isEmpty() && !names.containsKey("UTC")) {
names.putIfAbsent(METAZONE_ID_PREFIX + META_EMPTY_ZONE_NAME, EMPTY_ZONE);
names.put("UTC", META_EMPTY_ZONE_NAME);
}
// Finally some compatibility stuff
ZoneId.SHORT_IDS.entrySet().stream()
.filter(e -> !names.containsKey(e.getKey()) && names.containsKey(e.getValue()))
.forEach(e -> {
names.put(e.getKey(), names.get(e.getValue()));
});
return names;
}

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2012, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2012, 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
@@ -644,19 +644,13 @@ class LDMLParseHandler extends AbstractLDMLHandler<Object> {
}
break;
case "decimal":
// for FormatData
// copy string for later assembly into NumberElements
if (currentContainer.getqName().equals("symbols")) {
pushStringEntry(qName, attributes, currentNumberingSystem + "NumberElements/decimal");
} else {
pushIgnoredContainer(qName);
}
break;
case "group":
case "currencyDecimal":
case "currencyGroup":
// for FormatData
// copy string for later assembly into NumberElements
if (currentContainer.getqName().equals("symbols")) {
pushStringEntry(qName, attributes, currentNumberingSystem + "NumberElements/group");
pushStringEntry(qName, attributes, currentNumberingSystem + "NumberElements/" + qName);
} else {
pushIgnoredContainer(qName);
}

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2012, 2017, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2012, 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
@@ -215,10 +215,7 @@ public class EquivMapsGenerator {
+ " static final Map<String, String[]> multiEquivsMap;\n"
+ " static final Map<String, String> regionVariantEquivMap;\n\n"
+ " static {\n"
+ " singleEquivMap = new HashMap<>();\n"
+ " multiEquivsMap = new HashMap<>();\n"
+ " regionVariantEquivMap = new HashMap<>();\n\n"
+ " // This is an auto-generated file and should not be manually edited.\n";
+ " singleEquivMap = new HashMap<>(";
private static final String footerText =
" }\n\n"
@@ -242,6 +239,12 @@ public class EquivMapsGenerator {
Paths.get(fileName))) {
writer.write(getOpenJDKCopyright());
writer.write(headerText
+ (int)(sortedLanguageMap1.size() / 0.75f + 1) + ");\n"
+ " multiEquivsMap = new HashMap<>("
+ (int)(sortedLanguageMap2.size() / 0.75f + 1) + ");\n"
+ " regionVariantEquivMap = new HashMap<>("
+ (int)(sortedRegionVariantMap.size() / 0.75f + 1) + ");\n\n"
+ " // This is an auto-generated file and should not be manually edited.\n"
+ " // LSR Revision: " + LSRrevisionDate);
writer.newLine();

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2018, 2019, 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
@@ -24,23 +24,23 @@
/*
* This file is used to generated optimized finite field implementations.
* Required settings are included in the file. To generate, use jshell:
* jshell < FieldGen.jsh
*/
package build.tools.intpoly;
import java.io.*;
import java.math.BigInteger;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.nio.file.Path;
import java.util.*;
public class FieldGen {
static FieldParams Curve25519 = new FieldParams("IntegerPolynomial25519", 26, 10, 1, 255,
Arrays.asList(
new Term(0, -19)
),
Curve25519CrSequence(), simpleSmallCrSequence(10)
static FieldParams Curve25519 = new FieldParams(
"IntegerPolynomial25519", 26, 10, 1, 255,
Arrays.asList(
new Term(0, -19)
),
Curve25519CrSequence(), simpleSmallCrSequence(10)
);
private static List<CarryReduce> Curve25519CrSequence() {
@@ -65,12 +65,13 @@ public class FieldGen {
return result;
}
static FieldParams Curve448 = new FieldParams("IntegerPolynomial448", 28, 16, 1, 448,
Arrays.asList(
new Term(224, -1),
new Term(0, -1)
),
Curve448CrSequence(), simpleSmallCrSequence(16)
static FieldParams Curve448 = new FieldParams(
"IntegerPolynomial448", 28, 16, 1, 448,
Arrays.asList(
new Term(224, -1),
new Term(0, -1)
),
Curve448CrSequence(), simpleSmallCrSequence(16)
);
private static List<CarryReduce> Curve448CrSequence() {
@@ -100,14 +101,15 @@ public class FieldGen {
return result;
}
static FieldParams P256 = new FieldParams("IntegerPolynomialP256", 26, 10, 2, 256,
Arrays.asList(
new Term(224, -1),
new Term(192, 1),
new Term(96, 1),
new Term(0, -1)
),
P256CrSequence(), simpleSmallCrSequence(10)
static FieldParams P256 = new FieldParams(
"IntegerPolynomialP256", 26, 10, 2, 256,
Arrays.asList(
new Term(224, -1),
new Term(192, 1),
new Term(96, 1),
new Term(0, -1)
),
P256CrSequence(), simpleSmallCrSequence(10)
);
private static List<CarryReduce> P256CrSequence() {
@@ -117,14 +119,15 @@ public class FieldGen {
return result;
}
static FieldParams P384 = new FieldParams("IntegerPolynomialP384", 28, 14, 2, 384,
Arrays.asList(
new Term(128, -1),
new Term(96, -1),
new Term(32, 1),
new Term(0, -1)
),
P384CrSequence(), simpleSmallCrSequence(14)
static FieldParams P384 = new FieldParams(
"IntegerPolynomialP384", 28, 14, 2, 384,
Arrays.asList(
new Term(128, -1),
new Term(96, -1),
new Term(32, 1),
new Term(0, -1)
),
P384CrSequence(), simpleSmallCrSequence(14)
);
private static List<CarryReduce> P384CrSequence() {
@@ -134,8 +137,12 @@ public class FieldGen {
return result;
}
static FieldParams P521 = new FieldParams("IntegerPolynomialP521", 28, 19, 2, 521,
Arrays.asList(new Term(0, -1)), P521CrSequence(), simpleSmallCrSequence(19)
static FieldParams P521 = new FieldParams(
"IntegerPolynomialP521", 28, 19, 2, 521,
Arrays.asList(
new Term(0, -1)
),
P521CrSequence(), simpleSmallCrSequence(19)
);
private static List<CarryReduce> P521CrSequence() {
@@ -145,19 +152,22 @@ public class FieldGen {
return result;
}
static FieldParams O256 = new FieldParams("P256OrderField", 26, 10, 1, 256,
new BigInteger("26959946660873538059280334323273029441504803697035324946844617595567"),
orderFieldCrSequence(10), orderFieldSmallCrSequence(10)
static FieldParams O256 = new FieldParams(
"P256OrderField", 26, 10, 1, 256,
"FFFFFFFF00000000FFFFFFFFFFFFFFFFBCE6FAADA7179E84F3B9CAC2FC632551",
orderFieldCrSequence(10), orderFieldSmallCrSequence(10)
);
static FieldParams O384 = new FieldParams("P384OrderField", 28, 14, 1, 384,
new BigInteger("1388124618062372383947042015309946732620727252194336364173"),
orderFieldCrSequence(14), orderFieldSmallCrSequence(14)
static FieldParams O384 = new FieldParams(
"P384OrderField", 28, 14, 1, 384,
"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC7634D81F4372DDF581A0DB248B0A77AECEC196ACCC52973",
orderFieldCrSequence(14), orderFieldSmallCrSequence(14)
);
static FieldParams O521 = new FieldParams("P521OrderField", 28, 19, 1, 521,
new BigInteger("657877501894328237357444332315020117536923257219387276263472201219398408051703"),
o521crSequence(19), orderFieldSmallCrSequence(19)
static FieldParams O521 = new FieldParams(
"P521OrderField", 28, 19, 1, 521,
"01FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA51868783BF2F966B7FCC0148F709A5D03BB5C9B8899C47AEBB6FB71E91386409",
o521crSequence(19), orderFieldSmallCrSequence(19)
);
private static List<CarryReduce> o521crSequence(int numLimbs) {
@@ -165,7 +175,7 @@ public class FieldGen {
// split the full reduce in half, with a carry in between
List<CarryReduce> result = new ArrayList<CarryReduce>();
result.addAll(fullCarry(2 * numLimbs));
for (int i = 2 * numLimbs - 1; i >= numLimbs + numLimbs/2; i--) {
for (int i = 2 * numLimbs - 1; i >= numLimbs + numLimbs / 2; i--) {
result.add(new Reduce(i));
}
// carry
@@ -173,7 +183,7 @@ public class FieldGen {
result.add(new Carry(i));
}
// rest of reduce
for (int i = numLimbs + numLimbs/2 - 1; i >= numLimbs; i--) {
for (int i = numLimbs + numLimbs / 2 - 1; i >= numLimbs; i--) {
result.add(new Reduce(i));
}
result.addAll(orderFieldSmallCrSequence(numLimbs));
@@ -192,7 +202,8 @@ public class FieldGen {
return result;
}
private static List<CarryReduce> orderFieldSmallCrSequence(int numLimbs) {
private static List<CarryReduce> orderFieldSmallCrSequence(int numLimbs) {
List<CarryReduce> result = new ArrayList<CarryReduce>();
result.addAll(fullCarry(numLimbs + 1));
result.add(new Reduce(numLimbs));
@@ -200,7 +211,9 @@ public class FieldGen {
return result;
}
static final FieldParams[] ALL_FIELDS = {P256, P384, P521, O256, O384, O521};
static final FieldParams[] ALL_FIELDS = {
P256, P384, P521, O256, O384, O521,
};
public static class Term {
private final int power;
@@ -220,9 +233,13 @@ public class FieldGen {
}
public BigInteger getValue() {
return BigInteger.valueOf(2).pow(power).multiply(BigInteger.valueOf(coefficient));
return BigInteger.valueOf(2).pow(power)
.multiply(BigInteger.valueOf(coefficient));
}
public String toString() {
return "2^" + power + " * " + coefficient;
}
}
static abstract class CarryReduce {
@@ -236,7 +253,8 @@ public class FieldGen {
return index;
}
public abstract void write(CodeBuffer out, FieldParams params, String prefix, Iterable<CarryReduce> remaining);
public abstract void write(CodeBuffer out, FieldParams params,
String prefix, Iterable<CarryReduce> remaining);
}
static class Carry extends CarryReduce {
@@ -244,7 +262,8 @@ public class FieldGen {
super(index);
}
public void write(CodeBuffer out, FieldParams params, String prefix, Iterable<CarryReduce> remaining) {
public void write(CodeBuffer out, FieldParams params, String prefix,
Iterable<CarryReduce> remaining) {
carry(out, params, prefix, getIndex());
}
}
@@ -254,7 +273,8 @@ public class FieldGen {
super(index);
}
public void write(CodeBuffer out, FieldParams params, String prefix, Iterable<CarryReduce> remaining) {
public void write(CodeBuffer out, FieldParams params, String prefix,
Iterable<CarryReduce> remaining) {
reduce(out, params, prefix, getIndex(), remaining);
}
}
@@ -269,8 +289,10 @@ public class FieldGen {
private final List<CarryReduce> crSequence;
private final List<CarryReduce> smallCrSequence;
public FieldParams(String className, int bitsPerLimb, int numLimbs, int maxAdds, int power,
Iterable<Term> terms, List<CarryReduce> crSequence, List<CarryReduce> smallCrSequence) {
public FieldParams(String className, int bitsPerLimb, int numLimbs,
int maxAdds, int power,
Iterable<Term> terms, List<CarryReduce> crSequence,
List<CarryReduce> smallCrSequence) {
this.className = className;
this.bitsPerLimb = bitsPerLimb;
this.numLimbs = numLimbs;
@@ -281,8 +303,10 @@ public class FieldGen {
this.smallCrSequence = smallCrSequence;
}
public FieldParams(String className, int bitsPerLimb, int numLimbs, int maxAdds, int power,
BigInteger term, List<CarryReduce> crSequence, List<CarryReduce> smallCrSequence) {
public FieldParams(String className, int bitsPerLimb, int numLimbs,
int maxAdds, int power,
String term, List<CarryReduce> crSequence,
List<CarryReduce> smallCrSequence) {
this.className = className;
this.bitsPerLimb = bitsPerLimb;
this.numLimbs = numLimbs;
@@ -291,11 +315,13 @@ public class FieldGen {
this.crSequence = crSequence;
this.smallCrSequence = smallCrSequence;
terms = buildTerms(term);
terms = buildTerms(BigInteger.ONE.shiftLeft(power)
.subtract(new BigInteger(term, 16)));
}
private Iterable<Term> buildTerms(BigInteger sub) {
// split a large subtrahend into smaller terms that are aligned with limbs
// split a large subtrahend into smaller terms
// that are aligned with limbs
List<Term> result = new ArrayList<Term>();
BigInteger mod = BigInteger.valueOf(1 << bitsPerLimb);
int termIndex = 0;
@@ -312,7 +338,7 @@ public class FieldGen {
}
sub = sub.shiftRight(bitsPerLimb);
if (plusOne) {
sub = sub.add(BigInteger.ONE);
sub = sub.add(BigInteger.ONE);
}
++termIndex;
}
@@ -370,7 +396,7 @@ public class FieldGen {
static List<CarryReduce> simpleCrSequence(int numLimbs) {
List<CarryReduce> result = new ArrayList<CarryReduce>();
for(int i = 0; i < 4; i++) {
for (int i = 0; i < 4; i++) {
result.addAll(fullCarry(2 * numLimbs - 1));
result.addAll(fullReduce(numLimbs));
}
@@ -394,15 +420,30 @@ public class FieldGen {
private final String packageName;
private final String parentName;
public FieldGen(String packageName, String parentName) {
private final Path headerPath;
private final Path destPath;
public FieldGen(String packageName, String parentName,
Path headerPath, Path destRoot) throws IOException {
this.packageName = packageName;
this.parentName = parentName;
this.headerPath = headerPath;
this.destPath = destRoot.resolve(packageName.replace(".", "/"));
Files.createDirectories(destPath);
}
// args: header.txt destpath
public static void main(String[] args) throws Exception {
FieldGen gen = new FieldGen("sun.security.util.math.intpoly", "IntegerPolynomial");
for(FieldParams p : ALL_FIELDS) {
FieldGen gen = new FieldGen(
"sun.security.util.math.intpoly",
"IntegerPolynomial",
Path.of(args[0]),
Path.of(args[1]));
for (FieldParams p : ALL_FIELDS) {
System.out.println(p.className);
System.out.println(p.terms);
System.out.println();
gen.generateFile(p);
}
}
@@ -410,7 +451,8 @@ public class FieldGen {
private void generateFile(FieldParams params) throws IOException {
String text = generate(params);
String fileName = params.getClassName() + ".java";
PrintWriter out = new PrintWriter(new FileWriter(fileName));
PrintWriter out = new PrintWriter(Files.newBufferedWriter(
destPath.resolve(fileName)));
out.println(text);
out.close();
}
@@ -421,7 +463,7 @@ public class FieldGen {
private Set<String> temporaries = new HashSet<String>();
private StringBuffer buffer = new StringBuffer();
private int indent = 0;
private Class lastCR;
private Class<?> lastCR;
private int lastCrCount = 0;
private int crMethodBreakCount = 0;
private int crNumLimbs = 0;
@@ -458,12 +500,13 @@ public class FieldGen {
crMethodBreakCount = 0;
lastCR = null;
}
/*
* Record a carry/reduce of the specified type. This method is used to
* break up large carry/reduce sequences into multiple methods to make
* JIT/optimization easier
*/
public void record(Class type) {
public void record(Class<?> type) {
if (type == lastCR) {
lastCrCount++;
} else {
@@ -484,7 +527,7 @@ public class FieldGen {
// call the new method
appendIndent();
append("carryReduce" + crMethodBreakCount + "(r");
for(int i = 0; i < crNumLimbs; i++) {
for (int i = 0; i < crNumLimbs; i++) {
append(", c" + i);
}
// temporaries are not live between operations, no need to send
@@ -496,13 +539,13 @@ public class FieldGen {
// make the method
appendIndent();
append("void carryReduce" + crMethodBreakCount + "(long[] r");
for(int i = 0; i < crNumLimbs; i++) {
append (", long c" + i);
for (int i = 0; i < crNumLimbs; i++) {
append(", long c" + i);
}
append(") {\n");
incrIndent();
// declare temporaries
for(String temp : temporaries) {
for (String temp : temporaries) {
appendLine("long " + temp + ";");
}
append("\n");
@@ -512,7 +555,7 @@ public class FieldGen {
public String getTemporary(String type, String value) {
Iterator<String> iter = temporaries.iterator();
if(iter.hasNext()) {
if (iter.hasNext()) {
String result = iter.next();
iter.remove();
appendLine(result + " = " + value + ";");
@@ -529,7 +572,7 @@ public class FieldGen {
}
public void appendIndent() {
for(int i = 0; i < indent; i++) {
for (int i = 0; i < indent; i++) {
buffer.append(" ");
}
}
@@ -550,16 +593,23 @@ public class FieldGen {
}
result.appendLine("import java.math.BigInteger;");
result.appendLine("public class " + params.getClassName() + " extends " + this.parentName + " {");
result.appendLine("public class " + params.getClassName()
+ " extends " + this.parentName + " {");
result.incrIndent();
result.appendLine("private static final int BITS_PER_LIMB = " + params.getBitsPerLimb() + ";");
result.appendLine("private static final int NUM_LIMBS = " + params.getNumLimbs() + ";");
result.appendLine("private static final int MAX_ADDS = " + params.getMaxAdds() + ";");
result.appendLine("public static final BigInteger MODULUS = evaluateModulus();");
result.appendLine("private static final long CARRY_ADD = 1 << " + (params.getBitsPerLimb() - 1) + ";");
result.appendLine("private static final int BITS_PER_LIMB = "
+ params.getBitsPerLimb() + ";");
result.appendLine("private static final int NUM_LIMBS = "
+ params.getNumLimbs() + ";");
result.appendLine("private static final int MAX_ADDS = "
+ params.getMaxAdds() + ";");
result.appendLine(
"public static final BigInteger MODULUS = evaluateModulus();");
result.appendLine("private static final long CARRY_ADD = 1 << "
+ (params.getBitsPerLimb() - 1) + ";");
if (params.getBitsPerLimb() * params.getNumLimbs() != params.getPower()) {
result.appendLine("private static final int LIMB_MASK = -1 >>> (64 - BITS_PER_LIMB);");
result.appendLine("private static final int LIMB_MASK = -1 "
+ ">>> (64 - BITS_PER_LIMB);");
}
int termIndex = 0;
@@ -571,8 +621,9 @@ public class FieldGen {
result.appendLine("private static BigInteger evaluateModulus() {");
result.incrIndent();
result.appendLine("BigInteger result = BigInteger.valueOf(2).pow(" + params.getPower() + ");");
for(Term t : params.getTerms()) {
result.appendLine("BigInteger result = BigInteger.valueOf(2).pow("
+ params.getPower() + ");");
for (Term t : params.getTerms()) {
boolean subtract = false;
int coefValue = t.getCoefficient();
if (coefValue < 0) {
@@ -602,14 +653,18 @@ public class FieldGen {
result.appendLine("@Override");
result.appendLine("protected void finalCarryReduceLast(long[] limbs) {");
result.incrIndent();
int extraBits = params.getBitsPerLimb() * params.getNumLimbs() - params.getPower();
int extraBits = params.getBitsPerLimb() * params.getNumLimbs()
- params.getPower();
int highBits = params.getBitsPerLimb() - extraBits;
result.appendLine("long c = limbs[" + (params.getNumLimbs() - 1) + "] >> " + highBits + ";");
result.appendLine("limbs[" + (params.getNumLimbs() - 1) + "] -= c << " + highBits + ";");
result.appendLine("long c = limbs[" + (params.getNumLimbs() - 1)
+ "] >> " + highBits + ";");
result.appendLine("limbs[" + (params.getNumLimbs() - 1) + "] -= c << "
+ highBits + ";");
for (Term t : params.getTerms()) {
int reduceBits = params.getPower() + extraBits - t.getPower();
int negatedCoefficient = -1 * t.getCoefficient();
modReduceInBits(result, params, true, "limbs", params.getNumLimbs(), reduceBits, negatedCoefficient, "c");
modReduceInBits(result, params, true, "limbs", params.getNumLimbs(),
reduceBits, negatedCoefficient, "c");
}
result.decrIndent();
result.appendLine("}");
@@ -617,8 +672,8 @@ public class FieldGen {
// full carry/reduce sequence
result.appendIndent();
result.append("private void carryReduce(long[] r, ");
for(int i = 0; i < 2 * params.getNumLimbs() - 1; i++) {
result.append ("long c" + i);
for (int i = 0; i < 2 * params.getNumLimbs() - 1; i++) {
result.append("long c" + i);
if (i < 2 * params.getNumLimbs() - 2) {
result.append(", ");
}
@@ -627,7 +682,8 @@ public class FieldGen {
result.newTempScope();
result.incrIndent();
result.appendLine("long c" + (2 * params.getNumLimbs() - 1) + " = 0;");
write(result, params.getCrSequence(), params, "c", 2 * params.getNumLimbs());
write(result, params.getCrSequence(), params, "c",
2 * params.getNumLimbs());
result.appendLine();
for (int i = 0; i < params.getNumLimbs(); i++) {
result.appendLine("r[" + i + "] = c" + i + ";");
@@ -638,8 +694,8 @@ public class FieldGen {
// small carry/reduce sequence
result.appendIndent();
result.append("private void carryReduce(long[] r, ");
for(int i = 0; i < params.getNumLimbs(); i++) {
result.append ("long c" + i);
for (int i = 0; i < params.getNumLimbs(); i++) {
result.append("long c" + i);
if (i < params.getNumLimbs() - 1) {
result.append(", ");
}
@@ -648,7 +704,8 @@ public class FieldGen {
result.newTempScope();
result.incrIndent();
result.appendLine("long c" + params.getNumLimbs() + " = 0;");
write(result, params.getSmallCrSequence(), params, "c", params.getNumLimbs() + 1);
write(result, params.getSmallCrSequence(), params,
"c", params.getNumLimbs() + 1);
result.appendLine();
for (int i = 0; i < params.getNumLimbs(); i++) {
result.appendLine("r[" + i + "] = c" + i + ";");
@@ -727,7 +784,7 @@ public class FieldGen {
if (jDiff % 2 == 1) {
int aIndex = i / 2;
if (jDiff > 1) {
result.append (" + ");
result.append(" + ");
}
result.append("(a[" + aIndex + "] * a[" + aIndex + "])");
}
@@ -752,7 +809,8 @@ public class FieldGen {
return result.toString();
}
private static void write(CodeBuffer out, List<CarryReduce> sequence, FieldParams params, String prefix, int numLimbs) {
private static void write(CodeBuffer out, List<CarryReduce> sequence,
FieldParams params, String prefix, int numLimbs) {
out.startCrSequence(numLimbs);
for (int i = 0; i < sequence.size(); i++) {
@@ -764,7 +822,8 @@ public class FieldGen {
}
}
private static void reduce(CodeBuffer out, FieldParams params, String prefix, int index, Iterable<CarryReduce> remaining) {
private static void reduce(CodeBuffer out, FieldParams params,
String prefix, int index, Iterable<CarryReduce> remaining) {
out.record(Reduce.class);
@@ -772,35 +831,40 @@ public class FieldGen {
String reduceFrom = indexedExpr(false, prefix, index);
boolean referenced = false;
for (CarryReduce cr : remaining) {
if(cr.index == index) {
if (cr.index == index) {
referenced = true;
}
}
for (Term t : params.getTerms()) {
int reduceBits = params.getPower() - t.getPower();
int negatedCoefficient = -1 * t.getCoefficient();
modReduceInBits(out, params, false, prefix, index, reduceBits, negatedCoefficient, reduceFrom);
modReduceInBits(out, params, false, prefix, index, reduceBits,
negatedCoefficient, reduceFrom);
}
if (referenced) {
out.appendLine(reduceFrom + " = 0;");
}
}
private static void carry(CodeBuffer out, FieldParams params, String prefix, int index) {
private static void carry(CodeBuffer out, FieldParams params,
String prefix, int index) {
out.record(Carry.class);
out.appendLine("//carry from position " + index);
String carryFrom = prefix + index;
String carryTo = prefix + (index + 1);
String carry = "(" + carryFrom + " + CARRY_ADD) >> " + params.getBitsPerLimb();
String carry = "(" + carryFrom + " + CARRY_ADD) >> "
+ params.getBitsPerLimb();
String temp = out.getTemporary("long", carry);
out.appendLine(carryFrom + " -= (" + temp + " << " + params.getBitsPerLimb() + ");");
out.appendLine(carryFrom + " -= (" + temp + " << "
+ params.getBitsPerLimb() + ");");
out.appendLine(carryTo + " += " + temp + ";");
out.freeTemporary(temp);
}
private static String indexedExpr(boolean isArray, String prefix, int index) {
private static String indexedExpr(
boolean isArray, String prefix, int index) {
String result = prefix + index;
if (isArray) {
result = prefix + "[" + index + "]";
@@ -808,7 +872,9 @@ public class FieldGen {
return result;
}
private static void modReduceInBits(CodeBuffer result, FieldParams params, boolean isArray, String prefix, int index, int reduceBits, int coefficient, String c) {
private static void modReduceInBits(CodeBuffer result, FieldParams params,
boolean isArray, String prefix, int index, int reduceBits,
int coefficient, String c) {
String x = coefficient + " * " + c;
String accOp = "+=";
@@ -825,13 +891,19 @@ public class FieldGen {
if (reduceBits % params.getBitsPerLimb() == 0) {
int pos = reduceBits / params.getBitsPerLimb();
result.appendLine(indexedExpr(isArray, prefix, (index - pos)) + " " + accOp + " " + x + ";");
result.appendLine(indexedExpr(isArray, prefix, (index - pos))
+ " " + accOp + " " + x + ";");
} else {
int secondPos = reduceBits / params.getBitsPerLimb();
int bitOffset = (secondPos + 1) * params.getBitsPerLimb() - reduceBits;
int bitOffset = (secondPos + 1) * params.getBitsPerLimb()
- reduceBits;
int rightBitOffset = params.getBitsPerLimb() - bitOffset;
result.appendLine(indexedExpr(isArray, prefix, (index - (secondPos + 1))) + " " + accOp + " (" + x + " << " + bitOffset + ") & LIMB_MASK;");
result.appendLine(indexedExpr(isArray, prefix, (index - secondPos)) + " " + accOp + " " + x + " >> " + rightBitOffset + ";");
result.appendLine(indexedExpr(isArray, prefix,
(index - (secondPos + 1))) + " " + accOp
+ " (" + x + " << " + bitOffset + ") & LIMB_MASK;");
result.appendLine(indexedExpr(isArray, prefix,
(index - secondPos)) + " " + accOp + " " + x
+ " >> " + rightBitOffset + ";");
}
if (temp != null) {
@@ -840,12 +912,10 @@ public class FieldGen {
}
private String readHeader() throws IOException {
BufferedReader reader = Files.newBufferedReader(Paths.get("header.txt"));
BufferedReader reader
= Files.newBufferedReader(headerPath);
StringBuffer result = new StringBuffer();
reader.lines().forEach(s -> result.append(s + "\n"));
return result.toString();
}
}
FieldGen.main(null);

View File

@@ -24,5 +24,5 @@
*/
/*
* This file is generated by FieldGen.jsh. Do not modify it directly.
* This file is generated by FieldGen.java. Do not modify it directly.
*/

View File

@@ -35,6 +35,7 @@ import javax.lang.model.element.Element;
import com.sun.source.doctree.DocTree;
import com.sun.source.doctree.LiteralTree;
import com.sun.source.doctree.UnknownBlockTagTree;
import com.sun.source.doctree.UnknownInlineTagTree;
import com.sun.source.util.SimpleDocTreeVisitor;
import jdk.javadoc.doclet.Taglet;
@@ -96,16 +97,14 @@ public class JSpec implements Taglet {
private String baseURL;
private String idPrefix;
protected JSpec(String tagName, String specTitle, String baseURL, String idPrefix) {
JSpec(String tagName, String specTitle, String baseURL, String idPrefix) {
this.tagName = tagName;
this.specTitle = specTitle;
this.baseURL = baseURL;
this.idPrefix = idPrefix;
}
static final Pattern TAG_PATTERN = Pattern.compile("(?s)(.+ )?(?<chapter>[1-9][0-9]*)(?<section>[0-9.]*)( .*)?$");
private static final Pattern TAG_PATTERN = Pattern.compile("(?s)(.+ )?(?<chapter>[1-9][0-9]*)(?<section>[0-9.]*)( .*)?$");
/**
* Returns the set of locations in which the tag may be used.
@@ -115,9 +114,14 @@ public class JSpec implements Taglet {
return EnumSet.allOf(jdk.javadoc.doclet.Taglet.Location.class);
}
//@Override // uncomment when JDK 15 is the boot JDK
public boolean isBlockTag() {
return true;
}
@Override
public boolean isInlineTag() {
return false;
return true;
}
@Override
@@ -132,17 +136,28 @@ public class JSpec implements Taglet {
return "";
StringBuilder sb = new StringBuilder();
sb.append("<dt>See <i>" + specTitle + "</i>:</dt>\n")
.append("<dd>\n");
boolean in_dd = false;
for (DocTree tag : tags) {
if (tag.getKind() != UNKNOWN_BLOCK_TAG) {
continue;
if (sb.length() == 0 && tag.getKind() == DocTree.Kind.UNKNOWN_BLOCK_TAG) {
sb.append("<dt>See <i>").append(specTitle).append("</i>:</dt>\n")
.append("<dd>\n");
in_dd = true;
}
UnknownBlockTagTree blockTag = (UnknownBlockTagTree)tag;
String tagText = blockTag.getContent().toString().trim();
List<? extends DocTree> contents;
switch (tag.getKind()) {
case UNKNOWN_BLOCK_TAG:
contents = ((UnknownBlockTagTree) tag).getContent();
break;
case UNKNOWN_INLINE_TAG:
contents = ((UnknownInlineTagTree) tag).getContent();
break;
default:
continue;
}
String tagText = contents.toString().trim();
Matcher m = TAG_PATTERN.matcher(tagText);
if (m.find()) {
String chapter = m.group("chapter");
@@ -151,23 +166,27 @@ public class JSpec implements Taglet {
String url = String.format("%1$s/%2$s-%3$s.html#jls-%3$s%4$s",
baseURL, idPrefix, chapter, section);
sb.append("<a href=\"")
.append(url)
.append("\">")
.append(expand(blockTag))
.append("</a><br>");
}
.append(expand(contents))
.append("</a>");
if (tag.getKind() == DocTree.Kind.UNKNOWN_BLOCK_TAG) {
sb.append("<br>");
}
}
}
sb.append("</dd>");
if (in_dd) {
sb.append("</dd>");
}
return sb.toString();
}
private String expand(UnknownBlockTagTree tree) {
StringBuilder sb = new StringBuilder();
private String expand(List<? extends DocTree> trees) {
return (new SimpleDocTreeVisitor<StringBuilder, StringBuilder>() {
public StringBuilder defaultAction(DocTree tree, StringBuilder sb) {
return sb.append(tree.toString());
@@ -185,8 +204,10 @@ public class JSpec implements Taglet {
}
private String escape(String s) {
return s.replace("&", "&amp;").replace("<", "&lt;").replace(">", "&gt");
return s.replace("&", "&amp;")
.replace("<", "&lt;")
.replace(">", "&gt");
}
}).visit(tree.getContent(), new StringBuilder()).toString();
}).visit(trees, new StringBuilder()).toString();
}
}

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