Compare commits

...

1460 Commits
911 ... 1567

Author SHA1 Message Date
Maxim Kartashev
9e16583b83 JBR-3618 Add info about releases to JBR README on github 2021-07-16 16:41:54 +03:00
Artem Semenov
390fc567ef JBR-3609: Eliminate regressions caused by JBR-3437 2021-07-16 14:08:55 +03:00
Dmitry Batrak
3674766d65 JBR-3598 [JCK] KEY_TYPED event is not dispatched
another part of the fix
2021-07-14 20:47:54 +03:00
Dmitry Batrak
3b0708af7d JBR-3598 [JCK] KEY_TYPED event is not dispatched 2021-07-14 20:37:14 +03:00
Anton Tarasov
995e2643c6 JBR-3525 SIGSEGV at sun.lwawt.macosx.CAccessible.unregisterFromCocoaAXSystem with enabled VO 2021-07-08 13:57:45 +03:00
Artem Semenov
ff7ca94ca3 JBR-3566: macOS: SIGILL at [libsystem_kernel] NPE in +[JavaComponentAccessibility createWithParent:accessible:role:index:withEnv:withView:isWrapped]: 2021-07-07 15:34:53 +03:00
Artem Semenov
4a393c0243 JBR-3548 macOS: SIGILL at [libsystem_kernel] __kill NPE / +[JavaComponentAccessibility createWithAccessible:withEnv:withView:isCurrent:] 2021-07-07 14:42:57 +03:00
Maxim Kartashev
b4316f0317 JBR-3592 Port 8267307 back to JBR11
8267307: Introduce new client property for XAWT: xawt.mwm_decor_title

Reviewed-by: azvegint, serb
2021-07-07 12:06:56 +03:00
Maxim Kartashev
404a4329c7 JBR-3590 Update JetBrains Runtime README 2021-07-06 18:04:56 +03:00
Nikita Gubarkov
504f91d4d1 JBR-3588 check for zero subpixel glyph resolution and fallback to 1x1 2021-07-06 14:25:31 +03:00
Maxim Kartashev
0895519455 JBR-3572 Wayland: java/awt/Window/WindowTitleVisibleTest/WindowTitleVisibleTestLinuxGnome.java: title bar shown and hidden are the same.
Exclude the test when running under XWayland that doesn't implement
screen capture necessary for the test to function.
2021-07-06 01:23:31 -07:00
Vitaly Provodin
ba57c58ac7 return back security tests into exclude list 2021-07-06 07:24:20 +07:00
Maxim Kartashev
9d7b365b76 JBR-3393 gc/concurrent_phase_control tests fail in JBR 11
Add the W^X (write-or-execute) thread state transition to synthetic tests
in order to make the state change verification code happy.
2021-07-01 12:43:44 +03:00
Maxim Kartashev
84baaca0e7 JBR-3573 (8257828) Apply fixes for hotspot crashes to JBR11
8257828: SafeFetch may crash if invoked in non-JavaThreads

Reviewed-by: mdoerr, kbarrett, coleenp, dholmes
2021-06-29 16:58:23 +03:00
Maxim Kartashev
555feccdb1 JBR-3573 (8260653) Apply fixes for hotspot crashes to JBR11
8260653: Unreachable nodes keep speculative types alive

Reviewed-by: vlivanov, thartmann
2021-06-29 16:41:11 +03:00
Maxim Kartashev
fc6d53e035 JBR-3573 (8265938) Apply fixes for hotspot crashes to JBR11
8265938: C2's conditional move optimization does not handle top Phi

Reviewed-by: chagedorn, kvn, iignatyev
2021-06-29 16:41:11 +03:00
Maxim Kartashev
3b62f02c8a JBR-3573 (8265784) Apply fixes for hotspot crashes to JBR11
8265784: [C2] Hoisting of DecodeN leaves MachTemp inputs behind

Reviewed-by: kvn, goetz
2021-06-29 16:41:11 +03:00
Maxim Kartashev
4f93d1c06e JBR-3573 (8264640) Apply fixes for hotspot crashes to JBR11
8264640: CMS ParScanClosure misses a barrier

Reviewed-by: yan, johnc
2021-06-29 16:41:11 +03:00
Maxim Kartashev
d85849294a JBR-3573 (8219586) Apply fixes for hotspot crashes to JBR11
8219586: CodeHeap State Analytics processes dead nmethods

Reviewed-by: thartmann, eosterlund
2021-06-29 16:41:11 +03:00
Maxim Kartashev
65fd106b1a JBR-3573 (8250635) Apply fixes for hotspot crashes to JBR11
8250635: MethodArityHistogram should use Compile_lock in favour of fancy checks

Reviewed-by: mdoerr, thartmann
2021-06-29 16:41:10 +03:00
Maxim Kartashev
888350261c JBR-3573 (8217465) Apply fixes for hotspot crashes to JBR11
8217465: [REDO] - Optimize CodeHeap Analytics

Reviewed-by: kvn, thartmann
2021-06-29 16:22:31 +03:00
Maxim Kartashev
923a103580 JBR-3573 (8216314) Apply fixes for hotspot crashes to JBR11
8216314: SIGILL in CodeHeapState::print_names()

Reviewed-by: thartmann, kvn
2021-06-29 16:22:30 +03:00
Maxim Kartashev
2797ba7b4a JBR-3573 (8217918) Apply fixes for hotspot crashes to JBR11
8217918: C2: -XX:+AggressiveUnboxing is broken

Reviewed-by: kvn
2021-06-29 16:22:30 +03:00
Maxim Kartashev
8be8b407c9 JBR-3573 (8262295) Apply fixes for hotspot crashes to JBR11
8262295: C2: Out-of-Bounds Array Load from Clone Source

Reviewed-by: kvn, roland, neliasso, thartmann
2021-06-29 16:22:30 +03:00
Maxim Kartashev
ff4546ee49 JBR-3573 (8265154) Apply fixes for hotspot crashes to JBR11
8265154: vinserti128 operand mix up for KNL platforms

Reviewed-by: thartmann, kvn
2021-06-29 16:22:30 +03:00
Maxim Kartashev
6c9bc39e15 JBR-3573 (8264958) Apply fixes for hotspot crashes to JBR11
8264958: C2 compilation fails with assert "n is later than its clone"

Reviewed-by: neliasso, thartmann
2021-06-29 16:22:30 +03:00
Maxim Kartashev
5e0f7c7a2b JBR-3573 (8259227) Apply fixes for hotspot crashes to JBR11
8259227: C2 crashes with SIGFPE due to a division that floats above its zero check

Reviewed-by: kvn, thartmann
2021-06-29 16:22:30 +03:00
Maxim Kartashev
b7b0c8be3b JBR-3573 (8258505) Apply fixes for hotspot crashes to JBR11
8258505: [TESTBUG] TestDivZeroWithSplitIf.java fails due to missing UnlockDiagnosticVMOptions

Reviewed-by: thartmann, kvn, dcubed
2021-06-29 16:22:30 +03:00
Maxim Kartashev
34472d7aaa JBR-3573 (8257822) Apply fixes for hotspot crashes to JBR11
8257822: C2 crashes with SIGFPE due to a division that floats above its zero check

Reviewed-by: kvn, thartmann
2021-06-29 16:22:30 +03:00
Maxim Kartashev
c607177336 JBR-3573 (8260420) Apply fixes for hotspot crashes to JBR11
8260420: C2 compilation fails with assert(found_sfpt) failed: no node in loop that's not input to safepoint

Reviewed-by: kvn, roland, chagedorn
2021-06-29 16:22:29 +03:00
Maxim Kartashev
9be32d1854 JBR-3573 (8264626) Apply fixes for hotspot crashes to JBR11
8264626: C1 should be able to inline excluded methods

Reviewed-by: iveresov, thartmann
2021-06-29 16:22:29 +03:00
Maxim Kartashev
ec223b32be JBR-3573 (8263448) Apply fixes for hotspot crashes to JBR11
8263448: CTW: fatal error: meet not symmetric

Reviewed-by: roland
2021-06-29 16:22:29 +03:00
Maxim Kartashev
fe329e72bc JBR-3573 (8260255) Apply fixes for hotspot crashes to JBR11
8260255: C1: LoopInvariantCodeMotion constructor can leave some fields uninitialized

Reviewed-by: neliasso, thartmann
2021-06-29 16:22:29 +03:00
Maxim Kartashev
2918bd4f51 JBR-3573 (8262298) Apply fixes for hotspot crashes to JBR11
8262298: G1BarrierSetC2::step_over_gc_barrier fails with assert "bad barrier shape"

Reviewed-by: kvn, vlivanov
2021-06-29 16:22:29 +03:00
Maxim Kartashev
48fbbd929e JBR-3573 (8264360) Apply fixes for hotspot crashes to JBR11
8264360: Loop strip mining verification fails with "should be on the backedge"

Reviewed-by: kvn, thartmann
2021-06-29 16:22:29 +03:00
Maxim Kartashev
fa340f35b0 JBR-3573 (8264096) Apply fixes for hotspot crashes to JBR11
8264096: slowdebug jvm crashes when StrInflatedCopy match rule is not supported

Reviewed-by: thartmann
2021-06-29 16:22:28 +03:00
Maxim Kartashev
e1bea797be JBR-3570 Backport JDK-8265677 to JBR11
8265677: CMS: CardTableBarrierSet::write_ref_array_work() lacks storestore barrier
Reviewed-by: phh
2021-06-25 18:59:35 +03:00
Mikhail Grishchenko
a2a2572f78 updated JTreg exclude list
exclude some tests from security/infra/java/security/cert/CertPathValidator
JBR-3500 exclude sun/java2d/ClassCastExceptionForInvalidSurface.java for linux-all
2021-06-25 19:22:14 +07:00
Maxim Kartashev
7b992c7cd7 JBR-3568 Backport JDK-8261812 to JBR11 2021-06-25 11:15:01 +03:00
Anton Tarasov
8678f41971 JBR-3337 jb/java/jcef/HandleJSQueryTest3314.sh: fails on macOS-aarch64 with "JS Query was not handled in 2nd opened browser" 2021-06-23 18:03:55 +03:00
Denis Konoplev
752c0e5a49 JBR-3544: Generate popup invoked instead of New in this directory
Fix logical error
2021-06-23 12:00:03 +03:00
Denis Konoplev
3ea7913eaf JBR-3544: Generate popup invoked instead of New in this directory
CR: change duplicate Ctrl to Cmd
2021-06-21 22:31:04 +03:00
Anton Tarasov
9b4f72ad18 JBR-3545 Window.setMinimumSize does not respect DPI scaling 2021-06-21 20:42:49 +03:00
Denis Konoplev
d5fa37b63f JBR-3544: Generate popup invoked instead of New in this directory
Fix duplicate system shortcut
2021-06-21 18:26:25 +03:00
Denis Fokin
6a42bb54bd JRE-408 JBR-3515 fix NullPointerException in MetalRootPaneUI.installWindowListeners
(cherry picked from commit 584d554af529cff445b0f09bc2d57be55e138b7a)
2021-06-18 07:18:59 +07:00
Alexey Ushakov
3b03c698ce JBR-2207 TitledBorder leaks PropertyChangeListener
Added a separate pass with sending setVisible(false) to the frames holding TitledBorder references in order to get WINDOW_DEACTIVATED (to clear KeyBoardFocusManager.activeWindow field)
2021-06-16 16:00:55 +03:00
Vitaly Provodin
a56060d465 exclude the test failing because of JDK-8268678 2021-06-15 05:30:09 +07:00
Maxim Kartashev
97ddad2e99 JBR-3516 IDEA doesn't start when located in folder with cyrillic characters
Fix failing Windows x86 builds.
Fixes commit cad1ad4ba1
2021-06-11 11:40:28 +03:00
Maxim Kartashev
01ea54d751 JBR-3520 Correct stack-use-after-scope in jni_NewObjectA
Casting a variable to a non-reference type technically makes the
resulting expression a prvalue, which then gets bound to a reference
that is alive up until the end of the function. The prvalue is then
touched in the destructor of DTraceReturnProbeMark_NewObjectA and this
is detected by Address Sanitizer as stack-use-after-scope.

The fix is to cast to a reference type thus avoiding the creation of the
prvalue and lifetime issues connected with that.
2021-06-09 11:48:37 +03:00
Maxim Kartashev
cad1ad4ba1 JBR-3516 IDEA doesn't start when located in folder with cyrillic characters
Make JVM_LoadLibrary() use new os::dll_load_utf8() interface that
supports UTF-8 path names, leaving other users of os::dll_load()
unaffected.
2021-06-08 12:21:53 +03:00
Alexey Ushakov
c0be778e20 JBR-3344 "Exit Full Screen" action doesn't work, the only way is mouse click on window's native "green" button.
Restored JBR-1931 fix partially reverted by JBR-1718
2021-06-07 20:54:10 +03:00
Vitaly Provodin
0b659fef1b JBR-3500 exclude ClassCastExceptionForInvalidSurface test only causing Xwayland crash 2021-06-01 04:44:33 +07:00
Vitaly Provodin
e62fb2762f JBR-3500 exclude ClassCastExceptionForInvalidSurface test only causing Xwayland crash 2021-06-01 04:43:20 +07:00
Vitaly Provodin
90fff7bb1e JBR-3500 exclude tests related to JBR-3167 causing Xwayland crash 2021-06-01 04:40:40 +07:00
Nikita Gubarkov
f117b0e8ff JBR-3376 Added check for -1 glyph info pointer in OGLTextRenderer.c 2021-05-24 23:41:25 +03:00
Maxim Kartashev
5a2da540da JBR-2755 IDE UI became slow via remote X Server connection from Windows
When XGetImage() calls become slow in a remote X11 session, fake
XGetImage() with client-side XCreateImage() that is filled with some
background color. The color is chosen from several top left corner
pixels of the "slow" images obtained with XGetImage().

This feature activates in a remote X11 session only and is
controlled with -Dremote.x11.workaround={true|false|auto}.
2021-05-21 17:10:04 +03:00
Denis Konoplev
23a7dbd486 EA-252361: Check window for null 2021-05-20 14:14:38 +03:00
Maxim Kartashev
104ef7a512 JBR-3448 Crash when using -Dsun.java2d.trace=count 2021-05-19 15:39:45 +03:00
Artem Semenov
55c667055e JBR-3469: SIGILL at [libsystem_kernel] __kill in -[AWTView accessibleSelectedText]: unrecognized selector sent to instance 2021-05-19 13:43:25 +03:00
Artem Semenov
bc024f9af1 JBR-3437: Refactoring the a11y code 2021-05-18 18:51:34 +03:00
Vitaly Provodin
dbcbc5cf36 exclude tests related to 8233568 and 8258945 2021-05-18 04:44:17 +07:00
Vitaly Provodin
19aa9c5ab2 JBR-3459 Fix race condition in ClassLoaderDataGraph::classes_do
InstanceKlass in ClassLoaderData can be uninitialized when
ClassLoaderDataGraph::classes_do is called. Using
ClassLoaderDataGraph::dictionary_classes_do is safe but problem is still
persisting with anonymous classes.
2021-05-17 07:21:59 +07:00
Vitaly Provodin
4038661a40 JBR-3458 Skip dynamic proxy classes based on com.sun.proxy 2021-05-17 07:21:58 +07:00
Vitaly Provodin
f3f243e15e Support for redefinition of Well Known classses (java.*,jdk.*, sun.*) 2021-05-17 07:21:58 +07:00
Vitaly Provodin
967eca8d1d JBR-3140 - support for modularized HotswapAgent
Add -XX:HotswapAgent=[disabled,fatjar.core]
2021-05-17 07:21:58 +07:00
Vitaly Provodin
c011487364 JBR-3111 Update class in all dictionaries where it was already defined
This patch keeps compatibility with std redefinition, that does not
create a new Klass, but modifies it, then it is modified in all
dictionaries containing this class.
2021-05-17 07:21:57 +07:00
Vitaly Provodin
e90312b97a DCEVM Code cleanup
- Rename confusing method name old_if_redefined to old_if_redefining
- Remove unused is_redefining_gc_run
2021-05-17 07:21:57 +07:00
Vitaly Provodin
3cc4c7947b JBR-3110 Fix assert in MetadataOnStackMark
Fixed fastdebug tests crashes in redefine gc run
2021-05-17 07:21:57 +07:00
Vitaly Provodin
92948257a6 JBR-3106 Check InstanceKlass::has_nestmate_access_to with active classes 2021-05-17 07:21:56 +07:00
Nikita Gubarkov
fcd5fd2fe9 JBR-2924 Added test for SFNS italic font inclination on MacOS 2021-05-16 00:35:45 +03:00
Denis Konoplev
403ad1569a JBR-3409: Fix non-visible dead chars shortcuts on macOS 2021-05-14 02:04:20 +03:00
Denis Konoplev
01ad15e61c JBR-3444: Return NullSurfaceData when gc == null 2021-05-13 15:43:05 +03:00
Alexander Lobas
f10e324538 JBR-3443 Native file dialog on OSX enable filename filter by VM option 2021-05-13 10:11:25 +03:00
Alexander Lobas
7d8cc524ca JBR-3442 Native file dialog on OSX (for open file) doesn't allow pasting path 2021-05-13 10:11:25 +03:00
Anton Tarasov
74252c6df6 JBR-3441 SIGILL at [libsystem_kernel] NPE in +[JavaBaseAccessibility createWithAccessible:withEnv:withView:isCurrent:] 2021-05-12 19:55:49 +03:00
Anton Tarasov
7b3fa30b6b JBR-3359 [followup] SIGILL at [libsystem_kernel] __kill in Internal JNF Error: failed calling Throwable.toString() / -[NSApplication(JCEFApplication) _swizzled_sendEvent:] 2021-05-12 11:31:35 +03:00
Anton Tarasov
90f1b0812e JBR-3359 SIGILL at [libsystem_kernel] __kill in Internal JNF Error: failed calling Throwable.toString() / -[NSApplication(JCEFApplication) _swizzled_sendEvent:] 2021-05-12 10:48:48 +03:00
Maxim Kartashev
a7a678d491 JBR-3416 Introduce new client property for Linux: linux.awt.windowTitleVisible 2021-05-12 00:08:33 -07:00
Artem Semenov
7998f964fa JBR-3432: SIGSEGV at [libjvm] AccessInternal::PostRuntimeDispatch / -[JavaComboBoxAccessibility accessibleSelectedText] 2021-05-11 15:47:01 +03:00
Alexey Ushakov
04ab8b2f04 JBR-3415 bkp from JDK17: 8076313 GraphicsEnvironment does not detect changes in count of monitors on Linux OS
Backport of 8076313: GraphicsEnvironment does not detect changes in count of monitors on Linux OS
Authored-by: serb
Reviewed-by: kizune
2021-05-05 21:07:26 +03:00
Anton Tarasov
3b9e5c41db JBR-3413 [followup] use timeout in CAccessibility.invokeAndWait 2021-05-05 16:35:28 +03:00
Anton Tarasov
e7009db076 JBR-3413 use timeout in CAccessibility.invokeAndWait 2021-05-05 01:05:42 +03:00
Maxim Kartashev
43ac82fc82 JBR-1430: Force test to use UTF-8 file name encoding
Fixes commit 216bf92575.
2021-05-04 15:11:34 +03:00
Artem Semenov
9e6d718281 JBR-3379: IDEA crashes at -[PlatformAxElement isAccessibilityElement] with macOS diagnostic report 2021-04-30 21:09:34 +03:00
Erik Helin
14d64f6e0a 8213231: ThreadSnapshot::_threadObj can become stale
Reviewed-by: dcubed, dholmes, rehn

(cherry-picked from ba5be80bb2)
2021-04-28 15:33:47 +03:00
Maxim Kartashev
744d5d12d0 8256641: CDS VM operations do not lock the heap
Reviewed-by: kbarrett, iklam
(based on commit bacf22b907 by Thomas Schatzl <tschatzl@openjdk.org>)
2021-04-28 15:33:47 +03:00
clanger
292902fa77 Added tag jdk-11.0.11-ga for changeset 15862747ee15 2021-04-28 10:47:04 +07:00
mbalao
3820e0b62a 8257001: Improve Http Client Support
Reviewed-by: clanger
2021-04-28 10:47:03 +07:00
avoitylov
8c55979d40 8249906: Enhance opening JARs
8258247: Couple of issues in fix for JDK-8249906
8259428: AlgorithmId.getEncodedParams() should return copy
Reviewed-by: mbalao
2021-04-28 10:47:02 +07:00
yan
5c275d0a0c 8261183: Follow on to Make lists of normal filenames
Reviewed-by: mbalao
2021-04-28 10:47:01 +07:00
yan
ce154c9ad4 8253799: Make lists of normal filenames
Reviewed-by: mbalao
2021-04-28 10:47:00 +07:00
avoitylov
6d6ab9dfd9 8250568: Less ambiguous processing
Reviewed-by: mbaesken, mbalao
2021-04-28 10:46:59 +07:00
alvdavi
16158c2eef 8259633: compiler/graalunit/CoreTest.java fails with NPE after JDK-8244543
Reviewed-by: clanger
2021-04-28 10:46:59 +07:00
alvdavi
f4d0b285c3 8244543: Enhanced handling of abstract classes
Reviewed-by: mbaesken, mbalao
2021-04-28 10:46:58 +07:00
mbalao
071c02b771 8244473: Contextualize registration for JNDI
Reviewed-by: clanger
2021-04-28 10:46:57 +07:00
clanger
448fa17a19 8263069: Exclude some failing tests from security/infra/java/security/cert/CertPathValidator
Reviewed-by: mbaesken
2021-04-28 10:46:56 +07:00
darcy
bfb3674430 8253409: Double-rounding possibility in float fma
Reviewed-by: bpb
2021-04-28 10:46:55 +07:00
itakiguchi
95857dcfaf 8261920: [AIX] jshell command throws java.io.IOError on non English locales
Reviewed-by: stuefe
2021-04-28 10:46:54 +07:00
abakhtin
5520a4df6d 8259707: LDAP channel binding does not work with StartTLS extension
Reviewed-by: mullan, dfuchs, aefimov
2021-04-28 10:46:53 +07:00
abakhtin
e906af61a5 8245527: LDAP Channel Binding support for Java GSS/Kerberos
Reviewed-by: dfuchs, aefimov, mullan
2021-04-28 10:46:52 +07:00
rkennke
750fbac5eb 8261413: Shenandoah: Disable class-unloading in I-U mode
Reviewed-by: shade, zgu
2021-04-28 10:46:51 +07:00
shade
c5f48bf2cf 8261912: Code IfNode::fold_compares_helper more defensively
Reviewed-by: kvn, thartmann
2021-04-28 10:46:50 +07:00
poonam
630fe55f4b 8257746: Regression introduced with JDK-8250984 - memory might be null in some machines
Reviewed-by: hseigel, mbaesken
2021-04-28 10:46:50 +07:00
iignatyev
1084ca8699 8217848: [Graal] vmTestbase/nsk/jvmti/ResourceExhausted/resexhausted003/TestDescription.java fails
Reviewed-by: kvn, dlong
2021-04-28 10:46:48 +07:00
psadhukhan
9d5c1c0c7e 8213116: javax/swing/JComboBox/WindowsComboBoxSize/WindowsComboBoxSizeTest.java fails in Windows
Reviewed-by: prr
2021-04-28 10:46:48 +07:00
sviswanathan
352882d1dc 8255368: Math.exp() gives wrong result for large values on x86 32-bit platforms
Reviewed-by: darcy, kvn
Contributed-by: Xubo Zhang <xubo.zhang@intel.com>
2021-04-28 10:46:47 +07:00
pconcannon
500634c24c 8246707: (sc) SocketChannel.read/write throws AsynchronousCloseException on closed channel
Summary: This fix addresses an issue where an AsynchronousCloseException was being thrown instead of a ChannelClosedException when SocketChannel.write() is called on a closed SocketChannel.
Reviewed-by: alanb, chegar, dfuchs, clanger
Contributed-by: Conor Cleary <conor.cleary@oracle.com>
2021-04-28 10:46:46 +07:00
clanger
49822836b8 8262018: Wrong format in SAP copyright header of OsVersionTest
Reviewed-by: mdoerr
2021-04-28 10:46:45 +07:00
pli
fb9c2372f6 8261022: Fix incorrect result of Math.abs() with char type
Reviewed-by: thartmann, neliasso
2021-04-28 10:46:44 +07:00
psadhukhan
9e669bf6b7 8259007: This test printed a blank page
Reviewed-by: prr, serb
2021-04-28 10:46:43 +07:00
prr
6d2a2255f9 8255387: Japanese characters were printed upside down on AIX
Reviewed-by: prr, serb
Contributed-by: Toshio Nakamura <tnakamura@openjdk.org>
2021-04-28 10:46:42 +07:00
dmarkov
e22809895c 8261231: Windows IME was disabled after DnD operation
Reviewed-by: kizune, serb
2021-04-28 10:46:41 +07:00
clanger
5339faf796 8261829: Exclude tools/jlink/JLinkReproducibleTest.java in 11u
Reviewed-by: mdoerr
2021-04-28 10:46:40 +07:00
clanger
9ee13893b0 8261753: Test java/lang/System/OsVersionTest.java still failing on BigSur patch versions after JDK-8253702
Reviewed-by: rriggs
2021-04-28 10:46:39 +07:00
rhalade
3808264809 8256421: Add 2 HARICA roots to cacerts truststore
Reviewed-by: mullan
2021-04-28 10:46:39 +07:00
mdoerr
b8929acd83 8261522: [PPC64] AES intrinsics write beyond the destination array
Reviewed-by: lucy
2021-04-28 10:46:38 +07:00
clanger
f203865ad7 8261534: Test sun/security/pkcs11/KeyAgreement/IllegalPackageAccess.java fails on platforms where no nsslib artifacts are defined
Reviewed-by: mbaesken
2021-04-28 10:46:37 +07:00
rriggs
3c53281d4a 8253702: BigSur version number reported as 10.16, should be 11.nn
Reviewed-by: bpb, kcr
2021-04-28 10:46:36 +07:00
kravikumar
add8207c6f 8260356: (tz) Upgrade time-zone data to tzdata2021a
Reviewed-by: naoto
2021-04-28 10:46:35 +07:00
pli
f3dd1882e0 8218550: Add test omitted from JDK-8212043
Summary: Add test case omitted from fix for JDK-8212043
Reviewed-by: shade
2021-04-28 10:46:35 +07:00
pli
8cbf021a42 8212043: Add floating-point Math.min/max intrinsics
Summary: Floating-point Math.min() and Math.max() intrinsics are enabled on AArch64 platform
Reviewed-by: adinn, aph
2021-04-28 10:46:34 +07:00
kvn
69c0011bad 8215687: [Graal] unit test CheckGraalIntrinsics failed after 8212043
Summary: add check for new intrinsics
Reviewed-by: iveresov, iignatyev
2021-04-28 10:46:33 +07:00
ihse
4be94ec941 8214741: docs/index.html has no title or copyright
Reviewed-by: erikj
2021-04-28 10:46:32 +07:00
rkennke
21117cb19e 8261251: Shenandoah: Use object size for full GC humongous compaction
Reviewed-by: aph, shade
2021-04-28 10:46:31 +07:00
rkennke
a9367e1c03 8260497: Shenandoah: Improve SATB flushing
Reviewed-by: shade, zgu
2021-04-28 10:46:30 +07:00
kbarrett
efeb4ae758 8259271: gc/parallel/TestDynShrinkHeap.java still fails "assert(covered_region.contains(new_memregion)) failed: new region is not in covered_region"
Summary: Use load_acquire to order reads of top and end.
Reviewed-by: tschatzl, iwalulya, eosterlund
2021-04-28 10:46:29 +07:00
kbarrett
94f8e8c89f 8260704: ParallelGC: oldgen expansion needs release-store for _end
Summary: Move JDK-8257999 barrier to correct location.
Reviewed-by: tschatzl, sjohanss
2021-04-28 10:46:28 +07:00
alexsch
700429b2a7 8256264: Printed GlyphVector outline with low DPI has bad quality on Windows
Reviewed-by: serb
2021-04-28 10:46:27 +07:00
andrew
7526030be1 8259949: x86 32-bit build fails when -fcf-protection is passed in the compiler flags
Summary: Use -march=i686 instead of -march=i586 if -fcf-protection is passed to the build as CMOV is required
Reviewed-by: erikj
2021-04-28 10:46:26 +07:00
shade
c2a8422d7f 8259451: Zero: skip serviceability/sa tests, set vm.hasSA to false
Reviewed-by: sgehwolf, cjplummer
2021-04-28 10:46:26 +07:00
dfuchs
9e21248180 8257707: Fix incorrect format string in Http1HeaderParser
Reviewed-by: shade
Contributed-by: Andrey Turbanov <turbanoff@gmail.com>
2021-04-28 10:46:25 +07:00
shade
cd103bbab8 8256220: C1: x86_32 fails with -XX:UseSSE=1 after JDK-8210764 due to mishandled lir_neg
Reviewed-by: chagedorn
2021-04-28 10:46:24 +07:00
shade
44fc8d89d3 8261310: PPC64 Zero build fails with 'VMError::controlled_crash(int)::FunctionDescriptor functionDescriptor' has incomplete type and cannot be defined
Reviewed-by: stuefe, iklam
2021-04-28 10:46:23 +07:00
poonam
0a01980897 8211150: G1 Full GC not purging code root memory and hence causing memory leak
Reviewed-by: tschatzl, sjohanss
2021-04-28 10:46:21 +07:00
stuefe
7d74096fbc 8261334: NMT: tuning statistic shows incorrect hash distribution
Reviewed-by: zgu, shade
2021-04-28 10:46:20 +07:00
dholmes
2220a431e0 8260349: Cannot programmatically retrieve Metaspace max set via JAVA_TOOL_OPTIONS
Reviewed-by: shade, stuefe
2021-04-28 10:46:19 +07:00
egahlin
e74bee8349 8245283: JFR: Can't handle constant dynamic used by Jacoco agent
Reviewed-by: mgronlun
2021-04-28 10:46:19 +07:00
mgronlun
50483f3c81 8232905: JFR fails with assertion: assert(t->unflushed_size() == 0) failed: invariant
Reviewed-by: egahlin
2021-04-28 10:46:18 +07:00
dholmes
8387ea9380 8222518: Remove unnecessary caching of Parker object in java.lang.Thread
Reviewed-by: dcubed, rehn
2021-04-28 10:46:17 +07:00
shade
60d66beaf7 8260632: Build failures after JDK-8253353
Reviewed-by: stuefe, thartmann, kvn
2021-04-28 10:46:17 +07:00
kvn
56acccd6a6 8253353: Crash in C2: guarantee(n != NULL) failed: No Node
Reviewed-by: vlivanov, neliasso
Contributed-by: Fei Yang <fyang@openjdk.org>
2021-04-28 10:46:16 +07:00
sgehwolf
f6d3a8b591 8261089: [TESTBUG] native library of test TestCheckedReleaseCriticalArray.java fails to compile with gcc 4.x
Reviewed-by: sgehwolf
Contributed-by: Jayashree Huttanagoudar <jhuttana@redhat.com>
2021-04-28 10:46:15 +07:00
jjiang
db9b7f2787 8246709: sun/security/tools/jarsigner/TsacertOptionTest.java compilation failed after JDK-8244683
Reviewed-by: weijun
2021-04-28 10:46:14 +07:00
jjiang
25e7ea9c8b 8244683: A TSA server used by tests
Reviewed-by: weijun
2021-04-28 10:46:14 +07:00
stefank
d5523eb04d 8234508: VM_HeapWalkOperation::iterate_over_object reads non-strong fields with an on-strong load barrier
Reviewed-by: pliden, eosterlund
2021-04-28 10:46:13 +07:00
rkennke
b4d463e431 8259849: Shenandoah: Rename store-val to IU-barrier
Reviewed-by: zgu, shade
2021-04-28 10:46:12 +07:00
iignatyev
565ff2f838 8243618: compiler/rtm/cli tests can be run w/o WhiteBox
Reviewed-by: thartmann
2021-04-28 10:46:12 +07:00
shade
4d8238cd7b 8256290: javac/lambda/T8031967.java fails with StackOverflowError on x86_32
Reviewed-by: mcimadamore
2021-04-28 10:46:11 +07:00
zgu
a26821d6e2 8251359: Shenandoah: filter null oops before calling enqueue/SATB barrier
Reviewed-by: shade
2021-04-28 10:46:10 +07:00
coleenp
0f9df78ac9 8086003: Test fails on OSX with java.lang.RuntimeException 'Narrow klass base: 0x0000000000000000, Narrow klass shift: 3' missing
Summary: Make the test reserve 1G rather than 3G, so it is more reliable.
Reviewed-by: hseigel, stuefe
2021-04-28 10:46:10 +07:00
ysuenaga
abfc410137 8260338: Some fields in HaltNode is not cloned
Reviewed-by: xliu, neliasso, thartmann
2021-04-28 10:46:09 +07:00
jbhateja
56c8a4b903 8259773: Incorrect encoding of AVX-512 kmovq instruction
Reviewed-by: vlivanov
2021-04-28 10:46:08 +07:00
cjplummer
d3f7396d47 7107012: sun.jvm.hostspot.code.CompressedReadStream readDouble() conversion to long mishandled
Reviewed-by: sspitsyn, dcubed
2021-04-28 10:46:07 +07:00
zgu
78e8501e6f 8237392: Shenandoah: Remove unreliable assertion
Reviewed-by: shade
2021-04-28 10:46:07 +07:00
zgu
7c281c4e71 8237369: Shenandoah: failed vmTestbase/nsk/jvmti/AttachOnDemand/attach021/TestDescription.java test
Reviewed-by: rkennke
2021-04-28 10:46:06 +07:00
stefank
5aac53496f 8235324: Dying objects are published from users of CollectedHeap::object_iterate
Reviewed-by: pliden, eosterlund, sjohanss, rkennke
2021-04-28 10:46:05 +07:00
rkennke
be5409fd7e 8249787: Make TestGCLocker more resilient with concurrent GCs
Reviewed-by: eosterlund, tschatzl
2021-04-28 10:46:05 +07:00
shade
853c9a1c18 8259580: Shenandoah: uninitialized label in VerifyThreadGCState
Reviewed-by: zgu, rkennke
2021-04-28 10:46:04 +07:00
shade
d5bb0ebb7e 8259954: gc/shenandoah/mxbeans tests fail with -Xcomp
Reviewed-by: rkennke, zgu
2021-04-28 10:46:04 +07:00
rkennke
77dc0c8a0d 8249543: Force DirectBufferAllocTest to run with -ExplicitGCInvokesConcurrent
Reviewed-by: alanb
2021-04-28 10:46:03 +07:00
shade
0f4ce76379 8259619: C1: 3-arg StubAssembler::call_RT stack-use condition is incorrect
Reviewed-by: chagedorn, kvn
2021-04-28 10:46:03 +07:00
shade
7aae705e03 8251944: Add Shenandoah test config to compiler/gcbarriers/UnsafeIntrinsicsTest.java
Reviewed-by: rkennke, adityam
2021-04-28 10:46:02 +07:00
rkennke
257c2089b9 8255401: Shenandoah: Allow oldval and newval registers to overlap in cmpxchg_oop()
Reviewed-by: roland
2021-04-28 10:46:02 +07:00
sgehwolf
4673cad7a7 8260378: [TESTBUG] DcmdMBeanTestCheckJni.java reports false positive
Reviewed-by: dcubed, shade
2021-04-28 10:46:01 +07:00
sgehwolf
070af3dd26 8258836: JNI local refs exceed capacity getDiagnosticCommandInfo
Reviewed-by: cjplummer, shade
2021-04-28 10:46:00 +07:00
mdoerr
88a99dacaa 8260502: [s390] NativeMovRegMem::verify() fails because it's too strict
Reviewed-by: lucy, rrich
2021-04-28 10:46:00 +07:00
iignatyev
a74d89f57b 8260308: Update LogCompilation junit to 4.13.1
Reviewed-by: ecaspole, iignatyev
Contributed-by: Dan Lutker <lutkerd@amazon.com>
2021-04-28 10:45:59 +07:00
dholmes
daf57531ef 8221584: SIGSEGV in os::PlatformEvent::unpark() in JvmtiRawMonitor::raw_exit while posting method exit event
Reviewed-by: dholmes, dcubed
Contributed-by: robbin.ehn@oracle.com, stefan.karlsson@oracle.com
2021-04-28 10:45:59 +07:00
fyang
875447134f 8210413: AArch64: Optimize div/rem by constant in C1
Summary: Remove div-by-zero check for non-zero divisor and generate cheap instructions if divisor is power-of-2
Reviewed-by: aph
Contributed-by: pengfei.li@arm.com
2021-04-28 10:45:58 +07:00
mbalao
d0d25416fc 8258833: Cancel multi-part cipher operations in SunPKCS11 after failures
Reviewed-by: valeriep
2021-04-28 10:45:57 +07:00
dholmes
e36b430f9a 8258077: Using -Xcheck:jni can lead to a double-free after JDK-8193234
8259446: runtime/jni/checked/TestCheckedReleaseArrayElements.java fails with stderr not empty
Reviewed-by: dcubed, hseigel
2021-04-28 10:45:56 +07:00
yzheng
8a6d4acb9f 8257910: [JVMCI] Set exception_seen accordingly in the runtime.
Reviewed-by: kvn
2021-04-28 10:45:55 +07:00
jpai
71181df1ac 7146776: deadlock between URLStreamHandler.getHostAddress and file.Handler.openconnection
Reviewed-by: alanb, chegar
2021-04-28 10:45:55 +07:00
fyang
2f663089b0 8260029: aarch64: fix typo in verify_oop_array
Reviewed-by: shade, aph
Contributed-by: Fei Yang <fyang@openjdk.org>, Zhuxuan Ni <nizhuxuan@huawei.com>
2021-04-28 10:45:54 +07:00
weijun
a16fcfdf93 8218482: sun/security/krb5/auto/ReplayCachePrecise.java failed - no KrbException thrown
Reviewed-by: mullan
2021-04-28 10:45:54 +07:00
dmarkov
f22e1413f4 8258805: Japanese characters not entered by mouse click on Windows 10
Reviewed-by: aivanov
2021-04-28 10:45:53 +07:00
mbalao
521828f6d1 8259319: Illegal package access when SunPKCS11 requires SunJCE's classes
Reviewed-by: valeriep, mullan, goetz
2021-04-28 10:45:52 +07:00
kravikumar
7229b67238 8259048: (tz) Upgrade time-zone data to tzdata2020f
Reviewed-by: naoto, erikj
2021-04-28 10:45:51 +07:00
skodandarama
cb7f1ffe07 8258884: [TEST_BUG] Convert applet-based test open/test/jdk/javax/swing/JMenuItem/8031573/bug8031573.java to a regular java test
Reviewed-by: aivanov, serb
2021-04-28 10:45:51 +07:00
ysuenaga
7513798519 8223186: HotSpot compile warnings from GCC 9
Reviewed-by: dholmes, aeubanks, sgehwolf
2021-04-28 10:45:50 +07:00
vlivanov
8939e85fb2 8256061: RegisterSaver::save_live_registers() omits upper halves of ZMM0-15 registers
Reviewed-by: kvn
2021-04-28 10:45:49 +07:00
vlivanov
35cab2f35d 8256056: Deoptimization stub doesn't save vector registers on x86
Reviewed-by: redestad, kvn
2021-04-28 10:45:48 +07:00
dfuchs
bc95f47b02 8248865: Document JNDI/LDAP timeout properties
Summary: documentation added in the module-info of java.naming
Reviewed-by: chegar, aefimov, mullan
2021-04-28 10:45:47 +07:00
erikj
2706d5cb2b 8257633: Missing -mmacosx-version-min=X flag when linking libjvm
Reviewed-by: mikael
2021-04-28 10:45:47 +07:00
valeriep
80be66ba39 8244154: Update SunPKCS11 provider with PKCS11 v3.0 header files
Reviewed-by: weijun
2021-04-28 10:45:46 +07:00
weijun
d38ecb09d1 8258419: RSA cipher buffer cleanup
Reviewed-by: valeriep
2021-04-28 10:45:45 +07:00
serb
9adaec3e08 8258373: Update the text handling in the JPasswordField
Reviewed-by: kizune, prr, psadhukhan
2021-04-28 10:45:45 +07:00
jjiang
e1738f3d47 8180837: SunPKCS11-NSS tests failing with CKR_ATTRIBUTE_READ_ONLY and CKR_MECHANISM_PARAM_INVALID
Reviewed-by: xuelei, goetz
2021-04-28 10:45:44 +07:00
pconcannon
a07704dcde 8239355: (dc) Initial value of SO_SNDBUF should allow sending large datagrams (macOS)
Summary: 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
2021-04-28 10:45:43 +07:00
mbaesken
c5ec465255 8256258: some missing NULL checks or asserts after CodeCache::find_blob_unsafe
Reviewed-by: shade
2021-04-28 10:45:42 +07:00
mbaesken
910d41f4f8 8255681: print callstack in error case in runAWTLoopWithApp
Reviewed-by: clanger, serb
2021-04-28 10:45:42 +07:00
thartmann
f20aec9544 8259706: C2 compilation fails with assert(vtable_index == Method::invalid_vtable_index) failed: correct sentinel value
Reviewed-by: lucy, chagedorn
2021-04-28 10:45:40 +07:00
thartmann
d0ff9f7830 8259339: AllocateUninitializedArray C2 intrinsic fails with void.class input
Reviewed-by: kvn, chagedorn
2021-04-28 10:45:40 +07:00
prr
5be0724dda 8256888: Client manual test problem list update
Reviewed-by: serb
2021-04-28 10:45:39 +07:00
mullan
71bf0b2560 8257083: Security infra test failures caused by JDK-8202343
Reviewed-by: xuelei
2021-04-28 10:45:39 +07:00
mullan
40ec3a2df9 8256682: JDK-8202343 is incomplete
Reviewed-by: dfuchs
2021-04-28 10:45:38 +07:00
mullan
1a889b37c0 8202343: Disable TLS 1.0 and 1.1
Reviewed-by: xuelei, dfuchs, coffeys
2021-04-28 10:45:37 +07:00
kvn
3d4a4b22b9 8257561: Some code is not vectorized after 8251925 and 8250607
Reviewed-by: chagedorn, vlivanov, thartmann
2021-04-28 10:45:36 +07:00
redestad
579c394338 8241649: Optimize Character.toString
Reviewed-by: redestad, rriggs
Contributed-by: sergei.tsypanov@yandex.ru
2021-04-28 10:45:35 +07:00
chagedorn
2efe368304 8253644: C2: assert(skeleton_predicate_has_opaque(iff)) failed: unexpected
Reviewed-by: roland, kvn
2021-04-28 10:45:35 +07:00
roland
df62d74c8f 8257575: C2: "failed: only phis" assert failure in loop strip mining verification
Reviewed-by: thartmann, neliasso
2021-04-28 10:45:34 +07:00
shade
53b11621ca 8259231: Epsilon: improve performance under contention during virtual space expansion
Reviewed-by: shade
Contributed-by: Lehua Ding <lehuading@tencent.com>
2021-04-28 10:45:33 +07:00
jiefu
cdbc7c5ef6 8258534: Epsilon: clean up unused includes
Reviewed-by: shade, jiefu
Contributed-by: Lehua Ding <lehuading@tencent.com>
2021-04-28 10:45:33 +07:00
iklam
64d5b87d66 8257565: epsilonBarrierSet.hpp should not include barrierSetAssembler
Reviewed-by: kbarrett, stuefe, shade
2021-04-28 10:45:32 +07:00
shade
1272dd6232 8253220: Epsilon: clean up unused code/declarations
Reviewed-by: tschatzl
2021-04-28 10:45:31 +07:00
erikj
85a7a9efb2 8257547: Handle multiple prereqs on the same line in deps files
8256810: Incremental rebuild broken on Macosx
Reviewed-by: ihse, tbell
2021-04-28 10:45:31 +07:00
alitvinov
eef6aa8e58 8255880: UI of Swing components is not redrawn after their internal state changed
Reviewed-by: prr, serb
2021-04-28 10:45:30 +07:00
mullan
11f619cc8b 8242565: Policy initialization issues when the denyAfter constraint is enabled
Reviewed-by: weijun
2021-04-28 10:45:29 +07:00
aivanov
e11674028b 8256187: [TEST_BUG] Automate bug4275046.java test
Reviewed-by: aivanov, psadhukhan
Contributed-by: skodanda <70650887+skodanda@users.noreply.github.com>
2021-04-28 10:45:29 +07:00
rhalade
4895f13846 8259312: VerifyCACerts.java fails as soneraclass2ca cert will expire in 90 days
Reviewed-by: mullan
2021-04-28 10:45:28 +07:00
srukmannagar
88b60f34ec 8245512: CRC32 optimization using AVX512 instructions
Reviewed-by: kvn
2021-04-28 10:45:27 +07:00
asotona
7acf76118c 8244573: java.lang.ArrayIndexOutOfBoundsException thrown for malformed class file
Summary: Fixed java.lang.ArrayIndexOutOfBoundsException in com.sun.tools.classfile.Code_attribute.getInstructions() for methods with no instructions
Reviewed-by: vromero
2021-04-28 10:45:26 +07:00
shade
a6b6b17282 8256757: Incorrect MachCallRuntimeNode::ret_addr_offset() for CallLeafNoFP on x86_32
Reviewed-by: jiefu, kvn
2021-04-28 10:45:26 +07:00
roland
85ba8dd702 8253524: C2: Refactor code that clones predicates during loop unswitching
Reviewed-by: chagedorn, kvn, thartmann
2021-04-28 10:45:25 +07:00
chagedorn
38ddd2a2cd 8259049: Uninitialized variable after JDK-8257513
Reviewed-by: kvn, thartmann
2021-04-28 10:45:25 +07:00
chagedorn
89a087236a 8257513: C2: assert((constant_addr - _masm.code()->consts()->start()) == con.offset())
Reviewed-by: kvn, thartmann
2021-04-28 10:45:24 +07:00
eliu
224fa7de7d 8256387: Unexpected result if patching an entire instruction on AArch64
Reviewed-by: shade, aph
2021-04-28 10:45:23 +07:00
erikj
990802f817 8256751: Incremental rebuild with precompiled header fails when touching a header file
Reviewed-by: ihse
2021-04-28 10:45:22 +07:00
burban
6c186a9959 8256633: Fix product build on Windows+Arm64
Reviewed-by: shade
2021-04-28 10:45:22 +07:00
jbachorik
cf03ac79a4 8258396: SIGILL in jdk.jfr.internal.PlatformRecorder.rotateDisk()
Reviewed-by: mgronlun
2021-04-28 10:45:21 +07:00
chagedorn
9a78559379 8256807: C2: Not marking stores correctly as mismatched in string opts
Reviewed-by: vlivanov, roland, thartmann
2021-04-28 10:45:20 +07:00
thartmann
2a455e32ea 8257594: C2 compiled checkcast of non-null object triggers endless deoptimization/recompilation cycle
Reviewed-by: roland, vlivanov
2021-04-28 10:45:19 +07:00
simonis
4d1917144c 8255742: PrintInlining as compiler directive doesn't print virtual calls
Reviewed-by: thartmann, kvn
2021-04-28 10:45:18 +07:00
sjohanss
03d9a10203 8245026: PsAdaptiveSizePolicy::_old_gen_policy_is_ready is unused
Reviewed-by: sjohanss, pliden
Contributed-by: Joakim Nordstrom <joakim.nordstrom@oracle.com>
2021-04-28 10:45:17 +07:00
kbarrett
46bc0d7b50 8257999: Parallel GC crash in gc/parallel/TestDynShrinkHeap.java: new region is not in covered_region
Reviewed-by: sjohanss, tschatzl
2021-04-28 10:45:17 +07:00
aph
f388b74894 8256359: AArch64: runtime/ReservedStack/ReservedStackTestCompiler.java fails
Reviewed-by: shade, adinn
2021-04-28 10:45:15 +07:00
clanger
bd0c3e2eb0 8257997: sun/security/ssl/SSLSocketImpl/SSLSocketLeak.java again reports leaks after JDK-8257884
Reviewed-by: mbaesken
2021-04-28 10:45:14 +07:00
clanger
f002bd9ae6 8257884: Re-enable sun/security/ssl/SSLSocketImpl/SSLSocketLeak.java as automatic test
Reviewed-by: xuelei
2021-04-28 10:45:14 +07:00
xuelei
963e4ddaba 8257670: sun/security/ssl/SSLSocketImpl/SSLSocketLeak.java reports leaks
Reviewed-by: jnimeh
2021-04-28 10:45:13 +07:00
clanger
6e7767c92a 8256818: SSLSocket that is never bound or connected leaks socket resources
Reviewed-by: xuelei
2021-04-28 10:45:12 +07:00
rehn
f8f9621456 8234742: Improve handshake logging
Reviewed-by: dholmes, pchilanomate
2021-04-28 10:45:11 +07:00
mdoerr
6671330e27 8257798: [PPC64] undefined reference to Klass::vtable_start_offset()
Reviewed-by: goetz
2021-04-28 10:45:11 +07:00
mdoerr
ce5d7b61a2 8257423: [PPC64] Support -XX:-UseInlineCaches
Reviewed-by: stuefe, rrich
2021-04-28 10:45:10 +07:00
chagedorn
1710c8869f 8255058: C1: assert(is_virtual()) failed: type check
Reviewed-by: neliasso, kvn
2021-04-28 10:45:10 +07:00
pkumaraswamy
1ae8aba390 8255559: Leak File Descriptors Because of ResolverLocalFilesystem#engineResolveURI()
Reviewed-by: weijun
2021-04-28 10:45:09 +07:00
serb
371ceba9ab 8237495: Java MIDI fails with a dereferenced memory error when asked to send a raw 0xF7
Reviewed-by: kizune
2021-04-28 10:45:09 +07:00
aph
695abc55e5 8255544: Create a checked cast
Reviewed-by: adinn, iklam
2021-04-28 10:45:08 +07:00
roland
0b12caa57b 8254734: "dead loop detected" assert failure with patch from 8223051
Reviewed-by: chagedorn, kvn
2021-04-28 10:45:08 +07:00
serb
c9f8cd4421 8253681: closed java/awt/dnd/MouseEventAfterStartDragTest/MouseEventAfterStartDragTest.html test failed
Reviewed-by: shade
2021-04-28 10:45:07 +07:00
serb
44228aa152 8253274: The CycleDMImagetest brokes the system
Reviewed-by: prr
2021-04-28 10:45:06 +07:00
ngasson
1801b1f7d6 8256025: AArch64: MachCallRuntimeNode::ret_addr_offset() is incorrect for stub calls
Reviewed-by: aph
2021-04-28 10:45:06 +07:00
ngasson
3107c6adbc 8237483: AArch64 C1 OopMap inserted twice fatal error
Reviewed-by: aph
2021-04-28 10:45:05 +07:00
phedlin
e8e2ccc347 8248901: Signed immediate support in .../share/assembler.hpp is broken.
Reviewed-by: neliasso, kvn, thartmann
2021-04-28 10:45:04 +07:00
fyang
54a0e73af1 8243670: Unexpected test result caused by C2 MergeMemNode::Ideal
Reviewed-by: thartmann, roland
Contributed-by: zhouyong44@huawei.com
2021-04-28 10:45:03 +07:00
clanger
0979d4f31b 8242030: Wrong package declarations in jline classes after JDK-8241598
Reviewed-by: jlahoda
2021-04-28 10:45:02 +07:00
jlahoda
8be76d512c 8241598: Upgrade JLine to 3.14.0
Summary: Upgrading to JLine 3.14.0
Reviewed-by: psandoz, rfield
2021-04-28 10:45:01 +07:00
roland
10ffe89144 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
2021-04-28 10:44:59 +07:00
roland
b0e6a142bc 8253756: C2 CompilerThread0 crash in Node::add_req(Node*)
Reviewed-by: vlivanov, thartmann
2021-04-28 10:44:59 +07:00
aph
ee1b5a8eec 8248336: AArch64: C2: offset overflow in BoxLockNode::emit
Reviewed-by: adinn
2021-04-28 10:44:58 +07:00
phedlin
ede272d863 8247200: assert((unsigned)fpargs < 32)
Reviewed-by: aph, neliasso
2021-04-28 10:44:58 +07:00
yzhang
1cf05bcb67 8241911: AArch64: Fix a potential register clash issue in reduce_add2I
Reviewed-by: aph
2021-04-28 10:44:57 +07:00
sgehwolf
f32b2bccc3 8255908: ExceptionInInitializerError due to UncheckedIOException while initializing cgroupv1 subsystem
Reviewed-by: clanger
2021-04-28 10:44:57 +07:00
chagedorn
de8c05df2a 8251925: C2: RenaissanceStressTest fails with assert(!had_error): bad dominance
Reviewed-by: kvn, thartmann
2021-04-28 10:44:56 +07:00
kvn
a82f6ed257 8251992: VM crashed running TestComplexAddrExpr.java test with -XX:UseAVX=X
Reviewed-by: shade, redestad
2021-04-28 10:44:55 +07:00
kvn
75558a1f13 8249749: modify a primitive array through a stream and a for cycle causes jre crash
Summary: Check align_to_ref for NULL early and bailout SuperWord optimization.
Reviewed-by: vlivanov, thartmann
2021-04-28 10:44:55 +07:00
iveresov
0b23870353 8254104: MethodCounters must exist before nmethod is installed
Reviewed-by: dnsimon, kvn
2021-04-28 10:44:54 +07:00
ysuenaga
3d9761fe49 8205992: jhsdb cannot attach to Java processes running in Docker containers
Reviewed-by: cjplummer, jgeorge
2021-04-28 10:44:54 +07:00
alanb
b361e49c5d 8241770: Module xxxAnnotation() methods throw NCDFE if module-info.class found as resource in unnamed module
Reviewed-by: mchung
2021-04-28 10:44:53 +07:00
mchung
1b4521f76e 8225773: jdeps --check produces NPE if there are missing module dependences
Reviewed-by: alanb
2021-04-28 10:44:53 +07:00
mchung
578c46d142 8229396: jdeps ignores multi-release when generate-module-info used on command line
Reviewed-by: alanb
2021-04-28 10:44:52 +07:00
thartmann
8b938e54a8 8233164: C2 fails with assert(phase->C->get_alias_index(t) == phase->C->get_alias_index(t_adr)) failed: correct memory chain
Summary: Use _src_type/_dest_type as address types for the loads and stores.
Reviewed-by: vlivanov, roland
2021-04-28 10:44:51 +07:00
mchung
63a2f90347 8235351: Lookup::unreflect should bind with the original caller independent of Method's accessible flag
Reviewed-by: alanb
2021-04-28 10:44:50 +07:00
jjiang
0dbd0d0d9e 8245005: javax/net/ssl/compatibility/BasicConnectTest.java failed with No enum constant
Reviewed-by: xuelei
2021-04-28 10:44:50 +07:00
ysuenaga
5eea5ec4c4 8258471: "search codecache" clhsdb command does not work
Reviewed-by: cjplummer, sspitsyn
2021-04-28 10:44:49 +07:00
ehelin
04536355c3 8214230: Classes generated by SystemModulesPlugin.java are not reproducable
Reviewed-by: alanb, redestad, mchung, phh
2021-04-28 10:44:48 +07:00
rehn
0e2c5fff47 8234796: Refactor Handshake::execute to take a more complex type than ThreadClosure
Reviewed-by: dholmes, pliden, coleenp
2021-04-28 10:44:47 +07:00
hseigel
972b5a8bc1 8253476: TestUseContainerSupport.java fails on some Linux kernels w/o swap limit capabilities
Reviewed-by: bobv, coleenp
2021-04-28 10:44:47 +07:00
psadhukhan
70965577c5 8233910: java/awt/ColorClass/AlphaColorTest.java is failing intermittently in nightly lnux-x64 system
Reviewed-by: serb, prr
2021-04-28 10:44:46 +07:00
serb
d1b89469dd 8232225: Rework the fix for JDK-8071483
Reviewed-by: prr
2021-04-28 10:44:39 +07:00
dpochepk
7a1da1450c 8221995: AARCH64: problems with CAS instructions encoding
Reviewed-by: aph
2021-04-28 10:44:30 +07:00
mchung
1c855a3f78 8214223: tools/jdeps/listdeps/ListModuleDeps.java failed due to missing Lib2 file
Reviewed-by: lancea, alanb
2021-04-28 10:43:30 +07:00
mchung
d298ac8fcb 8213909: jdeps --print-module-deps should report missing dependences
8168869: jdeps: localized messages don't use proper line breaks
Reviewed-by: sundar
2021-04-28 10:43:28 +07:00
mchung
e0f416a338 8211051: jdeps usage of --dot-output doesn't provide valid output for modular jar
Reviewed-by: sundar
2021-04-28 10:43:27 +07:00
alanb
06cff86e4b 8211825: ModuleLayer.defineModulesWithXXX does not setup delegation when module reads automatic module
Reviewed-by: mchung
2021-04-28 10:43:26 +07:00
cushon
b89faecc44 8211057: Gensrc step CompileProperties generates unstable CompilerProperties output
Reviewed-by: mcimadamore, vromero
2021-04-28 10:43:25 +07:00
rehn
4fa4b49893 8244340: Handshake processing thread lacks yielding
Reviewed-by: pchilanomate, dholmes, dcubed
2021-04-28 10:43:24 +07:00
rehn
eda0c03828 8214180: Need better granularity for sleeping
Reviewed-by: eosterlund, dcubed, dholmes
2021-04-28 10:43:23 +07:00
jlaskey
d975512709 8255845: Memory leak in imageFile.cpp
Reviewed-by: jlaskey, sundar
Contributed-by: Evan Whelan <ewhelan@openjdk.org>
2021-04-28 10:43:23 +07:00
rriggs
98022ef10f 8240704: CheckHandles.java failed "AssertionError: Handle use increased by more than 10 percent."
Reviewed-by: dfuchs
2021-04-28 10:43:22 +07:00
rschmelter
f60744a073 8256489: Make gtest for long path names on Windows more resilient in the presence of virus scanners
Reviewed-by: dholmes, clanger
2021-04-28 10:43:21 +07:00
serb
1d260966a9 8244088: [Regression] Switch of Gnome theme ends up in deadlocked UI
Reviewed-by: serb
Contributed-by: Jayashree S Kumar <jayashreesk@in.ibm.com>
2021-04-28 10:43:21 +07:00
pbansal
030badde79 8225805: Java Access Bridge does not close the logger
Reviewed-by: dmarkov, jdv
2021-04-28 10:43:20 +07:00
adinn
8dcb78499d 8210578: AArch64: Invalid encoding for fmlsvs instruction
Summary: sub_op code for fmslvs should be 1 not 0
Reviewed-by: roland
2021-04-28 10:43:19 +07:00
fyang
a9996adfe0 8233912: aarch64: minor improvements of atomic operations
Reviewed-by: aph
2021-04-28 10:43:19 +07:00
zgu
f75bbf78b7 8229474: Shenandoah: Cleanup CM::update_roots()
Reviewed-by: rkennke
2021-04-28 10:43:18 +07:00
simonis
1f3e9d5788 8257436: [aarch64] Regressions in ArrayCopyUnalignedDst.testByte/testChar for 65-78 bytes when UseSIMDForMemoryOps is on
Reviewed-by: simonis
Contributed-by: Evgeny Astigeevich <eastig@amazon.com>
2021-04-28 10:43:18 +07:00
simonis
2c94df2c6e 8256488: [aarch64] Use ldpq/stpq instead of ld4/st4 for small copies in StubGenerator::copy_memory
Reviewed-by: simonis
Contributed-by: Evgeny Astigeevich <eastig@amazon.com>
2021-04-28 10:43:17 +07:00
kvn
e6b04f49a7 8255351: Add detection for Graviton 2 CPUs
Reviewed-by: simonis, kvn
Contributed-by: Evgeny Astigeevich <eastig@amazon.com>
2021-04-28 10:43:16 +07:00
stuefe
418536236c 8254748: Bad Copyright header format after JDK-8212218
Reviewed-by: shade, dholmes
2021-04-28 10:43:15 +07:00
stuefe
5bbd7111dc 8254799: runtime/ErrorHandling/TestHeapDumpOnOutOfMemoryError.java fails with release VMs
Reviewed-by: dholmes, dcubed, stuefe
2021-04-28 10:43:15 +07:00
stuefe
c96537700e 8212218: [TESTBUG] runtime/ErrorHandling/TestHeapDumpOnOutOfMemoryErrorInMetaspace.java timed out
Reviewed-by: iklam, lmesnik
2021-04-28 10:43:14 +07:00
stuefe
9d2cd63c99 8255734: VM should ignore SIGXFSZ on ppc64, s390 too
Reviewed-by: mdoerr, lucy
2021-04-28 10:43:13 +07:00
stuefe
5159453642 8251255: [linux] Add process-memory information to hs-err and VM.info
Reviewed-by: dholmes, mdoerr
2021-04-28 10:43:13 +07:00
stuefe
2ff1def28c 8250911: [windows] os::pd_map_memory() error detection broken
Reviewed-by: iklam, kbarrett
2021-04-28 10:43:12 +07:00
mbaesken
a102540dc8 8249588: libwindowsaccessbridge issues on 64bit Windows
Reviewed-by: arapte, prr
2021-04-28 10:43:12 +07:00
shade
76dbf04010 8240751: Shenandoah: fold ShenandoahTracer definition
Reviewed-by: adityam, zgu
2021-04-28 10:43:11 +07:00
shade
8b3a1a7fec 8256806: Shenandoah: optimize shenandoah/jni/TestPinnedGarbage.java test
Reviewed-by: rkennke
2021-04-28 10:43:10 +07:00
thartmann
67e137705d 8253404: C2: assert(C->live_nodes() <= C->max_node_limit()) failed: Live Node limit exceeded limit
Reviewed-by: neliasso, thartmann
Contributed-by: Roberto Castaneda Lozano <roberto.castaneda.lozano@oracle.com>
2021-04-28 10:43:10 +07:00
goetz
026be596a2 8257408: Bump update version for OpenJDK: jdk-11.0.11
Reviewed-by: mdoerr
2021-04-28 10:43:09 +07:00
joehw
363dde6d63 8261209: isStandalone property: remove dependency on pretty-print
Reviewed-by: lancea, naoto
2021-04-28 10:43:09 +07:00
joehw
3802d6d3de 8249867: xml declaration is not followed by a newline
Reviewed-by: rriggs, naoto, lancea, dfuchs
2021-04-28 10:43:08 +07:00
jiefu
481be2e7d2 8261585: Restore HandleArea used in Deoptimization::uncommon_trap
Reviewed-by: coleenp, jiefu
Contributed-by: Hui Shi <hshi@openjdk.org>
2021-04-28 10:43:08 +07:00
ngasson
fb951c5840 8240353: AArch64: missing support for -XX:+ExtendedDTraceProbes in C1
Reviewed-by: aph
2021-04-28 10:43:07 +07:00
Evan Whelan
e83d029605 8226810: Failed to launch JVM because of NullPointerException occured on System.props
Reviewed-by: alanb, naoto
(cherry picked from commit 49f70da99f)
2021-04-28 10:41:28 +07:00
Vitaly Provodin
4f45175c4e Revert "JBR-1694: java.lang.IllegalArgumentException: Null charset name"
This reverts commit 588cfef576.

reverted in order to apply original commit JDK-8226810: Failed to launch JVM because of NullPointerException
2021-04-28 10:40:03 +07:00
tschatzl
837ebbeebf 8209193: Fix aarch64-linux compilation after -Wreorder changes
Reviewed-by: shade, drwhite
2021-04-28 10:38:50 +07:00
phedlin
008d0b3165 8255479: [aarch64] assert(src->section_index_of(target) == CodeBuffer::SECT_NONE) failed: sanity
Reviewed-by: aph, neliasso
2021-04-28 10:38:47 +07:00
erikj
133c22376c 8256501: libTestMainKeyWindow fails to build with Xcode 12.2
Reviewed-by: ihse, serb
2021-04-28 10:38:47 +07:00
phedlin
9b93e0a26c 8247766: [aarch64] guarantee(val < (1U << nbits)) failed: Field too big for insn.
Reviewed-by: neliasso, aph
2021-04-28 10:38:47 +07:00
fyang
599e47907e 8222785: aarch64: add necessary masking for immediate shift counts
Reviewed-by: aph
2021-04-28 10:38:46 +07:00
Vitaly Provodin
66dc0156fb Revert "Revert "JBR-3214: CR: remove double negation""
This reverts commit db9032755a.

revert (db903275) was made by mistake
restore the commit "JBR-3214: CR: remove double negation" (03280552)
2021-04-28 07:07:32 +07:00
Robbin Ehn
f9e9170415 8218543: ThreadsList handling during error reporting can crash
Reviewed-by: dcubed, dholmes
(cherry picked from commit 9de8d240ff)
2021-04-23 19:20:24 +03:00
Gerard Ziemski
9caca35a6f 8245509: Crash handler itself crashes when reporting Unsafe.putInt(0) crash
Added ResourceMarker

Reviewed-by: coleenp, dholmes
(cherry picked from commit 5f67125ba6)
2021-04-23 18:44:42 +03:00
Artem Semenov
0c3b4bf9b7 JBR-3182: transfer of JBR to a11y protocol based on roles 2021-04-23 15:53:08 +03:00
Maxim Kartashev
216bf92575 JBR-1430: Windows: use UTF16 version of Win32 API to load DLL
Also correct library name encoding in exception messages.
2021-04-23 11:13:48 +03:00
Dmitry Batrak
4c6f3e4510 JBR-3353 Sibling popup window is shown below dialog on macOS 2021-04-22 15:06:10 +03:00
Dmitry Batrak
8d74e8e30b JBR-3339 Window requests focus on horizontal scroll (on Linux) 2021-04-21 21:05:22 +03:00
Nikita Gubarkov
f4a8e51d4a JBR-2910 Make java2d.font.subpixelResolution=4x1 by default 2021-04-21 19:45:25 +03:00
Vitaly Provodin
db9032755a Revert "JBR-3214: CR: remove double negation"
This reverts commit 258184b4
2021-04-21 11:12:42 +07:00
Prasanta Sadhukhan
db017fbd56 8196092: javax/swing/JComboBox/8032878/bug8032878.java fails
Reviewed-by: serb, pbansal

(cherry picked from commit 2ee795d9e4)
2021-04-21 05:55:22 +07:00
Vitaly Provodin
479ceadb35 JBR-3314 reduce number of iterations in regression test 2021-04-20 11:18:51 +07:00
Nikita Gubarkov
ad1d5061a9 JBR-2924 Do not try to create native italic font when we're going to make it fake italic 2021-04-20 01:04:44 +03:00
Vitaly Provodin
ff0a538ebd JBR-3314 unify shell script in regression test 2021-04-19 14:09:39 +07:00
Vitaly Provodin
c81adfed61 JBR-3314 add regression test 2021-04-15 15:57:11 +07:00
Dmitry Batrak
2ccf6b65a7 JBR-3307 First character is dropped when editing a table cell 2021-04-13 15:52:30 +03:00
Alexey Ushakov
a34eeb7735 JBR-3295 Fix error handling in Toolkit — do not ignore error and pass it as a cause
Wrapped original exception
2021-04-13 01:20:54 +03:00
Dmitry Batrak
ba6b9c085e JBR-3291 Input of characters using Alt+<NumPad> stopped working on Windows 2021-04-12 16:30:55 +03:00
Artem Semenov
04f1cf9b47 JBR-3241: MAke a11y element for combobox 2021-04-07 17:23:49 +03:00
Jim Laskey
80c6e03ec4 JBR-2607 backport the fix for crash in [libjimage] ImageStrings::find from OpenJDK
backported from OpenJDK - 8166727: javac crashed: [jimage.dll+0x1942] ImageStrings::find+0x28

Reviewed-by: iklam, alanb
2021-04-07 14:33:38 +07:00
Artem Semenov
9001a78701 JBR-3274: macOS: SIGILL at [libsystem_kernel] __kill -[PlatformAxNavigableText accessibilitySelectedTextAttribute] 2021-04-05 14:47:34 +03:00
Artem Semenov
703cab8d0d JBR-3240: MAke a11y element for TabGroup 2021-04-02 15:51:57 +03:00
Nikita Gubarkov
3c9cdc9251 JBR-3269 Disabled subpixel antialiasing for MacOS Big Sur and newer 2021-04-02 01:24:57 +03:00
Denis Konoplev
032805520d JBR-3214: CR: remove double negation 2021-04-01 16:54:47 +03:00
Dmitry Batrak
b37f7cfdb1 JBR-3255 Applying 'incline' transform might change character's advance 2021-03-30 18:37:21 +03:00
Denis Konoplev
3668d631ca JBR-3214: Reuse openjdk logic and add unicode keycodes 2021-03-30 16:12:29 +03:00
Denis Konoplev
7fa3ea24ac JBR-2509: Fix Escape emulation after Cmd . 2021-03-30 16:05:16 +03:00
Artem Semenov
8a521cbf64 JR-CR-776: JBR-3239: MAke a11y component for ScrollView 2021-03-30 13:43:22 +03:00
Denis Konoplev
fe9601aa6d JBR-3214: Initialize stack variables to fix dead key prefix and enable support on aarch64 2021-03-29 20:06:22 +03:00
Artem Semenov
65e8162d67 JR-CR-775: JBR-3188: NSAccessibilityNavigableStaticText 2021-03-26 14:35:34 +03:00
Artem Semenov
b99be427ce JR-CR-774: JBR-3218: IDEA crash with opening drop down menu and click whatever next. 2021-03-24 18:38:32 +03:00
Denis Konoplev
6b3b011d0b Revert "JBR-2509: Fix Escape emulation after Cmd ."
This reverts commit f096bd2b
2021-03-24 14:01:10 +03:00
Denis Konoplev
b53ef867e4 Revert "JBR-2509: Remove Fokin code."
This reverts commit 99a8e455
2021-03-24 14:01:10 +03:00
Denis Konoplev
215fd32738 Revert "JBR-2509: Turn on option on M1"
This reverts commit 542ee611
2021-03-24 14:01:10 +03:00
Artem Semenov
921603e356 JBR-3028: macOS: SIGILL at [libsystem_kernel] __kill -[PlatformAxList accessibilityParent]
JR-CR-773: JBR-3028: macOS: SIGILL at [libsystem_kernel] __kill -[PlatformAxList accessibilityParent]
2021-03-23 21:04:25 +03:00
Denis Konoplev
542ee611fc JBR-2509: Turn on option on M1 2021-03-23 19:38:58 +03:00
Denis Konoplev
99a8e45598 JBR-2509: Remove Fokin code.
Reuse openjdk logic and add unicode keycodes
2021-03-23 16:45:33 +03:00
Denis Konoplev
f096bd2b0d JBR-2509: Fix Escape emulation after Cmd . 2021-03-23 16:45:33 +03:00
Ivan Migalev
26dd87ab7c JBR-3227 Reload type of required native file dialogs each time a file dialog is requested 2021-03-23 16:00:08 +03:00
Alexey Ushakov
a6ea081ba2 JBR-3023 Gray idea frame after project open with ide.mac.transparentTitleBarAppearance.
Initiate move/resize event on first appearance of window having FULL_WINDOW_CONTENT property set
2021-03-23 00:44:30 +03:00
Artem Semenov
2e87610593 JR-CR-771: JBR-3187: NSAccessibilityStaticText 2021-03-22 20:26:07 +03:00
Artem Semenov
1c336fc03a JR-CR-768: Test for JBR-3187 and JBR-3188
Test for JBR-3187 and JBR-3188
2021-03-22 20:26:07 +03:00
Dmitry Batrak
8eafcaab24 JBR-3215 'deriveFont(float)' can return a different font (not just change the size) 2021-03-22 15:56:46 +03:00
Vitaly Provodin
c096f12994 updated JTreg exclude list 2021-03-22 06:40:23 +07:00
Alexey Ushakov
5cfc8b3629 JBR-3217 [bkp to JBR11] JDK-8262446 DragAndDrop hangs on Windows
backported JDK-8262446 without any conflicts
2021-03-20 00:26:45 +03:00
Denis Konoplev
65b3d32eca JBR-1718: Fix regression java/awt/MenuBar/DefaultMenuBarDispose.java 2021-03-19 21:30:41 +03:00
Alexey Ushakov
61de3c3065 JBR-3208 bkp from JDK17: 8255790: GTKL&F: Java 16 crashes on initialising GTKL&F on Manjaro Linux
Review: disable coretext for now, cleanup
2021-03-18 13:33:55 +03:00
Nikita Gubarkov
3b101f673b JBR-2910 Fixed font size computation (extended glyph cache for MacOS) 2021-03-18 03:59:42 +03:00
Phil Race
bd79159249 8249142: java/awt/FontClass/CreateFont/DeleteFont.sh is unstable
Reviewed-by: serb
2021-03-18 05:47:50 +07:00
Alexey Ushakov
ca4425cb21 JBR-3208 bkp from JDK17: 8255790: GTKL&F: Java 16 crashes on initialising GTKL&F on Manjaro Linux
Backported fix with some minor corrections
2021-03-17 20:50:22 +03:00
Alexey Ushakov
b386e44bf5 Revert "JBR-3066 jbr 11_10 (1145-88) crashes on IDEA startup, jbr 11_09 (1145-77) works fine"
This reverts commit e03c9829, 97c0e96a, 746affd7, e766df4b, 847705dc, f10e7aca, 9ee15508, 553e5ca6
2021-03-17 16:31:05 +03:00
Nikita Gubarkov
03995a0327 JBR-2910 Implemented extended glyph cache for MacOS 2021-03-17 01:25:08 +03:00
Vitaly Provodin
bd6a088aaf remove links to bintray - download zulu as BOOT JDK 2021-03-17 04:46:44 +07:00
Denis Konoplev
c2582f8e03 JBR-1718: Add backward compatibility 2021-03-15 16:00:58 +03:00
Denis Konoplev
c122e27068 JBR-1718: Fix MacOs handlers 2021-03-15 16:00:58 +03:00
Dmitry Batrak
52a2428c28 use GPL copyright header 2021-03-15 14:53:42 +03:00
Konstantin Bulenkov
87b60afdf7 Remove links to bintray 2021-03-14 13:03:11 +01:00
Vitaly Provodin
10069846d5 Follow-up to 8221852: reporting actual error when unprivileged symlink creation fails
fix the misprint
2021-03-12 15:47:01 +07:00
Roman Shevchenko
f06f9fe734 Follow-up to 8221852: reporting actual error when unprivileged symlink creation fails
... for a reason other that ERROR_INVALID_PARAMETER.
2021-03-11 12:16:11 +03:00
Vitaly Provodin
348e538d10 updated JTreg exclude list
JBR-3167 excluding java2d tests causing Xwayland crash
2021-03-09 06:37:34 +07:00
Dmitry Batrak
5b9ff9a29e JBR-2766 java/awt/Window/MinimumSizeDPIVariation/MinimumSizeDPIVariation.java: Wrong size 2021-03-02 19:42:44 +03:00
Dmitry Batrak
62b04983f2 JBR-3157 Maximized window with custom decorations isn't focused on showing 2021-03-02 19:00:15 +03:00
Vitaly Provodin
c40b9c8b9e JBR-1505 add jdk.jcmd module into JBR 2021-03-02 05:43:59 +07:00
Artem Semenov
46dfaeecc9 JR-CR-760:
JBR-3144 Extend test for list with list nested in Heavy Weight Window popup
2021-02-24 14:25:30 +03:00
Alexey Ushakov
e03c9829e3 JBR-3066 jbr 11_10 (1145-88) crashes on IDEA startup, jbr 11_09 (1145-77) works fine
Optimised failure handling
2021-02-20 06:57:05 -08:00
Alexey Ushakov
97c0e96a5a JBR-3066 jbr 11_10 (1145-88) crashes on IDEA startup, jbr 11_09 (1145-77) works fine
Optimised failure handling
2021-02-20 02:57:25 -08:00
Vitaly Provodin
2b559a30df JBR-3138 fix the issues with signing JNF (follow up) 2021-02-20 16:39:00 +07:00
Sean Coffey
73b4a7e79e JBR-3139 backport the fix for 8253368: TLS connection always receives close_notify exception
Reviewed-by: xuelei
(cherry picked from commit 780ac896b1)
2021-02-20 16:38:20 +07:00
Anton Tarasov
7d8aeaf7de revert: JBR-1434 "New file dialog" popup remains above all windows on switching application
java.awt.peer.WindowPeer.isLightweightDialog() method does not exist.
2021-02-20 11:23:59 +03:00
Vitaly Provodin
94390c3f1e JBR-3138 fix the issues with signing JNF 2021-02-20 14:23:45 +07:00
Artem Bochkarev
78d509ac0f JBR-3131: support custom view for system menu items 2021-02-19 19:46:11 +03:00
Nikita Gubarkov
0b6238990b JBR-2910 Implemented extended glyph cache for Linux 2021-02-17 15:13:06 +03:00
Nikita Gubarkov
c0e4afcddd JBR-2910 Implemented extended glyph cache for Windows 2021-02-17 15:12:40 +03:00
Artem Bochkarev
be6a2c4f0c JBR-3127: add possibility to load NSJavaVirtualMachine
JavaVM framework is deprecated but this class is still checked by AppKit, see https://youtrack.jetbrains.com/issue/JBR-3127#focus=Comments-27-4684465.0-0
2021-02-17 15:00:21 +03:00
Artem Bochkarev
0b8ff1a7e6 JBR-3127: set NSWindowAllowsImplicitFullScreen=NO
fixed JBR-3127 Modal dialogs invoked from modal or floating dialogs are opened in full screen
2021-02-17 15:00:20 +03:00
Dmitry Batrak
63134e091b JBR-3119 Application's panel in KDE taskbar blinks when popup window is shown
this re-fixes JBR-2934 in a different way
2021-02-17 10:43:46 +03:00
Dmitry Batrak
50ab4690de JBR-1752 Floating windows overlap modal dialogs
fix for file dialog case
2021-02-11 12:52:14 +03:00
Ivan Migalev
c790bf3ebc JBR-3068: pass default button localization if not overridden 2021-02-11 11:16:56 +03:00
Alexey Ushakov
746affd753 JBR-3066 jbr 11_10 (1145-88) crashes on IDEA startup, jbr 11_09 (1145-77) works fine
Corrected symbol name
2021-02-10 08:44:59 -08:00
Alexey Ushakov
e766df4bcc JBR-3066 jbr 11_10 (1145-88) crashes on IDEA startup, jbr 11_09 (1145-77) works fine
Added missing initializations
2021-02-10 06:17:56 -08:00
Alexey Ushakov
847705dc96 JBR-3066 jbr 11_10 (1145-88) crashes on IDEA startup, jbr 11_09 (1145-77) works fine
One more fix of compilation (on windows)
2021-02-10 09:53:00 +03:00
Alexey Ushakov
f10e7aca70 JBR-3066 jbr 11_10 (1145-88) crashes on IDEA startup, jbr 11_09 (1145-77) works fine
Fixed compile problem
2021-02-09 23:18:52 +03:00
Alexey Ushakov
9ee1550815 JBR-3066 jbr 11_10 (1145-88) crashes on IDEA startup, jbr 11_09 (1145-77) works fine
Added manual loading of harfbuzz library. Use pointers to functions to access it's API.
2021-02-09 22:31:18 +03:00
Konstantin Bulenkov
1de6eed0e1 compilation fix 2021-02-09 12:02:41 +01:00
Konstantin Bulenkov
78510922c5 Update JetBrains Mono stylistic set 2021-02-08 19:43:05 +01:00
Vitaly Provodin
41de3a4cb1 JBR-3064 Disable AllowEnhancedClassRedefinition in flight recorder 2021-02-08 16:35:14 +07:00
Dmitry Batrak
304eb7f919 make AwtListGarbageCollectionTest pass reliably 2021-02-08 12:22:09 +03:00
Ivan Migalev
442bb7eecc JBR-3068 Update path selector behavior when sun.awt.windows.useCommonItemDialog is enabled 2021-02-08 12:00:28 +03:00
Dmitry Batrak
09941119e1 JBR-3017 Focus issue in presence of third-party accessibility tool
Guard against possible deadlocks, if UI-related methods are invoked not on EDT.
Sample deadlock scenario:
* Application thread attempts to show the window, this involves calling CWrapper.NSWindow.makeKeyAndOrderFront under AWT tree lock, which blocks till 'makeKeyAndOrderFront' completes on AppKit thread
* AppKit thread, while executing 'makeKeyAndOrderFront' performs 'back-call' to CAccessibility.getFocusOwner, which waits for execution on EDT
* EDT performs some activity requiring AWT tree lock (e.g. processing of PaintEvent)
2021-02-05 19:46:17 +03:00
Dmitry Batrak
e3aaff5db4 JBR-3017 Focus issue in presence of third-party accessibility tool
use the new invocation approach for 'makeKeyAndOrderFront' as well, as it can also cause synchronous back-calls to accessibility subsystem, and change the global call order unexpectedly

this commit fixes TypeaheadSetVisibleTest and TypeaheadToFrontTest, when they are run with AltTab active
2021-02-05 19:46:16 +03:00
Dmitry Batrak
99242748ee JBR-3072 Deadlock on nested dialog hiding 2021-02-04 14:14:01 +03:00
Vitaly Provodin
c1f4b0ca72 JBR-2124 remove JavaFX from JBR 2021-02-04 07:08:36 +07:00
Alexey Ushakov
553e5ca631 JBR-3066 jbr 11_10 (1145-88) crashes on IDEA startup, jbr 11_09 (1145-77) works fine
Renamed bundled harfbuzz with a new name (jharfbuzz) to use only inside libfontmanager.
2021-02-03 09:02:49 -08:00
Dmitry Batrak
aee4b48d20 JBR-3071 Remove naming workaround for Fira Code 2021-02-03 13:08:03 +03:00
Mikhail Grishchenko
bef85f8cea updated JTreg exclude list 2021-02-03 16:20:09 +07:00
Dmitry Batrak
0161050077 JBR-1752 Floating windows overlap modal dialogs 2021-02-01 17:00:13 +03:00
Denis Konoplev
a7c8b0b535 JBR-1995: Last character issue with korean
Fix for JTextComponent
2021-01-29 18:18:28 +03:00
Alexey Ushakov
985a1c8426 JBR-3023 Gray idea frame after project open with ide.mac.transparentTitleBarAppearance.
Set styleBits default values for WINDOW_TRANSPARENT_TITLEBAR_APPEARANCE property
2021-01-28 22:08:25 +03:00
Konstantin Bulenkov
2106b67380 Merge pull request #51 from JetBrains/mono/2.225
JetBrains Mono release 2.225
2021-01-27 14:51:07 +01:00
Prasanta Sadhukhan
58493967cd 8257242: [macOS] Java app crashes while switching input methods
Reviewed-by: serb
(cherry picked from commit 706d936ebe)
2021-01-27 19:01:43 +07:00
Prasanta Sadhukhan
2c82032f4c 8248532: Every time I change keyboard language at my MacBook, Java crashes
Reviewed-by: serb, prr
(cherry picked from commit 532775249f)
2021-01-27 19:01:32 +07:00
Vitaly Provodin
c571f300c6 Revert "JBR-2340 Frequent IDEA 2020.2 crashes on macOS"
This reverts commit 08f9ba66
2021-01-27 19:01:15 +07:00
Vitaly Provodin
9d8b89962f merge DCEVM patches with update_11.0.10 2021-01-27 19:00:48 +07:00
Vitaly Provodin
af014f4c2d Merge branch 'update_11.0.10' 2021-01-27 19:00:25 +07:00
MonoBot
b1c1b24890 Fonts release 2.225 2021-01-27 14:23:44 +03:00
Dmitry Batrak
0c2b6e1c04 JBR-3054 Focus is not returned to frame after closing of second-level popup on Windows 2021-01-27 11:19:58 +03:00
Vitaly Provodin
44d8b28b0b JBR-3045 add pressing ESC to close the dialog after test completion 2021-01-27 05:04:04 +07:00
Vitaly Provodin
bd43a4298c JBR-410 add golden emoji for macOS 10.14 x64 2021-01-27 04:57:28 +07:00
Dmitry Batrak
0ed7deabaa JBR-2702 Tooltips display through other applications on hover
make code compile with older SDK
2021-01-26 13:55:11 +03:00
Alexey Ushakov
56629e4c90 JBR-2996 M1 warnings: CoreText note: Client requested name “.SFCompact-Black”, it will get Times-Roman rather than the intended font
Cached system fonts family names
2021-01-26 10:45:44 +03:00
Dmitry Batrak
11732c2469 JBR-2702 Tooltips display through other applications on hover 2021-01-25 19:17:57 +03:00
Elena Sayapina
c356f37efc updated JTreg exclude list 2021-01-22 19:41:00 +07:00
Alexey Ushakov
d987707b0d JBR-3023 Gray idea frame after project open with ide.mac.transparentTitleBarAppearance.
Fixed test/jdk/java/awt/Window/setLocRelativeTo/SetLocationRelativeToTest.java test failure by aligning code with OpenJDK
2021-01-22 11:11:07 +03:00
andrew
29a0e37cb2 Added tag jdk-11.0.10-ga for changeset 8b3498547395 2021-01-21 22:02:37 -05:00
bpb
9397a10682 8247619: Improve Direct Buffering of Characters
Reviewed-by: alanb, ahgross, rhalade, psandoz
2021-01-21 22:01:36 -05:00
alitvinov
5f0af9b0f7 8249183: JVM crash in "AwtFrame::WmSize" method Reviewed-by: serb, aivanov 2021-01-21 22:01:36 -05:00
coleenp
2af72dec9c 8235829: graal crashes with Zombie.java test
Summary: Start ServiceThread before compiler threads, and run nmethod barriers for zgc before adding to the service thread queues, or posting events from the java thread.
Reviewed-by: pliden, dholmes, rehn
2021-01-21 22:01:35 -05:00
sspitsyn
73802596bf 8236124: Minimal VM slowdebug build failed after JDK-8212160
Summary: Use macro JVMTI_ONLY to avoid slowdebug build fail
Reviewed-by: coleenp, cjplummer, dholmes
2021-01-21 22:01:35 -05:00
jiefu
10a677632d 8235456: Minimal VM is broken after JDK-8212160
Reviewed-by: dholmes
2021-01-21 22:01:34 -05:00
coleenp
7dc0618259 8212160: JVMTI agent crashes with "assert(_value != 0LL) failed: resolving NULL _value"
Summary: Add local deferred event list to thread to post events outside CodeCache_lock.
Reviewed-by: eosterlund, dholmes, sspitsyn
2021-01-21 22:01:34 -05:00
coleenp
3f4e205ed7 8173658: JvmtiExport::post_class_unload() is broken for non-JavaThread initiators
Summary: call extension ClassUnload event as a deferred event from the ServiceThread and remove unsafe arguments
Reviewed-by: sspitsyn, dholmes
2021-01-21 22:01:33 -05:00
sgehwolf
a9320f9a7c 8256557: libharfbuzz fails to link on gcc 4.4.x due to -Wl,-z,defs
Reviewed-by: phh
2021-01-21 22:01:33 -05:00
prr
f2157fc2a3 8244621: [macos10.15] Garbled FX printing plus CoreText warnings on Catalina when building with Xcode 11
Reviewed-by: kcr, psadhukhan
2021-01-21 22:01:33 -05:00
igerasim
10a904bd65 8234147: Avoid looking up standard charsets in core libraries
Reviewed-by: alanb
2021-01-21 22:01:32 -05:00
ysuenaga
478314786d 8250598: Hyper-V is detected in spite of running on host OS
Reviewed-by: mbaesken, mdoerr, dholmes
2021-01-21 22:01:32 -05:00
prr
87b4f75c81 8250894: Provide a configure option to build and run against the platform libharfbuzz
Reviewed-by: erikj
2021-01-21 22:01:31 -05:00
shade
3cb8a371cf 8250605: Linux x86_32 builds fail after JDK-8249821
Reviewed-by: erikj, prr
2021-01-21 22:01:31 -05:00
prr
2be0650a3c 8249821: Separate libharfbuzz from libfontmanager
Reviewed-by: erikj
2021-01-21 22:01:30 -05:00
chegar
38f59e7a39 8217976: test/jdk/java/net/httpclient/websocket/WebSocketProxyTest.java fails intermittently
Reviewed-by: dfuchs
2021-01-21 22:01:30 -05:00
goetz
9cae35c8fe 8252415: Bump update version for OpenJDK: jdk-11.0.10
Reviewed-by: shade
2021-01-21 22:01:29 -05:00
rhalade
d56539e2ef 8225072: Add LuxTrust certificate that is expiring in March 2021 to list of allowed but expired certs
8258630: Add expiry exception for QuoVadis root certificate
Reviewed-by: ascarpino
2021-01-21 21:57:52 -05:00
clanger
894c226ce0 8255050: Add pkcs11/KeyStore/ClientAuth.sh to Problem list
Reviewed-by: mbaesken
2021-01-21 21:57:51 -05:00
mseledtsov
8ad2c4c130 8215583: Exclude runtime/handshake/HandshakeWalkSuspendExitTest.java
Summary: Added test to problem list
Reviewed-by: iignatyev
2021-01-21 21:57:51 -05:00
zgu
513fce6d1f 8257701: Shenandoah: objArrayKlass metadata is not marked with chunked arrays
Reviewed-by: shade
2021-01-21 21:57:50 -05:00
zgu
6ce327bba0 8257641: Shenandoah: Query is_at_shenandoah_safepoint() from control thread should return false
Reviewed-by: shade
2021-01-21 21:57:49 -05:00
mbalao
a5182b1bc8 8257545: SunJSSE FIPS regression in key exchange after JDK-8171279 11u backport
Reviewed-by: aph, goetz
2021-01-21 21:57:49 -05:00
stuefe
81e42d8949 8251257: NMT: jcmd VM.native_memory scale=1 crashes target VM
Reviewed-by: zgu, dholmes
2021-01-21 21:57:48 -05:00
stuefe
534de1d9d3 8249748: gtest silently ignores bad jvm arguments
Reviewed-by: shade, dholmes, iignatyev
2021-01-21 21:57:48 -05:00
andrew
d26d470f41 8222527: HttpClient doesn't send HOST header when tunelling HTTP/1.1 through http proxy
Summary: HttpClient no longer filters out system host header when sending tunelling CONNECT request to proxy
Reviewed-by: dfuchs
2021-01-21 21:57:47 -05:00
shade
6ecddfb581 8256736: Zero: GTest tests fail with "unsuppported vm variant"
Reviewed-by: dholmes
2021-01-21 21:57:46 -05:00
sspitsyn
382093e49b 8222072: JVMTI GenerateEvents() sends CompiledMethodLoad events to wrong jvmtiEnv
Summary: Fix GenerateEvents() to send CompiledMethodLoad events to requesting agent only
Reviewed-by: jcbeyler, amenkov
2021-01-21 21:57:43 -05:00
stuefe
de1b27c174 8227275: Within native OOM error handling, assertions may hang the process
Reviewed-by: mdoerr, coleenp
2021-01-21 21:57:42 -05:00
shade
d0445b53b8 8257181: s390x builds are very noisy with gc-sections messages
Reviewed-by: mdoerr, lucy
2021-01-21 21:57:42 -05:00
stuefe
7c49be5fbf 8230910: libsspi_bridge does not build on Windows 32bit
Reviewed-by: alanb, weijun
2021-01-21 21:57:41 -05:00
psadhukhan
14bd84f9b6 8234393: [macos] printing ignores printer tray
Reviewed-by: psadhukhan, prr
Contributed-by: Vipin Menon <vipinmv1@in.ibm.com>
2021-01-21 21:57:40 -05:00
tonyp
4775d5b564 8239497: SEGV in EdgeUtils::field_name_symbol(Edge const&)
Reviewed-by: adinn
Contributed-by: Markus Gronlund <markus.gronlund@oracle.com>, Jon Spurling <jspurling@twitter.com>
2021-01-21 21:57:40 -05:00
jlahoda
24d1124689 8218287: jshell tool: input behavior unstable after 12-ea+24 on Windows
Summary: Ensure correct wrapping of input on Windows.
Reviewed-by: rfield
2021-01-21 21:57:39 -05:00
shade
dc80bc7a42 8256618: Zero: Linux x86_32 build still fails
Reviewed-by: aph, dholmes, stuefe
2021-01-21 21:57:39 -05:00
ebaron
913c60c2e3 8256809: Annotation processing causes NPE during flow analysis
Reviewed-by: jlahoda
2021-01-21 21:57:38 -05:00
serb
20e6a76d22 8253269: The CheckCommonColors test should provide more info on failure
Reviewed-by: prr
2021-01-21 21:57:37 -05:00
weijun
67fa05a1d2 8225687: Newly added sspi.cpp in JDK-6722928 still contains some small errors
Reviewed-by: xuelei
2021-01-21 21:57:36 -05:00
dcherepanov
b101e233a0 8251365: Build failure on AIX after 8250636
Reviewed-by: dholmes
2021-01-21 21:57:35 -05:00
dcherepanov
dcecd60677 8250636: iso8601_time returns incorrect offset part on MacOS
Reviewed-by: dholmes, gziemski
2021-01-21 21:57:35 -05:00
weijun
085a4aadcb 6722928: Support SSPI as a native GSS-API provider
Reviewed-by: erikj, nwilliams, valeriep, sgehwolf
2021-01-21 21:57:34 -05:00
roland
f25553eb0b 8229495: SIGILL in C2 generated OSR compilation
Reviewed-by: kvn, chagedorn
2021-01-21 21:57:33 -05:00
sgehwolf
7debe89a72 8254854: [cgroups v1] Metric limits not properly detected on some join controller combinations
Reviewed-by: phh
2021-01-21 21:57:33 -05:00
thartmann
7ac0ac677b 8214242: compiler/arguments/TestScavengeRootsInCode.java fails because of missing UnlockDiagnosticVMOptions
Summary: Added missing UnlockDiagnosticVMOptions.
Reviewed-by: tschatzl
2021-01-21 21:57:31 -05:00
thartmann
c00a394007 8214025: assert(t->singleton()) failed: must be a constant when ScavengeRootsInCode < 2
Summary: Added missing null checks and checks for pending exception.
Reviewed-by: kvn
2021-01-21 21:57:31 -05:00
serb
98ec465085 8255937: Better cleanup for test/jdk/javax/imageio/stream/StreamFlush.java
Reviewed-by: jdv
2021-01-21 21:57:30 -05:00
kravikumar
6dd3a81c0b 8255226: (tz) Upgrade time-zone data to tzdata2020d
Reviewed-by: naoto
2021-01-21 21:57:29 -05:00
bulasevich
f8d939adaf 8254016: Test8237524 fails with -XX:-CompactStrings option
Reviewed-by: shade
2021-01-21 21:57:28 -05:00
enikitin
2fbb8399e2 8244282: test/hotspot/jtreg/compiler/intrinsics/Test8237524.java fails with --illegal-access=deny
Summary: Add modules to test/hotspot/jtreg/compiler/intrinsics/Test8237524
Reviewed-by: iignatyev
2021-01-21 21:57:28 -05:00
clanger
6f149720d0 8256452: Integrate missing part of JDK-8232370 to 11u
Reviewed-by: mbaesken, sgehwolf
2021-01-21 21:57:27 -05:00
clanger
f777d886f5 8256427: Test com/sun/jndi/dns/ConfigTests/PortUnreachable.java does not work on AIX
Reviewed-by: jiefu, mbaesken
2021-01-21 21:57:26 -05:00
vtewari
ce51e61fb4 8238579: HttpsURLConnection drops the timeout and hangs forever in read
Summary: HttpsURLConnection drops the timeout and hangs forever in read
Reviewed-by: dfuchs
2021-01-21 21:57:26 -05:00
shade
79f7442e0f 8255760: Shenandoah: match constants style in ShenandoahMarkTask fallback
Reviewed-by: zgu, rkennke
2021-01-21 21:57:25 -05:00
shade
10e00dd573 8255457: Shenandoah: cleanup ShenandoahMarkTask
Reviewed-by: rkennke
2021-01-21 21:57:24 -05:00
sgehwolf
797483db7f 8256483: [TESTBUG] serviceability/jvmti/GetClassMethods/libOverpassMethods.c fails to compile on gcc 4.4.x
Reviewed-by: shade, goetz
2021-01-21 21:57:24 -05:00
shade
9263119a35 8214787: Zero builds fail with "undefined JavaThread::thread_state()"
Reviewed-by: stuefe, zgu
2021-01-21 21:57:23 -05:00
vromero
d121ff949d 8211450: UndetVar::dup is not copying the kind field to the duplicated instance
Reviewed-by: mcimadamore
Contributed-by: filipe.roque@premium-minds.com
2021-01-21 21:57:23 -05:00
coffeys
a06c43399c 8250968: Symlinks attributes not preserved when using jarsigner on zip files
Reviewed-by: lancea, weijun, hchao
2021-01-21 21:57:22 -05:00
coffeys
6acc706e26 8218021: Have jarsigner preserve posix permission attributes
Reviewed-by: weijun, lancea, alanb
2021-01-21 21:57:21 -05:00
pconcannon
94d5941cc1 8243488: Add tests for set/get SendBufferSize and getReceiveBufferSize in DatagramSocket
Summary: Tests added for methods: setSendBufferSize(int), getSendBufferSize(), and getReceieveBufferSize() to increase test coverage in the DatagramSocket class
Reviewed-by: alanb, chegar, dfuchs
2021-01-21 21:57:21 -05:00
thartmann
e05c7d817c 8251535: Partial peeling at unsigned test adds incorrect loop exit check
Reviewed-by: chagedorn, neliasso, kvn
2021-01-21 21:57:20 -05:00
kvn
7f8de5ab98 8255466: C2 crashes at ciObject::get_oop() const+0x0
Reviewed-by: vlivanov
2021-01-21 21:57:19 -05:00
jiefu
5921410376 8250825: C2 crashes with assert(field != __null) failed: missing field
Reviewed-by: kvn, thartmann
2021-01-21 21:57:19 -05:00
kravikumar
c0452cc7c5 8254982: (tz) Upgrade time-zone data to tzdata2020c
Reviewed-by: erikj, naoto
2021-01-21 21:57:18 -05:00
shade
e8f3d2efca 8253219: Epsilon: clean up unnecessary includes
Reviewed-by: tschatzl, kbarrett
2021-01-21 21:57:18 -05:00
ihse
e6d2594fea 8245168: jlink should not be treated as a "small" tool
Reviewed-by: erikj
2021-01-21 21:57:17 -05:00
shade
24e40f463e 8255550: x86: Assembler::cmpq(Address dst, Register src) encoding is incorrect
Reviewed-by: kvn, eosterlund
2021-01-21 21:57:16 -05:00
xliu
66c9c759a3 8245051: c1 is broken if it is compiled by gcc without -fno-lifetime-dse
Summary: Initialize BlockBegin block id in constructor rather than operator new
Reviewed-by: kbarrett, thartmann
2021-01-21 21:57:16 -05:00
prr
4f90bf87af 8255365: Problem list failing client manual tests
Reviewed-by: kizune, serb
2021-01-21 21:57:15 -05:00
jiefu
86961069ef 8235218: Minimal VM is broken after JDK-8173361
Reviewed-by: dholmes
2021-01-21 21:57:15 -05:00
coleenp
32d1f9a117 8173361: various crashes in JvmtiExport::post_compiled_method_load
Summary: Don't post information that uses metadata from unloaded nmethods
Reviewed-by: eosterlund, dholmes, sspitsyn
2021-01-21 21:57:14 -05:00
redestad
2da1b23e0a 8234863: Increase default value of MaxInlineLevel
Reviewed-by: kvn, neliasso
2021-01-21 21:57:13 -05:00
serb
10fc5ddab4 8252679: Two windows specific FileDIalog tests may fail on some Windows_Server_2016_Standard
Reviewed-by: prr
2021-01-21 21:57:13 -05:00
shade
6589997f4f 8255065: Zero: accessor_entry misses the IRIW case
Reviewed-by: mdoerr
2021-01-21 21:57:12 -05:00
shade
b335abd5ba 8197981: Missing return statement in __sync_val_compare_and_swap_8
Reviewed-by: andrew, dholmes
2021-01-21 21:57:11 -05:00
shade
22a7c3d601 8254144: Non-x86 Zero builds fail with return-type warning in os_linux_zero.cpp
Reviewed-by: zgu
2021-01-21 21:57:11 -05:00
jjiang
dfaaa4bad2 8243549: sun/security/ssl/CipherSuite/NamedGroupsWithCipherSuite.java failed with Unsupported signature algorithm: DSA
Reviewed-by: xuelei
2021-01-21 21:57:10 -05:00
jjiang
6cf1b086b9 8224650: Add tests to support X25519 and X448 in TLS
Reviewed-by: xuelei
2021-01-21 21:57:10 -05:00
wetmore
3d7f44bda6 8171279: Support X25519 and X448 in TLS
Reviewed-by: xuelei, mullan
2021-01-21 21:57:09 -05:00
phh
4c1cb2b327 8255269: Unsigned overflow in g1Policy.cpp
Reviewed-by: yan
Contributed-by: William Kemper <kemperw@amazon.com>
2021-01-21 21:57:08 -05:00
hseigel
94e531fafc 8250984: Memory Docker tests fail on some Linux kernels w/o cgroupv1 swap limit capabilities
Reviewed-by: bobv, sgehwolf
2021-01-21 21:57:08 -05:00
clanger
34482f2d45 8255603: Memory/Performance regression after JDK-8210985
Reviewed-by: simonis, xuelei, aph
2021-01-21 21:57:07 -05:00
mdoerr
ba756da969 8254190: [s390] interpreter misses exception check after calling monitorenter
Reviewed-by: shade, rrich
2021-01-21 21:57:06 -05:00
serb
dded997fe2 8198334: java/awt/FileDialog/8003399/bug8003399.java fails in headless mode
Reviewed-by: pbansal, psadhukhan
2021-01-21 21:57:06 -05:00
chagedorn
e4cba90584 8249607: C2: assert(!had_error) failed: bad dominance
Summary: Fix prevented igvn optimization in SplitIf for LoadNodes which resulted in dominanance errors with loop strip mining.
Reviewed-by: roland, kvn
2021-01-21 21:57:05 -05:00
aefimov
1ad4bb39b8 8250772: Test com/sun/jndi/ldap/NamingExceptionMessageTest.java fails intermittently with javax.naming.ServiceUnavailableException
Reviewed-by: dfuchs
2021-01-21 21:57:04 -05:00
mgronlun
d9e062c03e 8252090: JFR: StreamWriterHost::write_unbuffered() stucks in an infinite loop OpenJDK (build 13.0.1+9)
Reviewed-by: hseigel
Contributed-by: Harold Seigel <harold.seigel@oracle.com>
2021-01-21 21:57:04 -05:00
iignatyev
30be19ce1b 8244142: some hotspot/runtime tests don't check exit code of forked JVM
Reviewed-by: gziemski, minqi
2021-01-21 21:57:03 -05:00
andrew
5f619d4a4d 8254177: (tz) Upgrade time-zone data to tzdata2020b
Summary: Remove obsolete systemv & pacificnew files and US/Pacific-New zone
Reviewed-by: yan
2021-01-21 21:57:02 -05:00
sviswanathan
c1e592568f 8254790: SIGSEGV in string_indexof_char and stringL_indexof_char intrinsics
Reviewed-by: kvn, thartmann
2021-01-21 21:57:02 -05:00
pli
ae7be26205 8237524: AArch64: String.compareTo() may return incorrect result
Reviewed-by: aph
2021-01-21 21:57:01 -05:00
shade
6ab515ca7f 8254166: Zero: return-type warning in zeroInterpreter_zero.cpp
Reviewed-by: sgehwolf
2021-01-21 21:57:00 -05:00
akolarkunnu
7908ea4a00 8248745: Add jarsigner and keytool tests for restricted algorithms
Reviewed-by: mullan, hchao
2021-01-21 21:57:00 -05:00
neliasso
87a402cce6 8244278: Excessive code cache flushes and sweeps
Reviewed-by: neliasso
Contributed-by: Man Cao <manc@google.com>
2021-01-21 21:56:59 -05:00
jiefu
da219becdc 8239886: Minimal VM build fails after JDK-8237499
Reviewed-by: dholmes
2021-01-21 21:56:58 -05:00
ddong
54d6fe8a30 8237499: JFR: Include stack trace in the ThreadStart event
Reviewed-by: egahlin
2021-01-21 21:56:58 -05:00
rhalade
8b674ce700 8249176: Update GlobalSignR6CA test certificates
Reviewed-by: xuelei
2021-01-21 21:56:56 -05:00
mhorie
fd882abe71 8248190: Enable Power10 system and implement new byte-reverse instructions
Reviewed-by: mdoerr, stuefe
Contributed-by: Jose Ziviani <joserz@linux.ibm.com>
2021-01-21 21:56:56 -05:00
neliasso
cee0a5a21b 8254185: Fix Code cache sweeper heuristics for JDK 11
Reviewed-by: thartmann, kvn
2021-01-21 21:56:55 -05:00
aefimov
08d859c5e1 8251189: com/sun/jndi/ldap/LdapDnsProviderTest.java failed due to timeout
Reviewed-by: dfuchs, vtewari
2021-01-21 21:56:54 -05:00
xyin
96f470b00d 8242614: cleanup duplicated test ldap server in some com/sun/jndi/ldap/ tests
Reviewed-by: aefimov, vtewari, dfuchs
2021-01-21 21:56:54 -05:00
xyin
98fd06a58d 8210339: Add 10 JNDI tests to com/sun/jndi/dns/FedTests/
Reviewed-by: vtewari, rriggs
2021-01-21 21:56:53 -05:00
xyin
2d7662cef9 8208542: Add 4 JNDI tests to com/sun/jndi/dns/ListTests/
Reviewed-by: vtewari, rriggs
2021-01-21 21:56:53 -05:00
xyin
bb5b8a47d2 8200151: Add 8 JNDI tests to com/sun/jndi/dns/ConfigTests/
Reviewed-by: vtewari, rriggs
2021-01-21 21:56:52 -05:00
xyin
ba0b40f364 8208483: Add 5 JNDI tests to com/sun/jndi/dns/FactoryTests/
Reviewed-by: vtewari, rriggs
2021-01-21 21:56:51 -05:00
xyin
d71e96da19 8208279: Add 8 JNDI tests to com/sun/jndi/dns/EnvTests/
Reviewed-by: vtewari, rriggs
2021-01-21 21:56:51 -05:00
rhalade
91cff3e686 8239105: Add exception for expiring Digicert root certificates to VerifyCACerts test
Summary: "8239105: added verisigntsaca and thawtepremiumserverca to EXPIRY_EXC_ENTRIES list"
Reviewed-by: mullan
2021-01-21 21:56:50 -05:00
shade
da5cfa80d9 8253284: Zero OrderAccess barrier mappings are incorrect
Reviewed-by: dholmes, aph, andrew
2021-01-21 21:56:49 -05:00
shade
739a0d94ed 8253778: ShenandoahSafepoint::is_at_shenandoah_safepoint should not access VMThread state from other threads
Reviewed-by: jiefu, rehn, rkennke
2021-01-21 21:56:49 -05:00
dtitov
e4a59bd712 8216324: GetClassMethods is confused by the presence of default methods in super interfaces
Reviewed-by: sspitsyn, amenkov
2021-01-21 21:56:48 -05:00
simonis
6ebab37627 8213698: Improve devkit creation and add support for linux/ppc64/ppc64le/s390x
Reviewed-by: erikj, ihse
2021-01-21 21:56:47 -05:00
roland
2437c2b79e 8252696: Loop unswitching may cause out of bound array load to be executed
Reviewed-by: neliasso, chagedorn
2021-01-21 21:56:47 -05:00
serb
9c64f005d4 8152332: [macosx] JFileChooser cannot be serialized on Mac OS X
Reviewed-by: pbansal, jdv
2021-01-21 21:56:46 -05:00
serb
13ff94ac5d 8240690: Race condition between EDT and BasicDirectoryModel.FilesLoader.run0()
Reviewed-by: psadhukhan
2021-01-21 21:56:45 -05:00
serb
9e3413ee97 8240633: Memory leaks in the implementations of FileChooserUI
Reviewed-by: pbansal, psadhukhan
2021-01-21 21:56:45 -05:00
sviswanathan
efd9998e42 8236944: The legVecZ operand should be limited to zmm0-zmm15 registers
Summary: Associate legVecZ operand with vectorz_reg_legacy register class
Reviewed-by: vlivanov, thartmann
2021-01-21 21:56:44 -05:00
lmesnik
6dce86ebc4 8161684: [testconf] Add VerifyOops' testing into compiler tiers
Reviewed-by: kvn
2021-01-21 21:56:44 -05:00
ngasson
6a5e116ae0 8248845: AArch64: stack corruption after spilling vector register
Reviewed-by: kvn
2021-01-21 21:56:42 -05:00
sgehwolf
1aba60c958 8251397: NPE on ClassValue.ClassValueMap.cacheArray
Summary: Add release fence to ClassValueMap constructor.
Reviewed-by: shade, psandoz
Contributed-by: Galder Zamarreno <galder@redhat.com>
2021-01-21 21:56:41 -05:00
jcm
ccc74a719c 8246381: VM crashes with "Current BasicObjectLock* below than low_mark"
Summary: save and restores "donotunlock" flag in check_and_handle_async_exceptions
Reviewed-by: coleenp, dholmes
2021-01-21 21:56:41 -05:00
mdoerr
1d46c49052 8225329: -XX:+PrintBiasedLockingStatistics causes crash during initialization on Windows platforms
Reviewed-by: stuefe, dholmes
2021-01-21 21:56:40 -05:00
dmarkov
7fe093cf22 8252470: java/awt/dnd/DisposeFrameOnDragCrash/DisposeFrameOnDragTest.java fails on Windows
Reviewed-by: serb, prr
2021-01-21 21:56:38 -05:00
dmarkov
02d123c56a 8232114: JVM crashed at imjpapi.dll in native code
Reviewed-by: serb, alitvinov
2021-01-21 21:56:38 -05:00
thartmann
fc9d253d07 8239477: jdk/jfr/jcmd/TestJcmdStartStopDefault.java fails -XX:+VerifyOops with "verify_oop: rsi: broken oop"
Summary: Use T_ADDRESS instead of T_OBJECT to load metadata.
Reviewed-by: kvn
2021-01-21 21:56:37 -05:00
ssahoo
a57acf85d5 8242335: Additional Tests for RSASSA-PSS
Summary: New Tests for RSASSA-PSS
Reviewed-by: valeriep
2021-01-21 21:56:36 -05:00
chagedorn
e1ef260c8d 8248791: sun/util/resources/cldr/TimeZoneNamesTest.java fails with -XX:-ReduceInitialCardMarks -XX:-ReduceBulkZeroing
Summary: Fix wrong replacement of loads by zero for non-completed InitializationNodes belonging to a clone when ReduceBulkZeroing is disabled.
Reviewed-by: kvn, thartmann
2021-01-21 21:56:36 -05:00
chagedorn
5cb8539ef7 8249605: C2: assert(no_dead_loop) failed: dead loop detected
Summary: Fixed dead loop detection in PhiNode::Ideal() to additionally account for dead MergeMemNodes
Reviewed-by: kvn, thartmann
2021-01-21 21:56:34 -05:00
mbaesken
c2832bdca3 8246648: issue with OperatingSystemImpl getFreeSwapSpaceSize in docker after 8242480
Reviewed-by: bobv, sgehwolf
2021-01-21 21:56:34 -05:00
jiefu
341d176e43 8242480: Negative value may be returned by getFreeSwapSpaceSize() in the docker
Reviewed-by: sgehwolf, dholmes
2021-01-21 21:56:33 -05:00
bobv
094ac647d8 8227006: [linux] Runtime.availableProcessors execution time increased by factor of 100
Reviewed-by: dholmes, sgehwolf, redestad
2021-01-21 21:56:33 -05:00
bobv
f2ac092d37 8224506: [TESTBUG] TestDockerMemoryMetrics.java fails with exitValue = 137
Reviewed-by: sgehwolf, mseledtsov
2021-01-21 21:56:32 -05:00
bobv
fae5f81fdd 8222533: jtreg test jdk/internal/platform/cgroup/TestCgroupMetrics.java fails on SLES12.3 linux ppc64le machine
Reviewed-by: mseledtsov, dholmes
2021-01-21 21:56:31 -05:00
naoto
0c621e96a6 8241311: Move some charset mapping tests from closed to open
Reviewed-by: iris, joehw, itakiguchi, amlu
2021-01-21 21:56:31 -05:00
shade
b845d916f0 8253226: Shenandoah: remove unimplemented ShenandoahStrDedupQueue::verify
Reviewed-by: rkennke, zgu
2021-01-21 21:56:30 -05:00
shade
521c6e6b50 8253224: Shenandoah: ShenandoahStrDedupQueue destructor calls virtual num_queues()
Reviewed-by: rkennke, zgu
2021-01-21 21:56:29 -05:00
valeriep
c783454707 8216012: Infinite loop in RSA KeyPairGenerator
Summary: Check and error out on even RSA public exponents
Reviewed-by: valeriep
Contributed-by: Masanori Yano <yano-masanori@fujitsu.com>
2021-01-21 21:56:29 -05:00
shade
cc127b2513 8208665: Amend cross-compilation docs with qemu-debootstrap recipe
Reviewed-by: martin, glaubitz, erikj
2021-01-21 21:56:28 -05:00
sundar
fdc81b4580 8242846: Bring back test/jdk/tools/jlink/plugins/OrderResourcesPluginTest.java
Reviewed-by: alanb, sundar
Contributed-by: Ao Qi <aoqi@loongson.cn>
2021-01-21 21:56:28 -05:00
iignatyev
8fe37f1355 8243619: compiler/codecache/CheckSegmentedCodeCache.java test misses -version
Reviewed-by: thartmann
2021-01-21 21:56:27 -05:00
chagedorn
7c7689c284 8249602: C2: assert(cnt == _outcnt) failed: no insertions allowed
Summary: Use DUIterator instead of DUIterator_Fast due to legit insertions.
Reviewed-by: kvn, thartmann
2021-01-21 21:56:26 -05:00
stefank
7149dc2118 8246434: Threads::print_on_error assumes that the heap has been set up
Reviewed-by: dholmes
2021-01-21 21:56:25 -05:00
ngasson
aba4cf9326 8242029: AArch64: skip G1 array copy pre-barrier if marking not active
Reviewed-by: aph
2021-01-21 21:56:24 -05:00
stefank
28110a97bd 8247201: Print potential pointer value of readable stack memory in hs_err file
Reviewed-by: eosterlund, dholmes, tschatzl
2021-01-21 21:56:23 -05:00
chagedorn
42d0b2714f 8248596: [TESTBUG] compiler/loopopts/PartialPeelingUnswitch.java times out with Graal enabled
Summary: Change C2 specific test to be executed only with server compiler.
Reviewed-by: roland, kvn, thartmann
2021-01-21 21:56:22 -05:00
sspitsyn
659a86e3a4 8224555: vmTestbase/nsk/jvmti/scenarios/contention/TC02/tc02t001/TestDescription.java failed
Summary: Improve synchronization in the test
Reviewed-by: dcubed, amenkov
2021-01-21 21:56:22 -05:00
jbachorik
cbb3a98a03 8252754: Hash code calculation of JfrStackTrace is inconsistent
Reviewed-by: egahlin
2021-01-21 21:56:21 -05:00
egahlin
0534cff8c3 8250928: JFR: Improve hash algorithm for stack traces
Reviewed-by: egahlin
Contributed-by: Gabriel Reid <gabriel.reid@datadoghq.com>
2021-01-21 21:56:21 -05:00
coleenp
1e6d3bd27a 8210088: ProblemList gc/epsilon/TestMemoryMXBeans.java
Reviewed-by: kbarrett, jiangli
2021-01-21 21:56:20 -05:00
shade
ea8bf3a792 8252660: Shenandoah: support manageable SoftMaxHeapSize option
Reviewed-by: zgu
2021-01-21 21:56:20 -05:00
andrew
4a4ca84e39 8222286: Fix for JDK-8213419 is broken on s390
Summary: Cast sizeof argument to log2_intptr to uintptr_t to remove ambiguity
Reviewed-by: aph, clanger
2021-01-21 21:56:19 -05:00
chagedorn
29c749a870 8248552: C2 crashes with SIGFPE due to division by zero
Summary: Bail out in PhaseIdealLoop:split_thru_phi when trying to split a Div or ModNode iv phi whose zero check was removed but could potentially still be zero based on type information.
Reviewed-by: kvn, thartmann
2021-01-21 21:56:19 -05:00
iignatyev
65c673e873 8243617: compiler/onSpinWait/TestOnSpinWaitC1.java test uses wrong class
Reviewed-by: thartmann
2021-01-21 21:56:18 -05:00
ljiang
39a5127d8f 8250665: Wrong translation for the month name of May in ar_JO,LB,SY
Reviewed-by: naoto
2021-01-21 21:56:18 -05:00
yan
14bf91f59b 8252497: Incorrect numeric currency code for ROL
Reviewed-by: naoto
2021-01-21 21:56:17 -05:00
valeriep
ece7a22aed 8236512: PKCS11 Connection closed after Cipher.doFinal and NoPadding
Summary: Removed killSession() calls in certain impl classes when cancelling operations
Reviewed-by: xuelei
2021-01-21 21:56:17 -05:00
sviswanathan
5edf0a5a18 8249672: Include microcode revision in features_string on x86
Reviewed-by: kvn, stuefe
Contributed-by: vladimir.a.ivanov@intel.com
2021-01-21 21:56:16 -05:00
chagedorn
1c12fa294a 8248226: TestCloneAccessStressGCM fails with -XX:-ReduceBulkZeroing
Summary: Taking GC barriers into account in LoadNode::find_previous_arraycopy() when ReduceInitialCardMarks is disabled.
Reviewed-by: kvn, roland
2021-01-21 21:56:16 -05:00
mdoerr
03c19f4da7 8241234: Unify monitor enter/exit runtime entries.
Reviewed-by: dcubed, coleenp
Contributed-by: Yudi Zheng <yudi.zheng@oracle.com>
2021-01-21 21:56:14 -05:00
ngasson
a2dd176afa 8237512: AArch64: aarch64TestHook leaks a BufferBlob
Reviewed-by: adinn, aph
2021-01-21 21:56:14 -05:00
bpb
d6f2d66235 8237186: Fix typo in copyright header of java/io/Reader/TransferTo.java
Reviewed-by: mchung, lancea, prappo
2021-01-21 21:56:13 -05:00
thartmann
7c718843a3 8251458: Parse::do_lookupswitch fails with "assert(_cnt >= 0) failed"
Summary: Limit the counter value to max_jint.
Reviewed-by: kvn, vlivanov, chagedorn
2021-01-21 21:56:13 -05:00
thartmann
73b7915762 8251456: [TESTBUG] compiler/vectorization/TestVectorsNotSavedAtSafepoint.java failed OutOfMemoryError
Summary: Removed allocation of large arrays to avoid OOME.
Reviewed-by: kvn, chagedorn
2021-01-21 21:56:12 -05:00
thartmann
e29237b197 8249608: Vector register used by C2 compiled method corrupted at safepoint
Summary: Always update 'max_vlen_in_bytes'.
Reviewed-by: kvn, vlivanov, chagedorn
2021-01-21 21:56:12 -05:00
chagedorn
60fb3522a9 8249603: C1: assert(has_error == false) failed: register allocation invalid
Summary: Added bailout in combine_spilled_intervals() to avoid an overlap between two intervals
Reviewed-by: kvn, thartmann
2021-01-21 21:56:11 -05:00
redestad
24a1d8e195 8220420: Cleanup c1_LinearScan
Reviewed-by: thartmann, neliasso
2021-01-21 21:56:11 -05:00
shade
d71b35062c 8251949: ZGC: Set explicit heap size for compiler/gcbarriers tests
Reviewed-by: pliden
2021-01-21 21:56:10 -05:00
serb
78895cf47f 8213535: Windows HiDPI html lightweight tooltips are truncated
Reviewed-by: kizune
2021-01-21 21:56:10 -05:00
prr
8c44afebf9 8245400: Upgrade to LittleCMS 2.11
Reviewed-by: serb, jdv
2021-01-21 21:56:09 -05:00
pchilanomate
e228d72cfb 8251118: BiasedLocking::preserve_marks should not have a HandleMark
Summary: Removed HandleMark from BiasedLocking::preserve_marks() method
Reviewed-by: hseigel, coleenp, dcubed, tschatzl, dholmes
2021-01-21 21:56:09 -05:00
tschatzl
51719b3e8c 8249192: MonitorInfo stores raw oops across safepoints
Summary: Change raw oops in MonitorInfo to Handles and update Resource/HandleMarks.
Reviewed-by: sspitsyn, dholmes, coleenp, dcubed
2021-01-21 21:56:08 -05:00
prr
24960a2c2a 8247867: Upgrade to freetype 2.10.2
Reviewed-by: serb
2021-01-21 21:56:08 -05:00
kvn
88e7487067 8248347: windows build broken by JDK-8243114
Reviewed-by: dcubed, dholmes
2021-01-21 21:56:07 -05:00
stooke
a8922e6e16 8243114: Implement montgomery{Multiply,Square}intrinsics on Windows
Reviewed-by: dholmes, andrew
Contributed-by: Andrew Haley <aph@redhat.com>
2021-01-21 21:56:07 -05:00
ysuenaga
a7083a3b57 8244819: hsdis does not compile with binutils 2.34+
Reviewed-by: kvn, thartmann
2021-01-21 21:56:06 -05:00
dbuck
05b6cf6205 8191006: hsdis disassembler plugin does not compile with binutils 2.29+
Summary: update call to disassembler() function to match new signature used by Binutils
Reviewed-by: gromero, kvn
2021-01-21 21:56:06 -05:00
kizune
57ee4e4733 8212226: SurfaceManager throws "Invalid Image variant" for MultiResolutionImage (Windows)
Reviewed-by: serb
2021-01-21 21:56:05 -05:00
roland
a5d280c81f 8247763: assert(outer->outcnt() == 2) failed: 'only phis' failure in LoopNode::verify_strip_mined()
Reviewed-by: kvn, thartmann
2021-01-21 21:56:05 -05:00
thartmann
9165fafc08 8237950: C2 compilation fails with "Live Node limit exceeded limit" during ConvI2L::Ideal optimization
Summary: Postpone ConvI2L::Ideal optimization to IGVN.
Reviewed-by: kvn, neliasso
2021-01-21 21:56:04 -05:00
poonam
30c9dc3799 8243290: Improve diagnostic messages for class verification and redefinition failures
Reviewed-by: coleenp, hseigel, sspitsyn
2021-01-21 21:56:04 -05:00
kvn
3a97a8e4ab 8227647: [Graal] Test8009761.java fails due to "RuntimeException: static java.lang.Object compiler.uncommontrap.Test8009761.m3(boolean,boolean) not compiled"
Summary: Wait Graal compilation to finish if request came from testing environment.
Reviewed-by: thartmann, iignatyev
2021-01-21 21:56:03 -05:00
serb
ba8b830efb 7185258: [macosx] Deadlock in SunToolKit.realSync()
Reviewed-by: prr
2021-01-21 21:56:03 -05:00
serb
4ec99bd75c 8241797: Add some tests to the problem list
Reviewed-by: jdv, prr, pbansal
2021-01-21 21:56:02 -05:00
coleenp
12ff105a3d 8218851: JVM crash in custom classloader stress test, JDK 12 & 13
Summary: Handle NULL and unloaded constraint class in loader constraint table, also cope with unloaded but not cleaned out klass in loader constraint entries.
Reviewed-by: hseigel, huntch, stuefe
2021-01-21 21:56:02 -05:00
weijun
428e88994d 8213400: Support choosing group name in keytool keypair generation
Reviewed-by: apetcher, xuelei
2021-01-21 21:56:01 -05:00
Alexey Ushakov
76351ec45e JBR-3023 Gray idea frame after project open with ide.mac.transparentTitleBarAppearance.
Reused apple.awt.fullWindowContent and apple.awt.transparentTitleBar client properties. Introduced the new one: apple.awt.windowTitleVisible
2021-01-21 23:27:57 +03:00
Elena Sayapina
50b24a147b JBR-1388 [TESTBUG] Regression test java/awt/Graphics2D/DrawString/LCDTextSrcEa.java fails on macOS Mojave 2021-01-21 17:32:30 +07:00
Vitaly Provodin
e00b5ee977 updated JTreg exclude list 2021-01-21 11:24:53 +07:00
Dmitry Batrak
ddda860f42 JBR-3038 Unexpected windows z-order change on workspace switch 2021-01-20 16:31:58 +03:00
Elena Sayapina
18580ed527 updated JTreg exclude list 2021-01-20 19:10:30 +07:00
Vitaly Provodin
1c2bf33db2 JBR-3040 press the button END at the beggining in order to avoid text selection 2021-01-20 16:03:12 +07:00
Vitaly Provodin
45cf0422f9 JBR-410 add golden emoji for macOS 10.15&11 x64 2021-01-20 16:03:12 +07:00
Elena Sayapina
515e38030d updated JTreg exclude lis 2021-01-20 14:39:16 +07:00
Dmitry Batrak
470c3bd1b5 JBR-3035 The Confirm Exit pop-up window remains hidden behind a window of another application 2021-01-19 13:53:03 +03:00
Dmitry Batrak
ee298f5287 JBR-3024 Popups are shown with 1x1 size sometimes 2021-01-15 17:49:24 +03:00
Dmitry Batrak
a7fd723e43 log LWCToolkit invokeAndWait requests
as part of JBR-3017, to make investigation of similar issues simpler in the future
2021-01-15 15:21:05 +03:00
Dmitry Batrak
7e6db54f77 fix occasional freezes of JBR-3017 reproducer after the fix 2021-01-15 15:21:04 +03:00
Dmitry Batrak
88ead5d9e3 JBR-3017 Focus issue in presence of third-party accessibility tool 2021-01-15 15:21:04 +03:00
Dmitry Batrak
eeef67a335 refactor nativeCreateNSWindow call wrapping
as part of JBR-3017
2021-01-15 15:21:02 +03:00
Dmitry Batrak
f1dd523ba8 remove excessive wrapping with AccessController (AWTThreading does it internally now)
as part of JBR-3017
2021-01-15 15:21:01 +03:00
Vitaly Provodin
84ff4eab21 JBR-1718 add a regression test 2021-01-14 05:34:23 +07:00
Vitaly Provodin
0e7f9ce4ca JBR-2957 notarize JBR and JBRSDK as APPL 2021-01-02 07:01:23 +07:00
Elena Sayapina
1714d7b627 JBR-2890 [TESTUPDATE] Enable jcef tests on macOS aarch64 platform 2020-12-29 20:37:14 +07:00
Dmitry Batrak
95be4351d4 JBR-2934 Serious usability issue with GoLand 2020.3 caused by JBR 2020-12-28 20:37:55 +03:00
Artem Bochkarev
8e6710213e JBR-2526: disable national layouts in osx-aarch64 2020-12-27 23:28:07 +03:00
Artem Bochkarev
1fe160783a Revert "JBR-2526: make CPlatformResponder logic the same as in openjdk"
This reverts commit d2ee9bd6
2020-12-27 23:11:36 +03:00
Alexander Lobas
a84736ebcc JBR-2893 Big Sur: Add support of opening project as tabs IDEA-257932 Big Sur: IDEA hangs after closing a project tab after exiting and entering full screen 2020-12-25 20:40:32 +03:00
Alexander Lobas
f02e31a440 JBR-2893 Big Sur: Add support of opening project as tabs IDEA-257932 Big Sur: IDEA hangs after closing a project tab after exiting and entering full screen 2020-12-25 20:40:32 +03:00
Alexey Ushakov
809ae5fedc Merge pull request #38 from trespasserw/patch-1
README: correcting proper nouns
2020-12-25 18:40:19 +03:00
Alexey Ushakov
8a58a000e3 Merge pull request #44 from bell-sw/update_188
jdk-11.0.9.1-ga update
2020-12-25 18:35:50 +03:00
Alexey Ushakov
bfc6ed7f6e Merge pull request #34 from JetBrains/mono/2.002
JetBrains Mono release 2.002
2020-12-25 18:33:11 +03:00
Alexey Ushakov
3dbd4af7ae JBR-1370 White square when running on dwm or bspwm
Added support of dwm via GDMSESSION env property
2020-12-24 10:29:54 -08:00
Dmitry Batrak
2d9fb9e7b8 JBR-2977 Opening a recent project in a new window doesn't bring this window to the front 2020-12-24 17:39:18 +03:00
Nikita Gubarkov
f37901ffb0 JBR-2910 Fixed fractional metrics for outline glyphs in freetypeScaler 2020-12-23 20:16:59 +03:00
Vitaly Provodin
e15dad041c JBR-667 add shenandoahgc feature 2020-12-23 08:35:17 +07:00
Vitaly Provodin
580a370d19 JBR-2956 add JNF into jbrsdk binaries & fix signing JBRSDK 2020-12-23 04:37:54 +07:00
Vitaly Provodin
7642ffdd5a JBR-2957 do not stop tar from including hidden ._ files in archives 2020-12-23 04:34:56 +07:00
Vitaly Provodin
d8443a1cbe JBR-2938 force codesign on macOS 2020-12-23 04:14:57 +07:00
Vitaly Provodin
0718402ff5 JBR-2526 specify default value for the architecture parameter 2020-12-23 04:14:56 +07:00
Artem Bochkarev
4281b031e6 JBR-2526: support aarch64 in build script 2020-12-23 04:14:55 +07:00
Artem Bochkarev
d2ee9bd66e JBR-2526: make CPlatformResponder logic the same as in openjdk
this fixes problems with keyboard input on BigSur-AARCH64
2020-12-23 04:14:54 +07:00
Artem Bochkarev
bf7d47e3bf JBR-2526: remove obsolete code
minor fixes for azul patches
2020-12-23 04:14:53 +07:00
Artem Bochkarev
4b519165aa ZULU-18344: Fix gtests to do W^X on VM code calls 2020-12-23 04:14:52 +07:00
Artem Bochkarev
ca1ab64827 8253791: Issue with useAppleColor check in CSystemColors.m
Reviewed-by: phh, lucy, serb
2020-12-23 04:14:52 +07:00
Artem Bochkarev
c18cb04d88 8253375: OSX build fails with Xcode 12.0 (12A7209)
Summary: Replace double array with short array in AdapterHandlerLibrary::create_native_wrapper, add parens around ?: in CSystemColors:getColor
Reviewed-by: prr, kbarrett, lucy
2020-12-23 04:14:51 +07:00
Artem Bochkarev
3b7443c997 ZULU-18865: Disable CDS on macarm 2020-12-23 04:14:50 +07:00
Artem Bochkarev
5fead08584 ZULU-18973: Support macarm builds on apple silicon host 2020-12-23 04:14:49 +07:00
Artem Bochkarev
598cf7049c ZULU-17241: MacARM: CPU feature detection 2020-12-23 04:14:48 +07:00
Artem Bochkarev
8a8349defe 8253015: Aarch64: Move linux code out from generic CPU feature detection
Reviewed-by: aph
2020-12-23 04:14:47 +07:00
Artem Bochkarev
bc4b8e593c Backed out changeset 43ca3f690588: ZULU-17255: Disable CPU feature detection 2020-12-23 04:14:46 +07:00
Artem Bochkarev
b67de1a1e3 Backed out changeset b5afa94104cb: ZULU-18140: Remove unexpected JVM output 2020-12-23 04:14:45 +07:00
Artem Bochkarev
370727ad41 ZULU-18362: Failure in runtime/NMT/CheckForProperDetailStackTrace.java - 'AllocateHeap' found in stdout 2020-12-23 04:14:44 +07:00
Artem Bochkarev
48cc9e5374 ZULU-18759: Implement SA for macarm 2020-12-23 04:14:42 +07:00
Artem Bochkarev
510fab2c07 ZULU-18361: [TESTBUG] Failure in runtime/CompressedOops/CompressedClassPointers.java - 'Narrow klass base: 0x0000000000000000' missing from stdout/stderr 2020-12-23 04:14:41 +07:00
Artem Bochkarev
aea9725329 ZULU-18130: Refactor ZULU-17389 for inclusion into openjdk 2020-12-23 04:14:41 +07:00
Artem Bochkarev
1bc60057f4 ZULU-18388: Fix X->W transition in JVMTI 2020-12-23 04:14:40 +07:00
Artem Bochkarev
81649c99de ZULU-18417: Implement JVMTI call declaration for mac_aarch64 2020-12-23 04:14:39 +07:00
Artem Bochkarev
d2cadcef11 ZULU-18387: zulu_macarm crashes in C1 when working with above 32-bit memory regions 2020-12-23 04:14:38 +07:00
Artem Bochkarev
ac4e1f5be0 ZULU-18290: [TESTBUG]Fix missing separator in ArgumentHandler.java 2020-12-23 04:14:37 +07:00
Artem Bochkarev
5d545329ad ZULU-18251: Update dt_shmem block list for many jdi tests 2020-12-23 04:14:36 +07:00
Artem Bochkarev
9e8db31e71 ZULU-18231: Make codesign to rewrite signature when signing 2020-12-23 04:14:35 +07:00
Artem Bochkarev
f8d7b9e0b9 ZULU-18202: Solaris builds are broken after ZULU-17910 on 13 and 11 part2 2020-12-23 04:14:34 +07:00
Artem Bochkarev
9c6f6f2a12 ZULU-18200: Solaris builds are broken after ZULU-17910 on 13 and 11 2020-12-23 04:14:33 +07:00
Artem Bochkarev
3e8f36e723 ZULU-18198: Solaris builds are broken after ZULU-17141 on 13 and 11 2020-12-23 04:14:32 +07:00
Artem Bochkarev
db476a1787 ZULU-18174: Make tier1 is broken with xcode12 2020-12-23 04:14:31 +07:00
Artem Bochkarev
740e6c6534 ZULU-17141: Lock JIT memory when executing 2020-12-23 04:14:29 +07:00
Artem Bochkarev
f317336a65 ZULU-17910: Import JDK-8234930: Use MAP_JIT when allocating pages for code cache on macOS
http://cr.openjdk.java.net/~akozlov/8234930/webrev.00/
2020-12-23 04:14:28 +07:00
Artem Bochkarev
49c7d75922 ZULU-17387: Port X18 exclusion patch from win_aarch64 jep 2020-12-23 04:14:27 +07:00
Artem Bochkarev
06e1ffdccb ZULU-17389: Support macos aarch64 packed abi 2020-12-23 04:13:56 +07:00
Artem Bochkarev
9398632bdb ZULU-18140: Remove unexpected JVM output 2020-12-23 04:13:23 +07:00
Artem Bochkarev
c762636c1a ZULU-17243: Implement aarch64_get_thread_helper 2020-12-23 04:13:22 +07:00
Artem Bochkarev
8e9b28f521 ZULU-17253: Disable SA for macos/aarch64 2020-12-23 04:12:56 +07:00
Artem Bochkarev
00c3e8774a ZULU-17145: Do not use objc_msgSend_stret 2020-12-23 04:12:29 +07:00
Artem Bochkarev
cfd633b9fe ZULU-17255: Disable CPU feature detection 2020-12-23 04:12:28 +07:00
Artem Bochkarev
79371ddf34 ZULU-17139: Add os_cpu/bsd_aarch64 based on linux_aarch64
ZULU-17386: Remove sigtrap leftovers from bsd_aarch64
2020-12-23 04:11:59 +07:00
Artem Bochkarev
73ac0cc856 8251930: Native types mismatch in hotspot 2020-12-23 04:11:57 +07:00
Artem Bochkarev
9718b44236 8250824: AArch64: follow up for JDK-8248414
Summary: The original change missed to update an assert.
Reviewed-by: dholmes
Contributed-by: monica.beckwith@microsoft.com, luhenry@microsoft.com, beurba@microsoft.com
2020-12-23 04:11:56 +07:00
Artem Bochkarev
3d9a4eef55 8248414: AArch64: Remove uses of long and unsigned long ints 2020-12-23 04:11:55 +07:00
Artem Bochkarev
6ef822dd72 ZULU-17909: Initial load 2020-12-23 04:11:46 +07:00
Artem Bochkarev
20750eaf89 ZULU-17256: Remove obsolete code in AWTView.m 2020-12-23 04:10:41 +07:00
Artem Bochkarev
072d69f050 8250876: Fix issues with cross-compile on macos
Reviewed-by: erikj, ihse
2020-12-23 04:10:40 +07:00
Artem Bochkarev
4754d939e5 8233787: Break cycle in vm_version* includes 2020-12-23 04:10:39 +07:00
Artem Bochkarev
9c5d643170 8211296: Remove HotSpot deprecation warning suppression for Mac/clang
Summary: Removed deprecation warning suppression, fixed uses of deprecated functions.
Reviewed-by: dholmes, mikael
2020-12-23 04:10:39 +07:00
Denis Konoplev
c811c295c2 JBR-2891: Post PhaseEvents in the begin and end of Magnify and Rotate 2020-12-22 14:25:31 +03:00
Dmitry Batrak
20fe78b650 JBR-2973 Copy/Move dialog not in the focus on drag-n-drop to Project Tool window from external application 2020-12-21 18:31:49 +03:00
Dmitry Batrak
9d86b4d235 JBR-2971 Log more information about window creation and property changes 2020-12-21 13:05:38 +03:00
Dmitry Batrak
0a9f16dc90 JBR-2907 [JCK] Font.equals(Font) returns false after serialization/deserialization. 2020-12-16 17:05:59 +03:00
Dmitry Batrak
53489fab27 IDEA-257525 Unable to show Chinese when using IDEA mac ARM version
fix typo
2020-12-16 09:32:11 +03:00
Dmitry Batrak
92b00d50b5 IDEA-257525 Unable to show Chinese when using IDEA mac ARM version
update following JR-CR-714
2020-12-15 19:35:57 +03:00
Artem Semenov
2e0b486c59 JR-CR-712 JBR-2928 In trees in which the root is not displayed, nodes of the first level are not pronounced 2020-12-15 13:48:16 +03:00
Dmitry Batrak
9b7113a6cf IDEA-257525 Unable to show Chinese when using IDEA mac ARM version
The proposed solution is to use a 'normal' font as a base for 'San Francisco' font fallback.
Most of its fallback components/candidates (provided by the OS) are expected to be normal
fonts as well, and so the resulting coverage of Unicode character repertoire should be much better.
2020-12-14 20:12:43 +03:00
Conor Cleary
8dc3fcd392 JBR-2932 backport fix for NetworkInterface/UniqueMacAddressesTest
8246741: NetworkInterface/UniqueMacAddressesTest: mac address uniqueness test failed

Reviewed-by: chegar, dfuchs
2020-12-11 18:37:05 +07:00
Elena Sayapina
4deb3bbe61 JBR-2585 [TESTBUG] TouchScreenEvent tests affect tests simulating mouse actions
- added workaround for JBR-2585
- added README.md about manual test run
- made an update to close LinuxTouchScreenDevice properly
- added an error exit from linux shell script if sudo password is empty or chown fails
2020-12-09 18:43:24 +07:00
Elena Sayapina
eda8e4d50e JBR-2657 [TESTBUG] ChainOfPopupsFocusTest misbehaving on Windows
- changed open popup shortcut from Ctrl+N to Ctrl+M, so no new explorer windows appear if desktop gets focused by error
- added a click on the main test frame, so it gets focus when running from background cygwin process on Windows, otherwise it just flashes on the taskbar
2020-12-09 18:38:45 +07:00
Sergey Bylokhov
84d4918aa2 IDEA-157583 Backport fix for Wrong popup menu position on dual screen
8223045: GraphicsEnvironment does not detect resolution changes in multiscreen systems

Reviewed-by: prr
2020-12-09 17:03:01 +07:00
Artem Semenov
c8d46c2c23 JR-CR-702 JBR-2785 Implement accessibility for JTRee 2020-12-08 16:43:11 +03:00
Artem Bochkarev
f8c0077b2f JBR-2562: log suppressed exception into jbr_err 2020-12-04 12:21:08 +03:00
Egor Ushakov
1437ff8717 fixed navigation to issues from vcs log 2020-12-02 19:18:25 +03:00
Artem Bochkarev
93cbab2f2d JBR-2562: fixed invokation of parent method 2020-12-02 12:56:59 +03:00
Artem Bochkarev
dd055b5970 JBR-2562: suppress exceptions from [NSWindow _changeJustMain]
temporary workaround to prevent crashes
2020-11-30 18:46:29 +03:00
Alexey Ushakov
2c8cdb221b JBR-2382 Provide detailed stack trace in crash dumps for unhandled ObjC exceptions
Used user home dir for jbr_err files. Removed logging with reportException method
2020-11-25 20:12:54 +03:00
Mikhail Grishchenko
d34d6528fe JBR-2890 Disable jcef tests on 32-bit and aarch64 platforms 2020-11-25 21:06:09 +07:00
Dmitry Batrak
1d525a2d2f added RobotSmokeTest
this test failing in jtreg launch most probably indicates either some problem with the environment (e.g. some windows left open from previously launched processes) or with java.awt.Robot implementation
2020-11-25 16:33:47 +03:00
Artem Semenov
3038fc95c6 JR-CR-698: JBR-2877 Fix accessibility Label for lists 2020-11-24 11:04:53 +03:00
Artem Semenov
10a30e2135 JR-CR-673: JBR-2649 A11y Make accessibility for JTable 2020-11-24 11:04:52 +03:00
Artem Semenov
b46c4429b4 [a11y] Renderer lists are not spoken: JBR-2457 2020-11-24 11:04:52 +03:00
Anton Tarasov
e51648f368 [a11y] Rename JavaAxObjectProvider and PlatformAxObject
Renamed:
  JavaAxObjectProvider -> JavaBaseProvider
  PlatformAxObject -> PlatformAxElement
  PlatformAxObjectProvider -> PlatformAxElementProvider

Reasoning:
  JavaBaseProvider provides JavaBaseAccessibility and subclasses
  PlatformAxElement inherits from NSAccessibilityElement
2020-11-24 11:04:52 +03:00
Anton Tarasov
235dbdc3f0 [a11y] Add getAccessibilityWindow to PlatformAxObject 2020-11-24 11:04:52 +03:00
Anton Tarasov
c8f68f23d9 [a11y] Add JavaElementAccessibility for all NSAccessibilityElement subclasses
- JavaElementAccessibility (and respective PlatformAxObject) is the base class for elements conforming to the new a11y protocol
2020-11-24 11:04:52 +03:00
Anton Tarasov
5cc0870756 [a11y] Split NSElementAccessibilty and NSObject hierarchies
- Mixing the two hierarchies does not work, so split it
- Implement binding b/w associated objects of the two hierarchies via new protocols: JavaAxObjectProvider, PlatformAxObjectProvider
2020-11-24 11:04:52 +03:00
Anton Tarasov
a50a5f1bea [a11y] Separate base part from JavaComponentAccessibility
- Create JavaBaseAccessibility and JavaListAccessibility for the new a11y
- Adopt NSAccessibilityList protocol (based on investigations by Artem Semenov)
- Use JavaComponentAccessibility for the legacy a11y
2020-11-24 11:04:52 +03:00
Alexey Ushakov
95a47810d5 JBR-2382 Provide detailed stack trace in crash dumps for unhandled ObjC exceptions
Used process workdir for jbr_err files. Added one more logging to reportException method
2020-11-23 21:04:02 +03:00
Alexey Ushakov
8cb0377a31 JBR-2879 Big Sur: Opening project in new window results in opening project in another tab
Disabled Tabbing mode for all NSWindows
2020-11-20 16:52:53 +03:00
Mikhail Grishchenko
66ad6472ae JBR-2412 [windows] mouse listener does not work for jcef
fixed test name in @run tag
2020-11-20 18:26:52 +07:00
Vitaly Provodin
0a37bf022c updated JTreg exclude list 2020-11-20 05:42:17 +07:00
Mikhail Grishchenko
bed977e88e JBR-2865 Disable jcef tests on 32-bit platforms 2020-11-19 18:24:03 +07:00
Mikhail Grishchenko
04246aac57 JBR-2412 [windows] mouse listener does not work for jcef
Rename test.
2020-11-19 17:53:12 +07:00
Artem Semenov
cd5682f5b9 JR-CR-693 JBR-2786 Create a manual test to test Accessibility in JTree 2020-11-19 12:09:09 +03:00
Anton Tarasov
bad748e3d0 JBR-2872 improve: JBR-2866 JCEF: Markdown editor steals focus from a different frame 2020-11-18 19:35:01 +03:00
Thejasvi Voniadka
176016c7db 8158880: test/java/time/tck/java/time/format/TCKDateTimeFormatterBuilder.java fail with zh_CN locale
Reviewed-by: naoto
2020-11-17 18:11:10 +07:00
Dmitry Batrak
98a9219c23 improve TitleBarClickTest stability on Linux 2020-11-17 13:47:56 +03:00
Anton Tarasov
697259b968 JBR-2866 JCEF: Markdown editor steals focus from a different frame 2020-11-16 19:39:10 +03:00
Dmitry Batrak
010f6fc951 fix WindowWithoutParentTest failures on Windows 2020-11-16 18:28:15 +03:00
Dmitry Batrak
e8bbd8ffdd add comments explaining delays used in focus tests 2020-11-16 18:06:23 +03:00
Dmitry Batrak
cd6dd5c3cf improve stability of focus tests on Linux
* use 'WINDOW_GAINED_FOCUS' event instead of 'WINDOW_OPENED' to track window creation - on Linux the latter can be dispatched before the window is actually mapped
* add additional delay before mouse click emulation - under GNOME, even if window is known to be mapped and focused, click at its location can be dispatched to another (underlying) window (probably because GNOME might not have updated its internal state right after new window appearing)
2020-11-16 18:03:27 +03:00
goetz
f9a5f5e009 Added tag jdk-11.0.9.1-ga for changeset 31affc22b3b5 2020-11-15 05:58:16 +07:00
thartmann
8b8d0ccb9a 8250861: Crash in MinINode::Ideal(PhaseGVN*, bool)
Summary: Added missing NULL checks.
Reviewed-by: kvn, chagedorn
2020-11-15 05:58:12 +07:00
goetz
c21fec4119 8255781: Bump patch update version for OpenJDK: jdk-11.0.9.1
Reviewed-by: clanger
2020-11-15 05:58:08 +07:00
Alexander Zuev
0fa5500adf JBR-2859 backport fix for JFrame memory leak
4907798: MEMORY LEAK: javax.swing.plaf.basic.BasicPopupMenuUI$MenuKeyboardHelper

Reviewed-by: psadhukhan, serb
2020-11-13 16:57:34 +07:00
goetz
9f835d753e Added tag jdk-11.0.9.1-ga for changeset 31affc22b3b5 2020-11-12 11:37:15 -05:00
thartmann
387470fc07 8250861: Crash in MinINode::Ideal(PhaseGVN*, bool)
Summary: Added missing NULL checks.
Reviewed-by: kvn, chagedorn
2020-11-12 11:28:35 -05:00
goetz
72a9541a6c 8255781: Bump patch update version for OpenJDK: jdk-11.0.9.1
Reviewed-by: clanger
2020-11-12 11:28:34 -05:00
Mikhail Grishchenko
b7cde4fd05 JBR-2639, JBR-2412 [jcef] Tests that checks mouse events 2020-11-12 17:49:21 +07:00
Vitaly Provodin
e89ed58cfa JBR-2853 fix issues with remote debugging 2020-11-12 06:18:23 +07:00
Dmitry Batrak
cd863bac0d JBR-2854 [macOS] Undecorated window without parent steals focus on showing 2020-11-10 19:12:08 +03:00
Dmitry Batrak
e94f6057a4 JBR-2847 Always dispatch KEY_TYPED event to the same component as KEY_PRESSED event
also fixes JBR-2834, IDEA-254466, IDEA-254466
2020-11-09 12:17:50 +03:00
Dmitry Batrak
e30ef51d71 revert fix for JBR-2834 (Typing happens in the editor when comparing editor to clipboard)
the problem will be fixed with JBR-2847
2020-11-08 17:03:05 +03:00
Dmitry Batrak
acd7e3b2da JBR-2843 No caret in merge window 2020-11-05 13:07:52 +03:00
Vitaly Provodin
83f1177a90 JBR-2846 fix misprint causing the jbrsdk-fastdebug build miss 2020-11-05 08:11:57 +07:00
Vitaly Provodin
5e7e8fcc97 updated JTreg exclude list 2020-11-04 05:01:09 +07:00
Dmitry Batrak
504c17b3b0 JBR-2834 Typing happens in the editor when comparing editor to clipboard 2020-10-30 12:07:15 +03:00
Vitaly Provodin
ca9d268797 merge DCEVM patches with update from bell-sw/update_11.0.9 2020-10-30 06:24:07 +07:00
Vitaly Provodin
967e760aa0 updated JTreg exclude list 2020-10-30 04:47:14 +07:00
Vitaly Provodin
8bed43092c Merge pull request #43 from bell-sw/update_11.0.9 2020-10-30 04:40:58 +07:00
Dmitry Batrak
89e519a4ef JBR-2819 Create API to determine typographic family/subfamily for available fonts 2020-10-28 10:41:55 +03:00
Vitaly Provodin
44bafba5fe JBR-2813 add patches containing a fix for metadataOnStack bug 2020-10-26 08:15:35 +07:00
Denis Konoplev
5acc7680a1 JBR-2490 Add option to work with Surface Pen 2020-10-23 11:42:02 +03:00
andrew
7408fa9ed9 Added tag jdk-11.0.9-ga for changeset 4397fa4529b2 2020-10-22 18:46:22 -04:00
prr
fb12c14831 8253019: Enhanced JPEG decoding
Reviewed-by: rhalade, mschoene, serb, psadhukhan
2020-10-22 18:45:39 -04:00
prr
7bf8eb1eb9 8248574: Improve jpeg processing
Reviewed-by: serb, jdv, mschoene, rhalade
2020-10-22 18:45:39 -04:00
jnimeh
1c1f5fd22f 8245417: Improve certificate chain handling
Reviewed-by: mullan, jnimeh, mbalao, andrew
Contributed-by: hai-may.chao@oracle.com
2020-10-22 18:45:38 -04:00
iklam
a5543e7396 8245412: Better class definitions
Reviewed-by: coleenp, rhalade, jwilhelm, skoivu, mbalao, andrew
2020-10-22 18:45:38 -04:00
naoto
d22040a4cd 8245407: Enhance zoning of times
Reviewed-by: rriggs, rhalade, skoivu
2020-10-22 18:45:37 -04:00
mullan
5b66b914fd 8244479: Further constrain certificates
Reviewed-by: ascarpino, ahgross, rhalade
2020-10-22 18:45:37 -04:00
bpb
bb41825c5b 8244136: Improved Buffer supports
Reviewed-by: alanb, ahgross, rhalade, psandoz
2020-10-22 18:45:37 -04:00
hseigel
7802653d57 8243302: Advanced class supports
Reviewed-by: coleenp, lfoltan, mschoene, rhalade
Contributed-by: harold.seigel@oracle.com
2020-10-22 18:45:36 -04:00
bpb
f1289c29b9 8242685: Better Path Validation
Reviewed-by: alanb, rhalade
2020-10-22 18:45:36 -04:00
bpb
e540ba996f 8242680: Improved URI Support
Reviewed-by: alanb, rhalade
2020-10-22 18:45:35 -04:00
thartmann
f0f38dfde8 8241114: Better range handling
Reviewed-by: kvn, vlivanov, rhalade, ahgross, mbalao, andrew
2020-10-22 18:45:35 -04:00
vkempik
3ff5734088 8244955: Additional Fix for JDK-8240124
Reviewed-by: mbalao, andrew
2020-10-22 18:45:34 -04:00
vkempik
098d97bd64 8240124: Better VM Interning
Reviewed-by: mbalao, andrew
2020-10-22 18:45:34 -04:00
mullan
f40d642800 8237995: Enhance certificate processing
Reviewed-by: weijun, rhalade, ahgross, erikj, mbalao, andrew
2020-10-22 18:45:33 -04:00
aefimov
9891148867 8237990: Enhanced LDAP contexts
Reviewed-by: dfuchs, robm, weijun, xyin, rhalade, ahgross
2020-10-22 18:45:33 -04:00
kravikumar
ed95bcd45a 8236862: Enhance support of Proxy class
8249927: Specify limits of jdk.serialProxyInterfaceLimit
Reviewed-by: rriggs, coffeys, andrew
2020-10-22 18:45:32 -04:00
egahlin
899a28c552 8236196: Improve string pooling
Reviewed-by: mgronlun, rehn, ahgross, jwilhelm, rhalade
2020-10-22 18:45:32 -04:00
vkempik
e101be357c 8233624: Enhance JNI linkage
Reviewed-by: dholmes, jrose, rhalade, mschoene, mbalao, andrew
2020-10-22 18:45:32 -04:00
goetz
da443a34b4 8253813: Backout JDK-8244287 from 11u: it causes several crashes
Reviewed-by: mdoerr, goetz
Contributed-by: jaroslav.bachorik@datadoghq.com, martin.doerr@sap.com
2020-10-22 18:45:31 -04:00
alvdavi
89da1e8daf 8250787: Provider.put no longer registering aliases in FIPS env
Summary: Allows parseLegacyPut to search algorithms added to the non-legacy map
Reviewed-by: mbalao
2020-10-22 18:45:31 -04:00
jbachorik
0f1f77659c 8244287: JFR: Methods samples have line number 0
Reviewed-by: goetz
2020-10-22 18:45:30 -04:00
clanger
905ff191da 8253283: [11u] Test build/translations/VerifyTranslations.java failing after JDK-8252258
Reviewed-by: goetz
2020-10-22 18:45:30 -04:00
phh
c9e0ac1f9f 8253134: JMM_VERSION should remain at 0x20020000 (JDK 10) in JDK 11
Summary: Change JMM_VERSION to 0x2002000, use @since 11.0.9 for c.s.m.ThreadMXBean.currentThreadAllocatedBytes
Reviewed-by: simonis
2020-10-22 18:45:29 -04:00
andrew
a26ac2cad8 8252258: [11u] JDK-8242154 changes the default vendor
Summary: Change the default vendor back to "Oracle Corporation"
Reviewed-by: clanger
2020-10-22 18:45:29 -04:00
simonis
26d260a938 8252804: [test] Fix 'ReleaseDeflater.java' test after downport of 8234011
Reviewed-by: phh
2020-10-22 18:45:28 -04:00
aefimov
51b08ef9b3 8062947: Fix exception message to correctly represent LDAP connection failure
Reviewed-by: dfuchs, xyin, vtewari
2020-10-22 18:45:28 -04:00
serb
45e863a853 8022535: [TEST BUG] javax/swing/text/html/parser/Test8017492.java fails
Reviewed-by: prr, pbansal
2020-10-22 18:45:27 -04:00
prappo
d252c95851 8151678: com/sun/jndi/ldap/LdapTimeoutTest.java failed due to timeout on DeadServerNoTimeoutTest is incorrect
Reviewed-by: dfuchs, martin, robm
2020-10-22 18:45:27 -04:00
prappo
8b7722cd74 8245981: Upgrade to jQuery 3.5.1
Reviewed-by: hannesw
2020-10-22 18:45:27 -04:00
tnakamura
ef6c86a47e 8233829: javac cannot find non-ASCII module name under non-UTF8 environment
Reviewed-by: jjg
2020-10-22 18:45:26 -04:00
alanb
46082dba1a 8243453: java --describe-module failed with non-ASCII module name under non-UTF8 environment
Reviewed-by: alanb
Contributed-by: Toshio Nakamura <toshiona@jp.ibm.com>
2020-10-22 18:45:26 -04:00
cgo
308588eec5 8234535: Cross compilation fails due to missing CFLAGS for the BUILD_CC
Reviewed-by: erikj
2020-10-22 18:45:25 -04:00
mbalao
7701382ce3 8250582: Revert Principal Name type to NT-UNKNOWN when requesting TGS Kerberos tickets
Reviewed-by: weijun
2020-10-22 18:45:25 -04:00
clanger
7a4385aefa 8160768: Add capability to custom resolve host/domain names within the default JNDI LDAP provider
Reviewed-by: alanb, dfuchs, chegar, mchung, vtewari, goetz
Contributed-by: rob.mckenna@oracle.com, christoph.langer@sap.com
2020-10-22 18:45:24 -04:00
xyin
697645c757 8241130: com.sun.jndi.ldap.EventSupport.removeDeadNotifier: java.lang.NullPointerException
Reviewed-by: dfuchs
2020-10-22 18:45:24 -04:00
jcbeyler
79ac49a4cc 8247615: Initialize the bytes left for the heap sampler
Summary: Initialize the heap sampler correctly before usage
Reviewed-by: sspitsyn, martin, manc
2020-10-22 18:45:23 -04:00
kbarrett
ef7399d356 8210131: vmTestbase/nsk/jvmti/scenarios/allocation/AP10/ap10t001/TestDescription.java failed with ObjectFree: GetCurrentThreadCpuTimerInfo returned unexpected error code
Summary: Expanded permitted threads to include all NamedThreads.
Reviewed-by: dcubed, sspitsyn
2020-10-22 18:45:23 -04:00
phh
17f5bc5b98 8252157: JDK-8231209 11u backport breaks jmm binary compatibility
Summary: Move jmm_GetOneThreadAllocatedMemory to reserved_2 jmm_interface slot
Reviewed-by: simonis, clanger
2020-10-22 18:45:22 -04:00
ysuenaga
8c49afc8f0 8249215: JFrame::setVisible crashed with -Dfile.encoding=UTF-8 on Japanese Windows.
Reviewed-by: prr, serb
2020-10-22 18:45:22 -04:00
zgu
1ef499823d 8251487: Shenandoah: missing detail timing tracking for final mark cleaning phase
Reviewed-by: rkennke
2020-10-22 18:45:21 -04:00
valeriep
5094b9b5ee 8244151: Update MUSCLE PC/SC-Lite headers to the latest release 1.8.26
Summary: Updated from 1.8.24 to 1.8.26
Reviewed-by: xuelei
2020-10-22 18:45:21 -04:00
darcy
37896f558c 8226809: Circular reference in printed stack trace is not correctly indented & ambiguous
Reviewed-by: bpb
2020-10-22 18:45:20 -04:00
roland
07281583bd 8247824: CTW: C2 (Shenandoah) compilation fails with SEGV in SBC2Support::pin_and_expand
Reviewed-by: rkennke, thartmann
2020-10-22 18:45:20 -04:00
amenkov
a7108cbfc5 8212665: com/sun/jdi/DeferredStepTest.java: jj1 (line 57) - unexpected. lastLine=52, minLine=52, maxLine=55
Reviewed-by: jcbeyler, gadams, sspitsyn
2020-10-22 18:45:20 -04:00
amenkov
256eb1a6aa 8212629: [TEST] wrong breakpoint in test/jdk/com/sun/jdi/DeferredStepTest
Reviewed-by: cjplummer, jcbeyler
2020-10-22 18:45:19 -04:00
amenkov
6e1d1b3a9b 8211292: [TEST] convert com/sun/jdi/DeferredStepTest.sh test
Reviewed-by: sspitsyn, jcbeyler
2020-10-22 18:45:18 -04:00
amenkov
f523654c21 8209332: [TEST] test/jdk/com/sun/jdi/CatchPatternTest.sh is incorrect
Reviewed-by: jcbeyler, dtitov, cjplummer
2020-10-22 18:45:18 -04:00
amenkov
a0b9796b9f 8203928: [Test] Convert non-JDB scaffolding serviceability shell script tests to java
Reviewed-by: jcbeyler, cjplummer
2020-10-22 18:45:18 -04:00
amenkov
2d2730faf8 8210760: [TEST] rewrite com/sun/jdi shell tests to java version - step4
Reviewed-by: jcbeyler, sspitsyn, cjplummer
2020-10-22 18:45:17 -04:00
amenkov
83a7c4beda 8210725: com/sun/jdi/RedefineClearBreakpoint.java fails with waitForPrompt timed out after 60 seconds
8210748: [TESTBUG] lib.jdb.Jdb.waitForPrompt() should clarify which output is the pending reply after a timeout
Reviewed-by: jcbeyler, gadams, sspitsyn
2020-10-22 18:45:17 -04:00
amenkov
09cb3da751 8210560: [TEST] convert com/sun/jdi redefineClass-related tests
Reviewed-by: jcbeyler, sspitsyn
2020-10-22 18:45:16 -04:00
amenkov
a1507f6e90 8210243: [TEST] rewrite com/sun/jdi shell tests to java version - step3
Reviewed-by: jcbeyler, cjplummer, sspitsyn
2020-10-22 18:45:16 -04:00
amenkov
ae7606fe6c 8067354: com/sun/jdi/GetLocalVariables4Test.sh failed
Reviewed-by: jcbeyler, sspitsyn
2020-10-22 18:45:15 -04:00
amenkov
05b36c091c 8209604: [TEST] rewrite com/sun/jdi shell tests to java version - step2
Reviewed-by: jcbeyler, sspitsyn, cjplummer
2020-10-22 18:45:15 -04:00
amenkov
90dc74e1b9 8203393: com/sun/jdi/JdbMethodExitTest.sh and JdbExprTest.sh fail due to timeout
Reviewed-by: sspitsyn, cjplummer
2020-10-22 18:45:14 -04:00
amenkov
3e3444472e 8209605: com/sun/jdi/BreakpointWithFullGC.java fails with ZGC
Reviewed-by: sspitsyn, dholmes
2020-10-22 18:45:14 -04:00
amenkov
503586a51c 8209608: Problem list com/sun/jdi/BreakpointWithFullGC.java
Reviewed-by: mikael, dtitov, dcubed
2020-10-22 18:45:13 -04:00
amenkov
a327489b0f 8209517: com/sun/jdi/BreakpointWithFullGC.java fails with timeout
Reviewed-by: dcubed, mikael
2020-10-22 18:45:13 -04:00
amenkov
f99295be02 8209109: [TEST] rewrite com/sun/jdi shell tests to java version - step1
Reviewed-by: sspitsyn, jcbeyler
2020-10-22 18:45:12 -04:00
serb
564c903844 8251469: Better cleanup for test/jdk/javax/imageio/SetOutput.java
Reviewed-by: prr, pbansal
2020-10-22 18:45:12 -04:00
shade
1ea536d294 8252120: compiler/oracle/TestCompileCommand.java misspells "occured"
Reviewed-by: iignatyev
2020-10-22 18:45:11 -04:00
jpai
e5d9e1a4f8 8241138: http.nonProxyHosts=* causes StringIndexOutOfBoundsException in DefaultProxySelector
Reviewed-by: dfuchs, chegar
2020-10-22 18:45:11 -04:00
shade
70723e80ce 8244729: Shenandoah: remove resolve paths from SBSA::generate_shenandoah_lrb
Reviewed-by: rkennke
2020-10-22 18:45:10 -04:00
shade
55ba81e3d4 8250844: Make sure {type,obj}ArrayOopDesc accessors check the bounds
Reviewed-by: rrich, coleenp
2020-10-22 18:45:10 -04:00
zgu
62057eadd5 8245880: Shenandoah: check class unloading flag early in concurrent code root scan
Reviewed-by: shade
2020-10-22 18:45:09 -04:00
rkennke
b14e837e87 8251451: Shenandoah: Remark ObjectSynchronizer roots with I-U
Reviewed-by: shade
2020-10-22 18:45:09 -04:00
rkennke
868a4b8348 8241065: Shenandoah: remove leftover code after JDK-8231086
Reviewed-by: rkennke
Contributed-by: Charlie Gracie <charlie.gracie@microsoft.com>
2020-10-22 18:45:08 -04:00
rkennke
e3a31d2bbd 8222079: Don't use memset to initialize fields decode_env constructor in disassembler.cpp
Reviewed-by: dlong, stuefe, mdoerr
2020-10-22 18:45:08 -04:00
simonis
0a50aad915 8234011: (zipfs) Memory leak in ZipFileSystem.releaseDeflater()
Reviewed-by: clanger, lancea
2020-10-22 18:45:08 -04:00
dfuchs
43c4798b50 8230000: some httpclients testng tests run zero test
Summary: two tests needed to declared their test methods public, the last one was a simple abstract framework for subclasses and needed its @test keyword removed.
Reviewed-by: chegar, aefimov, dfuchs
Contributed-by: Julia Boes <julia.boes@oracle.com>
2020-10-22 18:45:07 -04:00
rkennke
d956cd691a 8249560: Shenandoah: Fix racy GC request handling
Reviewed-by: shade
2020-10-22 18:45:06 -04:00
jdv
51f5bc0aae 6532025: GIF reader throws misleading exception with truncated images
Reviewed-by: prr, bpb
2020-10-22 18:45:06 -04:00
amenkov
03c98cd7b0 8238710: LingeredApp doesn't log stdout/stderr if exits with non-zero code
Reviewed-by: cjplummer, sspitsyn
2020-10-22 18:45:06 -04:00
shade
175fceb89e 8241007: Shenandoah: remove ShenandoahCriticalControlThreadPriority support
Reviewed-by: adityam, shade
Contributed-by: Nikola Grcevski <nikola.grcevski@microsoft.com>
2020-10-22 18:45:05 -04:00
shade
80c4abef7b 8241574: Shenandoah: remove ShenandoahAssertToSpaceClosure
Reviewed-by: zgu, bmathiske, shade
Contributed-by: Charlie Gracie <charlie.gracie@microsoft.com>
2020-10-22 18:45:05 -04:00
rkennke
88f949d66f 8251354: Shenandoah: Fix jdk/jfr/tool/TestPrintJSON.java test failure
Reviewed-by: clanger, stuefe
2020-10-22 18:45:04 -04:00
erikj
19da89a193 8246094: [macos] Sound Recording and playback is not working
Reviewed-by: prr, serb
2020-10-22 18:45:04 -04:00
ysuenaga
8cab555838 8250826: jhsdb does not work with coredump which comes from Substrate VM
Reviewed-by: cjplummer, sspitsyn
2020-10-22 18:45:03 -04:00
mbalao
72a8d326e3 8251117: Cannot check P11Key size in P11Cipher and P11AEADCipher
Reviewed-by: valeriep
Contributed-by: zzambers@redhat.com
2020-10-22 18:45:03 -04:00
lmesnik
710c814a3d 8241478: vmTestbase/gc/gctests/Steal/steal001/steal001.java fails with OOME
Reviewed-by: tschatzl, kbarrett
2020-10-22 18:45:02 -04:00
coleenp
f12a95f6cd 8231953: Wrong assumption in assertion in oop::register_oop
Summary: On ARM32 thumb mode, the pc of the current frame is always zero
Reviewed-by: coleenp, dcubed
Contributed-by: christoph.goettschkes@microdoc.com
2020-10-22 18:45:02 -04:00
joehw
980226f337 8230094: CCE in createXMLEventWriter(Result) over an arbitrary XMLStreamWriter
Reviewed-by: lancea
2020-10-22 18:45:01 -04:00
rhalade
8a22af8929 8243320: Add SSL root certificates to Oracle Root CA program
Reviewed-by: mullan
2020-10-22 18:45:01 -04:00
kvn
a9507bbe7a 8248987: AOT's Linker.java seems to eagerly fail-fast on Windows
Summary: Treat all problems in getVC141AndNewerLinker() as non-fatal. Print error messages with --verbose flag.
Reviewed-by: iignatyev, iveresov
2020-10-22 18:45:00 -04:00
shade
7b06c4f724 8249953: Shenandoah: gc/shenandoah/mxbeans tests should account for corner cases
Reviewed-by: rkennke
2020-10-22 18:45:00 -04:00
rkennke
dcf11b2f29 8249801: Shenandoah: Clear soft-refs on requested GC cycle
Reviewed-by: shade
2020-10-22 18:44:59 -04:00
lancea
8089f329af 8212807: tools/jar/multiRelease/Basic.java times out
Reviewed-by: bchristi
2020-10-22 18:44:59 -04:00
rfield
20ec00a07e 8223688: JShell: crash on the instantiation of raw anonymous class
Reviewed-by: jlahoda
2020-10-22 18:44:58 -04:00
rfield
e7ff20c013 8210527: JShell: NullPointerException in jdk.jshell.Eval.translateExceptionStack
8232855: jshell missing word in /help help
Reviewed-by: jlahoda
2020-10-22 18:44:58 -04:00
rfield
44e6abfbc3 8211694: JShell: Redeclared variable should be reset
Reviewed-by: sundar
2020-10-22 18:44:58 -04:00
jjg
9d174c2b84 8234687: change javap reporting on unknown attributes
Reviewed-by: mchung
2020-10-22 18:44:57 -04:00
chegar
f85669d99e 8225037: java.net.JarURLConnection::getJarEntry() throws NullPointerException
Reviewed-by: coffeys, vtewari
2020-10-22 18:44:56 -04:00
lmesnik
7bf0cd4cf8 8241319: WB_GetCodeBlob doesn't have ResourceMark
Reviewed-by: iignatyev, thartmann
2020-10-22 18:44:56 -04:00
phh
024b17cd07 8234541: C1 emits an empty message when it inlines successfully
Summary: Use "inline" as the message when successfull
Reviewed-by: thartmann, mdoerr
Contributed-by: navy.xliu@gmail.com
2020-10-22 18:44:56 -04:00
mli
dccbd0645a 8134599: TEST_BUG: java/rmi/transport/closeServerSocket/CloseServerSocket.java fails intermittently with Address already in use
Reviewed-by: weijun, darcy, rriggs, coffeys
2020-10-22 18:44:55 -04:00
xyin
cbd80b1dff 8202117: com/sun/jndi/ldap/RemoveNamingListenerTest.java fails intermittently: Connection reset
Reviewed-by: dfuchs, vtewari
2020-10-22 18:44:55 -04:00
itakiguchi
e97f001647 8232161: Align some one-way conversion in MS950 charset with Windows
Summary: MS950 charset encoder's conversion table is changed
Reviewed-by: naoto
2020-10-22 18:44:54 -04:00
fyang
288cb01d1e 8221658: aarch64: add necessary predicate for ubfx patterns
Reviewed-by: aph
2020-10-22 18:44:54 -04:00
fyang
58e50eade3 8250609: C2 crash in IfNode::fold_compares
Reviewed-by: kvn, chagedorn
Contributed-by: wanghuang3@huawei.com
2020-10-22 18:44:53 -04:00
zgu
b5bfaf2468 8250827: Shenandoah: needs to reset/finish StringTable's dead count before/after parallel walk
Reviewed-by: rkennke
2020-10-22 18:44:53 -04:00
serb
60b928fe4c 8250755: Better cleanup for jdk/test/javax/imageio/plugins/shared/CanWriteSequence.java
Reviewed-by: jdv
2020-10-22 18:44:52 -04:00
sgehwolf
c2f5f25ee6 8250627: Use -XX:+/-UseContainerSupport for enabling/disabling Java container metrics
Reviewed-by: aph, dholmes, bobv, shade
2020-10-22 18:44:52 -04:00
fyuan
e16a88ee6c 8230010: Remove jdk8037819/BasicTest1.java
8230002: javax/xml/jaxp/unittest/transform/SecureProcessingTest.java runs zero test
Reviewed-by: joehw, vtewari
2020-10-22 18:44:51 -04:00
dfuchs
7f90bbf2fc 8208281: java/nio/channels/AsynchronousSocketChannel/Basic.java timed out
Summary: modify the test to accept the peer socket before closing the client socket
Reviewed-by: alanb
2020-10-22 18:44:51 -04:00
joehw
6e6d2b85d4 8233686: XML transformer uses excessive amount of memory
Summary: remove unnecessary object creation and also update xalan.md file
Reviewed-by: lancea
2020-10-22 18:44:50 -04:00
coleenp
fd99818ccd 8233386: Initialize NULL fields for unused decorations
Reviewed-by: shade, hseigel, dcubed
2020-10-22 18:44:50 -04:00
lancea
8c43f76d41 8230870: (zipfs) Add a ZIP FS test that is similar to test/jdk/java/util/zip/EntryCount64k.java
Reviewed-by: clanger, martin
2020-10-22 18:44:50 -04:00
jlahoda
77b9fb7dae 8221759: Crash when completing \"java.io.File.path\"
Summary: Do not provide documentation for inaccessible elements.
Reviewed-by: rfield
2020-10-22 18:44:49 -04:00
vlivanov
e390eafb22 8247502: PhaseStringOpts crashes while optimising effectively dead code
Reviewed-by: kvn, thartmann
2020-10-22 18:44:49 -04:00
neliasso
f65a021bf0 8226536: Catch OOM from deopt that fails rematerializing objects
Reviewed-by: vlivanov, thartmann
2020-10-22 18:44:48 -04:00
rhalade
0d12b95241 8243321: Add Entrust root CA - G4 to Oracle Root CA program
Reviewed-by: mullan
2020-10-22 18:44:48 -04:00
rkennke
fbf2030820 8250784: Shenandoah: A Low-Pause-Time Garbage Collector
Reviewed-by: aph, kdnilsen, adityam
2020-10-22 18:44:47 -04:00
mikael
d131ad342c 8237182: Update copyright header for shenandoah and epsilon files
Reviewed-by: iignatyev, zgu
2020-10-22 18:44:46 -04:00
sviswanathan
793e0ddfa6 8224234: compiler/codegen/TestCharVect2.java fails in test_mulc
Reviewed-by: vlivanov, thartmann
2020-10-22 18:44:46 -04:00
sviswanathan
bee394f465 8222074: Enhance auto vectorization for x86
Reviewed-by: kvn, vlivanov
2020-10-22 18:44:45 -04:00
erikj
bf58975c4e 8249255: Build fails if source code in cygwin home dir
Reviewed-by: tbell
2020-10-22 18:44:45 -04:00
jjiang
3616dee7a0 8243029: Rewrite javax/net/ssl/compatibility/Compatibility.java with a flexible interop test framework
Reviewed-by: xuelei
2020-10-22 18:44:44 -04:00
stuefe
76af57e5d9 8223777: In posix_spawn mode, failing to exec() jspawnhelper does not result in an error
Reviewed-by: rriggs, martin, fweimer
2020-10-22 18:44:44 -04:00
bsrbnd
f93f4ab75e 8193367: Annotated type variable bounds crash javac
Reviewed-by: mcimadamore, vromero
2020-10-22 18:44:43 -04:00
valeriep
ad19522db0 8242556: Cannot load RSASSA-PSS public key with non-null params from byte array
Summary: Update AlgorithmId to use alg name before oid str when parsing DER bytes
Reviewed-by: mullan
2020-10-22 18:44:43 -04:00
vkempik
b26694a0f9 8238284: [macos] Zero VM build fails due to an obvious typo
Reviewed-by: goetz
2020-10-22 18:44:42 -04:00
amenkov
36ab405269 8204994: SA might fail to attach to process with "Windbg Error: WaitForEvent failed"
Reviewed-by: sspitsyn, cjplummer
2020-10-22 18:44:42 -04:00
vkempik
4620397dbe 8248495: [macos] zerovm is broken due to libffi headers location
Reviewed-by: ihse, erikj
2020-10-22 18:44:42 -04:00
fyang
a42c526b18 8248851: CMS: Missing memory fences between free chunk check and klass read
Reviewed-by: aph, kbarrett, dholmes
Contributed-by: wangshuai94@huawei.com
2020-10-22 18:44:41 -04:00
fyang
14c7fe0b61 8247979: aarch64: missing side effect of killing flags for clearArray_reg_reg
Reviewed-by: adinn
Contributed-by: wangyadong4@huawei.com
2020-10-22 18:44:41 -04:00
ysuenaga
e6cfd63ecd 8238388: libj2gss/NativeFunc.o "multiple definition" link errors with GCC10
Summary: Fixed libj2gss link errors caused by GCC10 default -fno-common
Reviewed-by: weijun
2020-10-22 18:44:40 -04:00
ysuenaga
b625ec36f2 8238386: (sctp) jdk.sctp/unix/native/libsctp/SctpNet.c "multiple definition" link errors with GCC10
Summary: Fixed libsctp link errors caused by GCC10 default -fno-common
Reviewed-by: chegar
2020-10-22 18:44:40 -04:00
ysuenaga
9f8b577206 8238380: java.base/unix/native/libjava/childproc.c "multiple definition" link errors with GCC10
Reviewed-by: stuefe, clanger, rriggs
Contributed-by: patrick@os.amperecomputing.com
2020-10-22 18:44:39 -04:00
arapte
00e9dff047 8249278: Revert JDK-8226253 which breaks the spec of AccessibleState.SHOWING for JList
Reviewed-by: prr, serb
2020-10-22 18:44:39 -04:00
mbaesken
4defecb1ea 8236617: jtreg test containers/docker/TestMemoryAwareness.java fails after 8226575
Reviewed-by: bobv, clanger, mdoerr, adinn
2020-10-22 18:44:38 -04:00
sgehwolf
ea22d2debd 8226575: OperatingSystemMXBean should be made container aware
Reviewed-by: adinn
2020-10-22 18:44:38 -04:00
pbansal
4d9f67b93b 8249251: [dark_mode ubuntu 20.04] The selected menu is not highlighted in GTKLookAndFeel
Reviewed-by: serb, prr
2020-10-22 18:44:37 -04:00
joehw
aae6ac4f69 8248348: Regression caused by the update to BCEL 6.0
Reviewed-by: smarks, plevart
2020-10-22 18:44:37 -04:00
jlahoda
f3765eca39 8244763: Update --release 8 symbol information after JSR 337 MR3
Reviewed-by: jjg, wetmore
2020-10-22 18:44:36 -04:00
hchao
9350c687e0 8245151: jarsigner should not raise duplicate warnings on verification
Reviewed-by: weijun
2020-10-22 18:44:36 -04:00
naoto
af7e73eb27 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-10-22 18:44:35 -04:00
vromero
48341a9b4f 8213703: LambdaConversionException: Invalid receiver type not a subtype of implementation type interface
Reviewed-by: mcimadamore
2020-10-22 18:44:35 -04:00
shade
7781717e37 8213182: Minimal VM build failure after JDK-8212200 (assert when shared java.lang.Object is redefined by JVMTI agent)
Reviewed-by: dholmes, iklam
2020-10-22 18:44:34 -04:00
goetz
6f7c21121a 8249277: TestVerifyIterativeGVN.java is failing with timeout in OpenJDK 11
Summary: See also 8248521: TestVerifyIterativeGVN.java is failing with timeout
Reviewed-by: mbaesken, chagedorn
2020-10-22 18:44:34 -04:00
sshivang
ac7bb087e4 8246330: Add TLS Tests for Legacy ECDSA curves
Reviewed-by: rhalade
2020-10-22 18:44:33 -04:00
jjiang
ce59727cb2 8249159: Downport test rework for SSLSocketTemplate from 8224650
Reviewed-by: mbaesken
2020-10-22 18:44:33 -04:00
xuelei
f2da7b5e8c 8236464: SO_LINGER option is ignored by SSLSocket in JDK 11
Reviewed-by: ascarpino
2020-10-22 18:44:32 -04:00
erikj
d8dc0ea467 8213214: Set -Djava.io.tmpdir= when running tests
Reviewed-by: alanb, mikael
2020-10-22 18:44:32 -04:00
hannesw
1f39a87a62 8240169: javadoc fails to link to non-modular api docs
Reviewed-by: jjg
2020-10-22 18:44:31 -04:00
weijun
b11f050cfd 8227595: keytool/fakegen/DefaultSignatureAlgorithm.java fails due to "exitValue = 6"
Reviewed-by: mullan
2020-10-22 18:44:31 -04:00
phh
ff039d5fe4 8231968: getCurrentThreadAllocatedBytes default implementation s/b getThreadAllocatedBytes
Summary: Pass Thread.currentThread().getId() to getThreadAllocatedBytes, remove its implSpec
Reviewed-by: dholmes, mchung, sspitsyn
2020-10-22 18:44:30 -04:00
phh
9f836984f1 8231209: [REDO] ThreadMXBean::getThreadAllocatedBytes() can be quicker for self thread
Summary: Add com.sun.management.getCurrentThreadAllocatedBytes, implement getThreadAllocatedBytes(long) independent of getThreadAllocatedBytes(long[])
Reviewed-by: mchung, dholmes, sspitsyn
2020-10-22 18:44:30 -04:00
shade
56fd51cd53 8221918: runtime/SharedArchiveFile/serviceability/ReplaceCriticalClasses.java fails: Shared archive not found
Reviewed-by: jiangli, dholmes
2020-10-22 18:44:29 -04:00
iklam
282c7b3195 8213275: ReplaceCriticalClasses.java fails with jdk.internal.vm.PostVMInitHook not found
Reviewed-by: lfoltan, sspitsyn, shade
2020-10-22 18:44:29 -04:00
iklam
0eeb0f5772 8212200: assert when shared java.lang.Object is redefined by JVMTI agent
Reviewed-by: dholmes, jiangli, hseigel, lfoltan, sspitsyn
2020-10-22 18:44:29 -04:00
vkempik
d9cc1dae70 8243470: [macos] bring back O2 opt level for unsafe.cpp
Summary: Remove special case for unsafe.cpp on clang macos
Reviewed-by: erikj, ihse
2020-10-22 18:44:28 -04:00
never
ece8fcc91b 8247246: Add explicit ResolvedJavaType.link and expose presence of default methods
Reviewed-by: kvn, sgehwolf, adinn
Contributed-by: Foivos Zakkak <fzakkak@redhat.com>
2020-10-22 18:44:27 -04:00
mseledtsov
4d01f061fb 8222769: [TESTBUG] TestJFRNetworkEvents should not rely on hostname command
Summary: Using InetAddress.getLocalHost()
Reviewed-by: egahlin, lmesnik
Contributed-by: Severin Gehwolf <sgehwolf@redhat.com>
2020-10-22 18:44:27 -04:00
psadhukhan
8318f44a43 8203281: [Windows] JComboBox change in ui when editor.setBorder() is called
Reviewed-by: psadhukhan
Contributed-by: mraz.martin.dev@gmail.com
2020-10-22 18:44:27 -04:00
chagedorn
75f5e42208 8246203: Segmentation fault in verification due to stack overflow with -XX:+VerifyIterativeGVN
Summary: Replace the recursive verification algorithm with an iterative one to avoid a stack overflow for large graphs.
Reviewed-by: kvn, thartmann
2020-10-22 18:44:26 -04:00
chagedorn
85da04fb94 8244719: CTW: C2 compilation fails with "assert(!VerifyHashTableKeys || _hash_lock == 0) failed: remove node from hash table before modifying it"
Summary: Fix Parse::Block::init_graph() to also count predecessors for exception blocks because they can have a direct bytecode jump to them resulting in this assertion failure.
Reviewed-by: kvn, thartmann
2020-10-22 18:44:26 -04:00
weijun
5c79be3ac4 8242184: CRL generation error with RSASSA-PSS
Reviewed-by: xuelei
2020-10-22 18:44:25 -04:00
kevinw
92e0697af3 8240295: hs_err elapsed time in seconds is not accurate enough
Reviewed-by: dholmes, sspitsyn
2020-10-22 18:44:25 -04:00
valeriep
ac1091da41 8238448: RSASSA-PSS signature verification fail when using certain odd key sizes
Summary: Calculate and set offset for correct verification for such key sizes
Reviewed-by: xuelei
2020-10-22 18:44:24 -04:00
amenkov
a78c0a9dbb 8235846: Improve WindbgDebuggerLocal implementation
Reviewed-by: sspitsyn, cjplummer
2020-10-22 18:44:24 -04:00
weijun
728f1ee8b2 8227059: sun/security/tools/keytool/DefaultSignatureAlgorithm.java timed out
Reviewed-by: xuelei
2020-10-22 18:44:23 -04:00
fyang
792e69edc6 8248219: aarch64: missing memory barrier in fast_storefield and fast_accessfield
Reviewed-by: aph
Contributed-by: songyaofei2@huawei.com
2020-10-22 18:44:23 -04:00
naoto
27c4c1ae43 8218948: SimpleDateFormat :: format - Zone Names are not reflected correctly during run time
Reviewed-by: lancea, rgoel
2020-10-22 18:44:22 -04:00
roland
6a410fc890 8240676: Meet not symmetric failure when running lucene on jdk8
Reviewed-by: kvn, thartmann
2020-10-22 18:44:22 -04:00
qpzhang
155efb6dce 8248214: Add paddings for TaskQueueSuper to reduce false-sharing cache contention
Summary: This is a downport of a part of JDK-8243326
Reviewed-by: goetz, clanger
2020-10-22 18:44:21 -04:00
iklam
fa1e491340 8203382: Rename SystemDictionary::initialize_wk_klass to resolve_wk_klass
Reviewed-by: jiangli
2020-10-22 18:44:21 -04:00
dtitov
35ecf979a3 8246196: javax/management/MBeanServer/OldMBeanServerTest fails with AssertionError
Reviewed-by: amenkov, dholmes, sspitsyn
2020-10-22 18:44:21 -04:00
kvn
f32fefb57a 8247350: [aarch64] assert(false) failed: wrong size of mach node
Summary: use movptr() to load address of string
Reviewed-by: adinn, azeemj
2020-10-22 18:44:20 -04:00
goetz
ea9a7e808c 8248385: [testbug][11u] Adapt TestInitiExceptions to jtreg 5.1
Summary: Downport fix for TestInitException from 8246387
Reviewed-by: clanger
2020-10-22 18:44:20 -04:00
weijun
42b2ce754a 8244087: 2020-04-24 public suffix list update
Reviewed-by: mullan
2020-10-22 18:44:19 -04:00
thartmann
ece3569549 8246153: TestEliminateArrayCopy fails with -XX:+StressReflectiveCode
Summary: Use the memory input instead of the control input to find the membar.
Reviewed-by: kvn, neliasso
2020-10-22 18:44:19 -04:00
bobv
73d45929ea 8245832: JDK build make-static-libs should build all JDK libraries
Reviewed-by: erikj, aph
2020-10-22 18:44:18 -04:00
thartmann
a2fc77de24 8246453: TestClone crashes with "all collected exceptions must come from the same place"
Summary: Set deoptimize_on_exception for slow paths.
Reviewed-by: neliasso
2020-10-22 18:44:18 -04:00
chagedorn
310f6de15a 8239083: C1 assert(known_holder == NULL || (known_holder->is_instance_klass() && (!known_holder->is_interface() || ((ciInstanceKlass*)known_holder)->has_nonstatic_concrete_methods())), "should be non-static concrete method");
Summary: Remove unnecessary preparation to profile the holder of a static method called by a method handle in C1.
Reviewed-by: thartmann, kvn
2020-10-22 18:44:17 -04:00
weijun
22d21b77a7 8246193: Possible NPE in ENC-PA-REP search in AS-REQ
Reviewed-by: xuelei
2020-10-22 18:44:17 -04:00
aoqi
1039a2a78c 8246027: Minimal fastdebug build broken after JDK-8245801
Summary: Added COMPILER2_PRESENT macro
Reviewed-by: shade, thartmann
2020-10-22 18:44:16 -04:00
thartmann
c5525de5f0 8245801: StressRecompilation triggers assert "redundunt OSR recompilation detected. memory leak in CodeCache!"
Summary: Assert is too strong.
Reviewed-by: roland
2020-10-22 18:44:16 -04:00
xyin
d5b5777bed 8243138: Enhance BaseLdapServer to support starttls extended request
Reviewed-by: aefimov, dfuchs
2020-10-22 18:44:15 -04:00
prr
c5be925d70 8220150: macos10.14 Mojave returns anti-aliased glyphs instead of aliased B&W glyphs
Reviewed-by: serb, kcr
2020-10-22 18:44:15 -04:00
rraghavan
3336e5a993 8228448: Jconsole can't connect to itself
Summary: Additions done to allow jconsole to connect to itself
Reviewed-by: erikj
Contributed-by: ramkumar.sunderbabu@oracle.com
2020-10-22 18:44:14 -04:00
gadams
f1b9ac5b74 8203026: java.rmi.NoSuchObjectException: no such object in table
Reviewed-by: rriggs, sspitsyn
2020-10-22 18:44:14 -04:00
weijun
71417ea192 8172404: Tools should warn if weak algorithms are used before restricting them
Reviewed-by: mullan, weijun
Contributed-by: Hai-May Chao <hai-may.chao@oracle.com>
2020-10-22 18:44:14 -04:00
sgehwolf
72a603ebfb 8247874: Replacement in VersionProps.java.template not working when --with-vendor-bug-url contains '&'
Summary: Backports parts of 8223319: Add copyright footer to specs and man pages
Reviewed-by: andrew, phh
2020-10-22 18:44:13 -04:00
psadhukhan
b02e5c6dbb 8209343: Test javax/swing/border/TestTitledBorderLeak.java should be marked as headful
Reviewed-by: jdv
2020-10-22 18:44:13 -04:00
psadhukhan
292903d050 8234385: [TESTBUG] java/awt/EventQueue/6980209/bug6980209.java fails in linux nightly
Reviewed-by: serb
2020-10-22 18:44:12 -04:00
jjiang
14f80f197a 8228967: Trust/Key store and SSL context utilities for tests
Reviewed-by: xuelei, mbaesken
2020-10-22 18:44:12 -04:00
egahlin
301391b751 8230767: FlightRecorderListener returns null recording
Reviewed-by: mseledtsov, mgronlun
2020-10-22 18:44:11 -04:00
michaelm
9366c54ad3 8233958: Memory retention due to HttpsURLConnection finalizer that serves no purpose
Reviewed-by: dfuchs, rriggs
2020-10-22 18:44:11 -04:00
afarley
36272958ae 8229378: jdwp library loader in linker_md.c quietly truncates on buffer overflow
Summary: Check buffer overflow when the jdwp agent full dll name is built
Reviewed-by: cjplummer, sspitsyn, andrew
2020-10-22 18:44:10 -04:00
mbaesken
51aaccc7b6 8244196: adjust output in os_linux
Reviewed-by: dholmes, mdoerr
2020-10-22 18:44:10 -04:00
mbaesken
5aecb93b5e 8243389: enhance os::pd_print_cpu_info on linux
Reviewed-by: dholmes, mdoerr
2020-10-22 18:44:09 -04:00
ddong
110ad3d6dc 8240360: NativeLibraryEvent has wrong library name on Linux
Reviewed-by: ysuenaga, clanger
2020-10-22 18:44:09 -04:00
amenkov
eb335668c7 8244703: "platform encoding not initialized" exceptions with debugger, JNI
Reviewed-by: alanb, sspitsyn
2020-10-22 18:44:08 -04:00
goetz
5edbfcd631 8244225: stringop-overflow warning on strncpy call from compile_the_world_in
Reviewed-by: aph
2020-10-22 18:44:08 -04:00
psadhukhan
34f48c3c25 8234149: Several regression tests do not dispose Frame at end
Reviewed-by: serb
2020-10-22 18:44:08 -04:00
xuelei
1a908f2143 8223940: Private key not supported by chosen signature algorithm
Reviewed-by: valeriep
2020-10-22 18:44:07 -04:00
rehn
d5b78cd8c4 8213574: Deadlock in string table expansion when dumping lots of CDS classes
Reviewed-by: jiangli, iklam, dholmes
2020-10-22 18:44:07 -04:00
roland
d00809040a 8245714: "Bad graph detected in build_loop_late" when loads are pinned on loop limit check uncommon branch
Reviewed-by: thartmann
2020-10-22 18:44:06 -04:00
mullan
83e3a4f792 8237888: security/infra/java/security/cert/CertPathValidator/certification/LuxTrustCA.java fails when checking validity interval
Reviewed-by: xuelei
2020-10-22 18:44:06 -04:00
erikj
872a3be669 8216021: RunTest.gmk might set concurrency level to 1 on Windows
Reviewed-by: ctornqvi, tbell
2020-10-22 18:44:05 -04:00
ascarpino
6d53cf16f8 8233228: Disable weak named curves by default in TLS, CertPath, and Signed JAR
Reviewed-by: mullan, xuelei, weijun
2020-10-22 18:44:05 -04:00
prr
c9d3a45626 6949753: [TEST BUG]: java/awt/print/PageFormat/PDialogTest.java needs update by removing a infinite loop
Reviewed-by: jdv
2020-10-22 18:44:04 -04:00
chagedorn
939d481396 8230402: Allocation of compile task fails with assert: "Leaking compilation tasks?"
Summary: Remove assert that is only hit with hand written edge case tests.
Reviewed-by: kvn, thartmann
2020-10-22 18:44:04 -04:00
cjplummer
569ede41a0 8214797: TestJmapCoreMetaspace.java timed out
Reviewed-by: dcubed
2020-10-22 18:44:03 -04:00
jjiang
2b4e4637e6 8237977: Further update javax/net/ssl/compatibility/Compatibility.java
Reviewed-by: rhalade
2020-10-22 18:44:03 -04:00
darcy
511f78097c 8233452: java.math.BigDecimal.sqrt() with RoundingMode.FLOOR results in incorrect result
Reviewed-by: bpb, dfuchs
2020-10-22 18:44:02 -04:00
kvn
db08174fd1 8233741: AES Countermode (AES-CTR) optimization using AVX512 + VAES instructions
Reviewed-by: kvn
Contributed-by: smita.kamath@intel.com, regev.shemy@intel.com, shay.gueron@intel.com
2020-10-22 18:44:02 -04:00
srukmannagar
01dd0e2432 8225625: AES Electronic Codebook (ECB) encryption and decryption optimization using AVX512 + VAES instructions
Summary: AES-ECB encryption and decryption optimization for x86_64 architectures supporting AVX3+VAES
Reviewed-by: kvn, valeriep
Contributed-by: shravya.rukmannagari@intel.com, smita.kamath@intel.com
2020-10-22 18:44:01 -04:00
prr
4ed81251c5 8226697: Several tests which need the @key headful keyword are missing it.
Reviewed-by: serb
2020-10-22 18:44:01 -04:00
mbalao
0cb7085706 8239385: KerberosTicket client name refers wrongly to sAMAccountName in AD
Reviewed-by: weijun
2020-10-22 18:44:00 -04:00
jbachorik
5cb460ee1d 8243489: Thread CPU Load event may contain wrong data for CPU time under certain conditions
Reviewed-by: jbachorik
Contributed-by: Nikolay Martynov <nikolay.martynov@datadoghq.com>
2020-10-22 18:44:00 -04:00
hseigel
dcabdc3f8c 8234058: runtime/CompressedOops/CompressedClassPointers.java fails with 'Narrow klass base: 0x0000000000000000' missing from stdout/stderr
Summary: Don't run test on Windows because ASLR can cause unexpected memory addresses
Reviewed-by: coleenp
2020-10-22 18:43:59 -04:00
jlahoda
9c82b4a1fa 8229815: Upgrade Jline to 3.12.1
Reviewed-by: rfield
2020-10-22 18:43:59 -04:00
never
6c1953558c 8233027: OopMapSet::all_do does oms.next() twice during iteration
Reviewed-by: shade, kvn
2020-10-22 18:43:58 -04:00
never
b3819957e5 8232083: Minimal VM is broken after JDK-8231586
Reviewed-by: dlong
2020-10-22 18:43:57 -04:00
never
74a916cc26 8231586: enlarge encoding space for OopMapValue offsets
Reviewed-by: dlong
2020-10-22 18:43:57 -04:00
tnakamura
e9e9a2b097 8224184: jshell got IOException at exiting with AIX
Reviewed-by: rfield, jlahoda
2020-10-22 18:43:57 -04:00
jlahoda
c1a84aca31 8215244: jdk/jshell/ToolBasicTest.java testHistoryReference failed
Summary: Mark history entries from previous sessions with timestamp that is definitelly in the past.
Reviewed-by: rfield
2020-10-22 18:43:56 -04:00
rschmelter
622fbd4f12 8219712: code_size2 (defined in stub_routines_x86.hpp) is too small on new Skylake CPUs
Reviewed-by: mbaesken, dholmes, kvn
2020-10-22 18:43:56 -04:00
shade
82d723bfe2 8215354: x86_32 build failures after JDK-8214074 (Ghash optimization using AVX instructions)
Reviewed-by: thartmann
2020-10-22 18:43:55 -04:00
ascarpino
4efed15025 8214074: Ghash optimization using AVX instructions
Reviewed-by: kvn, ascarpino
Contributed-by: smita.kamath@intel.com
2020-10-22 18:43:55 -04:00
egahlin
457295440e 8210977: jdk/jfr/event/oldobject/TestThreadLocalLeak.java fails to find ThreadLocalObject
Reviewed-by: mgronlun, mseledtsov
2020-10-22 18:43:54 -04:00
jlahoda
81330e61e0 8215438: jshell tool: Ctrl-D causes EOF
Summary: Properly handling EndOfFileException so that jshell can be closed with Ctrl-D.
Reviewed-by: rfield
2020-10-22 18:43:54 -04:00
jlahoda
0c8610cf4d 8215243: JShell tests failing intermitently with \"Problem cleaning up the following threads:\"
Summary: Do not reset closed state in the StopDetectingInputStream.write
Reviewed-by: rfield
2020-10-22 18:43:53 -04:00
jlahoda
586dfe6b76 8214491: Upgrade to JLine 3.9.0
Summary: Upgrading JLine to 3.9.0 and updating jshell and jjs to the new JLine.
Reviewed-by: rfield, sundar
2020-10-22 18:43:53 -04:00
sballal
35af20e342 8209342: Problemlist SA tests on Solaris due to Error attaching to process: Can't create thread_db agent!
Reviewed-by: dcubed, iklam, jgeorge
2020-10-22 18:43:52 -04:00
coleenp
d56e6f97a7 8206309: Tier1 SA tests fail
Summary: remove tests that should have been removed with JDK-8205534
Reviewed-by: hseigel
2020-10-22 18:43:52 -04:00
coleenp
7e571bb76b 8205534: Remove SymbolTable dependency from serviceability agent
Reviewed-by: gziemski, poonam, jgeorge, hseigel
2020-10-22 18:43:51 -04:00
ngasson
de1643f260 8244164: AArch64: jaotc generates incorrect code for compressed OOPs with non-zero heap base
Reviewed-by: aph
2020-10-22 18:43:51 -04:00
goetz
36e4dd081b 8245616: Bump update version for OpenJDK: jdk-11.0.9
Reviewed-by: clanger
2020-10-22 18:43:50 -04:00
bpb
e2c56236da 8242695: Enhanced buffer support
Reviewed-by: alanb, rhalade, mbalao, andrew
2020-10-22 18:43:34 -04:00
dfuchs
32394a0091 8238270: java.net HTTP/2 client does not decrease stream count when receives 204 response
Summary: The HTTP/2 Stream is updated to register a trivial data subscriber in case of 204 so that the END_STREAM is correctly processed.
Reviewed-by: chegar
2020-10-22 18:43:33 -04:00
dfuchs
3a2177dcd5 8216974: HttpConnection not returned to the pool after 204 response
Summary: MultiExchange now call nullBody() on Exchange after receiving 204
Reviewed-by: chegar
2020-10-22 18:43:32 -04:00
serb
b66a21a9d1 8243925: Toolkit#getScreenInsets() returns wrong value on HiDPI screens (Windows)
Reviewed-by: prr, psadhukhan
2020-10-22 18:43:32 -04:00
Dmitry Batrak
f5b6222835 JBR-2712 Typeahead mechanism doesn't work on Windows
fix issue with newly opened popup not being recognized by screen reader
2020-10-22 11:26:58 +03:00
Vitaly Provodin
557b87f774 JBR-2810 refactor dcevm patches 2020-10-21 05:12:40 +07:00
Denis Konoplev
bf3e1c0c31 JBR-2795: Add explicit conversion 2020-10-19 20:08:36 +03:00
Dmitry Batrak
b20c56ff3e JBR-2759, JBR-2798 Typeahead issue on Linux
remove test that fails after the fix
there doesn't seem to be a sense in fixing an applet-related behaviour (captured in a synthetic test), when testing with a real applet isn't possible
2020-10-19 17:38:48 +03:00
Dmitry Batrak
a507cab6d3 JBR-2696 Log focus API invocations with stack traces
add com.apple.eawt.Application.requestForeground to the set of logged requests
2020-10-19 15:56:08 +03:00
Phil Race
35fc070473 JBR-2790 backport the fix from OpenJDK
8244818: Java2D Queue Flusher crash while moving application window to external monitor

Reviewed-by: serb, jdv, kcr
2020-10-16 17:09:46 +07:00
Vitaly Provodin
1813c24330 JBR-2762 add patch fixing DCEVM JVM Crashes on sun.instrument.InstrumentationImpl.retransformClasses method 2020-10-16 17:09:14 +07:00
Dmitry Batrak
76bdaf1131 JBR-2759 Typeahead issue on Linux 2020-10-15 13:32:30 +03:00
Vitaly Provodin
fcc56cc8a2 JBR-2787 fix copying jcef files into jbr/jbrsdk binaries 2020-10-15 08:56:23 +07:00
Dmitry Batrak
1a9838082e JBR-2712 Typeahead mechanism doesn't work on Windows 2020-10-13 13:12:03 +03:00
Dmitry Batrak
d60027e12b JBR-2778 Revert fix for JBR-1973 (IDEA-215004)
This reverts commit c8b3c854
2020-10-12 12:40:03 +03:00
Rajan Halade
bd27263ec7 JBR-2774 Backport: Updated GetPolicyQualifiers.java test
8254081: java/security/cert/PolicyNode/GetPolicyQualifiers.java fails due to an expired certificate

Perform backdated validation of test certificate.

Reviewed-by: mullan, xuelei
2020-10-09 16:25:53 +07:00
Vitaly Provodin
27eafd8a53 Remove jogl and gluegen modules from module-info and modules list
These modules will be added via patch during building corresponding JBR binaries
2020-10-06 07:18:50 +07:00
Anton Tarasov
96da1139c0 Add jogl and gluegen modules to support jcef osr mode
OSR - off-screen rendering
2020-10-05 20:52:49 +03:00
Vitaly Provodin
668570bc61 JBR-2758 refactor building scripts to apply patches adding required modules instead of excluding them 2020-10-05 17:03:54 +07:00
Vitaly Provodin
d3ec3d899d JBR-2736 provide writeObjects implementation for copying files/folders (fix review notes) 2020-10-02 13:52:15 +07:00
Mikhail Grishchenko
d1479872f2 JBR-2412 [windows] mouse listener does not work for jcef
added regression test
2020-09-30 19:43:42 +07:00
Mikhail Grishchenko
e8e4741bb0 JBR-2639 [win] jcef does not recognize vertical mouse wheel events
added regression test
2020-09-30 12:53:32 +07:00
Andrey Starovoyt
33db034d49 JBR-2736 provide writeObjects implementation for copying files/folders from Project Explorer to the Finder 2020-09-30 06:50:13 +07:00
Roman Shevchenko
6a85e88e94 README: correcting proper nouns 2020-09-29 21:45:34 +02:00
Vitaly Provodin
8b7ad2e58f updated JTreg exclude list 2020-09-29 06:20:36 +07:00
Artem Semenov
696a9a4128 JR-CR-667 JBR-2738 Create a test for JTable Accessibility 2020-09-28 13:01:39 +03:00
Artem Semenov
54bb49caeb Review JR-CR-645 JBR-2504 A11y Create a test to test the accessibility of lists on MAc
(cherry picked from commit 92e40bf92c00fb5ce46dff41fc23ad39e460fcc1)
2020-09-25 12:55:34 +03:00
Vitaly Provodin
9c0afe3a7d updated JTreg exclude list 2020-09-24 05:04:33 +07:00
Dmitry Batrak
6dd334f9f0 JBR-2648 Cannot input Japanese and Chinese text in Search Everywhere
code being removed (added to fix JRE-665) is not needed after JBR-2533 fix, as 'simple' windows are natively focused now
2020-09-23 17:27:37 +03:00
Dmitry Batrak
96dd8fcf48 JBR-2735 PopupIncomingFocusTest is failing on KDE when launched via jtreg 2020-09-23 12:47:19 +03:00
Egor Ushakov
9b960dd02a navigation to issues from vcs log 2020-09-16 15:38:20 +03:00
Mikhail Grishchenko
6b7d5fd58c updated JTreg exclude list 2020-09-16 16:25:07 +07:00
Dmitry Batrak
ebcdeb7d80 JBR-2698 setAutoRequestFocus(false) breaks focus logic under i3 window manager on Linux 2020-09-11 11:11:17 +03:00
Vitaly Provodin
67870df19e updated JTreg exclude list 2020-09-11 10:36:59 +07:00
Nikita Gubarkov
afd19dbefd JBR-2614 Fixed LCD glyph width to include both left & right padding, so that rowBytes = width * 3 2020-09-10 15:45:25 +03:00
Nikita Gubarkov
a55097289b Revert "JBR-2614 Passed real glyph type from native code instead of guessing on rowBytes & width"
This reverts commit 8de39b80
2020-09-10 15:39:00 +03:00
Nikita Gubarkov
8de39b80cd JBR-2614 Passed real glyph type from native code instead of guessing on rowBytes & width 2020-09-10 01:50:34 +03:00
Dmitry Batrak
0f038754e5 JBR-2696 Log focus API invocations with stack traces 2020-09-07 14:19:43 +03:00
Vitaly Provodin
4aa278e4a0 Revert "JBR-2577 implemented precise CompilationMXBean#getTotalCompilationTime"
This reverts commit 89163e73
2020-09-07 16:44:40 +07:00
Vitaly Provodin
e3562ecc99 Revert "thread.cpp:4574:43: error: ‘nullptr’ quick fix"
This reverts commit 82a36017
2020-09-07 16:44:20 +07:00
Vitaly Provodin
b62d47da9c updated JTreg exclude list 2020-09-06 06:27:20 +07:00
MonoBot
715e8d345a Fonts release 2.002 2020-08-27 14:05:47 +03:00
Vitaly Provodin
e748f39e20 updated JTreg exclude list 2020-08-26 11:41:35 +07:00
Brian Burkhalter
428ade4fd8 8221852: SYMBOLIC_LINK_FLAG_ALLOW_UNPRIVILEGED_CREATE should be selected at runtime, not build time
Reviewed-by: alanb, shade
2020-08-24 11:36:15 +07:00
Alexey Ushakov
e28ff71e97 JBR-2617 Text with opacity renders black
Some more adjustments in font thickness for dark text. Added JVM properties for fine tuning
2020-08-21 23:52:21 +03:00
Elena Sayapina
f826eb992e IDEA-242347: [TESTUPDATE] Added a comment 2020-08-20 18:10:47 +07:00
Denis Konoplev
ba3f14c83a JBR-2669: set unicode for both keyCode and extendedKeyCode 2020-08-19 21:56:51 +03:00
Alexey Titov
82a3601748 thread.cpp:4574:43: error: ‘nullptr’ quick fix 2020-08-19 14:58:35 +03:00
Kirill Kirichenko
eeab5252e6 JBR-2667 Post review: rename win.darkTheme.on to win.lightTheme.on and reversed the logic 2020-08-19 11:32:58 +03:00
Alexey Ushakov
838bbedd1a Merge pull request #33 from JetBrains/alexey.titov/precise-compilation-time
JBR-2577 implemented precise CompilationMXBean#getTotalCompilationTime
2020-08-18 17:40:47 +03:00
Kirill Kirichenko
0e4ad056dd JBR-2667 Add new AWT desktop property for light/dark theme detection on Windows 10 2020-08-18 14:12:37 +03:00
Alexey Titov
89163e73d0 JBR-2577 implemented precise CompilationMXBean#getTotalCompilationTime 2020-08-13 15:37:22 +03:00
Dmitry Batrak
665ebc5d47 JBR-2652 Window is not focused in some cases on Linux 2020-08-11 13:44:58 +03:00
denis.konoplev
32b1c35305 IDEA-242347: Remove sun.awt.event.KeyEvent import 2020-08-10 12:25:10 +03:00
Alexey Ushakov
55c7be5fe9 JBR-2617 Text with opacity renders black
Minor adjustments of dark text according to UX-1320
2020-08-07 19:52:02 +03:00
denis.konoplev
5017e2e385 IDEA-242347: Remove redundant conversion for Latin unicode 2020-08-07 15:00:02 +03:00
Anton Tarasov
492c217125 JBR-2645 enable CefBrowser.close(true) in jcef reg tests 2020-08-06 16:19:03 +03:00
Alexey Ushakov
269c9580fb JBR-2617 Text with opacity renders black
Corrected bright text thickness (smooth on), bright and dark text thickness (smooth off)
2020-08-06 13:47:28 +03:00
Elena Sayapina
5f691bb788 JBR-2630 Typing speed in IDE editor was dropped after switching to 11.0.8
Introduced sun.awt.osx.RobotSafeDelayMillis property to control macOS specific safe delay for Robot methods.
50 ms safe delay was initially hardcoded in 3862142d (JDK-8242174: [macos] The NestedModelessDialogTest test make the macOS unstable) which affected performance tests execution.
2020-08-06 12:29:37 +07:00
Vitaly Provodin
bcdd2242ef JBR-2634 add facilities generating windows fastdebug builds 2020-08-06 09:53:42 +07:00
Rahul Yadav
faee138574 8240666: Websocket client’s OpeningHandshake discards the HTTP response body
The fix updates jdk.internal.net.http.websocket. OpeningHandshake.send() method to process the response body from server

Reviewed-by: chegar, dfuchs, prappo
(cherry picked from commit ed24927500)
2020-08-05 15:32:40 +07:00
Daniel Fuchs
fb69e212ba 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
(cherry picked from commit c6da6681d4)
2020-08-05 15:32:40 +07:00
Daniel Fuchs
d8cc648a18 8216478: Cleanup HttpResponseImpl back reference to HttpConnection
Retain a reference to Exchange and HttpConnection only when necessary, i.e. for WebSocket initial connection.

Reviewed-by: chegar
(cherry picked from commit ad67fe1baf)
2020-08-05 15:32:40 +07:00
Julia Boes
15d2b6217d 8232853: AuthenticationFilter.Cache::remove may throw ConcurrentModificationException
Change implementation to use iterator instead of plain LinkedList

Reviewed-by: dfuchs, vtewari
(cherry picked from commit d948bfd584)
2020-08-05 15:32:40 +07:00
Michael McMahon
b92f4a73b4 8199849: Add support for UTF-8 encoded credentials in HTTP Basic Authentication
Reviewed-by: chegar, dfuchs
(cherry picked from commit e3b6b7f842)
2020-08-05 15:32:40 +07:00
Michael McMahon
5f0e3bcd37 8217237: HttpClient does not deal well with multi-valued WWW-Authenticate challenge headers
Reviewed-by: chegar, dfuchs
(cherry picked from commit d089a4ae51)
2020-08-05 15:32:40 +07:00
Chris Hegarty
e6f336ae8b 8217429: WebSocket over authenticating proxy fails to send Upgrade headers
Reviewed-by: dfuchs, prappo
(cherry picked from commit 46f4ab603b)
2020-08-05 15:32:40 +07:00
Brian Burkhalter
7c0f78edf1 8227080: (fs) Files.newInputStream(...).skip(n) is slow
Reviewed-by: sbordet, rriggs, fweimer
(cherry picked from commit c6c82dd736)
2020-08-05 15:22:14 +07:00
Brian Burkhalter
a2ba1bd211 8215467: Files.isHidden should return true for hidden directories on Windows
Reviewed-by: alanb, bchristi, darcy
(cherry picked from commit 5c5d27962a)
2020-08-05 15:22:14 +07:00
Alexey Ushakov
c95adeb8f2 JBR-2617 Text with opacity renders black
Fix compilation on windows
2020-08-04 20:58:47 +03:00
Alexey Ushakov
c30306f779 JBR-2617 Text with opacity renders black
Implemented alpha blending in grayscale text rendering
2020-08-04 19:09:37 +03:00
Konstantin Bulenkov
ad8ac1f3bc Merge pull request #28 from JetBrains/mono/2.001
JetBrains Mono release 2.001
2020-07-31 09:05:46 +02:00
Aleksey Shipilev
63719b57ed 8221824: Build failure with MSVS 2013 after JDK-8218418
Reviewed-by: stuefe, alanb
2020-07-31 13:47:51 +07:00
bpb
0f775c6d66 8218418: (fs) Files.createSymbolicLink should use SYMBOLIC_LINK_FLAG_ALLOW_UNPRIVILEGED_CREATE (win)
Reviewed-by: alanb
2020-07-31 13:46:11 +07:00
Sergey Malenkov
523d80cafd EA-235126 - CME: HighlightableComponent.getPreferredSize 2020-07-29 22:05:39 +03:00
Mikhail Grishchenko
ca48245ee3 updated JTreg exclude list 2020-07-29 16:26:39 +07:00
Zhengyu Gu
fd6991529e JBR-2616 Backport: disable test for 32bit platforms
8241086: Test runtime/NMT/HugeArenaTracking.java is failing on 32bit Windows

Reviewed-by: stuefe
2020-07-29 16:25:07 +07:00
Alexey Ushakov
1e04518d5c CMake: defined MACOSX macro for project sources 2020-07-24 19:34:38 +03:00
Alexey Ushakov
5953202a7e JBR-2521 Ugly font in all 2020.2 EAPs on macOS
Provide gamma correction for both light and dark text
2020-07-24 19:33:52 +03:00
Vitaly Provodin
e333be38f4 updated JTreg exclude list 2020-07-24 11:55:12 +07:00
Mikhail Grishchenko
c1bca14fd3 JBR-2586 Render benchmark hangs on Linux and Windows
Fixed incorrect color of jpanel.
2020-07-23 18:07:12 +07:00
Anton Tarasov
57bbddf071 JBR-2259 WebSite isn't loaded with .loadUrl method if browser isn't shown in UI 2020-07-23 10:08:36 +03:00
Vitaly Provodin
9f930e3748 resolving conflict DCEVM vs 11.0.8 update 2020-07-23 10:22:07 +07:00
Alexey Ushakov
64f610b58e CMake: Added compile targets for linux 2020-07-22 20:34:09 +03:00
Alexey Ushakov
ed52fde57d JBR-2591 Repainting is broken (was: Icons in tree list widgets became dark)
Fix compilation on linux
2020-07-22 20:32:13 +03:00
Alexey Ushakov
f517bb3380 Merge pull request #29 from bell-sw/update_11.0.8
jdk-11.0.8-ga update
2020-07-22 14:05:35 +03:00
Alexey Ushakov
7beb75ccec JBR-2591 Repainting is broken (was: Icons in tree list widgets became dark)
Save current blend mode before cached grayscale rendering
2020-07-22 13:21:42 +03:00
andrew
f8ff966477 Added tag jdk-11.0.8-ga for changeset 0b0d55cb09b2 2020-07-22 02:14:38 +03:00
andrew
c9a79afe07 Added tag jdk-11.0.8+10 for changeset 0b0d55cb09b2 2020-07-22 02:02:27 +03:00
valeriep
2834f4adb0 8248505: Unexpected NoSuchAlgorithmException when using secure random impl from BCFIPS provider
Summary: Use getService(...) call for Provider.getDefaultSecureRandomService()
Reviewed-by: weijun, coffeys, mullan
2020-07-22 02:02:26 +03:00
andrew
6d10730d00 Added tag jdk-11.0.8+9 for changeset 59f8565ee5e2 2020-07-22 02:02:26 +03:00
joehw
abf2d7d74c 8242136: Better XML namespace handling
Reviewed-by: lancea, dfuchs, skoivu, rhalade, kravikumar
2020-07-22 02:02:25 +03:00
amenkov
be2bbc2f48 8241522: Manifest improved jar headers redux
Reviewed-by: sspitsyn, jwilhelm, mschoene, rhalade
2020-07-22 02:02:25 +03:00
weijun
dbf75d0e56 8241379: Update JCEKS support
Reviewed-by: ahgross, mullan, rhalade
2020-07-22 02:02:24 +03:00
serb
60118a409e 8240482: Improved WAV file playback
Reviewed-by: amenkov, rhalade, mschoene, prr
2020-07-22 02:02:24 +03:00
prr
a08aa25531 8240119: Less Affine Transformations
Reviewed-by: serb, bpb, mschoene, rhalade
2020-07-22 02:02:23 +03:00
serb
ce61762e04 8238925: Enhance WAV file playback
Reviewed-by: prr, amenkov, rhalade, mschoene
2020-07-22 02:02:22 +03:00
bpb
1c244b7bc0 8238920: Better Buffer support
Reviewed-by: alanb, ahgross, rhalade, psandoz
2020-07-22 02:02:22 +03:00
prr
b8b35ffb01 8238843: Enhanced font handing
Reviewed-by: serb, psadhukhan, mschoene, rhalade
2020-07-22 02:02:21 +03:00
weijun
24418db7cd 8238804: Enhance key handling process
Reviewed-by: rriggs, mullan, ahgross, rhalade
2020-07-22 02:02:21 +03:00
bpb
93c5a7b606 8238013: Enhance String writing
Reviewed-by: alanb, ahgross, rhalade, rriggs
2020-07-22 02:02:20 +03:00
prr
c61033caba 8238002: Better matrix operations
Reviewed-by: serb, erikj, mschoene, rhalade
2020-07-22 02:02:19 +03:00
weijun
b04998a70a 8237592: Enhance certificate verification
Reviewed-by: xuelei, mullan, rhalade, ahgross
2020-07-22 02:02:19 +03:00
chegar
5e281062c3 8237117: Better ForkJoinPool behavior
Reviewed-by: dfuchs, alanb, rhalade, mullan
2020-07-22 02:02:18 +03:00
phh
784be32b7e 8236867: Enhance Graal interface handling
Summary: Includes "[GR-14791] Fix NPE in InliningData.getInlineInfo" (Graal 4c69db20e2b614c29af27ed95d20e3b80bd21848)
Reviewed-by: andrew
Contributed-by: benty@amazon.com
2020-07-22 02:02:17 +03:00
xuelei
783a80c6c6 8236191: Enhance OID processing
Reviewed-by: jnimeh, weijun, ahgross, rhalade
2020-07-22 02:02:16 +03:00
rriggs
9796449910 8234836: Improve serialization handling
Reviewed-by: skoivu, rhalade, chegar
2020-07-22 02:02:15 +03:00
mullan
381d62cc37 8234418: Better parsing with CertificateFactory
Reviewed-by: weijun, mschoene, rhalade
2020-07-22 02:02:15 +03:00
mullan
11ad64ffa3 8234042: Better factory production of certificates
Reviewed-by: weijun, rhalade, mschoene
2020-07-22 02:02:14 +03:00
mullan
1d0182f137 8234032: Improve basic calendar services
Reviewed-by: weijun, rhalade, mschoene
2020-07-22 02:02:13 +03:00
serb
d1d9055e51 8233255: Better Swing Buttons
Reviewed-by: alitvinov, prr, ahgross, rhalade
2020-07-22 02:02:13 +03:00
jdv
3767fcae50 8233239: Enhance TIFF support
Reviewed-by: prr, bpb, mschoene, rhalade
2020-07-22 02:02:12 +03:00
phh
1aa7603700 8233234: Better Zip Naming
Reviewed-by: andrew, mbalao
Contributed-by: James Guo <junguoj@amazon.com>
2020-07-22 02:02:11 +03:00
joehw
628e62978b 8232014: Expand DTD support
Reviewed-by: lancea, dfuchs, mschoene, rhalade, aefimov
2020-07-22 02:02:10 +03:00
smarks
8949ef0d15 8231800: Better listing of arrays
Reviewed-by: alanb, rhalade, ahgross, igerasim
2020-07-22 02:02:10 +03:00
aefimov
75d8c71dd8 8230613: Better ASCII conversions
Reviewed-by: dfuchs, naoto, mschoene, rhalade
2020-07-22 02:02:09 +03:00
goetz
d931e3ceb9 Added tag jdk-11.0.8+8 for changeset 40b646e9d8fb 2020-07-22 01:19:18 +03:00
goetz
01d727e6a3 Added tag jdk-11.0.8+7 for changeset 46d4984bb3c6 2020-07-22 01:18:00 +03:00
goetz
e7ac29729c Added tag jdk-11.0.8+6 for changeset e42c6d1a1993 2020-07-22 01:17:23 +03:00
goetz
bb6e1641db Added tag jdk-11.0.8+5 for changeset 8df1a601187c 2020-07-22 01:16:34 +03:00
goetz
703ed01dd0 Added tag jdk-11.0.8+4 for changeset aa6c93b4f1ac 2020-07-22 01:16:06 +03:00
goetz
77eaa99d36 Added tag jdk-11.0.8+3 for changeset 2c0c9cfe2a4e 2020-07-22 01:15:19 +03:00
goetz
b6fbcf5b0c Added tag jdk-11.0.8+2 for changeset 88eaa453331e 2020-07-22 01:14:38 +03:00
goetz
aaa8cec640 Added tag jdk-11.0.8+1 for changeset 2eb415c82056 2020-07-22 01:14:01 +03:00
Alexey Ushakov
ad409b4370 JBR-2593 Wide ligatures not rendered in Grayscale mode
Added missing flush of cached vertices
2020-07-21 19:55:45 +03:00
bell-sw
eab96a58e3 reverted functional part of ccfe65b (JRE-938 [windows] Frame.setMaximizedBounds not hidpi-aware) due to upstream update 8176359 (Frame#setMaximizedbounds not working properly in multi screen environments) 2020-07-21 11:50:40 +03:00
Vitaly Provodin
345329a74c updated JTreg exclude list 2020-07-17 12:21:26 +07:00
Vitaly Provodin
60ce8b7256 updated JTreg exclude list 2020-07-17 10:10:23 +07:00
Vitaly Provodin
db4eb3fbc2 JBR-2566 parametrize paths to modules JCEF, JFX - fix for linux_fastdebug 2020-07-16 18:00:01 +07:00
Vitaly Provodin
109422a2de JBR-2566: parametrize paths to modules JCEF, JFX 2020-07-16 16:32:02 +07:00
Alexey Ushakov
a6f33217c4 JBR-1929 Improve rendering of San Francisco font of macOS Catalina
Implemented gamma correction (gamma=2.2) for grayscale rendering in shader (for font size <= 64). It is controlled by Mac rendering setting "Use font smoothing when available"
2020-07-14 23:02:05 +03:00
valeriep
7cd6ae51b8 8246613: Choose the default SecureRandom algo based on registration ordering
Summary: Fixed java.security.Provider and SecureRandom to use the 1st registered SecureRandom service
Reviewed-by: weijun, mullan
2020-07-14 18:25:43 +03:00
pkoppula
504dcf5a5e 8246031: SSLSocket.getSession() doesn't close connection for timeout/ interrupts
Reviewed-by: xuelei, coffeys
2020-07-14 18:25:42 +03:00
rhalade
54219be493 8225069: Remove Comodo root certificate that is expiring in May 2020
Reviewed-by: mullan
2020-07-14 18:25:41 +03:00
robm
d252dbfe54 8214440: ldap over a TLS connection negotiate failed with "javax.net.ssl.SSLPeerUnverifiedException: hostname of the server '' does not match the hostname in the server's certificate"
Reviewed-by: vtewari, xuelei
2020-07-14 18:25:40 +03:00
xuelei
130f7b7ae8 8242141: New System Properties to configure the TLS signature schemes
Reviewed-by: ascarpino, jnimeh, mullan
2020-07-14 18:25:39 +03:00
itakiguchi
c21000efc0 8242541: Small charset issues (ISO8859-16, x-eucJP-Open, x-IBM834 and x-IBM949C)
Summary: Modify ISO8859-16, x-eucJP-Open, x-IBM834 and x-IBM949C charset related files
Reviewed-by: naoto
2020-07-14 18:25:38 +03:00
xliu
d8e5df1778 8022574: remove HaltNode code after uncommon trap calls
Reviewed-by: thartmann, mdoerr, simonis
2020-07-14 18:25:36 +03:00
chagedorn
1995bf0bf3 8231720: Some perf regressions after 8225653
Summary: Fixed emitting of unused assembly code in 8225653​ which had a negative impact on performance in tight loops.
Reviewed-by: kvn, thartmann
2020-07-14 18:25:35 +03:00
chagedorn
e6126eeab5 8225653: Provide more information when hitting SIGILL from HaltNode
Summary: Add information string for each HaltNode which is printed if hit at runtime.
Reviewed-by: vlivanov, thartmann
2020-07-14 18:25:34 +03:00
erikj
3cf320fe7b 8244951: Missing entitlements for hardened runtime
Reviewed-by: ihse
2020-07-14 18:25:33 +03:00
mdoerr
2d6da4f86b 8245047: [PPC64] C2: ReverseBytes + Load always match to unordered Load (acquire semantics missing)
Summary: Introduce separate nodes with acquire semantics which match ReverseBytes + Load.acquire.
Reviewed-by: shade, lucy
2020-07-14 18:25:32 +03:00
eosterlund
089ca96153 8216541: CompiledICHolders of VM locked unloaded nmethods are released too late
Reviewed-by: kvn, thartmann
2020-07-14 18:25:31 +03:00
epavlova
3f3902cb8e 8225622: [AOT] runtime/SharedArchiveFile/TestInterpreterMethodEntries.java crashed with AOTed java.base
Reviewed-by: kvn
2020-07-14 18:25:30 +03:00
rhalade
a16dc710c3 8225068: Remove DocuSign root certificate that is expiring in May 2020
Reviewed-by: mullan
2020-07-14 18:25:29 +03:00
dtitov
dec592bc63 8206179: com/sun/management/OperatingSystemMXBean/GetCommittedVirtualMemorySize.java fails with Committed virtual memory size illegal value
Reviewed-by: sspitsyn, cjplummer
2020-07-14 18:25:28 +03:00
never
e88af15954 8191930: [Graal] emits unparseable XML into compile log
Reviewed-by: kvn
2020-07-14 18:25:27 +03:00
joehw
3923f17212 8242470: Update Xerces to Version 2.12.1
Reviewed-by: lancea, naoto
2020-07-14 18:25:26 +03:00
mbaesken
6508bfc82b 8210147: adjust some WSAGetLastError usages in windows network coding
Reviewed-by: clanger, stuefe
2020-07-14 18:25:25 +03:00
kvn
983b6a9135 8216151: [Graal] Module jdk.internal.vm.compiler.management has not been granted accessClassInPackage.org.graalvm.compiler.debug
Summary: update default.policy based on latest changes in jdk.internal.vm.compiler.management
Reviewed-by: thartmann, alanb, mchung
2020-07-14 18:25:24 +03:00
phh
9f4d3c61d1 8245649: Revert 8245397 backport of 8230591
Summary: Revert 8245397 backport of 8230591
Reviewed-by: clanger
2020-07-14 18:25:23 +03:00
never
308aa701d3 8241458: [JVMCI] add mark value to expose CodeOffsets::Frame_Complete
Reviewed-by: kvn
2020-07-14 18:25:22 +03:00
ihse
6c147f3202 8217404: --with-jvm-features doesn't work when multiple features are explicitly disabled
Reviewed-by: vlivanov, kbarrett
2020-07-14 18:25:21 +03:00
pli
0eb6d3d068 8230591: AArch64: Missing intrinsics for Math.ceil, floor, rint
Reviewed-by: aph
2020-07-14 18:25:20 +03:00
mneugschwand
8f175ec887 8235908: omit ThreadPriorityPolicy warning when value is set from image
Reviewed-by: dholmes, clanger, kvn
2020-07-14 18:25:19 +03:00
kbarrett
850fb572dc 8233364: Fix undefined behavior in Canonicalizer::do_ShiftOp
Summary: Add java_shift_xxx helpers and use them.
Reviewed-by: aph, kvn
2020-07-14 18:25:18 +03:00
erikj
7df7269780 8232134: Change to Visual Studio 2017 15.9.16 for building on Windows at Oracle
Reviewed-by: ihse
2020-07-14 18:25:17 +03:00
dlong
96adcfc0e6 8224931: disable JAOTC invokedynamic support until 8223533 is fixed
Reviewed-by: kvn, never
2020-07-14 18:25:16 +03:00
serb
1415d66d15 8239819: XToolkit: Misread of screen information memory
Reviewed-by: prr
2020-07-14 18:25:15 +03:00
pkoppula
4dd1c56feb 8237474: Default SSLEngine should create in server role
Reviewed-by: xuelei, coffeys
2020-07-14 18:25:14 +03:00
coleenp
2ee02a5ed7 8224847: gc/stress/TestReclaimStringsLeaksMemory.java fails with reserved greater than expected
Summary: Rehash threshold was too low for StringTable, and rehashed size table was too large.
Reviewed-by: rehn, gziemski
2020-07-14 18:25:13 +03:00
lmesnik
329ff5ce0b 8139876: Exclude hanging nsk/stress/stack from execution with deoptimization enabled
Reviewed-by: kvn, mseledtsov
2020-07-14 18:25:12 +03:00
thartmann
759f8d8557 8217447: Develop flag TraceICs is broken
Summary: Added NULL check and fixed output.
Reviewed-by: kvn
2020-07-14 18:25:10 +03:00
igerasim
a56d0c87a9 8210788: Javadoc for Thread.join(long, int) should specify that it waits forever when both arguments are zero
Reviewed-by: martin, rriggs
2020-07-14 18:25:09 +03:00
rehn
13be5a2e39 8212933: Thread-SMR: requesting a VM operation whilst holding a ThreadsListHandle can cause deadlocks
Reviewed-by: eosterlund, dcubed, sspitsyn, dholmes
2020-07-14 18:25:08 +03:00
lucy
73035bd402 8221482: Initialize VMRegImpl::regName[] earlier to prevent assert during PrintStubCode
Reviewed-by: kvn
2020-07-14 18:25:07 +03:00
bobv
1bd454ad99 8244853: The static build of libextnet is missing the JNI_OnLoad_extnet function
Reviewed-by: alanb
2020-07-14 18:25:06 +03:00
stuefe
928ed232a4 8244777: ClassLoaderStats VM Op uses constant hash value
Reviewed-by: coleenp, jbachorik
2020-07-14 18:25:05 +03:00
thartmann
ab62dfba6a 8156207: Resource allocated BitMaps are often cleared unnecessarily
Summary: Removed unnecessary clearing of BitMap.
Reviewed-by: kbarrett, kvn, thartmann
Contributed-by: Christian Hagedorn <christian.hagedorn@oracle.com>
2020-07-14 18:25:04 +03:00
kravikumar
37e74b13fc 8243541: (tz) Upgrade time-zone data to tzdata2020a
Reviewed-by: naoto, martin, andrew
2020-07-14 18:25:03 +03:00
kbarrett
27ffdd6fe9 8234779: Provide idiom for declaring classes noncopyable
Summary: Add NONCOPYABLE macro and uses.
Reviewed-by: dholmes, pliden, coleenp
2020-07-14 18:25:01 +03:00
bulasevich
da80c80707 8227632: Incorrect PrintCompilation message: made not compilable on levels 0 1 2 3 4
Summary: Fixing the message to print actual comp_level
Reviewed-by: dlong, kvn
2020-07-14 18:25:00 +03:00
rraghavan
3e853f2f4c 8226198: use of & instead of && in LibraryCallKit::arraycopy_restore_alloc_state
Summary: Used logical operator correctly
Reviewed-by: kvn, thartmann
2020-07-14 18:24:59 +03:00
thartmann
b28939a548 8226879: Memory leak in Type::hashcons
Summary: Call delete on xdual type.
Reviewed-by: kvn
2020-07-14 18:24:58 +03:00
dlong
820fbcbdf6 8211743: [AOT] crash in ScopeDesc::decode_body() when JVMTI walks AOT frames
Reviewed-by: kvn
2020-07-14 18:24:57 +03:00
kbarrett
fef8cb45fe 8204834: Fix confusing "allocate" naming in OopStorage
Summary: allocate_list => allocation_list and so on.
Reviewed-by: dholmes, tschatzl, coleenp
2020-07-14 18:24:56 +03:00
rehn
1c6eb891ef 8210303: VM_HandshakeAllThreads fails assert with "failed: blocked and not walkable"
Reviewed-by: dcubed, dholmes
2020-07-14 18:24:55 +03:00
fyang
ebef5bf7ec 8244407: JVM crashes after transformation in C2 IdealLoopTree::split_fall_in
Reviewed-by: thartmann, kvn
Contributed-by: zhouyong44@huawei.com
2020-07-14 18:24:54 +03:00
lucy
db9fc47477 8219214: Infinite Loop in CodeSection::dump()
Reviewed-by: kvn, thartmann
2020-07-14 18:24:53 +03:00
thartmann
52cbb297dc 8225783: Incorrect use of binary operators on booleans in type.cpp
Summary: Use logical operators instead.
Reviewed-by: roland
2020-07-14 18:24:52 +03:00
redestad
6c2bd656f1 8215555: TieredCompilation C2 threads can excessively block handshakes
Reviewed-by: kvn, neliasso, rehn
2020-07-14 18:24:51 +03:00
ysuenaga
31a0a57dee 8216154: C4819 warnings at HotSpot sources on Windows
Reviewed-by: kbarrett, tschatzl
2020-07-14 18:24:50 +03:00
serb
88c971be72 8221823: Requested JDialog width is ignored
Reviewed-by: aivanov
2020-07-14 18:24:49 +03:00
fweimer
085bed455d 8233880: Support compilers with multi-digit major version numbers
Reviewed-by: tbell
2020-07-14 18:24:48 +03:00
thartmann
9349638970 8242108: Performance regression after fix for JDK-8229496
Summary: Backed out the fix for 8229496.
Reviewed-by: kvn, roland
2020-07-14 18:24:47 +03:00
lmesnik
49aec1efde 8215369: Jcstress pollute /var/tmp with temporary files.
Reviewed-by: iignatyev, mseledtsov
2020-07-14 18:24:46 +03:00
kvn
6409588457 8211392: compiler/profiling/spectrapredefineclass_classloaders/Launcher.java times out in JDK12 CI
Summary: use default compile threshold for these tests
Reviewed-by: thartmann
2020-07-14 18:24:45 +03:00
mbaesken
41e1a5d6c1 8244520: problemlist java/awt/font/Rotate/RotatedFontTest.java on linux
Reviewed-by: clanger
2020-07-14 18:24:44 +03:00
serb
3862142d01 8242174: [macos] The NestedModelessDialogTest test make the macOS unstable
Reviewed-by: prr
2020-07-14 18:24:43 +03:00
dbuck
07be678e25 8234691: Potential double-free in ParallelSPCleanupTask constructor
Summary: Prevent extraneous constructor call
Reviewed-by: dholmes, stefank
2020-07-14 18:24:42 +03:00
serb
c72af0cee5 8196181: sun/java2d/GdiRendering/InsetClipping.java fails
Reviewed-by: jdv
2020-07-14 18:24:41 +03:00
alitvinov
5df643d04e 8242498: Invalid "sun.awt.TimedWindowEvent" object leads to JVM crash
Reviewed-by: prr, serb
2020-07-14 18:24:39 +03:00
weijun
0bc8232032 8243539: Copyright info (Year) should be updated for fix of 8241638
Reviewed-by: weijun
Contributed-by: Bin Liao <buddyliao@tencent.com>
2020-07-14 18:24:38 +03:00
henryjen
cde7b3f860 8241638: launcher time metrics always report 1 on Linux when _JAVA_LAUNCHER_DEBUG set
Reviewed-by: alanb, dholmes
Contributed-by: linzang@tencent.com
2020-07-14 18:24:37 +03:00
tnakamura
ea60706eff 8240518: Incorrect JNU_ReleaseStringPlatformChars in Windows Print
Reviewed-by: serb, pbansal, psadhukhan
2020-07-14 18:24:36 +03:00
afarley
a15ef6ed59 8239365: ProcessBuilder test modifications for AIX execution
Reviewed-by: rriggs, stuefe
2020-07-14 18:24:35 +03:00
tnakamura
224a2c43f7 8232846: ProcessHandle.Info command with non-English shows question marks
Reviewed-by: stuefe, ysuenaga, rriggs
2020-07-14 18:24:34 +03:00
bulasevich
6dc5e764b0 8213947: ARM32: failed check_simd should set UsePopCountInstruction to false
Reviewed-by: kvn
2020-07-14 18:24:33 +03:00
dtitov
a9dbc61644 8242239: [Graal] javax/management/generified/GenericTest.java fails: FAILED: queryMBeans sets same
Reviewed-by: cjplummer, sspitsyn
2020-07-14 18:24:32 +03:00
serb
5229cca547 8241808: [TESTBUG] The JDK-8039467 bug appeared on macOS
Reviewed-by: kizune, pbansal
2020-07-14 18:24:31 +03:00
serb
7ea0f008de 8240786: [TESTBUG] The test java/awt/Window/GetScreenLocation/GetScreenLocationTest.java fails on HiDPI screen
Reviewed-by: jdv, pbansal
2020-07-14 18:24:30 +03:00
serb
4cf5e2f0b0 8196019: java/awt/Window/Grab/GrabTest.java fails on Windows
Reviewed-by: prr, jdv
2020-07-14 18:24:29 +03:00
jiefu
80e71249e3 8242379: [TESTBUG] compiler/loopopts/TestLoopUnswitchingLostCastDependency.java fails with release VMs
Reviewed-by: roland, kvn
2020-07-14 18:24:28 +03:00
roland
d7b4371ce4 8241900: Loop unswitching may cause dependence on null check to be lost
Reviewed-by: thartmann, kvn
2020-07-14 18:24:27 +03:00
prr
a49cdc263a 8232634: Problem List ICMColorDataTest.java
Reviewed-by: serb, psadhukhan
2020-07-14 18:24:26 +03:00
sgehwolf
c1e0caa438 8243059: Build fails when --with-vendor-name contains a comma
Summary: Use $$(VERSION_CFLAGS) so as to avoid the variable getting evaluated early
Reviewed-by: ihse, erikj
2020-07-14 18:24:25 +03:00
mbaesken
d7224e65e9 8242626: enhance posix print_rlimit_info
Reviewed-by: mdoerr, gziemski
2020-07-14 18:24:24 +03:00
mbaesken
4288e6c1d2 8241948: enhance list of environment variables printed in hs_err file
Reviewed-by: dholmes, hseigel
2020-07-14 18:24:23 +03:00
mbaesken
1745ce9ad6 8228482: fix xlc16/xlclang comparison of distinct pointer types and string literal conversion warnings
Reviewed-by: clanger, mdoerr
2020-07-14 18:24:22 +03:00
serb
7855f376bd 8040630: Popup menus and tooltips flicker with previous popup contents when first shown
Reviewed-by: kizune, pbansal
2020-07-14 18:24:21 +03:00
serb
e6bbc1dabb 8238738: AudioSystem.getMixerInfo() takes about 30 sec to report a gone audio device
Reviewed-by: prr
2020-07-14 18:24:20 +03:00
serb
66a2ce65ca 8225126: Test SetBoundsPaintTest.html faild on Windows when desktop is scaled
Reviewed-by: jdv
2020-07-14 18:24:19 +03:00
lucy
96da61ce76 8215551: Missing case label in nmethod::reloc_string_for()
Reviewed-by: kvn, mbaesken
2020-07-14 18:24:18 +03:00
thartmann
ae119ccb19 8208277: Code cache heap (-XX:ReservedCodeCacheSize) doesn't work with 1GB LargePages
Summary: Use huge pages for code cache if ReservedCodeCacheSize == InitialCodeCacheSize
Reviewed-by: kvn
2020-07-14 18:24:17 +03:00
dchuyko
19b7a1709e 8214444: Wrong strncat limits in dfa.cpp
Reviewed-by: kvn
2020-07-14 18:24:16 +03:00
thartmann
0c7166bc86 8211332: Space for stub routines (code_size2) is too small on new Skylake CPUs
Summary: Increase code_size2 for new Skylake CPUs.
Reviewed-by: kvn, stuefe, thartmann
Contributed-by: ralf.schmelter@sap.com
2020-07-14 18:24:15 +03:00
phedlin
a82e688e2e 8210284: "assert((av & 0x00000001) == 0) failed: unsupported V8" on Solaris 11.4
Summary: Sanity checks on V8 legacy properties removed.
Reviewed-by: neliasso, eosterlund, kvn
2020-07-14 18:24:14 +03:00
dpochepk
68f1581b9d 8209439: C2 library_call can potentially ignore Math.pow intrinsic or use null pointer
Reviewed-by: kvn, thartmann
2020-07-14 18:24:12 +03:00
epavlova
415291c6f8 8236211: [Graal] compiler/graalunit/GraphTest.java is skipped in all testing
Reviewed-by: iignatyev
2020-07-14 18:24:11 +03:00
ccheung
85190f9fe4 8212154: [TESTBUG] CheckArchivedModuleApp fails with NPE when JVMCI is absent
Summary: added a null check on wb.getBooleanVMFlag("EnableJVMCI").
Reviewed-by: hseigel, jiangli
2020-07-14 18:24:10 +03:00
jiangli
818e27b601 8210515: [TESTBUG]CheckArchivedModuleApp.java needs to check if EnableJVMCI is set.
Summary: System module objects are not archived when EnableJVMCI is set to true.
Reviewed-by: iklam, ccheung
2020-07-14 18:24:09 +03:00
jiangli
7703e1a727 8209534: [TESTBUG]runtime/appcds/cacheObject/ArchivedModuleCompareTest.java fails with EnableJVMCI.
Summary: Use TestCommon.execOff().
Reviewed-by: ccheung
2020-07-14 18:24:08 +03:00
mbaesken
2bad2cacb1 8241996: on linux set full relro in the linker flags
Reviewed-by: erikj, redestad
2020-07-14 18:24:07 +03:00
mbaesken
174dd44035 8234968: check calloc rv in libinstrument InvocationAdapter
Reviewed-by: clanger, stuefe, sspitsyn
2020-07-14 18:24:06 +03:00
serb
7ac4d6f69d 8235620: Broken merge between JDK-8006406 and JDK-8003559
Reviewed-by: prr
2020-07-14 18:24:05 +03:00
serb
c6efef034d 7124307: JSpinner and changing value by mouse
Reviewed-by: prr, pbansal
2020-07-14 18:24:04 +03:00
xuelei
46f0f52488 8233621: Mismatch in jsse.enableMFLNExtension property name
Reviewed-by: mullan
2020-07-14 18:24:03 +03:00
dfuchs
1ff85bf395 8229421: The logic of java/net/ipv6tests/TcpTest.java is flawed
Summary: The test is fixed to ignore rogue client connection. However it remains succeptible to intermittent failures due to the use of the wildcad address.
Reviewed-by: dfuchs
Contributed-by: Patrick Concannon <patrick.concannon@oracle.com>
2020-07-14 18:24:02 +03:00
jnimeh
bcfce6efc6 8242294: JSSE Client does not throw SSLException when an alert occurs during handshaking
Reviewed-by: xuelei
2020-07-14 18:24:01 +03:00
mbalao
646bafff37 8241888: Mirror jdk.security.allowNonCaAnchor system property with a security one
Reviewed-by: mullan
2020-07-14 18:24:00 +03:00
clanger
3ebc9196f5 8241568: (fs) UserPrincipalLookupService.lookupXXX failure with IOE "Operation not permitted"
Reviewed-by: alanb
2020-07-14 18:23:59 +03:00
prr
bcd9451b67 8238721: Add failing client jtreg tests to the Problem List
Reviewed-by: serb
2020-07-14 18:23:58 +03:00
rrich
4677d5e443 8234146: compiler/jsr292/ContinuousCallSiteTargetChange.java times out on SPARC
Reviewed-by: vlivanov, thartmann
2020-07-14 18:23:57 +03:00
ihse
66489f122b 8231572: Use -lobjc instead of -fobjc-link-runtime in libosxsecurity
Reviewed-by: erikj
2020-07-14 18:23:56 +03:00
gadams
7f485ee001 8051349: nsk/jvmti/scenarios/sampling/SP06/sp06t003 fails in nightly
Reviewed-by: dholmes, sspitsyn, cjplummer, jcbeyler
2020-07-14 18:23:55 +03:00
ihse
df7acd9d39 8212986: Make Visual Studio compiler check less strict
Reviewed-by: erikj
2020-07-14 18:23:54 +03:00
xuelei
9d01f76bfb 8215711: Missing key_share extension for (EC)DHE key exchange should alert missing_extension
Reviewed-by: ascarpino
2020-07-14 18:23:53 +03:00
chagedorn
d9a329ec3c 8237859: C2: Crash when loads float above range check
Summary: Fix control edges of predicates to data nodes when creating pre/main/post loops.
Reviewed-by: neliasso, thartmann, roland
2020-07-14 18:23:52 +03:00
thartmann
50f9a84298 8240905: assert(mem == (Node*)1 || mem == mem2) failed: multiple Memories being matched at once?
Summary: Stop recursion if there are multiple loads with different memory inputs in the tree.
Reviewed-by: kvn, vlivanov
2020-07-14 18:23:51 +03:00
alanb
d297222ef2 8044365: (dc) MulticastSendReceiveTests.java failing with ENOMEM when joining group (OS X 10.9)
Reviewed-by: alanb, vtewari, dfuchs
2020-07-14 18:23:50 +03:00
chagedorn
ee10f53b5f 8240227: Loop predicates should be copied to unswitched loops
Summary: Copy loop range check predicates to unswitched loops and update their control edges.
Reviewed-by: kvn, neliasso, thartmann, roland
2020-07-14 18:23:49 +03:00
kvn
7821feec6e 8237045: JVM uses excessive memory with -XX:+EnableJVMCI -XX:JVMCICounterSize=2147483648
Summary: limit JVMCICounterSize flag's value range to 1M
Reviewed-by: thartmann, redestad
2020-07-14 18:23:48 +03:00
fmatte
5eb2fbf2b8 8239557: [TESTBUG] VeryEarlyAssertTest.java validating "END." marker at lastline is not always true
Reviewed-by: dholmes, mseledtsov
2020-07-14 18:23:47 +03:00
weijun
7978a32526 8236470: Deal with ECDSA using ecdsa-with-SHA2 plus hash algorithm as AlgorithmId
Reviewed-by: xuelei
2020-07-14 18:23:46 +03:00
cito
372e5ca453 8219904: ClassCastException when calling FlightRecorderMXBean#getRecordings()
Reviewed-by: egahlin, mseledtsov
2020-07-14 18:23:45 +03:00
hannesw
e90174abd2 8214571: -Xdoclint of array serialField gives "error: array type not allowed here"
Reviewed-by: jjg, sundar
2020-07-14 18:23:43 +03:00
ccheung
ca2aee9530 8228407: JVM crashes with shared archive file mismatch
Summary: Stop processing other header fields if initial header check has failed.
Reviewed-by: dholmes, jiangli
2020-07-14 18:23:42 +03:00
stefank
ce5a3f39a5 8240223: Use consistent predicate order in and with PhaseIdealLoop::find_predicate
Reviewed-by: thartmann, neliasso, chagedorn
2020-07-14 18:23:41 +03:00
chagedorn
af0ae4cc4f 8238765: PhaseCFG::schedule_pinned_nodes cannot handle precedence edges from unmatched CFG nodes correctly
Summary: Fix PhaseCFG::schedule_pinned_nodes to correctly handle precedence edges from unmatched CFG nodes.
Reviewed-by: roland, neliasso, kvn
2020-07-14 18:23:40 +03:00
prr
a9e8caa182 8238842: AIOOBE in GIFImageReader.initializeStringTable
Reviewed-by: serb, bpb
2020-07-14 18:23:39 +03:00
mdoerr
c74cf2f0c2 8232106: [x86] C2: SIGILL due to usage of SSSE3 instructions on processors which don't support it
Reviewed-by: kvn, thartmann
2020-07-14 18:23:38 +03:00
prr
db7fe94ad2 8239091: Reversed arguments in call to strstr in freetype "debug" code.
Reviewed-by: bpb
2020-07-14 18:23:37 +03:00
manc
b39b452039 8241556: Memory leak if -XX:CompileCommand is set
Reviewed-by: rasbold, thartmann, neliasso
2020-07-14 18:23:36 +03:00
ssahoo
5527b818e4 8235874: The ordering of Cipher Suites is not maintained provided through jdk.tls.client.cipherSuites and jdk.tls.server.cipherSuites system property.
Summary: Corrected Cipher Suites ordering through system properties
Reviewed-by: xuelei
2020-07-14 18:23:35 +03:00
ssahoo
abc6293c34 8234728: Some security tests should support TLSv1.3
Summary: Tests were updated to support TLSv1.3 and cipher suite order
Reviewed-by: xuelei
2020-07-14 18:23:34 +03:00
roland
b5ca899872 8237086: assert(is_MachReturn()) running CTW with fix for JDK-8231291
Reviewed-by: kvn, vlivanov
2020-07-14 18:23:33 +03:00
thartmann
8e086d5477 8217230: assert(t == t_no_spec) failure in NodeHash::check_no_speculative_types()
Summary: Remove dead node from C2 IR.
Reviewed-by: roland, neliasso
2020-07-14 18:23:32 +03:00
ascarpino
667fc27658 8211339: NPE during SSL handshake caused by HostnameChecker
Reviewed-by: xuelei
2020-07-14 18:23:31 +03:00
prappo
7c9b7e03a6 8236700: Upgrading JSZip from v3.1.5 to v3.2.2
Reviewed-by: hannesw, jjg
2020-07-14 18:23:30 +03:00
mbaesken
b3e9e81328 8241660: Add virtualization information output to hs_err file on macOS
Reviewed-by: clanger, mdoerr
2020-07-14 18:23:29 +03:00
mbaesken
337fbe0dae 8240824: enhance print_full_memory_info on Linux by THP related information
Reviewed-by: dholmes, stuefe
2020-07-14 18:23:28 +03:00
mbaesken
fd746c33e9 8241586: compiler/cpuflags/TestAESIntrinsicsOnUnsupportedConfig.java fails on aarch64
Reviewed-by: clanger
2020-07-14 18:23:27 +03:00
poonam
243d3e0f1c 8231779: crash HeapWord*ParallelScavengeHeap::failed_mem_allocate
Reviewed-by: dlong, tschatzl, pliden
2020-07-14 18:23:25 +03:00
dfuchs
825ff00812 8231631: sun/net/ftp/FtpURLConnectionLeak.java fails intermittently with NPE
Summary: sun/net/www/ftptest/FtpCommandHandler.java is modified to handle EOF properly
Reviewed-by: chegar, vtewari
2020-07-14 18:23:24 +03:00
yzhou
46d0403e15 8231213: Migrate SimpleDateFormatConstTest to JDK Repo
Reviewed-by: naoto
2020-07-14 18:23:23 +03:00
fyang
47d297b9a3 8235762: JVM crash in SWPointer during C2 compilation
Reviewed-by: thartmann, chagedorn, neliasso
2020-07-14 18:23:22 +03:00
arapte
099270a5c9 8226253: JAWS reports wrong number of radio buttons when buttons are hidden.
Reviewed-by: kizune, pbansal
2020-07-14 18:23:21 +03:00
bae
1aa0a01c91 8239798: SSLSocket closes socket both socket endpoints on a SocketTimeoutException
Reviewed-by: xuelei
Contributed-by: alexey@azul.com
2020-07-14 18:23:20 +03:00
valeriep
2bc1d98b06 8238898: Missing hash characters for header on license file
Summary: Fixed the typos and corrected the formatting
Reviewed-by: weijun
2020-07-14 18:23:19 +03:00
prr
d614975eff 8175984: ICC_Profile has un-needed, not-empty finalize method
Reviewed-by: jdv, serb
2020-07-14 18:23:18 +03:00
prr
6528621eb0 8223935: PIT: java/awt/font/WindowsIndicFonts.java fails on windows10
Reviewed-by: serb, jdv
2020-07-14 18:23:17 +03:00
lfoltan
f005c8ea62 8225325: Add tests for redefining a class' private method during resolution of the bootstrap specifier
Summary: Add new tests
Reviewed-by: dholmes, sspitsyn
2020-07-14 18:23:16 +03:00
dcubed
d82123f824 8224793: os::die() does not honor CreateCoredumpOnCrash option
Reviewed-by: kbarrett, dholmes, stuefe
2020-07-14 18:23:15 +03:00
zgu
571d28dbe5 8183369: RFC unconformity of HttpURLConnection with proxy
Summary: HttpURLConnection retried with proxy if the connection fails on first attempt as per RFC
Reviewed-by: chegar, dfuchs, vtewari
Contributed-by: ravi.k.reddy@oracle.com
2020-07-14 18:23:14 +03:00
rriggs
7f53812d25 8239893: Windows handle Leak when starting processes using ProcessBuilder
Reviewed-by: bpb, naoto
2020-07-14 18:23:13 +03:00
erikj
db88072d37 8240972: macOS codesign fail on macOS 10.13.5 or older
Reviewed-by: erikj, ihse
Contributed-by: junyuan.zheng@microsoft.com
2020-07-14 18:23:12 +03:00
henryjen
cf7e7e90c2 8231863: Crash if classpath is read from @argument file and the main gets option argument
Reviewed-by: alanb, mchung
Contributed-by: Mat Carter <matthew.carter@microsoft.com>
2020-07-14 18:23:11 +03:00
clanger
b8d31fd8c2 8237192: Generate stripped/public pdbs on Windows for jdk images
Reviewed-by: erikj, ihse
Contributed-by: christoph.langer@sap.com, matthias.baesken@sap.com
2020-07-14 18:23:10 +03:00
mdoerr
31f6a8aa3d 8241464: [11u] Backport: make rehashing be a needed guaranteed safepoint cleanup action
Summary: Backport part of JDK-8221967.
Reviewed-by: coleenp, lucy, clanger
2020-07-14 18:23:09 +03:00
shade
4445de16a5 8241445: Fix copyright in test/jdk/tools/launcher/ArgFileSyntax.java
Reviewed-by: psandoz
2020-07-14 18:23:08 +03:00
dfuchs
09b0950a9b 8191169: java/net/Authenticator/B4769350.java failed intermittently
Summary: fixed a race condition in AuthenticationInfo when serializeAuth=true
Reviewed-by: chegar, michaelm
2020-07-14 18:23:07 +03:00
itakiguchi
8cfa3cc5f0 8239965: XMLEncoder/Test4625418.java fails due to "Error: Cp943 - can't read properly"
Summary: Cp943 and x-IBM943 should skip on XMLEncoder/Test4625418.java
Reviewed-by: naoto
2020-07-14 18:23:05 +03:00
naoto
24b0efc7fd 8239976: Put JDK-8239965 on the ProblemList.txt
Reviewed-by: dcubed
2020-07-14 18:23:04 +03:00
itakiguchi
71558692bd 8235834: IBM-943 charset encoder needs updating
Summary: Apply 34B003AF.RPMAP130 definition into encoder
Reviewed-by: naoto
2020-07-14 18:23:03 +03:00
henryjen
dcd4e16ba0 8240629: argfiles parsing broken for argfiles with comment cross 4096 bytes chunk
Reviewed-by: alanb, mchung
2020-07-14 18:23:02 +03:00
mgronlun
b226b22d45 8221121: applications/microbenchmarks are encountering crashes in tier5
Reviewed-by: egahlin, dholmes
2020-07-14 18:23:01 +03:00
rehn
3c2c83194d 8207334: VM times out in VM_HandshakeAllThreads::doit() with RunThese30M
Summary: Handshakes did not consider external suspended threads safe for safepoint.
Reviewed-by: dcubed, dholmes
2020-07-14 18:23:00 +03:00
coffeys
680cf862d6 8233801: GCMEmptyIv.java test fails on Solaris 11.4
Reviewed-by: valeriep
2020-07-14 18:22:59 +03:00
aoqi
791ac89003 8233608: Minimal build broken after JDK-8233494
Reviewed-by: shade
2020-07-14 18:22:58 +03:00
iklam
4d70ec1f6d 8213250: CDS archive creation aborts due to metaspace object allocation failure
Reviewed-by: jiangli, ccheung
2020-07-14 18:22:57 +03:00
dtitov
e2321b4c98 8240711: TestJstatdPort.java failed due to "ExportException: Port already in use:"
Reviewed-by: amenkov
2020-07-14 18:22:56 +03:00
roland
d8722777b3 8236759: ShouldNotReachHere in PhaseIdealLoop::verify_strip_mined_scheduling
Reviewed-by: thartmann, neliasso
2020-07-14 18:22:55 +03:00
valeriep
860983aad9 8236897: Fix the copyright header for pkcs11gcm2.h
Summary: Add the "Classpath" exception to existing header
Reviewed-by: weijun
2020-07-14 18:22:54 +03:00
hseigel
969116c611 8225789: Empty method parameter type should generate ClassFormatError
Summary: Check for an empty name when verifying unqualified names
Reviewed-by: lfoltan, coleenp
2020-07-14 18:22:53 +03:00
rfield
e0751412e2 8200701: jdk/jshell/ExceptionsTest.java fails on Windows, after JDK-8198801
8159740: JShell: corralled declarations do not have correct source to wrapper mapping
8212167: JShell : Stack trace of exception has wrong line number
Summary: Build corralled (recoverable undeclared definitions) declarations from position translating wraps....
Reviewed-by: jlahoda
2020-07-14 18:22:52 +03:00
rfield
3f2396a35e 8080353: JShell: Better error message on attempting to add default method
Summary: Special handling for errors with "default" modifier
Reviewed-by: jlahoda
2020-07-14 18:22:51 +03:00
dnsimon
28719e7e95 8238190: [JVMCI] Fix single implementor speculation for diamond shapes.
Reviewed-by: kvn
Contributed-by: david.leopoldseder@oracle.com
2020-07-14 18:22:49 +03:00
chagedorn
639ce8fc97 8235332: TestInstanceCloneAsLoadsStores.java fails with -XX:+StressGCM
Summary: Account for GC barriers when skipping a cloned ArrayCopyNode in ConnectionGraph::find_inst_mem()
Reviewed-by: roland, neliasso
2020-07-14 18:22:48 +03:00
serb
78012defd0 8236953: [macos] JavaFX SwingNode is not rendered on macOS
Reviewed-by: kcr, prr
2020-07-14 18:22:47 +03:00
chagedorn
afa4131515 8235984: C2: assert(out->in(PhiNode::Region) == head || out->in(PhiNode::Region) == slow_head) failed: phi must be either part of the slow or the fast loop
Summary: Bailout from loop unswitching if loop predicates have a control dependency to partially peeled statements.
Reviewed-by: neliasso, thartmann
2020-07-14 18:22:46 +03:00
serb
b3cc2766f5 8236545: Compilation error in mach5 java/awt/FileDialog/MacOSGoToFolderCrash.java
Reviewed-by: dmarkov
2020-07-14 18:22:45 +03:00
jjiang
f0b35bada3 8234727: sun/security/ssl/X509TrustManagerImpl tests support TLSv1.3
Reviewed-by: xuelei
2020-07-14 18:22:44 +03:00
serb
3a38d8b0e8 8223108: Test java/awt/EventQueue/NonComponentSourcePost.java is unstable
Reviewed-by: prr
2020-07-14 18:22:43 +03:00
serb
9efb5e21cb 8235739: Rare NPE at WComponentPeer.getGraphics()
Reviewed-by: dmarkov, aivanov
2020-07-14 18:22:42 +03:00
redestad
640f5c214c 8233494: Avoid calling MallocTracker::record_malloc and record_free when NMT is off
Reviewed-by: mdoerr, zgu
2020-07-14 18:22:41 +03:00
mgronlun
76d4e3642d 8233197: Invert JvmtiExport::post_vm_initialized() and Jfr:on_vm_start() start-up order for correct option parsing
Reviewed-by: sspitsyn, egahlin
2020-07-14 18:22:40 +03:00
roland
c1996d3095 8235584: UseProfiledLoopPredicate fails with assert(_phase->get_loop(c) == loop) failed: have to be in the same loop
Reviewed-by: thartmann, neliasso
2020-07-14 18:22:39 +03:00
thartmann
5795534d86 8235452: Strip mined loop verification fails with assert(is_OuterStripMinedLoop()) failed: invalid node class
Summary: Do not try to verify strip mining if the strip mined loop is malformed.
Reviewed-by: roland, vlivanov
2020-07-14 18:22:38 +03:00
roland
d5b5fef68c 8231550: C2: ShouldNotReachHere() in verify_strip_mined_scheduling
Reviewed-by: vlivanov, thartmann
2020-07-14 18:22:37 +03:00
vtewari
cd230124b9 8203672: JNI exception pending in PlainSocketImpl.c
8203264: JNI exception pending in PlainDatagramSocketImpl.c:740
8203673: JNI exception pending in DualStackPlainDatagramSocketImpl.c:398
Reviewed-by: chegar, igerasim
2020-07-14 18:22:36 +03:00
coffeys
1aaadd93da 8238452: Keytool generates wrong expiration date if validity is set to 2050/01/01
Reviewed-by: pkoppula, weijun, coffeys
Contributed-by: ravi.k.reddy@oracle.com
2020-07-14 18:22:35 +03:00
jvernee
8173be0201 8233920: MethodHandles::tryFinally generates illegal bytecode for long/double return type
Reviewed-by: redestad, vlivanov, jrose
2020-07-14 18:22:34 +03:00
mbaesken
4e27f3d26a 8237962: give better error output for invalid OCSP response intervals in CertPathValidator checks
Reviewed-by: clanger, mullan
2020-07-14 18:22:33 +03:00
xuelei
cd7889a0f4 8214418: half-closed SSLEngine status may cause application dead loop
Reviewed-by: jnimeh, dfuchs, chegar
2020-07-14 18:22:31 +03:00
mbaesken
5c27fbd8ed 8239462: jdk.hotspot.agent misses some ReleaseStringUTFChars calls in case of early returns
Reviewed-by: clanger, amenkov, sspitsyn
2020-07-14 18:22:30 +03:00
mbaesken
287c328461 8239000: handle ContendedPaddingWidth in vm_version_ppc
Reviewed-by: clanger, lucy
2020-07-14 18:22:29 +03:00
serb
1a29c437f0 8235638: NPE in LWWindowPeer.getOnscreenGraphics()
Reviewed-by: dmarkov, aivanov
2020-07-14 18:22:28 +03:00
xuelei
d6810fe3e3 8235311: Tag mismatch may alert bad_record_mac
Reviewed-by: mullan
2020-07-14 18:22:27 +03:00
aivanov
00f9d0541a 8234398: Replace ID2D1Factory::GetDesktopDpi with GetDeviceCaps
Reviewed-by: serb, prr
2020-07-14 18:22:26 +03:00
xuelei
e0ecc0cfdd 8235263: Revert TLS 1.3 change that wrapped IOExceptions
Reviewed-by: mullan
2020-07-14 18:22:25 +03:00
xuelei
08f26a7609 8235183: Remove the "HACK CODE" in comment
Reviewed-by: jnimeh
2020-07-14 18:22:24 +03:00
bae
cf1912ea68 8239787: AArch64: String.indexOf may incorrectly handle empty strings
Reviewed-by: aph, lmesnik, yan
Contributed-by: alexey@azul.com
2020-07-14 18:22:23 +03:00
sgehwolf
ec79841749 8236921: Add build target to produce a JDK image suitable for a Graal/SVM build
Summary: make graal-builder-image will produce a suitable build JDK
Reviewed-by: neugens, adinn, andrew
2020-07-14 18:22:22 +03:00
simonis
af050b51b6 8240073: Fix 'test-make' build target in 11u
Reviewed-by: phh, clanger
2020-07-14 18:22:21 +03:00
mbaesken
417326f95a 8239224: libproc_impl.c previous_thr may be used uninitialized warning
Reviewed-by: clanger, dholmes
2020-07-14 18:22:20 +03:00
stefank
aa50bd3e06 8240529: CheckUnhandledOops breaks NULL check in Modules::define_module
Reviewed-by: coleenp, lfoltan, hseigel
2020-07-14 18:22:19 +03:00
pbansal
a01809a2cc 8238985: [TESTBUG] The arrow image is blue instead of green
Reviewed-by: serb, psadhukhan
2020-07-14 18:22:18 +03:00
stefank
2afbe66adb 8240220: IdealLoopTree::dump_head predicate printing is broken
Reviewed-by: thartmann, neliasso, chagedorn
2020-07-14 18:22:17 +03:00
xuelei
5ab4e8db10 8219991: New fix of the deadlock in sun.security.ssl.SSLSocketImpl
Reviewed-by: alanb, dfuchs
2020-07-14 18:22:16 +03:00
goetz
90ffebae8f 8240827: Downport SSLSocketImpl.java from "8221882: Use fiber-friendly java.util.concurrent.locks in JSSE"
Summary: This fosters downport of "8219991: New fix of the deadlock in sun.security.ssl.SSLSocketImpl"
Reviewed-by: clanger, mdoerr
2020-07-14 18:22:15 +03:00
xuelei
624adb11d7 8209333: Socket reset issue for TLS 1.3 socket close
Reviewed-by: jnimeh
2020-07-14 18:22:14 +03:00
serb
4a23523d3c 8232226: [macos 10.15] test/jdk/java/awt/color/EqualityTest/EqualityTest.java may fail
Reviewed-by: prr, pbansal
2020-07-14 18:22:12 +03:00
serb
4f325f13c3 8234137: The "AutoTestOnTop.java" test may run external applications
Reviewed-by: prr
2020-07-14 18:22:11 +03:00
erikj
adf17e859b 8235686: Add more custom hooks in Bundles.gmk
Reviewed-by: tbell
2020-07-14 18:22:10 +03:00
andrew
a8ed449621 8232748: Build static versions of certain JDK libraries
Reviewed-by: sgehwolf
2020-07-14 18:22:09 +03:00
jdv
2f85950163 8233696: [TESTBUG]Some jtreg tests fail when CAPS_LOCK is ON
Reviewed-by: serb, prr
2020-07-14 18:22:08 +03:00
erikj
62797397b9 8232572: Add hooks for custom output dir in Bundles.gmk
Reviewed-by: tbell
2020-07-14 18:22:07 +03:00
fyang
c9ec72480b 8240576: JVM crashes after transformation in C2 IdealLoopTree::merge_many_backedges
Reviewed-by: kvn
Contributed-by: hedongbo@huawei.com
2020-07-14 18:22:06 +03:00
serb
7d1af5ee29 8226653: [accessibility] Can edit text cell correctly, but Accessibility Tool reads nothing about editor
Reviewed-by: prr
2020-07-14 18:22:05 +03:00
jdv
38b5a08a5f 8234184: [TESTBUG] java/awt/Mouse/EnterExitEvents/ModalDialogEnterExitEventsTest.java fails in Windows
Reviewed-by: psadhukhan
2020-07-14 18:22:04 +03:00
serb
ea49ade0eb 8240202: A few client tests leave mouse buttons pressed
Reviewed-by: prr
2020-07-14 18:22:03 +03:00
roland
4b7f2de1e7 8214862: assert(proj != __null) at compile.cpp:3251
Reviewed-by: kvn, thartmann
2020-07-14 18:22:02 +03:00
mbaesken
af7a0ffc10 8239351: Give more meaningful InternalError messages in Deflater.c
Reviewed-by: stuefe, vtewari, lancea, martin
2020-07-14 18:22:01 +03:00
mbaesken
a16e91349f 8239457: call ReleaseStringUTFChars before early returns in Java_sun_security_pkcs11_wrapper_PKCS11_connect
Reviewed-by: alanb, clanger
2020-07-14 18:22:00 +03:00
bulasevich
d5309df76b 8231118: ARM32: Math tests failures
Reviewed-by: roland
2020-07-14 18:21:59 +03:00
njian
3d7b891e62 8240286: [TESTBUG] Test command error in hotspot/jtreg/compiler/loopopts/superword/SumRedAbsNeg_Float.java
Reviewed-by: kvn, thartmann
Contributed-by: qi.feng@arm.com
2020-07-14 18:21:58 +03:00
rsunderbabu
41fa83f047 8153430: jdk regression test MletParserLocaleTest, ParserInfiniteLoopTest reduce default timeout
Summary: Removed timeout=5 from the tests so that default timeout is used
Reviewed-by: cjplummer
Contributed-by: ramkumar.sunderbabu@oracle.com
2020-07-14 18:21:57 +03:00
weijun
68fd5cc6fe 8232357: Compare version info of Santuario to legal notice
Reviewed-by: mullan
2020-07-14 18:21:56 +03:00
lucy
ee82fd98e0 8239931: [win][x86] vtable stub generation: assert failure (code size estimate) follow-up
Reviewed-by: mdoerr
2020-07-14 18:21:55 +03:00
lucy
558933de80 8239456: vtable stub generation: assert failure (code size estimate)
Reviewed-by: thartmann
2020-07-14 18:21:54 +03:00
clanger
6a0d07d930 8221741: ClassCastException can happen when fontconfig.properties is used
Reviewed-by: mbaesken, itakiguchi
2020-07-14 18:21:53 +03:00
chagedorn
4b9738b5bb 8233033: C2 produces wrong result while unswitching a loop due to lost control dependencies
Summary: Adding missing control dependencies when cloning loop predicates at loop unswitching.
Reviewed-by: roland, vlivanov, thartmann
2020-07-14 18:21:51 +03:00
psadhukhan
cbf10d28a8 8234332: [TESTBUG] java/awt/Focus/DisposedWindow/DisposeDialogNotActivateOwnerTest/DisposeDialogNotActivateOwnerTest.java fails on linux-x64 nightly
Reviewed-by: serb
2020-07-14 18:21:50 +03:00
prr
5408d888a3 8231243: [TESTBUG] CustomFont.java cannot find font file
Reviewed-by: serb
2020-07-14 18:21:49 +03:00
serb
0fa3f55081 8213516: jck test api/javax_accessibility/AccessibleState/fields.html fails intermittent
Reviewed-by: prr
2020-07-14 18:21:48 +03:00
vlivanov
50afb69bf3 8146090: java/lang/ref/ReachabilityFenceTest.java fails with -XX:+DeoptimizeALot
Reviewed-by: dholmes, iignatyev
2020-07-14 18:21:47 +03:00
bchristi
6d14e4b5e8 8205399: Set node color on pinned HashMap.TreeNode deletion
Reviewed-by: martin
2020-07-14 18:21:46 +03:00
ysuenaga
09c5c519d8 8233707: systemScale.cpp could not compile with VS2019
Reviewed-by: serb, aivanov
2020-07-14 18:21:45 +03:00
lkorinth
3afadfa003 8231671: Fix copyright headers in hotspot (missing comma after year)
Reviewed-by: tschatzl, dholmes
2020-07-14 18:21:44 +03:00
prr
78d8e40ca3 8224632: testbug: java/awt/dnd/RemoveDropTargetCrashTest/RemoveDropTargetCrashTest.java fails on MacOS
Reviewed-by: serb, psadhukhan
2020-07-14 18:21:43 +03:00
chagedorn
52bf44e728 8238756: C2: assert(((n) == __null || !VerifyIterativeGVN || !((n)->is_dead()))) failed: can not use dead node
Summary: Fix -XX:+VerifyIterativeGVN due to a dead node and add some basic flag testing.
Reviewed-by: roland, neliasso
2020-07-14 18:21:42 +03:00
chagedorn
7c59939116 8239852: java/util/concurrent tests fail with -XX:+VerifyGraphEdges: assert(!VerifyGraphEdges) failed: verification should have failed
Summary: Remove an assertion which was too strong for some valid IRs when running with -XX:+VerifyGraphEdges
Reviewed-by: neliasso, thartmann
2020-07-14 18:21:41 +03:00
jiefu
0a8e30c717 8237055: [TESTBUG] compiler/c2/TestJumpTable.java fails with release VMs
Reviewed-by: thartmann
2020-07-14 18:21:40 +03:00
thartmann
36cf6f0975 8229855: C2 fails with assert(false) failed: bad AD file
Summary: Strengthen the check to ensure that both control and data paths die consistently.
Reviewed-by: vlivanov, roland
2020-07-14 18:21:39 +03:00
zgu
a0d4441b62 8237396: JvmtiTagMap::weak_oops_do() should not trigger barriers
Reviewed-by: stefank, rkennke
2020-07-14 18:21:38 +03:00
mbalao
ca1df1b168 8238555: Allow Initialization of SunPKCS11 with NSS when there are external FIPS modules in the NSSDB
Reviewed-by: mullan, valeriep
2020-07-14 18:21:37 +03:00
chagedorn
fa8f258c90 8229158: make UseSwitchProfiling non-experimental or false by-default
Summary: Changed UseSwitchProfiling from experimental to diagnostic.
Reviewed-by: dholmes, shade, thartmann
2020-07-14 18:21:36 +03:00
xuelei
c9db1cc0f1 8228757: Fail fast if the handshake type is unknown
Reviewed-by: jnimeh
2020-07-14 18:21:34 +03:00
prappo
627d7976ac 8217606: LdapContext#reconnect always opens a new connection
Reviewed-by: lancea, vtewari, rriggs
Contributed-by: Chris Yin <xu.y.yin@oracle.com>
2020-07-14 18:21:33 +03:00
pmuthuswamy
52a169c393 8214856: Errors with JSZip in web console after upgrade to 3.1.5
Reviewed-by: hannesw
2020-07-14 18:21:32 +03:00
serb
d9785fb625 8198339: Test javax/swing/border/Test6981576.java is unstable
Reviewed-by: kaddepalli, psadhukhan
2020-07-14 18:21:31 +03:00
thartmann
7854cd4495 8239142: C2's UseUniqueSubclasses optimization is broken for array accesses
Summary: Avoid resetting the elemtype for array accesses.
Reviewed-by: vlivanov, eosterlund
2020-07-14 18:21:30 +03:00
fyang
ddd9ac0ee9 8239915: Zero VM crashes when handling dynamic constant
Reviewed-by: dholmes
Contributed-by: wangkun49@huawei.com
2020-07-14 18:21:29 +03:00
roland
d1b4b2438f 8237951: CTW: C2 compilation fails with "malformed control flow"
Reviewed-by: vlivanov, kvn
2020-07-14 18:21:28 +03:00
rraghavan
68790e7c79 8238356: CodeHeap::blob_count() overestimates the number of blobs
Summary: Decremented _blob_count on addition to the free list
Reviewed-by: lucy, shade, thartmann
2020-07-14 18:21:27 +03:00
dholmes
70fdf7b6e6 8048215: [TESTBUG] java/lang/management/ManagementFactory/ThreadMXBeanProxy.java Expected non-null LockInfo
Summary: ensure the target thread has reached wait() before inspecting it
Reviewed-by: mchung, dfuchs, jcbeyler
2020-07-14 18:21:26 +03:00
serb
3673a71f12 8039082: [TEST_BUG] Test java/awt/dnd/BadSerializationTest/BadSerializationTest.java fails
Reviewed-by: prr
2020-07-14 18:21:25 +03:00
ssahoo
53ada30aa3 8205653: test/jdk/sun/management/jmxremote/bootstrap/RmiRegistrySslTest.java and RmiSslBootstrapTest.sh fail with handshake_failure
Summary: Test failure due to unsupported DSA keys
Reviewed-by: dfuchs, xuelei
2020-07-14 18:21:24 +03:00
zgu
4dfc03e500 8234270: [REDO] JDK-8204128 NMT might report incorrect numbers for Compiler area
Reviewed-by: stuefe, minqi
2020-07-14 18:21:23 +03:00
dlong
0596d0ab64 8187078: -XX:+VerifyOops finds numerous problems when running JPRT
Reviewed-by: kvn
2020-07-14 18:21:22 +03:00
jnimeh
2265a2a470 8224997: ChaCha20-Poly1305 TLS cipher suite decryption throws ShortBufferException
Reviewed-by: xuelei
2020-07-14 18:21:20 +03:00
serb
4035179d26 8221445: FastSysexMessage constructor crashes MIDI receiption thread
Reviewed-by: prr
2020-07-14 18:21:19 +03:00
arapte
d975743a91 8198001: java/awt/Menu/WrongParentAfterRemoveMenu/WrongParentAfterRemoveMenu.java debug assert on Windows
Reviewed-by: prr, serb
2020-07-14 18:21:18 +03:00
arapte
fea4cc4922 8198000: java/awt/List/EmptyListEventTest/EmptyListEventTest.java debug assert on Windows
Reviewed-by: prr, serb
2020-07-14 18:21:17 +03:00
serb
712acec624 6933331: (d3d/ogl) java.lang.IllegalStateException: Buffers have not been created
Reviewed-by: prr
2020-07-14 18:21:16 +03:00
rwestberg
2752a7ef6f 8218807: Compilation database (compile_commands.json) may contain obsolete items
Reviewed-by: ihse, erikj
2020-07-14 18:21:14 +03:00
goetz
013381892c 8239792: Bump update version for OpenJDK: jdk-11.0.8
Reviewed-by: shade
2020-07-14 18:21:13 +03:00
serb
9841bda9ff 8238575: DragSourceEvent.getLocation() returns wrong value on HiDPI screens (Windows)
Reviewed-by: prr
2020-07-14 18:20:57 +03:00
dbatrak
2a892925b9 8236996: Incorrect Roboto font rendering on Windows with subpixel antialiasing
Reviewed-by: prr, serb
2020-07-14 18:20:56 +03:00
prr
adff077c30 8214481: freetype path does not disable TrueType hinting with AA+FM hints
Reviewed-by: serb, psadhukhan
2020-07-14 18:20:56 +03:00
serb
ba9def2d45 8233573: Toolkit.getScreenInsets(GraphicsConfiguration) may throw ClassCastException
Reviewed-by: prr, jdv
2020-07-14 18:20:54 +03:00
serb
09c6c67640 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-07-14 18:20:53 +03:00
serb
776e4e44a1 8231438: [macOS] Dark mode for the desktop is not supported
Reviewed-by: prr, psadhukhan
2020-07-14 18:20:52 +03:00
alans
af72873ce3 8211301: [macos] support full window content options
Reviewed-by: serb
2020-07-14 18:20:51 +03:00
azeller
4bc44c7ab8 8234696: tools/jlink/plugins/VendorInfoPluginsTest.java times out
Reviewed-by: mchung, clanger
2020-07-14 18:20:50 +03:00
jiefu
31e065dee2 8233291: [TESTBUG] tools/jlink/plugins/VendorInfoPluginsTest.java fails with debug or non-server VMs
Reviewed-by: mchung
2020-07-14 18:20:49 +03:00
mr
80606e79de 8233137: runtime/ErrorHandling/VeryEarlyAssertTest.java fails after 8232080
Reviewed-by: stuefe, iignatyev, mchung
2020-07-14 18:20:48 +03:00
mr
d62f8663e4 8232080: jlink plugins for vendor information and run-time options
Reviewed-by: ihse, alanb, kvn, bobv, mchung
2020-07-14 18:20:47 +03:00
clanger
5dd532c468 8242154: Backport parts of JDK-4947890 to OpenJDK 11u
Reviewed-by: sgehwolf
2020-07-14 18:20:45 +03:00
prr
88767d1951 8224109: Text spaced incorrectly by drawString under rotation with fractional metric
Reviewed-by: serb, kizune
2020-07-14 18:20:44 +03:00
mbaesken
cdfa6a995a 8240603: Windows 32bit compile error after 8238676
Reviewed-by: clanger, dholmes
2020-07-14 18:20:44 +03:00
prr
6c76c6b994 8209113: Use WeakReference for lastFontStrike for created Fonts
Reviewed-by: serb, jdv
2020-07-14 18:20:44 +03:00
dtitov
3b52f2b30e 8193879: Java debugger hangs on method invocation
Reviewed-by: sspitsyn, amenkov, gadams
2020-07-14 18:20:42 +03:00
Alexey Titov
8de16a2732 JBR-2479: moved new JIT API to com.jetbrains.management 2020-07-14 18:16:11 +07:00
Alexey Titov
34cd1b08f2 JBR-2479: removed public functions due to license restrictions 2020-07-14 18:16:11 +07:00
Alexey Titov
9357e9872c JBR-2479: API for getting JIT compiler state 2020-07-14 18:16:11 +07:00
Vitaly Provodin
a57ed60b88 updated JTreg exclude list 2020-07-14 10:03:29 +07:00
MonoBot
3f5ee10c34 Fonts release 2.001 2020-07-13 15:14:30 +03:00
Vitaly Provodin
4f17e1b965 dcevm: G1 Heap parallel iterate method "object_par_iterate" + dcevm timers 2020-07-10 12:19:35 +07:00
Vitaly Provodin
ab97d74692 updated JTreg exclude list 2020-07-09 18:10:36 +07:00
Anton Tarasov
e30a309f92 JBR-2557 use com.jetbrains.cef.JCefAppConfig in JCEF tests 2020-07-07 12:06:12 +03:00
Denis Konoplev
703d77a927 JBR-2554: Proper unicode values in KeyEvent.keyCode 2020-07-03 15:58:33 +03:00
Dmitry Batrak
2f1d317d87 JBR-2533 Popup is not focused on click when switching from another application on macOS
more reliable jtreg test
2020-07-03 10:55:31 +03:00
Vitaly Provodin
f7b4c42e1d JBR-2545 Clean up the list of ignored Render tests 2020-07-03 07:36:07 +07:00
Dmitry Batrak
21af1eba85 JBR-2533 Popup is not focused on click when switching from another application on macOS
makes sure jtreg test cleans up properly
2020-07-02 16:15:39 +03:00
Dmitry Batrak
72b0add80c JBR-2533 Popup is not focused on click when switching from another application on macOS
fix NPE
2020-07-02 15:43:52 +03:00
Dmitry Batrak
67b174dc8c JBR-2533 Popup is not focused on click when switching from another application on macOS
fix main menu activation logic
2020-07-01 19:33:41 +03:00
Anton Tarasov
a41a59a57b [followup] 8238676: jni crashes on accessing it from process exit hook 2020-06-30 20:29:13 +03:00
Anton Tarasov
9c8cffee50 8238676: jni crashes on accessing it from process exit hook 2020-06-30 18:54:09 +03:00
Dmitry Batrak
d9ff151211 JBR-2533 Popup is not focused on click when switching from another application on macOS 2020-06-30 12:37:22 +03:00
Anton Tarasov
0917d89523 JBR-2377 Native crash IU-202.3855 macOS 2020-06-29 17:41:17 +03:00
Konstantin Bulenkov
71e2a8d8ad Update FiraCode to 5.2 2020-06-28 22:20:58 +02:00
Denis Fokin
7d5ac56b6c IDEA-215477 Cursor disappears when PhpStorm loses focus (probably related to Synergy)
Revert of JDK-7150349. The fix was intended to fight popup/applet activation issues.
2020-06-26 18:12:45 +03:00
Dmitry Batrak
2ca834c18e Revert fix for JBR-2533
it causes failure of 6406264 regression test and wrong behaviour in IDEA ('Open Class' popup isn't closed on Esc)
2020-06-26 17:49:56 +03:00
Anton Tarasov
78bd1bbeae JBR-2489 Git branch operations (switch to another branch, rebase) sometimes crash WebStorm 202.5428.27 2020-06-26 15:54:48 +03:00
Denis Fokin
82e6ed7c0b IDEA-215477 Cursor disappears when PhpStorm loses focus (probably related to Synergy)
A flag to workaround Synergy issue. It is only part of the fix. The second part of the fix conflicts with a fix for "JBR-2533 Popup is not focused on click when switching from another application on macOS".
2020-06-26 15:54:11 +03:00
Vitaly Provodin
4c6aa2945a JBR-2531 return release debug level for dcevm bilds 2020-06-26 08:24:42 +07:00
Dmitry Batrak
dc85bb1eab JBR-2533 Popup is not focused on click when switching from another application on macOS
added jtreg test case
2020-06-25 19:16:52 +03:00
Dmitry Batrak
89c80c157c JBR-2533 Popup is not focused on click when switching from another application on macOS 2020-06-25 13:47:02 +03:00
Vitaly Provodin
b8e86892f2 dcevm: add support for G1 gc 2020-06-25 11:02:15 +07:00
Vitaly Provodin
5d97e2253c JBR-2531 add fastdebug level for dcevm bilds 2020-06-24 06:16:18 +07:00
Elena Sayapina
9c3912fe1f JBR-2475 Latency when accepting auto-completion
Revert "8223158: Docked MacBook cannot start any Java Swing applications Reviewed-by: prr, serb"

This reverts commit 7c870c0c from 11.0.7 merge
2020-06-23 12:38:23 +07:00
Alexey Ushakov
c1d644a004 JBR-1929 Improve rendering of San Francisco font of macOS Catalina
Reverting gamma correction because of rendering artifacts in the light theme

This reverts commit 5016db51
2020-06-19 17:43:09 +03:00
Dmitry Batrak
87ad6ac3a0 JBR-2478 java/awt/Modal/FileDialog/FileDialogNonModal7Test.java: DummyButton on Dialog did not gain focus when clicked
revert part of JBR-1271, that's related to 'old' file dialogs
2020-06-18 18:34:46 +03:00
Vitaly Provodin
f016970f5a JBR-2501 create jbr edition excluding any additional modules JFX and JCEF (fix misprint in module.info) 2020-06-18 08:47:25 +07:00
Vitaly Provodin
71dbebd5f5 JBR-2501 create jbr edition excluding any additional modules JFX and JCEF (fix misprint) 2020-06-18 06:45:33 +07:00
Anton Tarasov
ff2936c6fb [followup] JBR-2489 Git branch operations (switch to another branch, rebase) sometimes crash WebStorm 202.5428.27 2020-06-17 14:31:56 +03:00
Dmitry Batrak
8a789e04e9 JBR-2503 Prevent JVM stealing focus during startup on Linux 2020-06-17 12:43:19 +03:00
Vitaly Provodin
eaed7de6bb JBR-2501 create jbr edition excluding any additional modules JFX and JCEF 2020-06-17 09:30:51 +07:00
Jayathirth D V
803ee2f2b5 8241490: Add large text performance tests in RenderPerfTest 2020-06-17 09:30:02 +07:00
Alexey Ushakov
356121b18f 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
2020-06-17 09:30:02 +07:00
Alexey Ushakov
8bd8d2d132 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
2020-06-17 09:30:02 +07:00
Denis Konoplev
9adf77a512 JBR-215: Remove SystemInfo 2020-06-16 15:45:29 +03:00
Dmitry Batrak
73b45fb899 JBR-2498 Fix unexpected window raising under Mutter WM 2020-06-16 13:18:15 +03:00
Dmitry Batrak
66381f0dec JBR-2499 Don't use CurrentTime in SetInputFocus requests to X server 2020-06-16 13:16:48 +03:00
Dmitry Batrak
87525d1d2a JBR-2497 Support _NET_WM_USER_TIME window property on Linux 2020-06-16 13:13:04 +03:00
Anton Tarasov
81d2156fb1 JBR-2489 Git branch operations (switch to another branch, rebase) sometimes crash WebStorm 202.5428.27 2020-06-15 19:29:06 +03:00
Alexey Ushakov
916e68b5b4 Added make target 2020-06-11 17:31:07 +03:00
Alexey Ushakov
5016db518a JBR-1929 Improve rendering of San Francisco font of macOS Catalina
Added gamma correction to match grayscale rendering with subpixel one
2020-06-11 17:28:26 +03:00
Erik Joelsson
9154a8faef JBR-2316 backport the fix for the AbsPathsInImage test from OpenJDK 15
8245401: AbsPathsInImage.java fails on Windows on jdwp.dll

Reviewed-by: mikael, ihse
2020-06-11 16:56:46 +07:00
Erik Joelsson
764ac0decb JBR-2316 backport the fix for the AbsPathsInImage test from OpenJDK 15
8244051: AbsPathsInImage.java still fails on Windows

Reviewed-by: ihse
2020-06-11 16:56:35 +07:00
Erik Joelsson
fe293f0126 JBR-2316 backport the fix for the AbsPathsInImage test from OpenJDK 15
8243510: AbsPathsInImage.java fails on Windows

Reviewed-by: ihse, tbell
2020-06-11 16:56:16 +07:00
Vitaly Provodin
2620c62848 JBR-2473 modify building scripts to add dcevm clauses, add git config to docker image 2020-06-11 14:15:44 +07:00
Vitaly Provodin
c0c0a96cf4 JBR-2473 add initial set of DCEVM patches 2020-06-11 14:14:00 +07:00
Alexey Ushakov
1af5dd4aae JBR-2463 Font rendering problem on macOS Mojave
Use adjusted advances for glyphs
2020-06-09 19:55:51 +03:00
Denis Konoplev
15c4ce1d3e JBR-2444: Turn on IM workaround by default 2020-06-09 16:41:05 +03:00
Nikita Gubarkov
be6895a20b JBR-410 New golden image for emoji test on Fedora 2020-06-02 20:11:28 +03:00
Mikhail Grishchenko
a367f18492 JBR-2259 [jcef] Fixed regression test
Changed EDT awaiting method
2020-06-02 21:13:18 +07:00
Mikhail Grishchenko
dc24658b31 JBR-2430 [jcef] Fixed regression test
Refactoring + changed EDT awaiting method
2020-06-02 16:52:52 +07:00
Vitaly Provodin
a80d45eb31 updated JTreg exclude list 2020-06-02 08:16:02 +07:00
Mikhail Grishchenko
404ff84565 JBR-2430 [jcef] Added Regression test
Checks that JS Query is handled in 2nd opened browser
2020-05-28 22:14:53 +07:00
Vyacheslav Moklev
2dea81a904 JBR-2442 fix memory leak of fileBuffer
fix was suggested by Nikita Gubarkov
2020-05-28 11:55:21 +07:00
Denis Konoplev
6974131eec IDEA-237231: Correct signarute mask 2020-05-27 19:20:43 +03:00
Denis Konoplev
33a8c95d39 IDEA-237231: Possible fix for pen interraction 2020-05-27 19:15:03 +03:00
Vitaly Provodin
5ef4cceb33 updated JTreg exclude list 2020-05-27 12:40:16 +07:00
Nikita Gubarkov
c64faba66e JBR-410 Skip emoji test if font is not available 2020-05-25 16:23:46 +03:00
Alexey Ushakov
c0fd2daf5c JBR-2419 Improve performance of CStrike.getNativeGlyphOutlineBounds
Fixed handling of null bounding box
2020-05-22 20:58:57 +03:00
Alexey Ushakov
2d164c9914 JBR-2417 Fonts with names started with dot does not work in IDEA launched from run configuration
Reverting our approach (commit 12a9361f) and replacing it with backport of OpenJDK fix JDK-8244621
2020-05-22 20:44:05 +03:00
Alexey Ushakov
9f91fe91f5 JBR-2419 Improve performance of CStrike.getNativeGlyphOutlineBounds
Do not pass the result via java object. Use more straight api.
2020-05-22 20:04:22 +03:00
Denis Konoplev
caf366f6f3 JBR-215: Separate LatinNonAlphaNumKeycodes option 2020-05-22 03:15:38 +03:00
Alexey Ushakov
12a9361f7c JBR-2417 Fonts with names started with dot does not work in IDEA launched from run configuration
Used cocoa api to create some .SFNS fonts
2020-05-21 20:22:40 +03:00
Alexey Ushakov
8904e07b7d Added build targets to CMake 2020-05-21 20:20:24 +03:00
Nikita Gubarkov
bf1b017af4 JBR-410 Linux compilation fix: get rid of loop initial declarations 2020-05-21 01:13:27 +03:00
Nikita Gubarkov
e67b5fb257 JBR-410 Linux x86 compilation fix: don't use FT_LONG_MIN 2020-05-20 20:25:01 +03:00
Nikita Gubarkov
7e7b5ccd13 JBR-410 Refactor 2020-05-20 18:32:03 +03:00
Nikita Gubarkov
28b0dbf18c JBR-410 Added emoji support for Linux 2020-05-20 18:32:03 +03:00
Phil Race
9de2d941ef JBR-410 Backport: fixed usage of uninitialized memory
8238942: Rendering artifacts with LCD text and fractional metrics

Reviewed-by: serb, jdv
2020-05-20 18:32:03 +03:00
Elena Sayapina
e9fa7a0882 JBR-2328 [followup] [TESTBUG] Regression test java/awt/keyboard/AllKeyCode/AllKeyCode.java is not correct
Try to increase the test stability during regular runs.
2020-05-20 12:51:24 +07:00
Denis Konoplev
4f60efebe2 JBR-215: Windows non-alphanumeric shortcuts 2020-05-19 17:02:38 +03:00
Vitaly Provodin
cfc3e87f2a updated JTreg exclude list 2020-05-13 16:41:35 +07:00
Alexey Ushakov
4c42f75021 JBR-2382 Provide detailed stack trace in crash dumps for unhandled ObjC exceptions
Generate jbr_err_pidXX.log file with detailed stack trace of the exception
2020-05-12 19:22:45 +03:00
3672 changed files with 954536 additions and 53752 deletions

1
.gitignore vendored
View File

@@ -24,3 +24,4 @@ test/nashorn/lib
NashornProfile.txt
**/JTreport/**
**/JTwork/**
/jb/project/java-gradle/.idea/workspace.xml

46
.hgtags
View File

@@ -587,3 +587,49 @@ f56b853d452bd339e3f4360cf4be42cc90f9284c jdk-11.0.7+7
7201cd0c64776aa574d252b03a4c92b25d0a7d7f jdk-11.0.7+9
44ce940b344b9f240be4807f5b8f06e178e3aecd jdk-11.0.7+10
44ce940b344b9f240be4807f5b8f06e178e3aecd jdk-11.0.7-ga
2eb415c82056bdc308d23ee6761f422de46dc5e5 jdk-11.0.8+1
88eaa453331e9aeca979d58509538ebb74831ce4 jdk-11.0.8+2
2c0c9cfe2a4e1340f7db106e2220dbd0d5b86092 jdk-11.0.8+3
aa6c93b4f1acf4166d74d0252b35c53ad71d8540 jdk-11.0.8+4
8df1a601187c0b4cb9e525075bd7b85ee3d72595 jdk-11.0.8+5
e42c6d1a1993c720a4643140190bb1ba6f1bbf9f jdk-11.0.8+6
46d4984bb3c6dd1b0f5135505b77921d23c69841 jdk-11.0.8+7
40b646e9d8fbb2d70992b61e4f4b08ca5652c907 jdk-11.0.8+8
59f8565ee5e224697a9e09ee2c557836733bc579 jdk-11.0.8+9
0b0d55cb09b29360ab254edeef32a3b386e9713e jdk-11.0.8+10
0b0d55cb09b29360ab254edeef32a3b386e9713e jdk-11.0.8-ga
5cc275af8419178813299cc0ed81a2a85dadfdcd jdk-11.0.9+1
3112657edde9491fb83f098f1a8b7e9275bcb2f7 jdk-11.0.9+2
d8a0513b92ee262d4e64c1e13d43e1b3f3e5c5d5 jdk-11.0.9+3
cb299db4a5698b814f6b3ba1f3d73d01f6a0e1f6 jdk-11.0.9+4
55237fa85afb404bc0dc0f4948a6459d8d3e5dac jdk-11.0.9+5
c07e785e36f587b95e151de382844cea3d1a5868 jdk-11.0.9+6
1ba4c16a8afa3f5aaa7830fc1f14a0137cc2553b jdk-11.0.9+7
8711e8554e15ae2fa38718d5c7dc858da10e8a4a jdk-11.0.9+8
e872676174c7f171a9864becba83cb783cfec9d0 jdk-11.0.9+9
6ac1b68e7c0034e08a96d7d37e93e5075a6e8d61 jdk-11.0.9+10
4397fa4529b2794ddcdf3445c0611fe383243fb4 jdk-11.0.9+11
4397fa4529b2794ddcdf3445c0611fe383243fb4 jdk-11.0.9-ga
4fd46d208f0a4b55924af8e0c2fb6bcf46e18ec6 jdk-11.0.9.1+0
27723943c0dd65a191cbefe031cec001521e4b13 jdk-11.0.9.1+1
31affc22b3b5f5d43783ffadf57f22848bad9db8 jdk-11.0.9.1-ga
f3168de4eb0dd74bf8e81537f62742bde5e412c3 jdk-11.0.10+1
a35aa07b57bab3690224e3af939ee085d50eb476 jdk-11.0.10+2
bca12c00a776f8cee7a0eeaf788499b9eab9cf9d jdk-11.0.10+3
9504fa6f98f5aad0aa1ac36d5bff3260a32020c8 jdk-11.0.10+4
5f5c3544ccb4d0bbc638e665524b292860dd9515 jdk-11.0.10+5
4b9bc2a1dde0631958393125997855382325964d jdk-11.0.10+6
c45f74d45787a857d35b5a66c9b0304c91a9c5d0 jdk-11.0.10+7
43428f69099f6f87f6e1922deacbf13e1adb751f jdk-11.0.10+8
8b3498547395ee80a6e731078056b2aeb3e3c5e8 jdk-11.0.10+9
8b3498547395ee80a6e731078056b2aeb3e3c5e8 jdk-11.0.10-ga
4ed322bf6b0098353ceaecf35662fadf457cd81d jdk-11.0.11+1
b68647c6ecc1e73111d8047448d75966f255460f jdk-11.0.11+2
14cc036b17a5f4be5b0643e6b24ed32563684ab9 jdk-11.0.11+3
c4405735470a92e2c45490b89a8099252f3481d2 jdk-11.0.11+4
38430a8a4488582612c6a87ab58d109cc5217e8b jdk-11.0.11+5
e41ae00add1d76a8f25adb558933382947ea840d jdk-11.0.11+6
14f9928caac31368d27f13e4e21ca25c1e0be950 jdk-11.0.11+7
9f0347b029d3a0349f23befcfb68ee02d85d9034 jdk-11.0.11+8
15862747ee15445292b4b9949b4f0f4badba4812 jdk-11.0.11+9
15862747ee15445292b4b9949b4f0f4badba4812 jdk-11.0.11-ga

View File

@@ -1,9 +1,7 @@
<component name="CopyrightManager">
<copyright>
<option name="notice" value="Copyright 2000-&amp;#36;today.year JetBrains s.r.o.&#10;&#10;Licensed under the Apache License, Version 2.0 (the &quot;License&quot;);&#10;you may not use this file except in compliance with the License.&#10;You may obtain a copy of the License at&#10;&#10;http://www.apache.org/licenses/LICENSE-2.0&#10;&#10;Unless required by applicable law or agreed to in writing, software&#10;distributed under the License is distributed on an &quot;AS IS&quot; BASIS,&#10;WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.&#10;See the License for the specific language governing permissions and&#10;limitations under the License." />
<option name="keyword" value="Copyright" />
<option name="allowReplaceKeyword" value="JetBrains" />
<option name="allowReplaceRegexp" value="JetBrains" />
<option name="notice" value="Copyright 2000-&amp;#36;today.year JetBrains s.r.o.&#10;DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.&#10; &#10;This code is free software; you can redistribute it and/or modify it&#10;under the terms of the GNU General Public License version 2 only, as&#10;published by the Free Software Foundation.&#10;&#10;This code is distributed in the hope that it will be useful, but WITHOUT&#10;ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or&#10;FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License&#10;version 2 for more details (a copy is included in the LICENSE file that&#10;accompanied this code).&#10;&#10;You should have received a copy of the GNU General Public License version&#10;2 along with this work; if not, write to the Free Software Foundation,&#10;Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.&#10;&#10;Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA&#10;or visit www.oracle.com if you need additional information or have any&#10;questions." />
<option name="myName" value="JetBrains" />
<option name="myLocal" value="true" />
</copyright>
</component>

14
.idea/vcs.xml generated
View File

@@ -1,5 +1,19 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="IssueNavigationConfiguration">
<option name="links">
<list>
<IssueNavigationLink>
<option name="issueRegexp" value="[A-Z]+\-\d+" />
<option name="linkRegexp" value="http://youtrack.jetbrains.com/issue/$0" />
</IssueNavigationLink>
<IssueNavigationLink>
<option name="issueRegexp" value="^(\d+)\:" />
<option name="linkRegexp" value="https://bugs.openjdk.java.net/browse/JDK-$1" />
</IssueNavigationLink>
</list>
</option>
</component>
<component name="VcsDirectoryMappings">
<mapping directory="$PROJECT_DIR$" vcs="Git" />
</component>

158
README.md
View File

@@ -1,94 +1,156 @@
[![official JetBrains project](http://jb.gg/badges/official.svg)](https://confluence.jetbrains.com/display/ALL/JetBrains+on+GitHub)
# Downloads
# Welcome to JetBrains Runtime!
|Windows-x64 |macOS |Linux-x64 |
|-------------|-------------|-------------|
|[ ![Download](https://api.bintray.com/packages/jetbrains/intellij-jdk/openjdk11-windows-x64/images/download.svg) ](https://bintray.com/jetbrains/intellij-jdk/openjdk11-windows-x64/_latestVersion)|[ ![Download](https://api.bintray.com/packages/jetbrains/intellij-jdk/openjdk11-osx-x64/images/download.svg) ](https://bintray.com/jetbrains/intellij-jdk/openjdk11-osx-x64/_latestVersion)|[ ![Download](https://api.bintray.com/packages/jetbrains/intellij-jdk/openjdk11-linux-x64/images/download.svg) ](https://bintray.com/jetbrains/intellij-jdk/openjdk11-linux-x64/_latestVersion)|
JetBrains Runtime is a fork of [OpenJDK](https://github.com/openjdk/jdk) available for Windows, Mac OS X, and Linux.
It includes a number enhancements in font rendering, HiDPI support, ligatures, performance improvements, and bugfixes.
## Releases
Download the latest releases of JetBrains Runtime to use with JetBrains IDEs. The full list
can be found on the [releases page](https://github.com/JetBrains/JetBrainsRuntime/releases).
# How JetBrains Runtime is organised
## Workspaces
### For 2021.2 IDEs
[github.com/JetBrains/JetBrainsRuntime](https://github.com/JetBrains/JetBrainsRuntime)
| Release/tag | Date |
| --- | --- |
| [jb11_0_11-b1504.12](https://github.com/JetBrains/JetBrainsRuntime/releases/tag/jb11_0_11-b1504.12) | 12-Jul-2021 |
| [jb11_0_11-b1504.8](https://github.com/JetBrains/JetBrainsRuntime/releases/tag/jb11_0_11-b1504.8) | 06-Jul-2021 |
| [jb11_0_11-b1504.5](https://confluence.jetbrains.com/pages/viewpage.action?pageId=221478946) | 29-Jun-2021 |
| [jb11_0_11-b1504.3](https://confluence.jetbrains.com/pages/viewpage.action?pageId=218857540) | 15-Jun-2021 |
## Getting sources
__OSX, Linux:__
### For 2020.3 IDEs
| Release/tag | Date |
| --- | --- |
| [jb11_0_11-b1145.115](https://confluence.jetbrains.com/pages/viewpage.action?pageId=219349001) | 21-Jun-2021 |
| [jb11_0_11-b1145.96](https://confluence.jetbrains.com/pages/viewpage.action?pageId=207519955) | 18-Feb-2021 |
| [jb11_0_11-b1145.77](https://confluence.jetbrains.com/pages/viewpage.action?pageId=205389940) | 19-Jan-2021 |
## Contents
- [Welcome to JetBrains Runtime](#jetbrains-runtime)
- [Products Built on JetBrains Runtime](#products-built-on-jetbrains-runtime)
- [Getting Sources](#getting-sources)
- [macOS, Linux](#macos-linux)
- [Windows](#sources-windows)
- [Configuring the Build Environment](#configuring-the-build-environment)
- [Linux (Docker)](#linux-docker)
- [Ubuntu Linux](#ubuntu-linux)
- [Windows](#build-windows)
- [macOS](#macos)
- [Contributing](#contributing)
- [Resources](#resources)
## Products Built on JetBrains Runtime
* [Android Studio](https://developer.android.com/studio). The official IDE for Google's Android operating system.
* [CLion](https://www.jetbrains.com/clion/). A cross-platform IDE for C and C++ from JetBrains.
* [DataGrip](https://www.jetbrains.com/datagrip/). The IDE for Databases and SQL from JetBrains.
* [GoLand](https://www.jetbrains.com/go/). The cross-platform Go IDE from JetBrains.
* [IntelliJ IDEA](https://www.jetbrains.com/idea/). The IDE for JVM from JetBrains.
* [JProfiler](https://www.ej-technologies.com/products/jprofiler/overview.html). The Java profiler.
* [PhpStorm](https://www.jetbrains.com/phpstorm/). The PHP IDE from JetBrains.
* [PyCharm](https://www.jetbrains.com/pycharm/). The Python IDE from JetBrains.
* [Rider](https://www.jetbrains.com/rider/). The cross-platform .NET IDE from JetBrains.
* [RubyMine](https://www.jetbrains.com/ruby/). The Ruby and Rails IDE from JetBrains.
* [WebStorm](https://www.jetbrains.com/webstorm/). The JavaScript IDE from JetBrains.
* [YourKit](https://www.yourkit.com/). Java and .NET profilers.
## Getting Sources
### macOS, Linux
```
git config --global core.autocrlf input
git clone git@github.com:JetBrains/JetBrainsRuntime.git
```
__Windows:__
### Windows
<a name="sources-windows"></a>
```
git config --global core.autocrlf false
git clone git@github.com:JetBrains/JetBrainsRuntime.git
```
# Configure Local Build Environment
[OpenJDK build docs](http://hg.openjdk.java.net/jdk/jdk11/raw-file/tip/doc/building.html)
Tip for all platforms: run ./configure and check output.
Usually, it has meaningful advice how to solve your problem.
## Configuring the Build Environment
Here are quick per-platform instructions for those who can't wait to get started.
Please refer to [OpenJDK build docs](http://hg.openjdk.java.net/jdk/jdk11/raw-file/tip/doc/building.html) for in-depth
coverage of all the details.
## Linux (docker)
> **_TIP:_** To get a preliminary report of what's missing, run `./configure` and check its output.
> It would usually have a meaningful advice on how to solve the problem.
### Linux (Docker)
Create a container:
```
$ cd jb/project/docker
$ docker build .
...
Successfully built 942ea9900054
```
Run these commands in the new container:
```
$ docker run -v `pwd`../../../../:/JetBrainsRuntime -it 942ea9900054
# cd /JetBrainsRuntime
# sh ./configure
# make images CONF=linux-x86_64-normal-server-release
```
## Linux (Ubuntu 18.10 desktop)
### Ubuntu Linux
Install the necessary tools, libraries, and headers with:
```
$ sudo apt-get install autoconf make build-essential libx11-dev libxext-dev libxrender-dev libxtst-dev \
libxt-dev libxrandr-dev libcups2-dev libfontconfig1-dev libasound2-dev \
openjdk-11-jdk
```
Then run the following:
```
$ sudo apt-get install autoconf make build-essential libx11-dev libxext-dev libxrender-dev libxtst-dev libxt-dev libxrandr-dev libcups2-dev libfontconfig1-dev libasound2-dev
$ cd JetBrainsRuntime
$ sh ./configure --disable-warnings-as-errors
$ make images
```
## Windows
Install:
### Windows
<a name="build-windows"></a>
Install the following:
* [Cygwin x64](http://www.cygwin.com/).
Required packages: `autoconf`, `binutils`, `cpio`, `diffutils`, `file`, `gawk`, `gcc-core`, `make`, `m4`, `unzip`, `zip`.
Install those together with Cygwin.
* [Visual Studio compiler toolset](https://visualstudio.microsoft.com/downloads/).
Install with the desktop development kit, which includes Windows SDK and compilers.
Visual Studio 2015 is supported by default.
* [Java 11](https://docs.aws.amazon.com/corretto/latest/corretto-11-ug/downloads-list.html).
If you have problems while configuring, read [Java tips on Cygwin](http://horstmann.com/articles/cygwin-tips.html).
* [Cygwin x64](http://www.cygwin.com/)
Required packages: autoconf, binutils, cpio, diffutils, file, gawk, gcc-core, make, m4, unzip, zip.
**Install them while installing cygwin**.
* Visual Studio compiler toolset [Download](https://visualstudio.microsoft.com/downloads/)
Visual Studio 2015 has support by default.
**Install with desktop development kit, it includes Windows SDK and compilers**.
* [Java 11](http://www.oracle.com/technetwork/java/javase/downloads/index.html)
If you have problems while configuring [read java tips on cygwin](http://horstmann.com/articles/cygwin-tips.html)
From command line
From the command line:
```
"c:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" amd64
"c:\Program_Files\cygwin64\bin\mintty.exe" /bin/bash -l
```
First command will set env vars, the second will run cygwin shell with proper environment.
In cygwin shell
```
cd JetBrainsRuntime
bash configure --enable-option-checking=fatal --with-toolchain-version=2015 --with-boot-jdk="/cygdrive/c/Program Files/Java/jdk-11.0.5" --disable-warnings-as-errors
make images
The first command sets up environment variables, the second starts a Cygwin shell with the proper environment.
In the Cygwin shell:
```
$ cd JetBrainsRuntime
$ bash configure --enable-option-checking=fatal --with-toolchain-version=2015 \
--with-boot-jdk="/cygdrive/c/Program Files/Java/jdk-11.0.5" --disable-warnings-as-errors
$ make images
```
## OSX
install Xcode console tools, autoconf (via homebrew)
run
### macOS
Install the following:
* Xcode command line developer tools and `autoconf` via [Homebrew](getDpiInfo).
* [Java 11](https://docs.aws.amazon.com/corretto/latest/corretto-11-ug/downloads-list.html).
From the command line:
```
sh ./configure --prefix=$(pwd)/build --disable-warnings-as-errors
make images
$ cd JetBrainsRuntime
$ sh ./configure --prefix=$(pwd)/build --disable-warnings-as-errors
$ make images
```
## Contribution
We will be happy to receive your pull requests. Before you submit one, please sign our Contributor License Agreement (CLA) https://www.jetbrains.com/agreements/cla/
## Contributing
We are happy to receive your pull requests!
Before you submit one, please sign our [Contributor License Agreement (CLA)](https://www.jetbrains.com/agreements/cla/).
## Resources
* [JetBrains Runtime on github](https://github.com/JetBrains/JetBrainsRuntime).
* [OpenJDK build instructions](http://hg.openjdk.java.net/jdk/jdk11/raw-file/tip/doc/building.html).
* [OpenJDK test instructions](http://hg.openjdk.java.net/jdk/jdk11/raw-file/tip/doc/building.html#running-tests).
* [How to develop OpenJDK with CLion](https://blog.jetbrains.com/clion/2020/03/openjdk-with-clion/).

View File

@@ -68,10 +68,12 @@
</ul></li>
<li><a href="#running-tests">Running Tests</a></li>
<li><a href="#cross-compiling">Cross-compiling</a><ul>
<li><a href="#cross-compiling-the-easy-way-with-openjdk-devkits">Cross compiling the easy way with OpenJDK devkits</a></li>
<li><a href="#boot-jdk-and-build-jdk">Boot JDK and Build JDK</a></li>
<li><a href="#specifying-the-target-platform">Specifying the Target Platform</a></li>
<li><a href="#toolchain-considerations">Toolchain Considerations</a></li>
<li><a href="#native-libraries">Native Libraries</a></li>
<li><a href="#creating-and-using-sysroots-with-qemu-deboostrap">Creating And Using Sysroots With qemu-deboostrap</a></li>
<li><a href="#building-for-armaarch64">Building for ARM/aarch64</a></li>
<li><a href="#verifying-the-build">Verifying the Build</a></li>
</ul></li>
@@ -277,7 +279,7 @@
</tr>
<tr class="even">
<td style="text-align: left;">Windows</td>
<td style="text-align: left;">Microsoft Visual Studio 2017 update 15.5.5</td>
<td style="text-align: left;">Microsoft Visual Studio 2017 update 15.9.16</td>
</tr>
</tbody>
</table>
@@ -565,6 +567,47 @@ CC: Sun C++ 5.13 SunOS_i386 151846-10 2015/10/30</code></pre>
<p>This requires a more complex setup and build procedure. This section assumes you are familiar with cross-compiling in general, and will only deal with the particularities of cross-compiling the JDK. If you are new to cross-compiling, please see the <a href="https://en.wikipedia.org/wiki/Cross_compiler#External_links">external links at Wikipedia</a> for a good start on reading materials.</p>
<p>Cross-compiling the JDK requires you to be able to build both for the build platform and for the target platform. The reason for the former is that we need to build and execute tools during the build process, both native tools and Java tools.</p>
<p>If all you want to do is to compile a 32-bit version, for the same OS, on a 64-bit machine, consider using <code>--with-target-bits=32</code> instead of doing a full-blown cross-compilation. (While this surely is possible, it's a lot more work and will take much longer to build.)</p>
<h3 id="cross-compiling-the-easy-way-with-openjdk-devkits">Cross compiling the easy way with OpenJDK devkits</h3>
<p>The OpenJDK build system provides out-of-the box support for creating and using so called devkits. A <code>devkit</code> is basically a collection of a cross-compiling toolchain and a sysroot environment which can easily be used together with the <code>--with-devkit</code> configure option to cross compile the OpenJDK. On Linux/x86_64, the following command:</p>
<pre><code>bash configure --with-devkit=&lt;devkit-path&gt; --openjdk-target=ppc64-linux-gnu &amp;&amp; make</code></pre>
<p>will configure and build OpenJDK for Linux/ppc64 assuming that <code>&lt;devkit-path&gt;</code> points to a Linux/x86_64 to Linux/ppc64 devkit.</p>
<p>Devkits can be created from the <code>make/devkit</code> directory by executing:</p>
<pre><code>make [ TARGETS=&quot;&lt;TARGET_TRIPLET&gt;+&quot; ] [ BASE_OS=&lt;OS&gt; ] [ BASE_OS_VERSION=&lt;VER&gt; ]</code></pre>
<p>where <code>TARGETS</code> contains one or more <code>TARGET_TRIPLET</code>s of the form described in <a href="https://sourceware.org/autobook/autobook/autobook_17.html">section 3.4 of the GNU Autobook</a>. If no targets are given, a native toolchain for the current platform will be created. Currently, at least the following targets are known to work:</p>
<table>
<thead>
<tr class="header">
<th style="text-align: left;">Supported devkit targets</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td style="text-align: left;">x86_64-linux-gnu</td>
</tr>
<tr class="even">
<td style="text-align: left;">aarch64-linux-gnu</td>
</tr>
<tr class="odd">
<td style="text-align: left;">arm-linux-gnueabihf</td>
</tr>
<tr class="even">
<td style="text-align: left;">ppc64-linux-gnu</td>
</tr>
<tr class="odd">
<td style="text-align: left;">ppc64le-linux-gnu</td>
</tr>
<tr class="even">
<td style="text-align: left;">s390x-linux-gnu</td>
</tr>
</tbody>
</table>
<p><code>BASE_OS</code> must be one of &quot;OEL6&quot; for Oracle Enterprise Linux 6 or &quot;Fedora&quot; (if not specified &quot;OEL6&quot; will be the default). If the base OS is &quot;Fedora&quot; the corresponding Fedora release can be specified with the help of the <code>BASE_OS_VERSION</code> option (with &quot;27&quot; as default version). If the build is successful, the new devkits can be found in the <code>build/devkit/result</code> subdirectory:</p>
<pre><code>cd make/devkit
make TARGETS=&quot;ppc64le-linux-gnu aarch64-linux-gnu&quot; BASE_OS=Fedora BASE_OS_VERSION=21
ls -1 ../../build/devkit/result/
x86_64-linux-gnu-to-aarch64-linux-gnu
x86_64-linux-gnu-to-ppc64le-linux-gnu</code></pre>
<p>Notice that devkits are not only useful for targeting different build platforms. Because they contain the full build dependencies for a system (i.e. compiler and root file system), they can easily be used to build well-known, reliable and reproducible build environments. You can for example create and use a devkit with GCC 7.3 and a Fedora 12 sysroot environment (with glibc 2.11) on Ubuntu 14.04 (which doesn't have GCC 7.3 by default) to produce OpenJDK binaries which will run on all Linux systems with runtime libraries newer than the ones from Fedora 12 (e.g. Ubuntu 16.04, SLES 11 or RHEL 6).</p>
<h3 id="boot-jdk-and-build-jdk">Boot JDK and Build JDK</h3>
<p>When cross-compiling, make sure you use a boot JDK that runs on the <em>build</em> system, and not on the <em>target</em> system.</p>
<p>To be able to build, we need a &quot;Build JDK&quot;, which is a JDK built from the current sources (that is, the same as the end result of the entire build process), but able to run on the <em>build</em> system, and not the <em>target</em> system. (In contrast, the Boot JDK should be from an older release, e.g. JDK 8 when building JDK 9.)</p>
@@ -634,6 +677,72 @@ cp: cannot stat `arm-linux-gnueabihf/libSM.so&#39;: No such file or directory
cp: cannot stat `arm-linux-gnueabihf/libXt.so&#39;: No such file or directory</code></pre></li>
<li><p>If the X11 libraries are not properly detected by <code>configure</code>, you can point them out by <code>--with-x</code>.</p></li>
</ul>
<h3 id="creating-and-using-sysroots-with-qemu-deboostrap">Creating And Using Sysroots With qemu-deboostrap</h3>
<p>Fortunately, you can create sysroots for foreign architectures with tools provided by your OS. On Debian/Ubuntu systems, one could use <code>qemu-deboostrap</code> to create the <em>target</em> system chroot, which would have the native libraries and headers specific to that <em>target</em> system. After that, we can use the cross-compiler on the <em>build</em> system, pointing into chroot to get the build dependencies right. This allows building for foreign architectures with native compilation speed.</p>
<p>For example, cross-compiling to AArch64 from x86_64 could be done like this:</p>
<ul>
<li><p>Install cross-compiler on the <em>build</em> system:</p>
<pre><code>apt install g++-aarch64-linux-gnu gcc-aarch64-linux-gnu</code></pre></li>
<li><p>Create chroot on the <em>build</em> system, configuring it for <em>target</em> system:</p>
<pre><code>sudo qemu-debootstrap --arch=arm64 --verbose \
--include=fakeroot,build-essential,libx11-dev,libxext-dev,libxrender-dev,libxtst-dev,libxt-dev,libcups2-dev,libfontconfig1-dev,libasound2-dev,libfreetype6-dev,libpng12-dev \
--resolve-deps jessie /chroots/arm64 http://httpredir.debian.org/debian/</code></pre></li>
<li><p>Configure and build with newly created chroot as sysroot/toolchain-path:</p>
<pre><code>CC=aarch64-linux-gnu-gcc CXX=aarch64-linux-gnu-g++ sh ./configure --openjdk-target=aarch64-linux-gnu --with-sysroot=/chroots/arm64/ --with-toolchain-path=/chroots/arm64/
make images
ls build/linux-aarch64-normal-server-release/</code></pre></li>
</ul>
<p>The build does not create new files in that chroot, so it can be reused for multiple builds without additional cleanup.</p>
<p>Architectures that are known to successfully cross-compile like this are:</p>
<table>
<thead>
<tr class="header">
<th style="text-align: left;">Target</th>
<th style="text-align: left;"><code>CC</code></th>
<th style="text-align: left;"><code>CXX</code></th>
<th style="text-align: left;"><code>--arch=...</code></th>
<th style="text-align: left;"><code>--openjdk-target=...</code></th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td style="text-align: left;">x86</td>
<td style="text-align: left;">default</td>
<td style="text-align: left;">default</td>
<td style="text-align: left;">i386</td>
<td style="text-align: left;">i386-linux-gnu</td>
</tr>
<tr class="even">
<td style="text-align: left;">armhf</td>
<td style="text-align: left;">gcc-arm-linux-gnueabihf</td>
<td style="text-align: left;">g++-arm-linux-gnueabihf</td>
<td style="text-align: left;">armhf</td>
<td style="text-align: left;">arm-linux-gnueabihf</td>
</tr>
<tr class="odd">
<td style="text-align: left;">aarch64</td>
<td style="text-align: left;">gcc-aarch64-linux-gnu</td>
<td style="text-align: left;">g++-aarch64-linux-gnu</td>
<td style="text-align: left;">arm64</td>
<td style="text-align: left;">aarch64-linux-gnu</td>
</tr>
<tr class="even">
<td style="text-align: left;">ppc64el</td>
<td style="text-align: left;">gcc-powerpc64le-linux-gnu</td>
<td style="text-align: left;">g++-powerpc64le-linux-gnu</td>
<td style="text-align: left;">ppc64el</td>
<td style="text-align: left;">powerpc64le-linux-gnu</td>
</tr>
<tr class="odd">
<td style="text-align: left;">s390x</td>
<td style="text-align: left;">gcc-s390x-linux-gnu</td>
<td style="text-align: left;">g++-s390x-linux-gnu</td>
<td style="text-align: left;">s390x</td>
<td style="text-align: left;">s390x-linux-gnu</td>
</tr>
</tbody>
</table>
<p>Additional architectures might be supported by Debian/Ubuntu Ports.</p>
<h3 id="building-for-armaarch64">Building for ARM/aarch64</h3>
<p>A common cross-compilation target is the ARM CPU. When building for ARM, it is useful to set the ABI profile. A number of pre-defined ABI profiles are available using <code>--with-abi-profile</code>: arm-vfp-sflt, arm-vfp-hflt, arm-sflt, armv5-vfp-sflt, armv6-vfp-hflt. Note that soft-float ABIs are no longer properly supported by the JDK.</p>
<p>The JDK contains two different ports for the aarch64 platform, one is the original aarch64 port from the <a href="http://openjdk.java.net/projects/aarch64-port">AArch64 Port Project</a> and one is a 64-bit version of the Oracle contributed ARM port. When targeting aarch64, by the default the original aarch64 port is used. To select the Oracle ARM 64 port, use <code>--with-cpu-port=arm64</code>. Also set the corresponding value (<code>aarch64</code> or <code>arm64</code>) to --with-abi-profile, to ensure a consistent build.</p>
@@ -743,7 +852,12 @@ cannot create ... Permission denied
spawn failed</code></pre>
<p>This can be a sign of a Cygwin problem. See the information about solving problems in the <a href="#cygwin">Cygwin</a> section. Rebooting the computer might help temporarily.</p>
<h3 id="getting-help">Getting Help</h3>
<p>If none of the suggestions in this document helps you, or if you find what you believe is a bug in the build system, please contact the Build Group by sending a mail to <a href="mailto:build-dev@openjdk.java.net">build-dev@openjdk.java.net</a>. Please include the relevant parts of the configure and/or build log.</p>
<p>If none of the suggestions in this document helps you, or if you find what you believe is a bug in the build system, please contact the Build Group by sending a mail to <script type="text/javascript">
<!--
h='&#x6f;&#112;&#x65;&#110;&#106;&#100;&#x6b;&#46;&#106;&#x61;&#118;&#x61;&#46;&#110;&#x65;&#116;';a='&#64;';n='&#98;&#x75;&#x69;&#108;&#100;&#x2d;&#100;&#x65;&#118;';e=n+a+h;
document.write('<a h'+'ref'+'="ma'+'ilto'+':'+e+'" clas'+'s="em' + 'ail">'+e+'<\/'+'a'+'>');
// -->
</script><noscript>&#98;&#x75;&#x69;&#108;&#100;&#x2d;&#100;&#x65;&#118;&#32;&#x61;&#116;&#32;&#x6f;&#112;&#x65;&#110;&#106;&#100;&#x6b;&#32;&#100;&#x6f;&#116;&#32;&#106;&#x61;&#118;&#x61;&#32;&#100;&#x6f;&#116;&#32;&#110;&#x65;&#116;</noscript>. Please include the relevant parts of the configure and/or build log.</p>
<p>If you need general help or advice about developing for the JDK, you can also contact the Adoption Group. See the section on <a href="#contributing-to-openjdk">Contributing to OpenJDK</a> for more information.</p>
<h2 id="hints-and-suggestions-for-advanced-users">Hints and Suggestions for Advanced Users</h2>
<h3 id="setting-up-a-forest-for-pushing-changes-defpath">Setting Up a Forest for Pushing Changes (defpath)</h3>

View File

@@ -293,7 +293,7 @@ issues.
Linux gcc 7.3.0
macOS Apple Xcode 9.4 (using clang 9.1.0)
Solaris Oracle Solaris Studio 12.4 (with compiler version 5.13)
Windows Microsoft Visual Studio 2017 update 15.5.5
Windows Microsoft Visual Studio 2017 update 15.9.16
### gcc
@@ -875,6 +875,64 @@ If all you want to do is to compile a 32-bit version, for the same OS, on a
full-blown cross-compilation. (While this surely is possible, it's a lot more
work and will take much longer to build.)
### Cross compiling the easy way with OpenJDK devkits
The OpenJDK build system provides out-of-the box support for creating and using
so called devkits. A `devkit` is basically a collection of a cross-compiling
toolchain and a sysroot environment which can easily be used together with the
`--with-devkit` configure option to cross compile the OpenJDK. On Linux/x86_64,
the following command:
```
bash configure --with-devkit=<devkit-path> --openjdk-target=ppc64-linux-gnu && make
```
will configure and build OpenJDK for Linux/ppc64 assuming that `<devkit-path>`
points to a Linux/x86_64 to Linux/ppc64 devkit.
Devkits can be created from the `make/devkit` directory by executing:
```
make [ TARGETS="<TARGET_TRIPLET>+" ] [ BASE_OS=<OS> ] [ BASE_OS_VERSION=<VER> ]
```
where `TARGETS` contains one or more `TARGET_TRIPLET`s of the form
described in [section 3.4 of the GNU Autobook](
https://sourceware.org/autobook/autobook/autobook_17.html). If no
targets are given, a native toolchain for the current platform will be
created. Currently, at least the following targets are known to work:
Supported devkit targets
------------------------
x86_64-linux-gnu
aarch64-linux-gnu
arm-linux-gnueabihf
ppc64-linux-gnu
ppc64le-linux-gnu
s390x-linux-gnu
`BASE_OS` must be one of "OEL6" for Oracle Enterprise Linux 6 or
"Fedora" (if not specified "OEL6" will be the default). If the base OS
is "Fedora" the corresponding Fedora release can be specified with the
help of the `BASE_OS_VERSION` option (with "27" as default version).
If the build is successful, the new devkits can be found in the
`build/devkit/result` subdirectory:
```
cd make/devkit
make TARGETS="ppc64le-linux-gnu aarch64-linux-gnu" BASE_OS=Fedora BASE_OS_VERSION=21
ls -1 ../../build/devkit/result/
x86_64-linux-gnu-to-aarch64-linux-gnu
x86_64-linux-gnu-to-ppc64le-linux-gnu
```
Notice that devkits are not only useful for targeting different build
platforms. Because they contain the full build dependencies for a
system (i.e. compiler and root file system), they can easily be used
to build well-known, reliable and reproducible build environments. You
can for example create and use a devkit with GCC 7.3 and a Fedora 12
sysroot environment (with glibc 2.11) on Ubuntu 14.04 (which doesn't
have GCC 7.3 by default) to produce OpenJDK binaries which will run on
all Linux systems with runtime libraries newer than the ones from
Fedora 12 (e.g. Ubuntu 16.04, SLES 11 or RHEL 6).
### Boot JDK and Build JDK
When cross-compiling, make sure you use a boot JDK that runs on the *build*
@@ -1018,6 +1076,51 @@ Note that X11 is needed even if you only want to build a headless JDK.
* If the X11 libraries are not properly detected by `configure`, you can
point them out by `--with-x`.
### Creating And Using Sysroots With qemu-deboostrap
Fortunately, you can create sysroots for foreign architectures with tools
provided by your OS. On Debian/Ubuntu systems, one could use `qemu-deboostrap` to
create the *target* system chroot, which would have the native libraries and headers
specific to that *target* system. After that, we can use the cross-compiler on the *build*
system, pointing into chroot to get the build dependencies right. This allows building
for foreign architectures with native compilation speed.
For example, cross-compiling to AArch64 from x86_64 could be done like this:
* Install cross-compiler on the *build* system:
```
apt install g++-aarch64-linux-gnu gcc-aarch64-linux-gnu
```
* Create chroot on the *build* system, configuring it for *target* system:
```
sudo qemu-debootstrap --arch=arm64 --verbose \
--include=fakeroot,build-essential,libx11-dev,libxext-dev,libxrender-dev,libxtst-dev,libxt-dev,libcups2-dev,libfontconfig1-dev,libasound2-dev,libfreetype6-dev,libpng12-dev \
--resolve-deps jessie /chroots/arm64 http://httpredir.debian.org/debian/
```
* Configure and build with newly created chroot as sysroot/toolchain-path:
```
CC=aarch64-linux-gnu-gcc CXX=aarch64-linux-gnu-g++ sh ./configure --openjdk-target=aarch64-linux-gnu --with-sysroot=/chroots/arm64/ --with-toolchain-path=/chroots/arm64/
make images
ls build/linux-aarch64-normal-server-release/
```
The build does not create new files in that chroot, so it can be reused for multiple builds
without additional cleanup.
Architectures that are known to successfully cross-compile like this are:
Target `CC` `CXX` `--arch=...` `--openjdk-target=...`
------------ ------------------------- --------------------------- ------------ ----------------------
x86 default default i386 i386-linux-gnu
armhf gcc-arm-linux-gnueabihf g++-arm-linux-gnueabihf armhf arm-linux-gnueabihf
aarch64 gcc-aarch64-linux-gnu g++-aarch64-linux-gnu arm64 aarch64-linux-gnu
ppc64el gcc-powerpc64le-linux-gnu g++-powerpc64le-linux-gnu ppc64el powerpc64le-linux-gnu
s390x gcc-s390x-linux-gnu g++-s390x-linux-gnu s390x s390x-linux-gnu
Additional architectures might be supported by Debian/Ubuntu Ports.
### Building for ARM/aarch64
A common cross-compilation target is the ARM CPU. When building for ARM, it is

View File

@@ -4,7 +4,9 @@ RUN yum -y install centos-release-scl
RUN yum -y install devtoolset-8
RUN yum -y install zip bzip2 unzip tar wget make autoconf automake libtool alsa-devel cups-devel xorg-x11-devel libjpeg62-devel giflib-devel freetype-devel file which libXtst-devel libXt-devel libXrender-devel alsa-lib-devel fontconfig-devel libXrandr-devel libXi-devel git
# Install Java 11
RUN wget https://bintray.com/jetbrains/intellij-jbr/download_file?file_path=jbrsdk-11_0_3-linux-x64-b360.2.tar.gz \
RUN wget https://cdn.azul.com/zulu/bin/zulu11.45.27-ca-jdk11.0.10-linux_x64.tar.gz \
-O - | tar xz -C /
ENV JAVA_HOME /jbrsdk
ENV JAVA_HOME /zulu11.45.27-ca-jdk11.0.10-linux_x64
ENV PATH $JAVA_HOME/bin:/opt/rh/devtoolset-8/root/usr/bin:$PATH
RUN git config --global user.email "teamcity@buildserver.intellij.net"
RUN git config --global user.name "builduser"

View File

@@ -2,6 +2,7 @@
set(CMAKE_CXX_STANDARD 98)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -D_GNU_SOURCE -D_REENTRANT -DVM_LITTLE_ENDIAN -D_LP64 -DTARGET_ARCH_x86 ")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DINCLUDE_SUFFIX_CPU=_x86 -DAMD64 -DHOTSPOT_LIB_ARCH='amd64' -DCOMPILER1 -DCOMPILER2")
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DFT2_BUILD_LIBRARY")
if (${CMAKE_SYSTEM_NAME} MATCHES "Darwin" OR ${CMAKE_SYSTEM_NAME} MATCHES "Linux")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DTARGET_COMPILER_gcc")
@@ -24,7 +25,47 @@ add_custom_target(configure
COMMAND bash configure --disable-warnings-as-errors
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/../../../)
add_custom_target(build_images
COMMAND make COMPILER_WARNINGS_FATAL=false images
add_custom_target(configure_debug
COMMAND bash configure --disable-warnings-as-errors --enable-debug
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/../../../)
if (${CMAKE_SYSTEM_NAME} MATCHES "Linux")
set(JDK_RELEASE_TARGET "linux-x86_64-normal-server-release")
set(JDK_DEBUG_TARGET "linux-x86_64-normal-server-fastdebug")
endif ()
if (${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
set(JDK_RELEASE_TARGET "macosx-x86_64-normal-server-release")
set(JDK_DEBUG_TARGET "macosx-x86_64-normal-server-fastdebug")
add_compile_definitions(MACOSX)
endif ()
add_custom_target(build
COMMAND make CONF=${JDK_RELEASE_TARGET}
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/../../../
DEPENDS ${SOURCE_FILES})
DEPENDS ${SOURCE_FILES})
add_custom_target(build_images
COMMAND make images CONF=${JDK_RELEASE_TARGET}
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/../../../
DEPENDS ${SOURCE_FILES})
add_custom_target(build_debug
COMMAND make CONF=${JDK_DEBUG_TARGET}
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/../../../
DEPENDS ${SOURCE_FILES})
add_custom_target(build_images_debug
COMMAND make images CONF=${JDK_DEBUG_TARGET}
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/../../../
DEPENDS ${SOURCE_FILES})
add_custom_target(make_clean
COMMAND make clean CONF=${JDK_RELEASE_TARGET}
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/../../../
DEPENDS ${SOURCE_FILES})
add_custom_target(make_clean_debug
COMMAND make clean CONF=${JDK_DEBUG_TARGET}
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/../../../
DEPENDS ${SOURCE_FILES})

View File

@@ -6,6 +6,7 @@ include(../java-common.cmake)
include_directories(
../../../src/java.base/share/native/include
../../../src/java.base/share/native/libjava
../../../src/java.base/share/native/libzip/zlib
../../../src/java.desktop/share/native/common
../../../src/java.desktop/share/native/common/awt/debug
../../../src/java.desktop/share/native/common/font
@@ -58,6 +59,7 @@ if(${CMAKE_SYSTEM_NAME} MATCHES "Darwin" OR ${CMAKE_SYSTEM_NAME} MATCHES "Linux"
../../../src/java.desktop/unix/native/common/font
../../../src/java.desktop/unix/native/common/java2d/opengl
../../../src/java.desktop/unix/native/common/java2d/opengl/J2D_GL
../../../src/java.desktop/unix/native/common/java2d/x11
../../../src/java.desktop/unix/native/common
../../../src/java.desktop/unix/native/include
../../../src/java.desktop/unix/native/libawt/java2d
@@ -1026,7 +1028,10 @@ set(SOURCE_FILES
../../../src/jdk.jdwp.agent/share/native/include/jdwpTransport.h
../../../src/hotspot/share/include/jmm.h
../../../src/java.base/share/native/include/jni.h
../../../src/java.base/share/native/include/jvmticmlr.h)
../../../src/java.base/share/native/include/jvmticmlr.h
../../../src/java.base/share/native/libzip/zlib/zutil.c
../../../src/java.base/share/native/libzip/zlib/inflate.c)
if(${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
set(SOURCE_FILES
@@ -1356,6 +1361,7 @@ if(${CMAKE_SYSTEM_NAME} MATCHES "Darwin" OR ${CMAKE_SYSTEM_NAME} MATCHES "Linux"
../../../src/java.desktop/unix/native/libawt_xawt/awt/sun_awt_X11_GtkFileDialogPeer.c
../../../src/java.desktop/unix/native/libawt_xawt/awt/awt_GraphicsEnv.c
../../../src/java.desktop/unix/native/libawt_xawt/awt/awt_InputMethod.c
../../../src/java.desktop/unix/native/libawt_xawt/java2d/x11/XRBackendNative.c
../../../src/java.desktop/unix/native/libfontmanager/X11FontScaler.c
../../../src/java.desktop/unix/native/libfontmanager/X11TextRenderer.c
../../../src/java.desktop/unix/native/libsplashscreen/splashscreen_config.h

View File

@@ -1,3 +1,16 @@
VENDOR_NAME="JetBrains s.r.o."
VENDOR_VERSION_STRING="JBR-${JBSDK_VERSION_WITH_DOTS}.${JDK_BUILD_NUMBER}-${build_number}"
[ -z ${bundle_type} ] || VENDOR_VERSION_STRING="${VENDOR_VERSION_STRING}-${bundle_type}"
do_reset_changes=0
do_reset_dcevm=0
HEAD_REVISION=0
function do_exit() {
exit_code=$1
[ $do_reset_changes -eq 1 ] && git checkout HEAD modules.list src/java.desktop/share/classes/module-info.java
if [ $do_reset_dcevm -eq 1 ]; then
[ ! -z $HEAD_REVISION ] && git reset --hard $HEAD_REVISION
fi
exit $exit_code
}

View File

@@ -1,33 +0,0 @@
Index: src/java.desktop/share/classes/module-info.java
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
--- src/java.desktop/share/classes/module-info.java (revision 5ae6630e3ebc71beb9f9df63b1b5bc19c9405d1f)
+++ src/java.desktop/share/classes/module-info.java (date 1588168285537)
@@ -109,10 +109,7 @@
// see make/GensrcModuleInfo.gmk
exports sun.awt to
jdk.accessibility,
- jdk.unsupported.desktop,
- jcef;
-
- exports java.awt.peer to jcef;
+ jdk.unsupported.desktop;
exports java.awt.dnd.peer to jdk.unsupported.desktop;
exports sun.awt.dnd to jdk.unsupported.desktop;
Index: modules.list
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
--- modules.list (revision 5ae6630e3ebc71beb9f9df63b1b5bc19c9405d1f)
+++ modules.list (date 1588168285505)
@@ -61,5 +61,4 @@
jdk.unsupported,
jdk.xml.dom,
jdk.zipfs,
-jdk.hotspot.agent,
-jcef
+jdk.hotspot.agent

View File

@@ -1,21 +0,0 @@
Index: modules.list
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
--- modules.list (revision ab073976c4f85f154ff1421b7ac888eee86b6595)
+++ modules.list (date 1588171510146)
@@ -20,13 +20,6 @@
java.transaction.xa,
java.xml,
java.xml.crypto,
-javafx.base,
-javafx.controls,
-javafx.fxml,
-javafx.graphics,
-javafx.media,
-javafx.swing,
-javafx.web,
jdk.accessibility,
jdk.aot,
jdk.attach,

View File

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

View File

@@ -6,7 +6,6 @@
# build_number - specifies the number of JetBrainsRuntime build
# bundle_type - specifies bundle to bu built; possible values:
# jcef - the bundles 1) jbr with jcef+javafx, 2) jbrsdk and 3) test will be created
# jfx - the bundle 1) jbr with javafx only will be created
#
# jbrsdk-${JBSDK_VERSION}-osx-x64-b${build_number}.tar.gz
# jbr-${JBSDK_VERSION}-osx-x64-b${build_number}.tar.gz
@@ -32,6 +31,7 @@ sh configure \
--with-debug-level=release \
--with-vendor-name="${VENDOR_NAME}" \
--with-vendor-version-string="${VENDOR_VERSION_STRING}" \
--with-jvm-features=shenandoahgc \
--with-version-pre= \
--with-version-build=${JDK_BUILD_NUMBER} \
--with-version-opt=b${build_number} \

View File

@@ -1,12 +1,14 @@
#!/bin/bash -x
# The following parameters must be specified:
# JBSDK_VERSION - specifies the current version of OpenJDK e.g. 11_0_6
# JDK_BUILD_NUMBER - specifies the number of OpenJDK build or the value of --with-version-build argument to configure
# JBSDK_VERSION - specifies major version of OpenJDK e.g. 11_0_6 (instead of dots '.' underbars "_" are used)
# JDK_BUILD_NUMBER - specifies update release of OpenJDK build or the value of --with-version-build argument to configure
# build_number - specifies the number of JetBrainsRuntime build
# bundle_type - specifies bundle to bu built; possible values:
# jcef - the bundles 1) jbr with jcef+javafx, 2) jbrsdk and 3) test will be created
# jfx - the bundle 1) jbr with javafx only will be created
# bundle_type - specifies bundle to be built; possible values:
# jcef - the release bundles with jcef
# dcevm - the release bundles with dcevm patches
# nomod - the release bundles without any additional modules (jcef)
# fd - the fastdebug bundles which also include the jcef module
#
# jbrsdk-${JBSDK_VERSION}-osx-x64-b${build_number}.tar.gz
# jbr-${JBSDK_VERSION}-osx-x64-b${build_number}.tar.gz
@@ -16,116 +18,137 @@
# OpenJDK Runtime Environment (build 11.0.6+${JDK_BUILD_NUMBER}-b${build_number})
# OpenJDK 64-Bit Server VM (build 11.0.6+${JDK_BUILD_NUMBER}-b${build_number}, mixed mode)
#
# Environment variables:
# MODULAR_SDK_PATH - specifies the path to the directory where imported modules are located.
# By default imported modules should be located in ./modular-sdk
# JCEF_PATH - specifies the path to the directory with JCEF binaries.
# By default JCEF binaries should be located in ./jcef_linux_x64
JBSDK_VERSION=$1
JDK_BUILD_NUMBER=$2
build_number=$3
bundle_type=$4
JBSDK_VERSION_WITH_DOTS=$(echo $JBSDK_VERSION | sed 's/_/\./g')
WITH_IMPORT_MODULES="--with-import-modules=${MODULAR_SDK_PATH:=./modular-sdk}"
JCEF_PATH=${JCEF_PATH:=./jcef_linux_x64}
source jb/project/tools/common.sh
function create_jbr {
case "$1" in
"${bundle_type}_lw")
JBR_BASE_NAME=jbr_${bundle_type}_lw-${JBSDK_VERSION}
grep -v "jdk.compiler\|jdk.hotspot.agent" modules.list > modules_tmp.list
;;
"jfx" | "jcef")
JBR_BUNDLE=jbr_${bundle_type}
case "${bundle_type}" in
"jcef" | "dcevm" | "nomod" | "fd")
JBR_BASE_NAME=jbr_${bundle_type}-${JBSDK_VERSION}
cat modules.list > modules_tmp.list
;;
"jfx_jcef")
JBR_BASE_NAME=jbr-${JBSDK_VERSION}
cat modules.list > modules_tmp.list
;;
*)
echo "***ERR*** bundle was not specified" && exit 1
echo "***ERR*** bundle was not specified" && do_exit 1
;;
esac
cat modules.list > modules_tmp.list
rm -rf ${BASE_DIR}/${JBR_BUNDLE}
JBR=$JBR_BASE_NAME-linux-x64-b$build_number
JBR=${JBR_BASE_NAME}-linux-x64-b${build_number}
echo Running jlink....
$JSDK/bin/jlink \
--module-path $JSDK/jmods --no-man-pages --compress=2 \
--add-modules $(xargs < modules_tmp.list | sed s/" "//g) --output $BASE_DIR/$JBR_BUNDLE
--add-modules $(xargs < modules_tmp.list | sed s/" "//g) --output $BASE_DIR/$JBR_BUNDLE || do_exit $?
if [[ "$bundle_type" == *jcef* ]]; then
if [[ "${bundle_type}" == *jcef* ]] || [[ "${bundle_type}" == *dcevm* ]] || [[ "${bundle_type}" == fd ]]; then
cp -R $BASE_DIR/$JBR_BUNDLE $BASE_DIR/jbr
cp -R jcef_linux_x64/* $BASE_DIR/$JBR_BUNDLE/lib || exit $?
rsync -av ${JCEF_PATH}/ $BASE_DIR/$JBR_BUNDLE/lib --exclude="modular-sdk" || do_exit $?
fi
grep -v "^JAVA_VERSION" $JSDK/release | grep -v "^MODULES" >> $BASE_DIR/$JBR_BUNDLE/release
echo Creating $JBR.tar.gz ...
echo Creating ${JBR}.tar.gz ...
rm -rf ${BASE_DIR}/jbr
cp -R ${BASE_DIR}/${JBR_BUNDLE} ${BASE_DIR}/jbr
tar -pcf $JBR.tar -C $BASE_DIR jbr || exit $?
gzip $JBR.tar || exit $?
tar -pcf ${JBR}.tar -C ${BASE_DIR} jbr || do_exit $?
gzip -f ${JBR}.tar || do_exit $?
rm -rf ${BASE_DIR}/${JBR_BUNDLE}
}
JBRSDK_BASE_NAME=jbrsdk-$JBSDK_VERSION
git checkout -- modules.list src/java.desktop/share/classes/module-info.java
JBRSDK_BASE_NAME=jbrsdk-${JBSDK_VERSION}
WITH_DEBUG_LEVEL="--with-debug-level=release"
RELEASE_NAME=linux-x86_64-normal-server-release
JBSDK=${JBRSDK_BASE_NAME}-linux-x64-b${build_number}
case "$bundle_type" in
"jfx")
git apply -p0 < jb/project/tools/exclude_jcef_module.patch
;;
"jcef")
git apply -p0 < jb/project/tools/exclude_jfx_module.patch
git apply -p0 < jb/project/tools/patches/add_jcef_module.patch || do_exit $?
do_reset_changes=1
;;
"dcevm")
HEAD_REVISION=$(git rev-parse HEAD)
git am jb/project/tools/patches/dcevm/*.patch || do_exit $?
do_reset_dcevm=1
git apply -p0 < jb/project/tools/patches/add_jcef_module.patch || do_exit $?
do_reset_changes=1
;;
"nomod")
WITH_IMPORT_MODULES=""
;;
"fd")
git apply -p0 < jb/project/tools/patches/add_jcef_module.patch || do_exit $?
do_reset_changes=1
WITH_DEBUG_LEVEL="--with-debug-level=fastdebug"
RELEASE_NAME=linux-x86_64-normal-server-fastdebug
JBSDK=${JBRSDK_BASE_NAME}-linux-x64-fastdebug-b${build_number}
;;
*)
echo "***ERR*** bundle was not specified" && do_exit 1
;;
esac
sh configure \
--disable-warnings-as-errors \
--with-debug-level=release \
$WITH_DEBUG_LEVEL \
--with-vendor-name="${VENDOR_NAME}" \
--with-vendor-version-string="${VENDOR_VERSION_STRING}" \
--with-jvm-features=shenandoahgc \
--with-version-pre= \
--with-version-build=${JDK_BUILD_NUMBER} \
--with-version-opt=b${build_number} \
--with-import-modules=./modular-sdk \
--enable-cds=yes || exit $?
$WITH_IMPORT_MODULES \
--enable-cds=yes || do_exit $?
make images CONF=linux-x86_64-normal-server-release || exit $?
make clean images CONF=$RELEASE_NAME || do_exit $?
JSDK=build/linux-x86_64-normal-server-release/images/jdk
JBSDK=$JBRSDK_BASE_NAME-linux-x64-b$build_number
JSDK=build/${RELEASE_NAME}/images/jdk
echo Fixing permissions
chmod -R a+r $JSDK
BASE_DIR=build/linux-x86_64-normal-server-release/images
BASE_DIR=build/${RELEASE_NAME}/images
JBRSDK_BUNDLE=jbrsdk
rm -rf $BASE_DIR/$JBRSDK_BUNDLE
cp -r $JSDK $BASE_DIR/$JBRSDK_BUNDLE || exit $?
rm -rf ${BASE_DIR}/${JBRSDK_BUNDLE}
cp -r $JSDK $BASE_DIR/$JBRSDK_BUNDLE || do_exit $?
if [[ "$bundle_type" == *jcef* ]]; then
cp -R jcef_linux_x64/* $BASE_DIR/$JBRSDK_BUNDLE/lib || exit $?
if [[ "${bundle_type}" == *jcef* ]] || [[ "${bundle_type}" == *dcevm* ]] || [[ "${bundle_type}" == fd ]]; then
rsync -av ${JCEF_PATH}/ $BASE_DIR/$JBRSDK_BUNDLE/lib --exclude="modular-sdk" || do_exit $?
fi
if [ "$bundle_type" == "jfx_jcef" ]; then
if [ "${bundle_type}" == "jcef" ] || [ "${bundle_type}" == "fd" ]; then
echo Creating $JBSDK.tar.gz ...
sed 's/JBR/JBRSDK/g' ${BASE_DIR}/${JBRSDK_BUNDLE}/release > release
mv release ${BASE_DIR}/${JBRSDK_BUNDLE}/release
tar -pcf $JBSDK.tar --exclude=*.debuginfo --exclude=demo --exclude=sample --exclude=man \
-C $BASE_DIR $JBRSDK_BUNDLE || exit $?
gzip $JBSDK.tar || exit $?
tar -pcf ${JBSDK}.tar --exclude=*.debuginfo --exclude=demo --exclude=sample --exclude=man \
-C ${BASE_DIR} ${JBRSDK_BUNDLE} || do_exit $?
gzip -f ${JBSDK}.tar || do_exit $?
fi
JBR_BUNDLE=jbr_${bundle_type}
create_jbr ${bundle_type}
create_jbr || do_exit $?
if [ "$bundle_type" == "jfx_jcef" ]; then
make test-image || exit $?
if [ "$bundle_type" == "jcef" ]; then
make test-image CONF=$RELEASE_NAME || do_exit $?
JBRSDK_TEST=$JBRSDK_BASE_NAME-linux-test-x64-b$build_number
echo Creating $JBSDK_TEST.tar.gz ...
tar -pcf $JBRSDK_TEST.tar -C $BASE_DIR --exclude='test/jdk/demos' test || exit $?
gzip $JBRSDK_TEST.tar || exit $?
fi
tar -pcf ${JBRSDK_TEST}.tar -C ${BASE_DIR} --exclude='test/jdk/demos' test || do_exit $?
gzip -f ${JBRSDK_TEST}.tar || do_exit $?
fi
do_exit 0

View File

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

View File

@@ -6,7 +6,6 @@
# build_number - specifies the number of JetBrainsRuntime build
# bundle_type - specifies bundle to bu built; possible values:
# jcef - the bundles 1) jbr with jcef+javafx, 2) jbrsdk and 3) test will be created
# jfx - the bundle 1) jbr with javafx only will be created
#
# jbrsdk-${JBSDK_VERSION}-osx-x64-b${build_number}.tar.gz
# jbr-${JBSDK_VERSION}-osx-x64-b${build_number}.tar.gz
@@ -32,6 +31,7 @@ linux32 bash configure \
--with-debug-level=release \
--with-vendor-name="${VENDOR_NAME}" \
--with-vendor-version-string="${VENDOR_VERSION_STRING}" \
--with-jvm-features=shenandoahgc \
--with-version-pre= \
--with-version-build=$JDK_BUILD_NUMBER \
--with-version-opt=b${build_number} \

View File

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

View File

@@ -1,12 +1,14 @@
#!/bin/bash -x
# The following parameters must be specified:
# JBSDK_VERSION - specifies the current version of OpenJDK e.g. 11_0_6
# JDK_BUILD_NUMBER - specifies the number of OpenJDK build or the value of --with-version-build argument to configure
# JBSDK_VERSION - specifies major version of OpenJDK e.g. 11_0_6 (instead of dots '.' underbars "_" are used)
# JDK_BUILD_NUMBER - specifies update release of OpenJDK build or the value of --with-version-build argument to configure
# build_number - specifies the number of JetBrainsRuntime build
# bundle_type - specifies bundle to bu built; possible values:
# jcef - the bundles 1) jbr with jcef+javafx, 2) jbrsdk and 3) test will be created
# jfx - the bundle 1) jbr with javafx only will be created
# bundle_type - specifies bundle to be built; possible values:
# jcef - the release bundles with jcef
# dcevm - the release bundles with dcevm patches
# nomod - the release bundles without any additional modules (jcef)
# fd - the fastdebug bundles which also include the jcef module
#
# jbrsdk-${JBSDK_VERSION}-osx-x64-b${build_number}.tar.gz
# jbr-${JBSDK_VERSION}-osx-x64-b${build_number}.tar.gz
@@ -16,34 +18,51 @@
# OpenJDK Runtime Environment (build 11.0.6+${JDK_BUILD_NUMBER}-b${build_number})
# OpenJDK 64-Bit Server VM (build 11.0.6+${JDK_BUILD_NUMBER}-b${build_number}, mixed mode)
#
# Environment variables:
# MODULAR_SDK_PATH - specifies the path to the directory where imported modules are located.
# By default imported modules should be located in ./modular-sdk
# JCEF_PATH - specifies the path to the directory with JCEF binaries.
# By default JCEF binaries should be located in ./jcef_mac
JBSDK_VERSION=$1
JDK_BUILD_NUMBER=$2
build_number=$3
bundle_type=$4
architecture=$5 # aarch64 or x64
enable_aot=$6 # temporary param for building test jre with aot under aarch64
JBSDK_VERSION_WITH_DOTS=$(echo $JBSDK_VERSION | sed 's/_/\./g')
WITH_IMPORT_MODULES="--with-import-modules=${MODULAR_SDK_PATH:=./modular-sdk}"
JCEF_PATH=${JCEF_PATH:=./jcef_mac}
architecture=${architecture:=x64}
source jb/project/tools/common.sh
function copyJNF {
__contents_dir=$1
mkdir -p ${__contents_dir}/Frameworks
cp -Rp Frameworks/JavaNativeFoundation.framework ${__contents_dir}/Frameworks
}
function create_jbr {
case "$1" in
"${bundle_type}_lw")
JBR_BASE_NAME=jbr_${bundle_type}_lw-${JBSDK_VERSION}
grep -v "jdk.compiler\|jdk.hotspot.agent" modules.list > modules_tmp.list
;;
"jfx" | "jcef")
JBR_BUNDLE=jbr_${bundle_type}
case "${bundle_type}" in
"jcef" | "dcevm" | "nomod" | "fd")
JBR_BASE_NAME=jbr_${bundle_type}-${JBSDK_VERSION}
cat modules.list > modules_tmp.list
;;
"jfx_jcef")
JBR_BASE_NAME=jbr-${JBSDK_VERSION}
cat modules.list > modules_tmp.list
;;
*)
echo "***ERR*** bundle was not specified" && exit 1
echo "***ERR*** bundle was not specified" && do_exit 1
;;
esac
if [[ "${architecture}" == *aarch64* ]] && [[ "${enable_aot}" != *enable_aot* ]]; then
# aot isn't supported yet, so remove dependent modules
echo "Exclude jdk.internal.vm.compiler and jdk.aot (because aot not supported yet)"
cat modules.list | \
grep -v "jdk.internal.vm.compiler\|jdk.aot" \
> modules_tmp.list
else
cat modules.list > modules_tmp.list
fi
rm -rf ${BASE_DIR}/${JBR_BUNDLE}
JRE_CONTENTS=${BASE_DIR}/${JBR_BUNDLE}/Contents
@@ -53,85 +72,147 @@ function create_jbr {
fi
mkdir -p ${JRE_CONTENTS}
JBR=${JBR_BASE_NAME}-osx-x64-b${build_number}
JBR=${JBR_BASE_NAME}-osx-${architecture}-b${build_number}
echo Running jlink....
${BASE_DIR}/$JBRSDK_BUNDLE/Contents/Home/bin/jlink \
--module-path ${BASE_DIR}/${JBRSDK_BUNDLE}/Contents/Home/jmods --no-man-pages --compress=2 \
--add-modules $(xargs < modules_tmp.list | sed s/" "//g) --output ${JRE_HOME} || exit $?
--add-modules $(xargs < modules_tmp.list | sed s/" "//g) --output ${JRE_HOME} || do_exit $?
grep -v "^JAVA_VERSION" ${BASE_DIR}/${JBRSDK_BUNDLE}/Contents/Home/release | grep -v "^MODULES" >> ${JRE_HOME}/release
cp -R ${BASE_DIR}/${JBRSDK_BUNDLE}/Contents/MacOS ${JRE_CONTENTS}
cp ${BASE_DIR}/${JBRSDK_BUNDLE}/Contents/Info.plist ${JRE_CONTENTS}
if [[ "${bundle_type}" == *jcef* ]]; then
rm -rf ${JRE_CONTENTS}/Frameworks || exit $?
cp -a jcef_mac/Frameworks ${JRE_CONTENTS} || exit $?
rm -rf ${JRE_CONTENTS}/Frameworks || do_exit $?
if [[ "${architecture}" == *aarch64* ]]; then
# we can't notarize this library as usual framework (with headers and tbd-file)
# but single library notarizes correctly
copyJNF ${JRE_CONTENTS}
fi
if [[ "${bundle_type}" == *jcef* ]] || [[ "${bundle_type}" == *dcevm* ]] || [[ "${bundle_type}" == fd ]]; then
cp -a ${JCEF_PATH}/Frameworks ${JRE_CONTENTS} || do_exit $?
fi
echo Creating ${JBR}.tar.gz ...
rm -rf ${BASE_DIR}/jbr
cp -R ${BASE_DIR}/${JBR_BUNDLE} ${BASE_DIR}/jbr
COPYFILE_DISABLE=1 tar -pczf ${JBR}.tar.gz --exclude='*.dSYM' --exclude='man' -C ${BASE_DIR} jbr || exit $?
COPYFILE_DISABLE=1 tar -pczf ${JBR}.tar.gz --exclude='*.dSYM' --exclude='man' -C ${BASE_DIR} jbr || do_exit $?
rm -rf ${BASE_DIR}/${JBR_BUNDLE}
}
JBRSDK_BASE_NAME=jbrsdk-${JBSDK_VERSION}
WITH_DEBUG_LEVEL="--with-debug-level=release"
CONF_ARCHITECTURE=x86_64
if [[ "${architecture}" == *aarch64* ]]; then
CONF_ARCHITECTURE=aarch64
fi
CONF_NAME=macosx-${CONF_ARCHITECTURE}-normal-server-release
git checkout -- modules.list src/java.desktop/share/classes/module-info.java
JBSDK=${JBRSDK_BASE_NAME}-osx-${architecture}-b${build_number}
case "$bundle_type" in
"jfx")
git apply -p0 < jb/project/tools/exclude_jcef_module.patch
;;
"jcef")
git apply -p0 < jb/project/tools/exclude_jfx_module.patch
git apply -p0 < jb/project/tools/patches/add_jcef_module.patch || do_exit $?
do_reset_changes=1
;;
"dcevm")
HEAD_REVISION=$(git rev-parse HEAD)
git am jb/project/tools/patches/dcevm/*.patch || do_exit $?
do_reset_dcevm=1
git apply -p0 < jb/project/tools/patches/add_jcef_module.patch || do_exit $?
do_reset_changes=1
;;
"nomod")
WITH_IMPORT_MODULES=""
;;
"fd")
git apply -p0 < jb/project/tools/patches/add_jcef_module.patch || do_exit $?
do_reset_changes=1
WITH_DEBUG_LEVEL="--with-debug-level=fastdebug"
CONF_NAME=macosx-${CONF_ARCHITECTURE}-normal-server-fastdebug
JBSDK=${JBRSDK_BASE_NAME}-osx-${architecture}-fastdebug-b${build_number}
;;
*)
echo "***ERR*** bundle was not specified" && do_exit 1
;;
esac
sh configure \
if [[ "${architecture}" == *aarch64* ]]; then
# NOTE: aot, cds aren't supported yet
WITH_JVM_FEATURES="--with-jvm-features=-aot"
if [[ "${enable_aot}" == *enable_aot* ]]; then
echo "Enable unstable jvm feature: AOT"
WITH_JVM_FEATURES=""
fi
sh configure \
--disable-warnings-as-errors \
--with-debug-level=release \
$WITH_DEBUG_LEVEL \
--with-vendor-name="${VENDOR_NAME}" \
--with-vendor-version-string="${VENDOR_VERSION_STRING}" \
--with-jvm-features=shenandoahgc \
--with-version-pre= \
--with-version-build=${JDK_BUILD_NUMBER} \
--with-version-opt=b${build_number} \
--with-import-modules=./modular-sdk \
$WITH_IMPORT_MODULES \
--with-boot-jdk=`/usr/libexec/java_home -v 11` \
--enable-cds=yes || exit $?
--disable-hotspot-gtest --disable-javac-server --disable-full-docs --disable-manpages \
--enable-cds=no \
$WITH_JVM_FEATURES \
--with-extra-cflags="-F$(pwd)/Frameworks" \
--with-extra-cxxflags="-F$(pwd)/Frameworks" \
--with-extra-ldflags="-F$(pwd)/Frameworks" || do_exit $?
else
sh configure \
--disable-warnings-as-errors \
$WITH_DEBUG_LEVEL \
--with-vendor-name="${VENDOR_NAME}" \
--with-vendor-version-string="${VENDOR_VERSION_STRING}" \
--with-version-pre= \
--with-version-build=${JDK_BUILD_NUMBER} \
--with-version-opt=b${build_number} \
$WITH_IMPORT_MODULES \
--with-boot-jdk=`/usr/libexec/java_home -v 11` \
--enable-cds=yes || do_exit $?
fi
make images CONF=macosx-x86_64-normal-server-release || exit $?
make clean CONF=$CONF_NAME || do_exit $?
make images CONF=$CONF_NAME || do_exit $?
JSDK=build/macosx-x86_64-normal-server-release/images/jdk-bundle
JBSDK=${JBRSDK_BASE_NAME}-osx-x64-b${build_number}
JSDK=build/${CONF_NAME}/images/jdk-bundle
BASE_DIR=jre
JBRSDK_BUNDLE=jbrsdk
rm -rf $BASE_DIR
mkdir $BASE_DIR || exit $?
cp -a $JSDK/jdk-$JBSDK_VERSION_WITH_DOTS.jdk $BASE_DIR/$JBRSDK_BUNDLE || exit $?
if [[ "$bundle_type" == *jcef* ]]; then
cp -a jcef_mac/Frameworks $BASE_DIR/$JBRSDK_BUNDLE/Contents/
mkdir $BASE_DIR || do_exit $?
cp -a $JSDK/jdk-$JBSDK_VERSION_WITH_DOTS.jdk $BASE_DIR/$JBRSDK_BUNDLE || do_exit $?
if [[ "${bundle_type}" == *jcef* ]] || [[ "${bundle_type}" == *dcevm* ]] || [[ "${bundle_type}" == fd ]]; then
cp -a ${JCEF_PATH}/Frameworks $BASE_DIR/$JBRSDK_BUNDLE/Contents/
fi
if [ "$bundle_type" == "jfx_jcef" ]; then
if [ "${bundle_type}" == "jcef" ] || [ "${bundle_type}" == "fd" ]; then
echo Creating $JBSDK.tar.gz ...
if [[ "${architecture}" == *aarch64* ]]; then
copyJNF $BASE_DIR/$JBRSDK_BUNDLE/Contents
fi
sed 's/JBR/JBRSDK/g' ${BASE_DIR}/${JBRSDK_BUNDLE}/Contents/Home/release > release
mv release ${BASE_DIR}/${JBRSDK_BUNDLE}/Contents/Home/release
COPYFILE_DISABLE=1 tar -pczf $JBSDK.tar.gz -C $BASE_DIR \
--exclude='._*' --exclude='.DS_Store' --exclude='*~' \
[ -f "${JBSDK}.tar.gz" ] && rm "${JBSDK}.tar.gz"
COPYFILE_DISABLE=1 tar -pczf ${JBSDK}.tar.gz -C ${BASE_DIR} \
--exclude='.DS_Store' --exclude='*~' \
--exclude='Home/demo' --exclude='Home/man' --exclude='Home/sample' \
$JBRSDK_BUNDLE || exit $?
${JBRSDK_BUNDLE} || do_exit $?
fi
JBR_BUNDLE=jbr_${bundle_type}
create_jbr "${bundle_type}" || exit $?
create_jbr || do_exit $?
if [ "$bundle_type" == "jfx_jcef" ]; then
make test-image || exit $?
if [ "$bundle_type" == "jcef" ]; then
make test-image CONF=$CONF_NAME || do_exit $?
JBRSDK_TEST=$JBRSDK_BASE_NAME-osx-test-x64-b$build_number
JBRSDK_TEST=$JBRSDK_BASE_NAME-osx-test-${architecture}-b$build_number
echo Creating $JBRSDK_TEST.tar.gz ...
COPYFILE_DISABLE=1 tar -pczf $JBRSDK_TEST.tar.gz -C build/macosx-x86_64-normal-server-release/images \
--exclude='test/jdk/demos' test || exit $?
fi
[ -f "${JBRSDK_TEST}.tar.gz" ] && rm "${JBRSDK_TEST}.tar.gz"
COPYFILE_DISABLE=1 tar -pczf ${JBRSDK_TEST}.tar.gz -C build/${CONF_NAME}/images \
--exclude='test/jdk/demos' test || do_exit $?
fi
do_exit 0

View File

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

View File

@@ -58,7 +58,7 @@ file="$APP_NAME.zip"
log "Zipping $file..."
rm -rf "$file"
ditto -c -k --sequesterRsrc --keepParent "$APP_DIRECTORY/Contents" "$file"
ditto -c -k --sequesterRsrc --keepParent "$APP_DIRECTORY" "$file"
log "Notarizing $file..."
rm -rf "altool.init.out" "altool.check.out"

View File

@@ -26,17 +26,30 @@ log "Signing libraries and executables..."
# -perm +111 searches for executables
for f in \
"Contents/Home/bin" \
"Contents/Home/lib" \
"Contents/Frameworks"; do
"Contents/Home/lib"; do
if [ -d "$APP_DIRECTORY/$f" ]; then
find "$APP_DIRECTORY/$f" \
-type f \( -name "*.jnilib" -o -name "*.dylib" -o -name "*.so" -o -perm +111 \) \
-exec codesign --timestamp \
-exec codesign --timestamp --force \
-v -s "$JB_CERT" --options=runtime \
--entitlements entitlements.xml {} \;
fi
done
if [ -d "$APP_DIRECTORY/Contents/Frameworks" ]; then
log "Signing frameworks..."
for f in $APP_DIRECTORY/Contents/Frameworks/*; do
find "$f" \
-type f \( -name "*.jnilib" -o -name "*.dylib" -o -name "*.so" \) \
-exec codesign --timestamp --force \
-v -s "$JB_CERT" \
--entitlements entitlements.xml {} \;
codesign --timestamp --force \
-v -s "$JB_CERT" --options=runtime \
--entitlements entitlements.xml "$f"
done
fi
log "Signing libraries in jars in $PWD"
# todo: add set -euo pipefail; into the inner sh -c
@@ -55,7 +68,7 @@ find "$APP_DIRECTORY" -name '*.jar' \
find jarfolder \
-type f \( -name "*.jnilib" -o -name "*.dylib" -o -name "*.so" -o -name "jattach" \) \
-exec codesign --timestamp \
-exec codesign --timestamp --force \
-v -s "$JB_CERT" --options=runtime \
--entitlements entitlements.xml {} \;
@@ -71,7 +84,7 @@ for f in \
if [ -d "$APP_DIRECTORY/$f" ]; then
find "$APP_DIRECTORY/$f" \
-type f \( -name "*.jnilib" -o -name "*.dylib" -o -name "*.so" -o -perm +111 \) \
-exec codesign --timestamp \
-exec codesign --timestamp --force \
-v -s "$JB_CERT" --options=runtime \
--entitlements entitlements.xml {} \;
fi

View File

@@ -1,4 +1,4 @@
#!/bin/bash
#!/bin/bash -x
#immediately exit script with an error if a command fails
set -euo pipefail
@@ -32,8 +32,10 @@ mkdir "$BACKUP_JMODS"
log "Unzipping $INPUT_FILE to $EXPLODED ..."
tar -xzvf "$INPUT_FILE" --directory $EXPLODED
rm "$INPUT_FILE"
BUILD_NAME="$(ls "$EXPLODED")"
sed -i '' s/BNDL/APPL/ $EXPLODED/$BUILD_NAME/Contents/Info.plist
rm -f $EXPLODED/$BUILD_NAME/Contents/CodeResources
rm "$INPUT_FILE"
if test -d $EXPLODED/$BUILD_NAME/Contents/Home/jmods; then
mv $EXPLODED/$BUILD_NAME/Contents/Home/jmods $BACKUP_JMODS
fi
@@ -125,8 +127,8 @@ log "Zipping $BUILD_NAME to $INPUT_FILE ..."
mv $BACKUP_JMODS/jmods $EXPLODED/$BUILD_NAME/Contents/Home
fi
COPYFILE_DISABLE=1 tar -pczf $INPUT_FILE --exclude='*.dSYM' --exclude='man' -C $EXPLODED $BUILD_NAME
tar -pczvf $INPUT_FILE --exclude='*.dSYM' --exclude='man' -C $EXPLODED $BUILD_NAME
log "Finished zipping"
)
rm -rf "$EXPLODED"
log "Done"
log "Done"

View File

@@ -0,0 +1,30 @@
diff --git modules.list modules.list
index 33375b527c4..76539cbc0e0 100644
--- modules.list
+++ modules.list
@@ -55,4 +55,7 @@ jdk.unsupported,
jdk.xml.dom,
jdk.zipfs,
jdk.hotspot.agent,
-jdk.jcmd
+jdk.jcmd,
+jcef,
+gluegen.rt,
+jogl.all
diff --git src/java.desktop/share/classes/module-info.java src/java.desktop/share/classes/module-info.java
index b663b382f52..3e9acdc0c27 100644
--- src/java.desktop/share/classes/module-info.java
+++ src/java.desktop/share/classes/module-info.java
@@ -109,7 +109,11 @@ module java.desktop {
// see make/GensrcModuleInfo.gmk
exports sun.awt to
jdk.accessibility,
- jdk.unsupported.desktop;
+ jdk.unsupported.desktop,
+ jcef,
+ jogl.all;
+
+ exports java.awt.peer to jcef;
exports java.awt.dnd.peer to jdk.unsupported.desktop;
exports sun.awt.dnd to jdk.unsupported.desktop;

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,488 @@
From caa877d9126bd91d6719675a83928ba01bffb69a Mon Sep 17 00:00:00 2001
From: skybber <lada.dvorak7@gmail.com>
Date: Wed, 12 Dec 2018 19:38:28 +0100
Subject: [PATCH 03/28] Support for Concurrent Mark Sweep (CMS) collector
---
.../share/gc/cms/compactibleFreeListSpace.cpp | 139 ++++++++++++------
.../share/gc/cms/compactibleFreeListSpace.hpp | 5 +-
.../gc/cms/concurrentMarkSweepThread.cpp | 10 +-
src/hotspot/share/gc/serial/markSweep.cpp | 2 +-
src/hotspot/share/gc/shared/gcConfig.cpp | 2 +-
src/hotspot/share/gc/shared/space.cpp | 16 +-
src/hotspot/share/gc/shared/space.hpp | 6 +-
src/hotspot/share/gc/shared/space.inline.hpp | 16 +-
.../prims/jvmtiEnhancedRedefineClasses.cpp | 12 +-
src/hotspot/share/runtime/arguments.cpp | 6 +-
10 files changed, 135 insertions(+), 79 deletions(-)
diff --git a/src/hotspot/share/gc/cms/compactibleFreeListSpace.cpp b/src/hotspot/share/gc/cms/compactibleFreeListSpace.cpp
index 4c9918627a2..f335173576f 100644
--- a/src/hotspot/share/gc/cms/compactibleFreeListSpace.cpp
+++ b/src/hotspot/share/gc/cms/compactibleFreeListSpace.cpp
@@ -376,55 +376,58 @@ CompactibleFreeListSpace::CompactibleFreeListSpace(BlockOffsetSharedArray* bs, M
_used_stable = 0;
}
+#define forward_compact_top_DEFN() \
+ assert(this == cp->space, "'this' should be current compaction space."); \
+ size_t compaction_max_size = pointer_delta(end(), compact_top); \
+ assert(adjustObjectSize(size) == cp->space->adjust_object_size_v(size), \
+ "virtual adjustObjectSize_v() method is not correct"); \
+ size_t adjusted_size = adjustObjectSize(size); \
+ assert(compaction_max_size >= MinChunkSize || compaction_max_size == 0, \
+ "no small fragments allowed"); \
+ assert(minimum_free_block_size() == MinChunkSize, \
+ "for de-virtualized reference below"); \
+ /* Can't leave a nonzero size, residual fragment smaller than MinChunkSize */ \
+ if (adjusted_size + MinChunkSize > compaction_max_size && \
+ adjusted_size != compaction_max_size) { \
+ do { \
+ /* switch to next compaction space*/ \
+ cp->space->set_compaction_top(compact_top); \
+ cp->space = cp->space->next_compaction_space(); \
+ if (cp->space == NULL) { \
+ cp->gen = CMSHeap::heap()->young_gen(); \
+ assert(cp->gen != NULL, "compaction must succeed"); \
+ cp->space = cp->gen->first_compaction_space(); \
+ assert(cp->space != NULL, "generation must have a first compaction space"); \
+ } \
+ compact_top = cp->space->bottom(); \
+ cp->space->set_compaction_top(compact_top); \
+ /* The correct adjusted_size may not be the same as that for this method */ \
+ /* (i.e., cp->space may no longer be "this" so adjust the size again. */ \
+ /* Use the virtual method which is not used above to save the virtual */ \
+ /* dispatch. */ \
+ adjusted_size = cp->space->adjust_object_size_v(size); \
+ compaction_max_size = pointer_delta(cp->space->end(), compact_top); \
+ assert(cp->space->minimum_free_block_size() == 0, "just checking"); \
+ } while (adjusted_size > compaction_max_size); \
+ }
+
+
HeapWord* CompactibleFreeListSpace::forward_compact_top(size_t size,
CompactPoint* cp, HeapWord* compact_top) {
- ShouldNotReachHere();
- return NULL;
+ forward_compact_top_DEFN()
+ return compact_top;
}
// Like CompactibleSpace forward() but always calls cross_threshold() to
// update the block offset table. Removed initialize_threshold call because
// CFLS does not use a block offset array for contiguous spaces.
HeapWord* CompactibleFreeListSpace::forward(oop q, size_t size,
- CompactPoint* cp, HeapWord* compact_top) {
- // q is alive
- // First check if we should switch compaction space
- assert(this == cp->space, "'this' should be current compaction space.");
- size_t compaction_max_size = pointer_delta(end(), compact_top);
- assert(adjustObjectSize(size) == cp->space->adjust_object_size_v(size),
- "virtual adjustObjectSize_v() method is not correct");
- size_t adjusted_size = adjustObjectSize(size);
- assert(compaction_max_size >= MinChunkSize || compaction_max_size == 0,
- "no small fragments allowed");
- assert(minimum_free_block_size() == MinChunkSize,
- "for de-virtualized reference below");
- // Can't leave a nonzero size, residual fragment smaller than MinChunkSize
- if (adjusted_size + MinChunkSize > compaction_max_size &&
- adjusted_size != compaction_max_size) {
- do {
- // switch to next compaction space
- cp->space->set_compaction_top(compact_top);
- cp->space = cp->space->next_compaction_space();
- if (cp->space == NULL) {
- cp->gen = CMSHeap::heap()->young_gen();
- assert(cp->gen != NULL, "compaction must succeed");
- cp->space = cp->gen->first_compaction_space();
- assert(cp->space != NULL, "generation must have a first compaction space");
- }
- compact_top = cp->space->bottom();
- cp->space->set_compaction_top(compact_top);
- // The correct adjusted_size may not be the same as that for this method
- // (i.e., cp->space may no longer be "this" so adjust the size again.
- // Use the virtual method which is not used above to save the virtual
- // dispatch.
- adjusted_size = cp->space->adjust_object_size_v(size);
- compaction_max_size = pointer_delta(cp->space->end(), compact_top);
- assert(cp->space->minimum_free_block_size() == 0, "just checking");
- } while (adjusted_size > compaction_max_size);
- }
+ CompactPoint* cp, HeapWord* compact_top, bool force_forward) {
+ forward_compact_top_DEFN()
// store the forwarding pointer into the mark word
- if ((HeapWord*)q != compact_top) {
+ // the size of object changed for: new_version() != NULL
+ if (force_forward || (HeapWord*)q != compact_top || q->klass()->new_version() != NULL) {
q->forward_to(oop(compact_top));
assert(q->is_gc_marked(), "encoding the pointer should preserve the mark");
} else {
@@ -2209,13 +2212,60 @@ CompactibleFreeListSpace::refillLinearAllocBlock(LinearAllocBlock* blk) {
// Support for compaction
void CompactibleFreeListSpace::prepare_for_compaction(CompactPoint* cp) {
- scan_and_forward(this, cp, false);
- // of the free lists doesn't work after.
+ if (!Universe::is_redefining_gc_run()) {
+ scan_and_forward(this, cp, false);
+ } else {
+ // Redefinition run
+ scan_and_forward(this, cp, true);
+ }
// Prepare_for_compaction() uses the space between live objects
// so that later phase can skip dead space quickly. So verification
// of the free lists doesn't work after.
}
+bool CompactibleFreeListSpace::must_rescue(oop old_obj, oop new_obj) {
+ // Only redefined objects can have the need to be rescued.
+ if (oop(old_obj)->klass()->new_version() == NULL) return false;
+
+ int new_size = adjustObjectSize(old_obj->size_given_klass(oop(old_obj)->klass()->new_version()));
+ int original_size = adjustObjectSize(old_obj->size());
+
+ Generation* tenured_gen = CMSHeap::heap()->old_gen();
+ bool old_in_tenured = tenured_gen->is_in_reserved(old_obj);
+ bool new_in_tenured = tenured_gen->is_in_reserved(new_obj);
+ if (old_in_tenured == new_in_tenured) {
+ // Rescue if object may overlap with a higher memory address.
+ bool overlap = ((HeapWord*)old_obj + original_size < (HeapWord*)new_obj + new_size);
+ if (old_in_tenured) {
+ // Old and new address are in same space, so just compare the address.
+ // Must rescue if object moves towards the top of the space.
+ assert(space_index(old_obj) == space_index(new_obj), "old_obj and new_obj must be in same space");
+ } else {
+ // In the new generation, eden is located before the from space, so a
+ // simple pointer comparison is sufficient.
+ assert(CMSHeap::heap()->young_gen()->is_in_reserved(old_obj), "old_obj must be in DefNewGeneration");
+ assert(CMSHeap::heap()->young_gen()->is_in_reserved(new_obj), "new_obj must be in DefNewGeneration");
+ assert(overlap == (space_index(old_obj) < space_index(new_obj)), "slow and fast computation must yield same result");
+ }
+ return overlap;
+
+ } else {
+ assert(space_index(old_obj) != space_index(new_obj), "old_obj and new_obj must be in different spaces");
+ if (new_in_tenured) {
+ // Must never rescue when moving from the new into the old generation.
+ assert(CMSHeap::heap()->young_gen()->is_in_reserved(old_obj), "old_obj must be in DefNewGeneration");
+ assert(space_index(old_obj) > space_index(new_obj), "must be");
+ return false;
+
+ } else /* if (tenured_gen->is_in_reserved(old_obj)) */ {
+ // Must always rescue when moving from the old into the new generation.
+ assert(CMSHeap::heap()->young_gen()->is_in_reserved(new_obj), "new_obj must be in DefNewGeneration");
+ assert(space_index(old_obj) < space_index(new_obj), "must be");
+ return true;
+ }
+ }
+}
+
void CompactibleFreeListSpace::adjust_pointers() {
// In other versions of adjust_pointers(), a bail out
// based on the amount of live data in the generation
@@ -2228,7 +2278,12 @@ void CompactibleFreeListSpace::adjust_pointers() {
}
void CompactibleFreeListSpace::compact() {
- scan_and_compact(this, false);
+ if(!Universe::is_redefining_gc_run()) {
+ scan_and_compact(this, false);
+ } else {
+ // Redefinition run
+ scan_and_compact(this, true);
+ }
}
// Fragmentation metric = 1 - [sum of (fbs**2) / (sum of fbs)**2]
diff --git a/src/hotspot/share/gc/cms/compactibleFreeListSpace.hpp b/src/hotspot/share/gc/cms/compactibleFreeListSpace.hpp
index 9fd2ea58320..d29b81f6fca 100644
--- a/src/hotspot/share/gc/cms/compactibleFreeListSpace.hpp
+++ b/src/hotspot/share/gc/cms/compactibleFreeListSpace.hpp
@@ -201,7 +201,7 @@ class CompactibleFreeListSpace: public CompactibleSpace {
// Support for compacting cms
HeapWord* cross_threshold(HeapWord* start, HeapWord* end);
HeapWord* forward_compact_top(size_t size, CompactPoint* cp, HeapWord* compact_top);
- HeapWord* forward(oop q, size_t size, CompactPoint* cp, HeapWord* compact_top);
+ HeapWord* forward(oop q, size_t size, CompactPoint* cp, HeapWord* compact_top, bool force_forward);
// Initialization helpers.
void initializeIndexedFreeListArray();
@@ -576,6 +576,9 @@ class CompactibleFreeListSpace: public CompactibleSpace {
// Support for compaction.
void prepare_for_compaction(CompactPoint* cp);
+
+ bool must_rescue(oop old_obj, oop new_obj);
+
void adjust_pointers();
void compact();
// Reset the space to reflect the fact that a compaction of the
diff --git a/src/hotspot/share/gc/cms/concurrentMarkSweepThread.cpp b/src/hotspot/share/gc/cms/concurrentMarkSweepThread.cpp
index 3ada5755875..b6e930922d7 100644
--- a/src/hotspot/share/gc/cms/concurrentMarkSweepThread.cpp
+++ b/src/hotspot/share/gc/cms/concurrentMarkSweepThread.cpp
@@ -78,10 +78,12 @@ void ConcurrentMarkSweepThread::run_service() {
while (!should_terminate()) {
sleepBeforeNextCycle();
if (should_terminate()) break;
- GCIdMark gc_id_mark;
- GCCause::Cause cause = _collector->_full_gc_requested ?
- _collector->_full_gc_cause : GCCause::_cms_concurrent_mark;
- _collector->collect_in_background(cause);
+ if (!Universe::is_redefining_gc_run()) {
+ GCIdMark gc_id_mark;
+ GCCause::Cause cause = _collector->_full_gc_requested ?
+ _collector->_full_gc_cause : GCCause::_cms_concurrent_mark;
+ _collector->collect_in_background(cause);
+ }
}
// Check that the state of any protocol for synchronization
diff --git a/src/hotspot/share/gc/serial/markSweep.cpp b/src/hotspot/share/gc/serial/markSweep.cpp
index d0ff86c8215..b4ed59f020c 100644
--- a/src/hotspot/share/gc/serial/markSweep.cpp
+++ b/src/hotspot/share/gc/serial/markSweep.cpp
@@ -247,7 +247,7 @@ void MarkSweep::copy_rescued_objects_back() {
FREE_RESOURCE_ARRAY(HeapWord, rescued_ptr, size);
- new_obj->init_mark();
+ new_obj->init_mark_raw();
assert(oopDesc::is_oop(new_obj), "must be a valid oop");
}
_rescued_oops->clear();
diff --git a/src/hotspot/share/gc/shared/gcConfig.cpp b/src/hotspot/share/gc/shared/gcConfig.cpp
index 9779df92447..adb0f5dd25c 100644
--- a/src/hotspot/share/gc/shared/gcConfig.cpp
+++ b/src/hotspot/share/gc/shared/gcConfig.cpp
@@ -106,7 +106,7 @@ void GCConfig::fail_if_unsupported_gc_is_selected() {
}
void GCConfig::select_gc_ergonomically() {
- if (AllowEnhancedClassRedefinition) {
+ if (AllowEnhancedClassRedefinition && !UseConcMarkSweepGC) {
// Enhanced class redefinition only supports serial GC at the moment
FLAG_SET_ERGO(bool, UseSerialGC, true);
} else if (os::is_server_class_machine()) {
diff --git a/src/hotspot/share/gc/shared/space.cpp b/src/hotspot/share/gc/shared/space.cpp
index bc0dd1980db..56b144b46f1 100644
--- a/src/hotspot/share/gc/shared/space.cpp
+++ b/src/hotspot/share/gc/shared/space.cpp
@@ -388,11 +388,11 @@ HeapWord* CompactibleSpace::forward_compact_top(size_t size, CompactPoint* cp, H
}
HeapWord* CompactibleSpace::forward(oop q, size_t size,
- CompactPoint* cp, HeapWord* compact_top) {
+ CompactPoint* cp, HeapWord* compact_top, bool force_forward) {
compact_top = forward_compact_top(size, cp, compact_top);
// store the forwarding pointer into the mark word
- if ((HeapWord*)q != compact_top || (size_t)q->size() != size) {
+ if (force_forward || (HeapWord*)q != compact_top || (size_t)q->size() != size) {
q->forward_to(oop(compact_top));
assert(q->is_gc_marked(), "encoding the pointer should preserve the mark");
} else {
@@ -514,7 +514,7 @@ bool CompactibleSpace::must_rescue(oop old_obj, oop new_obj) {
} else {
assert(space_index(old_obj) != space_index(new_obj), "old_obj and new_obj must be in different spaces");
- if (tenured_gen->is_in_reserved(new_obj)) {
+ if (new_in_tenured) {
// Must never rescue when moving from the new into the old generation.
assert(GenCollectedHeap::heap()->young_gen()->is_in_reserved(old_obj), "old_obj must be in DefNewGeneration");
assert(space_index(old_obj) > space_index(new_obj), "must be");
@@ -858,14 +858,14 @@ void OffsetTableContigSpace::verify() const {
// Compute the forward sizes and leave out objects whose position could
// possibly overlap other objects.
HeapWord* CompactibleSpace::forward_with_rescue(HeapWord* q, size_t size,
- CompactPoint* cp, HeapWord* compact_top) {
+ CompactPoint* cp, HeapWord* compact_top, bool force_forward) {
size_t forward_size = size;
// (DCEVM) There is a new version of the class of q => different size
if (oop(q)->klass()->new_version() != NULL) {
size_t new_size = oop(q)->size_given_klass(oop(q)->klass()->new_version());
- assert(size != new_size, "instances without changed size have to be updated prior to GC run");
+ // assert(size != new_size, "instances without changed size have to be updated prior to GC run");
forward_size = new_size;
}
@@ -879,7 +879,7 @@ HeapWord* CompactibleSpace::forward_with_rescue(HeapWord* q, size_t size,
return compact_top;
}
- return forward(oop(q), forward_size, cp, compact_top);
+ return forward(oop(q), forward_size, cp, compact_top, force_forward);
}
// Compute the forwarding addresses for the objects that need to be rescued.
@@ -895,11 +895,11 @@ HeapWord* CompactibleSpace::forward_rescued(CompactPoint* cp, HeapWord* compact_
// (DCEVM) There is a new version of the class of q => different size
if (oop(q)->klass()->new_version() != NULL) {
size_t new_size = oop(q)->size_given_klass(oop(q)->klass()->new_version());
- assert(size != new_size, "instances without changed size have to be updated prior to GC run");
+ // assert(size != new_size, "instances without changed size have to be updated prior to GC run");
size = new_size;
}
- compact_top = cp->space->forward(oop(q), size, cp, compact_top);
+ compact_top = cp->space->forward(oop(q), size, cp, compact_top, true);
assert(compact_top <= end(), "must not write over end of space!");
}
MarkSweep::_rescued_oops->clear();
diff --git a/src/hotspot/share/gc/shared/space.hpp b/src/hotspot/share/gc/shared/space.hpp
index 8eb5669fb79..901c89d8a30 100644
--- a/src/hotspot/share/gc/shared/space.hpp
+++ b/src/hotspot/share/gc/shared/space.hpp
@@ -421,7 +421,7 @@ public:
virtual void prepare_for_compaction(CompactPoint* cp) = 0;
// MarkSweep support phase3
DEBUG_ONLY(int space_index(oop obj));
- bool must_rescue(oop old_obj, oop new_obj);
+ virtual bool must_rescue(oop old_obj, oop new_obj);
HeapWord* rescue(HeapWord* old_obj);
virtual void adjust_pointers();
// MarkSweep support phase4
@@ -452,11 +452,11 @@ public:
// function of the then-current compaction space, and updates "cp->threshold
// accordingly".
virtual HeapWord* forward(oop q, size_t size, CompactPoint* cp,
- HeapWord* compact_top);
+ HeapWord* compact_top, bool force_forward);
// (DCEVM) same as forwad, but can rescue objects. Invoked only during
// redefinition runs
HeapWord* forward_with_rescue(HeapWord* q, size_t size, CompactPoint* cp,
- HeapWord* compact_top);
+ HeapWord* compact_top, bool force_forward);
HeapWord* forward_rescued(CompactPoint* cp, HeapWord* compact_top);
diff --git a/src/hotspot/share/gc/shared/space.inline.hpp b/src/hotspot/share/gc/shared/space.inline.hpp
index 6b109fcd2e5..8c255d6d428 100644
--- a/src/hotspot/share/gc/shared/space.inline.hpp
+++ b/src/hotspot/share/gc/shared/space.inline.hpp
@@ -163,6 +163,8 @@ inline void CompactibleSpace::scan_and_forward(SpaceType* space, CompactPoint* c
HeapWord* cur_obj = space->bottom();
HeapWord* scan_limit = space->scan_limit();
+ bool force_forward = false;
+
while (cur_obj < scan_limit) {
assert(!space->scanned_block_is_obj(cur_obj) ||
oop(cur_obj)->mark_raw()->is_marked() || oop(cur_obj)->mark_raw()->is_unlocked() ||
@@ -174,14 +176,15 @@ inline void CompactibleSpace::scan_and_forward(SpaceType* space, CompactPoint* c
size_t size = space->scanned_block_size(cur_obj);
if (redefinition_run) {
- compact_top = cp->space->forward_with_rescue(cur_obj, size, cp, compact_top);
+ compact_top = cp->space->forward_with_rescue(cur_obj, size, cp, compact_top, force_forward);
if (first_dead == NULL && oop(cur_obj)->is_gc_marked()) {
/* Was moved (otherwise, forward would reset mark),
set first_dead to here */
first_dead = cur_obj;
+ force_forward = true;
}
} else {
- compact_top = cp->space->forward(oop(cur_obj), size, cp, compact_top);
+ compact_top = cp->space->forward(oop(cur_obj), size, cp, compact_top, false);
}
cur_obj += size;
@@ -197,9 +200,9 @@ inline void CompactibleSpace::scan_and_forward(SpaceType* space, CompactPoint* c
// see if we might want to pretend this object is alive so that
// we don't have to compact quite as often.
- if (cur_obj == compact_top && dead_spacer.insert_deadspace(cur_obj, end)) {
+ if (!redefinition_run && cur_obj == compact_top && dead_spacer.insert_deadspace(cur_obj, end)) {
oop obj = oop(cur_obj);
- compact_top = cp->space->forward(obj, obj->size(), cp, compact_top);
+ compact_top = cp->space->forward(obj, obj->size(), cp, compact_top, force_forward);
end_of_live = end;
} else {
// otherwise, it really is a free region.
@@ -352,7 +355,7 @@ inline void CompactibleSpace::scan_and_compact(SpaceType* space, bool redefiniti
HeapWord* compaction_top = (HeapWord*)oop(cur_obj)->forwardee();
if (redefinition_run && space->must_rescue(oop(cur_obj), oop(cur_obj)->forwardee())) {
- space->rescue(cur_obj);
+ space->rescue(cur_obj);
debug_only(Copy::fill_to_words(cur_obj, size, 0));
cur_obj += size;
continue;
@@ -362,8 +365,7 @@ inline void CompactibleSpace::scan_and_compact(SpaceType* space, bool redefiniti
Prefetch::write(compaction_top, copy_interval);
// copy object and reinit its mark
- assert(cur_obj != compaction_top || oop(cur_obj)->klass()->new_version() != NULL,
- "everything in this pass should be moving");
+ assert(redefinition_run || cur_obj != compaction_top, "everything in this pass should be moving");
if (redefinition_run && oop(cur_obj)->klass()->new_version() != NULL) {
Klass* new_version = oop(cur_obj)->klass()->new_version();
if (new_version->update_information() == NULL) {
diff --git a/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp b/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp
index 92ce6c27b8a..41e82ae7a69 100644
--- a/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp
+++ b/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp
@@ -54,6 +54,7 @@
#include "prims/jvmtiThreadState.inline.hpp"
#include "utilities/events.hpp"
#include "oops/constantPool.inline.hpp"
+#include "gc/cms/cmsHeap.hpp"
Array<Method*>* VM_EnhancedRedefineClasses::_old_methods = NULL;
Array<Method*>* VM_EnhancedRedefineClasses::_new_methods = NULL;
@@ -416,13 +417,11 @@ public:
Klass* new_klass = obj->klass()->new_version();
if (new_klass->update_information() != NULL) {
- int size_diff = obj->size() - obj->size_given_klass(new_klass);
-
- // Either new size is bigger or gap is to small to be filled
- if (size_diff < 0 || (size_diff > 0 && (size_t) size_diff < CollectedHeap::min_fill_size())) {
+ if (obj->size() - obj->size_given_klass(new_klass) != 0) {
// We need an instance update => set back to old klass
_needs_instance_update = true;
} else {
+ // Either new size is bigger or gap is to small to be filled
oop src = obj;
if (new_klass->is_copying_backwards()) {
copy_to_tmp(obj);
@@ -432,11 +431,6 @@ public:
// FIXME: instance updates...
//guarantee(false, "instance updates!");
MarkSweep::update_fields(obj, src, new_klass->update_information());
-
- if (size_diff > 0) {
- HeapWord* dead_space = ((HeapWord *)obj) + obj->size();
- CollectedHeap::fill_with_object(dead_space, size_diff);
- }
}
} else {
obj->set_klass(obj->klass()->new_version());
diff --git a/src/hotspot/share/runtime/arguments.cpp b/src/hotspot/share/runtime/arguments.cpp
index a11dfe48dd6..013ba213c00 100644
--- a/src/hotspot/share/runtime/arguments.cpp
+++ b/src/hotspot/share/runtime/arguments.cpp
@@ -2045,14 +2045,14 @@ bool Arguments::check_gc_consistency() {
if (AllowEnhancedClassRedefinition) {
// Must use serial GC. This limitation applies because the instance size changing GC modifications
// are only built into the mark and compact algorithm.
- if (!UseSerialGC && i >= 1) {
+ if ((!UseSerialGC && !UseConcMarkSweepGC) && i >= 1) {
jio_fprintf(defaultStream::error_stream(),
- "Must use the serial GC with enhanced class redefinition\n");
+ "Must use the serial or concurrent mark sweep GC with enhanced class redefinition.\n");
return false;
}
}
- if (i > 1) {
+ if (i > 2) {
jio_fprintf(defaultStream::error_stream(),
"Conflicting collector combinations in option list; "
"please refer to the release notes for the combinations "
--
2.23.0

View File

@@ -0,0 +1,29 @@
From 93373779a1d44181ca07498faa8a0e8d7fc6b608 Mon Sep 17 00:00:00 2001
From: Vladimir Dvorak <vladimir.dvorak@mailprofiler.com>
Date: Wed, 11 Mar 2020 14:19:34 +0100
Subject: [PATCH 04/28] Fix class cast exception on redefinition of class A,
that is superclass of B that has anonymous class C
---
src/hotspot/share/oops/instanceKlass.cpp | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/src/hotspot/share/oops/instanceKlass.cpp b/src/hotspot/share/oops/instanceKlass.cpp
index c28ed956ccf..7eb1b01c785 100644
--- a/src/hotspot/share/oops/instanceKlass.cpp
+++ b/src/hotspot/share/oops/instanceKlass.cpp
@@ -788,7 +788,10 @@ bool InstanceKlass::link_class_impl(bool throw_verifyerror, TRAPS) {
if (!is_linked()) {
if (!is_rewritten()) {
- {
+ // (DCEVM): If class A is being redefined and class B->A (B is extended from A) and B is host class of anonymous class C
+ // then second redefinition fails with cannot cast klass exception. So we currently turn off bytecode verification
+ // on redefinition.
+ if (!AllowEnhancedClassRedefinition || !newest_version()->is_redefining()) {
bool verify_ok = verify_code(throw_verifyerror, THREAD);
if (!verify_ok) {
return false;
--
2.23.0

View File

@@ -0,0 +1,655 @@
From c8850725d4c84f93beaee3c05f9d8f9862fe6159 Mon Sep 17 00:00:00 2001
From: skybber <lada.dvorak7@gmail.com>
Date: Thu, 15 Nov 2018 03:20:08 +0700
Subject: [PATCH 05/28] HotswapAgent integration
It include:
- option to compile DCEVM only version with -DDCEVM_ONLY added
to CFLAGS (bash configure --with-extra-cflags="-DDCEVM_ONLY"), by
default compilation goes with HotswapAgent
Allow ha class initializer calls
Add --add-opens for necessary modules/packages
- java.base/java.lang - for reflection access to Proxy.proxyCache
- java.base/jdk.internal.loader - for access proxyCache class
- java.desktop/java.beans - for reflection access to Introspector
- java.desktop/com.sun.beans
- java.base/java.io
- com.sun.beans.util
Open jdk module to access ClassInfo.CACHE
- be quiet if HotswapAgent is not found in lib/, it is compatible with
old DCEVM
- disable HotswapAgent for -Xshare:dump
- disable HotswapAgent in jvm tools
- disable HotswapAgent in keytool
---
make/launcher/Launcher-java.base.gmk | 1 +
make/launcher/Launcher-java.rmi.gmk | 2 +
make/launcher/Launcher-java.scripting.gmk | 3 +-
make/launcher/Launcher-java.security.jgss.gmk | 3 +
make/launcher/Launcher-jdk.aot.gmk | 2 +
make/launcher/Launcher-jdk.compiler.gmk | 5 +-
make/launcher/Launcher-jdk.hotspot.agent.gmk | 1 +
make/launcher/Launcher-jdk.jartool.gmk | 2 +
make/launcher/Launcher-jdk.javadoc.gmk | 3 +-
make/launcher/Launcher-jdk.jcmd.gmk | 13 +++-
make/launcher/Launcher-jdk.jconsole.gmk | 1 +
make/launcher/Launcher-jdk.jdeps.gmk | 3 +
make/launcher/Launcher-jdk.jdi.gmk | 1 +
make/launcher/Launcher-jdk.jlink.gmk | 5 +-
make/launcher/Launcher-jdk.jshell.gmk | 1 +
make/launcher/Launcher-jdk.jstatd.gmk | 1 +
make/launcher/Launcher-jdk.pack.gmk | 1 +
make/launcher/Launcher-jdk.rmic.gmk | 1 +
.../Launcher-jdk.scripting.nashorn.shell.gmk | 3 +-
src/hotspot/share/classfile/vmSymbols.hpp | 1 +
.../share/interpreter/linkResolver.cpp | 2 +-
src/hotspot/share/runtime/arguments.cpp | 67 +++++++++++++++++++
src/hotspot/share/runtime/arguments.hpp | 3 +
src/hotspot/share/runtime/globals.hpp | 12 +++-
.../sun/beans/introspect/package-info.java | 26 +++++++
.../classes/com/sun/beans/package-info.java | 26 +++++++
.../com/sun/beans/util/package-info.java | 26 +++++++
.../share/classes/module-info.java | 3 +
28 files changed, 208 insertions(+), 10 deletions(-)
create mode 100644 src/java.desktop/share/classes/com/sun/beans/introspect/package-info.java
create mode 100644 src/java.desktop/share/classes/com/sun/beans/package-info.java
create mode 100644 src/java.desktop/share/classes/com/sun/beans/util/package-info.java
diff --git a/make/launcher/Launcher-java.base.gmk b/make/launcher/Launcher-java.base.gmk
index f6d4aa28fe6..38ba29530d8 100644
--- a/make/launcher/Launcher-java.base.gmk
+++ b/make/launcher/Launcher-java.base.gmk
@@ -52,6 +52,7 @@ endif
$(eval $(call SetupBuildLauncher, keytool, \
MAIN_CLASS := sun.security.tools.keytool.Main, \
+ JAVA_ARGS := -XX:+DisableHotswapAgent, \
))
################################################################################
diff --git a/make/launcher/Launcher-java.rmi.gmk b/make/launcher/Launcher-java.rmi.gmk
index a69a90bcc81..07046232275 100644
--- a/make/launcher/Launcher-java.rmi.gmk
+++ b/make/launcher/Launcher-java.rmi.gmk
@@ -27,8 +27,10 @@ include LauncherCommon.gmk
$(eval $(call SetupBuildLauncher, rmid, \
MAIN_CLASS := sun.rmi.server.Activation, \
+ JAVA_ARGS := -XX:+DisableHotswapAgent, \
))
$(eval $(call SetupBuildLauncher, rmiregistry, \
MAIN_CLASS := sun.rmi.registry.RegistryImpl, \
+ JAVA_ARGS := -XX:+DisableHotswapAgent, \
))
diff --git a/make/launcher/Launcher-java.scripting.gmk b/make/launcher/Launcher-java.scripting.gmk
index 057d2bf3aca..cf100e20789 100644
--- a/make/launcher/Launcher-java.scripting.gmk
+++ b/make/launcher/Launcher-java.scripting.gmk
@@ -27,5 +27,6 @@ include LauncherCommon.gmk
$(eval $(call SetupBuildLauncher, jrunscript, \
MAIN_CLASS := com.sun.tools.script.shell.Main, \
- JAVA_ARGS := --add-modules ALL-DEFAULT, \
+ JAVA_ARGS := --add-modules ALL-DEFAULT \
+ -XX:+DisableHotswapAgent, \
))
diff --git a/make/launcher/Launcher-java.security.jgss.gmk b/make/launcher/Launcher-java.security.jgss.gmk
index 7411e1a21c4..2b856bfccb4 100644
--- a/make/launcher/Launcher-java.security.jgss.gmk
+++ b/make/launcher/Launcher-java.security.jgss.gmk
@@ -28,13 +28,16 @@ include LauncherCommon.gmk
ifeq ($(OPENJDK_TARGET_OS), windows)
$(eval $(call SetupBuildLauncher, kinit, \
MAIN_CLASS := sun.security.krb5.internal.tools.Kinit, \
+ JAVA_ARGS := -XX:+DisableHotswapAgent, \
))
$(eval $(call SetupBuildLauncher, klist, \
MAIN_CLASS := sun.security.krb5.internal.tools.Klist, \
+ JAVA_ARGS := -XX:+DisableHotswapAgent, \
))
$(eval $(call SetupBuildLauncher, ktab, \
MAIN_CLASS := sun.security.krb5.internal.tools.Ktab, \
+ JAVA_ARGS := -XX:+DisableHotswapAgent, \
))
endif
diff --git a/make/launcher/Launcher-jdk.aot.gmk b/make/launcher/Launcher-jdk.aot.gmk
index 10717a5e1c5..2c52c31a555 100644
--- a/make/launcher/Launcher-jdk.aot.gmk
+++ b/make/launcher/Launcher-jdk.aot.gmk
@@ -31,6 +31,7 @@ include LauncherCommon.gmk
$(eval $(call SetupBuildLauncher, jaotc, \
MAIN_CLASS := jdk.tools.jaotc.Main, \
EXTRA_JAVA_ARGS := -XX:+UnlockExperimentalVMOptions -XX:+EnableJVMCI \
+ -XX:+DisableHotswapAgent \
--add-exports=jdk.internal.vm.ci/jdk.vm.ci.aarch64=$(call CommaList, jdk.internal.vm.compiler jdk.aot) \
--add-exports=jdk.internal.vm.ci/jdk.vm.ci.amd64=$(call CommaList, jdk.internal.vm.compiler jdk.aot) \
--add-exports=jdk.internal.vm.ci/jdk.vm.ci.code=$(call CommaList, jdk.internal.vm.compiler jdk.aot) \
@@ -40,6 +41,7 @@ $(eval $(call SetupBuildLauncher, jaotc, \
--add-exports=jdk.internal.vm.ci/jdk.vm.ci.hotspot=$(call CommaList, jdk.internal.vm.compiler jdk.aot) \
, \
JAVA_ARGS := --add-exports=jdk.internal.vm.ci/jdk.vm.ci.hotspot.aarch64=$(call CommaList, jdk.internal.vm.compiler jdk.aot) \
+ -XX:+DisableHotswapAgent \
--add-exports=jdk.internal.vm.ci/jdk.vm.ci.hotspot.amd64=$(call CommaList, jdk.internal.vm.compiler jdk.aot) \
--add-exports=jdk.internal.vm.ci/jdk.vm.ci.hotspot.aarch64=$(call CommaList, jdk.internal.vm.compiler jdk.aot) \
--add-exports=jdk.internal.vm.ci/jdk.vm.ci.hotspot.sparc=$(call CommaList, jdk.internal.vm.compiler jdk.aot) \
diff --git a/make/launcher/Launcher-jdk.compiler.gmk b/make/launcher/Launcher-jdk.compiler.gmk
index f71c37adf74..744969546de 100644
--- a/make/launcher/Launcher-jdk.compiler.gmk
+++ b/make/launcher/Launcher-jdk.compiler.gmk
@@ -27,12 +27,14 @@ include LauncherCommon.gmk
$(eval $(call SetupBuildLauncher, javac, \
MAIN_CLASS := com.sun.tools.javac.Main, \
- JAVA_ARGS := --add-modules ALL-DEFAULT, \
+ JAVA_ARGS := --add-modules ALL-DEFAULT \
+ -XX:+DisableHotswapAgent, \
CFLAGS := -DEXPAND_CLASSPATH_WILDCARDS, \
))
$(eval $(call SetupBuildLauncher, serialver, \
MAIN_CLASS := sun.tools.serialver.SerialVer, \
+ JAVA_ARGS := -XX:+DisableHotswapAgent, \
CFLAGS := -DEXPAND_CLASSPATH_WILDCARDS, \
))
@@ -41,6 +43,7 @@ ifeq ($(ENABLE_SJAVAC), yes)
# into any real images
$(eval $(call SetupBuildLauncher, sjavac, \
MAIN_CLASS := com.sun.tools.sjavac.Main, \
+ JAVA_ARGS := -XX:+DisableHotswapAgent, \
CFLAGS := -DEXPAND_CLASSPATH_WILDCARDS, \
OUTPUT_DIR := $(JDK_OUTPUTDIR)/bin, \
))
diff --git a/make/launcher/Launcher-jdk.hotspot.agent.gmk b/make/launcher/Launcher-jdk.hotspot.agent.gmk
index 76da3600368..9f12b05b172 100644
--- a/make/launcher/Launcher-jdk.hotspot.agent.gmk
+++ b/make/launcher/Launcher-jdk.hotspot.agent.gmk
@@ -27,5 +27,6 @@ include LauncherCommon.gmk
$(eval $(call SetupBuildLauncher, jhsdb, \
MAIN_CLASS := sun.jvm.hotspot.SALauncher, \
+ JAVA_ARGS := -XX:+DisableHotswapAgent, \
MACOSX_PRIVILEGED := true, \
))
diff --git a/make/launcher/Launcher-jdk.jartool.gmk b/make/launcher/Launcher-jdk.jartool.gmk
index f74e82bfdae..647d82b65b1 100644
--- a/make/launcher/Launcher-jdk.jartool.gmk
+++ b/make/launcher/Launcher-jdk.jartool.gmk
@@ -27,8 +27,10 @@ include LauncherCommon.gmk
$(eval $(call SetupBuildLauncher, jar, \
MAIN_CLASS := sun.tools.jar.Main, \
+ JAVA_ARGS := -XX:+DisableHotswapAgent, \
))
$(eval $(call SetupBuildLauncher, jarsigner, \
MAIN_CLASS := sun.security.tools.jarsigner.Main, \
+ JAVA_ARGS := -XX:+DisableHotswapAgent, \
))
diff --git a/make/launcher/Launcher-jdk.javadoc.gmk b/make/launcher/Launcher-jdk.javadoc.gmk
index 889028a2b17..c3d2093be04 100644
--- a/make/launcher/Launcher-jdk.javadoc.gmk
+++ b/make/launcher/Launcher-jdk.javadoc.gmk
@@ -27,6 +27,7 @@ include LauncherCommon.gmk
$(eval $(call SetupBuildLauncher, javadoc, \
MAIN_CLASS := jdk.javadoc.internal.tool.Main, \
- JAVA_ARGS := --add-modules ALL-DEFAULT, \
+ JAVA_ARGS := --add-modules ALL-DEFAULT \
+ -XX:+DisableHotswapAgent, \
CFLAGS := -DEXPAND_CLASSPATH_WILDCARDS, \
))
diff --git a/make/launcher/Launcher-jdk.jcmd.gmk b/make/launcher/Launcher-jdk.jcmd.gmk
index 7117fa78059..761a52d8466 100644
--- a/make/launcher/Launcher-jdk.jcmd.gmk
+++ b/make/launcher/Launcher-jdk.jcmd.gmk
@@ -30,6 +30,7 @@ $(eval $(call SetupBuildLauncher, jinfo, \
JAVA_ARGS := \
-Dsun.jvm.hotspot.debugger.useProcDebugger \
-Dsun.jvm.hotspot.debugger.useWindbgDebugger, \
+ -XX:+DisableHotswapAgent, \
MACOSX_PRIVILEGED := true, \
))
@@ -37,28 +38,36 @@ $(eval $(call SetupBuildLauncher, jmap, \
MAIN_CLASS := sun.tools.jmap.JMap, \
JAVA_ARGS := \
-Dsun.jvm.hotspot.debugger.useProcDebugger \
- -Dsun.jvm.hotspot.debugger.useWindbgDebugger, \
+ -Dsun.jvm.hotspot.debugger.useWindbgDebugger \
+ -XX:+DisableHotswapAgent, \
MACOSX_PRIVILEGED := true, \
))
$(eval $(call SetupBuildLauncher, jps, \
MAIN_CLASS := sun.tools.jps.Jps, \
+ JAVA_ARGS := \
+ -XX:+DisableHotswapAgent, \
))
$(eval $(call SetupBuildLauncher, jstack, \
MAIN_CLASS := sun.tools.jstack.JStack, \
JAVA_ARGS := \
-Dsun.jvm.hotspot.debugger.useProcDebugger \
- -Dsun.jvm.hotspot.debugger.useWindbgDebugger, \
+ -Dsun.jvm.hotspot.debugger.useWindbgDebugger \
+ -XX:+DisableHotswapAgent, \
MACOSX_PRIVILEGED := true, \
))
$(eval $(call SetupBuildLauncher, jstat, \
MAIN_CLASS := sun.tools.jstat.Jstat, \
+ JAVA_ARGS := \
+ -XX:+DisableHotswapAgent, \
))
$(eval $(call SetupBuildLauncher, jcmd, \
MAIN_CLASS := sun.tools.jcmd.JCmd, \
+ JAVA_ARGS := \
+ -XX:+DisableHotswapAgent, \
))
# Hook to include the corresponding custom file, if present.
diff --git a/make/launcher/Launcher-jdk.jconsole.gmk b/make/launcher/Launcher-jdk.jconsole.gmk
index 575b9e0595b..2f442f69113 100644
--- a/make/launcher/Launcher-jdk.jconsole.gmk
+++ b/make/launcher/Launcher-jdk.jconsole.gmk
@@ -30,6 +30,7 @@ $(eval $(call SetupBuildLauncher, jconsole, \
JAVA_ARGS := --add-opens java.base/java.io=jdk.jconsole \
-Djconsole.showOutputViewer \
-Djdk.attach.allowAttachSelf=true, \
+ -XX:+DisableHotswapAgent, \
CFLAGS_windows := -DJAVAW, \
LIBS_windows := user32.lib, \
))
diff --git a/make/launcher/Launcher-jdk.jdeps.gmk b/make/launcher/Launcher-jdk.jdeps.gmk
index 217523c48cc..5448278dae7 100644
--- a/make/launcher/Launcher-jdk.jdeps.gmk
+++ b/make/launcher/Launcher-jdk.jdeps.gmk
@@ -27,15 +27,18 @@ include LauncherCommon.gmk
$(eval $(call SetupBuildLauncher, javap, \
MAIN_CLASS := com.sun.tools.javap.Main, \
+ JAVA_ARGS := -XX:+DisableHotswapAgent, \
CFLAGS := -DEXPAND_CLASSPATH_WILDCARDS, \
))
$(eval $(call SetupBuildLauncher, jdeps, \
MAIN_CLASS := com.sun.tools.jdeps.Main, \
+ JAVA_ARGS := -XX:+DisableHotswapAgent, \
CFLAGS := -DEXPAND_CLASSPATH_WILDCARDS, \
))
$(eval $(call SetupBuildLauncher, jdeprscan, \
MAIN_CLASS := com.sun.tools.jdeprscan.Main, \
+ JAVA_ARGS := -XX:+DisableHotswapAgent, \
CFLAGS := -DEXPAND_CLASSPATH_WILDCARDS, \
))
diff --git a/make/launcher/Launcher-jdk.jdi.gmk b/make/launcher/Launcher-jdk.jdi.gmk
index fcce98cf430..27bd448e3ae 100644
--- a/make/launcher/Launcher-jdk.jdi.gmk
+++ b/make/launcher/Launcher-jdk.jdi.gmk
@@ -27,4 +27,5 @@ include LauncherCommon.gmk
$(eval $(call SetupBuildLauncher, jdb, \
MAIN_CLASS := com.sun.tools.example.debug.tty.TTY, \
+ JAVA_ARGS := -XX:+DisableHotswapAgent, \
))
diff --git a/make/launcher/Launcher-jdk.jlink.gmk b/make/launcher/Launcher-jdk.jlink.gmk
index df2173996d7..9e61edeb2c8 100644
--- a/make/launcher/Launcher-jdk.jlink.gmk
+++ b/make/launcher/Launcher-jdk.jlink.gmk
@@ -27,18 +27,21 @@ include LauncherCommon.gmk
$(eval $(call SetupBuildLauncher, jimage,\
MAIN_CLASS := jdk.tools.jimage.Main, \
+ JAVA_ARGS := -XX:+DisableHotswapAgent, \
CFLAGS := -DENABLE_ARG_FILES, \
))
$(eval $(call SetupBuildLauncher, jlink,\
MAIN_CLASS := jdk.tools.jlink.internal.Main, \
- JAVA_ARGS := --add-modules ALL-DEFAULT, \
+ JAVA_ARGS := --add-modules ALL-DEFAULT \
+ -XX:+DisableHotswapAgent, \
CFLAGS := -DENABLE_ARG_FILES \
-DEXPAND_CLASSPATH_WILDCARDS, \
))
$(eval $(call SetupBuildLauncher, jmod,\
MAIN_CLASS := jdk.tools.jmod.Main, \
+ JAVA_ARGS := -XX:+DisableHotswapAgent, \
CFLAGS := -DENABLE_ARG_FILES \
-DEXPAND_CLASSPATH_WILDCARDS, \
))
diff --git a/make/launcher/Launcher-jdk.jshell.gmk b/make/launcher/Launcher-jdk.jshell.gmk
index 349eb88e9eb..7287f8f998a 100644
--- a/make/launcher/Launcher-jdk.jshell.gmk
+++ b/make/launcher/Launcher-jdk.jshell.gmk
@@ -27,5 +27,6 @@ include LauncherCommon.gmk
$(eval $(call SetupBuildLauncher, jshell, \
MAIN_CLASS := jdk.internal.jshell.tool.JShellToolProvider, \
+ JAVA_ARGS := -XX:+DisableHotswapAgent, \
CFLAGS := -DEXPAND_CLASSPATH_WILDCARDS, \
))
diff --git a/make/launcher/Launcher-jdk.jstatd.gmk b/make/launcher/Launcher-jdk.jstatd.gmk
index e9286d63094..e1657910c67 100644
--- a/make/launcher/Launcher-jdk.jstatd.gmk
+++ b/make/launcher/Launcher-jdk.jstatd.gmk
@@ -27,6 +27,7 @@ include LauncherCommon.gmk
$(eval $(call SetupBuildLauncher, jstatd, \
MAIN_CLASS := sun.tools.jstatd.Jstatd, \
+ JAVA_ARGS := -XX:+DisableHotswapAgent, \
))
# Hook to include the corresponding custom file, if present.
diff --git a/make/launcher/Launcher-jdk.pack.gmk b/make/launcher/Launcher-jdk.pack.gmk
index a93fd2a9017..64bbbb7c949 100644
--- a/make/launcher/Launcher-jdk.pack.gmk
+++ b/make/launcher/Launcher-jdk.pack.gmk
@@ -28,6 +28,7 @@ include LauncherCommon.gmk
$(eval $(call SetupBuildLauncher, pack200, \
MAIN_MODULE := java.base, \
MAIN_CLASS := com.sun.java.util.jar.pack.Driver, \
+ JAVA_ARGS := -XX:+DisableHotswapAgent, \
))
################################################################################
diff --git a/make/launcher/Launcher-jdk.rmic.gmk b/make/launcher/Launcher-jdk.rmic.gmk
index d60c3d9b60b..b8a55900b0e 100644
--- a/make/launcher/Launcher-jdk.rmic.gmk
+++ b/make/launcher/Launcher-jdk.rmic.gmk
@@ -27,5 +27,6 @@ include LauncherCommon.gmk
$(eval $(call SetupBuildLauncher, rmic, \
MAIN_CLASS := sun.rmi.rmic.Main, \
+ JAVA_ARGS := -XX:+DisableHotswapAgent, \
CFLAGS := -DEXPAND_CLASSPATH_WILDCARDS, \
))
diff --git a/make/launcher/Launcher-jdk.scripting.nashorn.shell.gmk b/make/launcher/Launcher-jdk.scripting.nashorn.shell.gmk
index 82311e69fd6..bd39f8595b2 100644
--- a/make/launcher/Launcher-jdk.scripting.nashorn.shell.gmk
+++ b/make/launcher/Launcher-jdk.scripting.nashorn.shell.gmk
@@ -27,6 +27,7 @@ include LauncherCommon.gmk
$(eval $(call SetupBuildLauncher, jjs, \
MAIN_CLASS := jdk.nashorn.tools.jjs.Main, \
- JAVA_ARGS := --add-modules ALL-DEFAULT, \
+ JAVA_ARGS := --add-modules ALL-DEFAULT \
+ -XX:+DisableHotswapAgent, \
CFLAGS := -DENABLE_ARG_FILES, \
))
diff --git a/src/hotspot/share/classfile/vmSymbols.hpp b/src/hotspot/share/classfile/vmSymbols.hpp
index 26ff6ee9853..2409af9b06e 100644
--- a/src/hotspot/share/classfile/vmSymbols.hpp
+++ b/src/hotspot/share/classfile/vmSymbols.hpp
@@ -342,6 +342,7 @@
/* common method and field names */ \
template(object_initializer_name, "<init>") \
template(class_initializer_name, "<clinit>") \
+ template(ha_class_initializer_name, "$$ha$clinit") \
template(println_name, "println") \
template(printStackTrace_name, "printStackTrace") \
template(main_name, "main") \
diff --git a/src/hotspot/share/interpreter/linkResolver.cpp b/src/hotspot/share/interpreter/linkResolver.cpp
index 0c24146ff00..9dc184d02f5 100644
--- a/src/hotspot/share/interpreter/linkResolver.cpp
+++ b/src/hotspot/share/interpreter/linkResolver.cpp
@@ -1009,7 +1009,7 @@ void LinkResolver::resolve_field(fieldDescriptor& fd,
assert(!m.is_null(), "information about the current method must be available for 'put' bytecodes");
bool is_initialized_static_final_update = (byte == Bytecodes::_putstatic &&
fd.is_static() &&
- !m()->is_static_initializer());
+ !(m()->is_static_initializer() || m()->name() == vmSymbols::ha_class_initializer_name()));
bool is_initialized_instance_final_update = ((byte == Bytecodes::_putfield || byte == Bytecodes::_nofast_putfield) &&
!fd.is_static() &&
!m->is_object_initializer());
diff --git a/src/hotspot/share/runtime/arguments.cpp b/src/hotspot/share/runtime/arguments.cpp
index 013ba213c00..2b5ba619f43 100644
--- a/src/hotspot/share/runtime/arguments.cpp
+++ b/src/hotspot/share/runtime/arguments.cpp
@@ -3962,6 +3962,8 @@ jint Arguments::parse(const JavaVMInitArgs* initial_cmd_args) {
// Set object alignment values.
set_object_alignment();
+ setup_hotswap_agent();
+
#if !INCLUDE_CDS
if (DumpSharedSpaces || RequireSharedSpaces) {
jio_fprintf(defaultStream::error_stream(),
@@ -4295,3 +4297,68 @@ bool Arguments::copy_expand_pid(const char* src, size_t srclen,
*b = '\0';
return (p == src_end); // return false if not all of the source was copied
}
+
+void Arguments::setup_hotswap_agent() {
+
+ if (DumpSharedSpaces)
+ return;
+
+ if (!AllowEnhancedClassRedefinition)
+ return;
+
+ // Set HotswapAgent
+ if (!DisableHotswapAgent) {
+
+ char ext_path_str[JVM_MAXPATHLEN];
+
+ os::jvm_path(ext_path_str, sizeof(ext_path_str));
+ for (int i = 0; i < 3; i++) {
+ char *end = strrchr(ext_path_str, *os::file_separator());
+ if (end != NULL) *end = '\0';
+ }
+ size_t ext_path_length = strlen(ext_path_str);
+ if (ext_path_length >= 3) {
+ if (strcmp(ext_path_str + ext_path_length - 3, "lib") != 0) {
+ if (ext_path_length < JVM_MAXPATHLEN - 4) {
+ jio_snprintf(ext_path_str + ext_path_length, sizeof(ext_path_str) - ext_path_length, "%slib", os::file_separator());
+ ext_path_length += 4;
+ }
+ }
+ }
+ if (ext_path_length < JVM_MAXPATHLEN - 10) {
+ jio_snprintf(ext_path_str + ext_path_length, sizeof(ext_path_str) - ext_path_length,
+ "%shotswap%shotswap-agent.jar", os::file_separator(), os::file_separator());
+ }
+
+ int fd = ::open(ext_path_str, O_RDONLY);
+ if (fd >= 0) {
+ os::close(fd);
+ size_t length = strlen(ext_path_str) + 1;
+ char *options = NEW_C_HEAP_ARRAY(char, length, mtArguments);
+ jio_snprintf(options, length, "%s", ext_path_str);
+ add_init_agent("instrument", ext_path_str, false);
+ jio_fprintf(defaultStream::output_stream(), "Starting HotswapAgent '%s'\n", ext_path_str);
+ }
+// else
+// {
+// jio_fprintf(defaultStream::error_stream(), "HotswapAgent not found on path:'%s'\n", ext_path_str);
+// }
+ }
+
+ // TODO: open it only for org.hotswap.agent module
+ // Use to access java.lang.reflect.Proxy/proxyCache
+ create_numbered_property("jdk.module.addopens", "java.base/java.lang=ALL-UNNAMED", addopens_count++);
+ // Class of field java.lang.reflect.Proxy/proxyCache
+ create_numbered_property("jdk.module.addopens", "java.base/jdk.internal.loader=ALL-UNNAMED", addopens_count++);
+ // Use to access java.io.Reader, java.io.InputStream, java.io.FileInputStream
+ create_numbered_property("jdk.module.addopens", "java.base/java.io=ALL-UNNAMED", addopens_count++);
+ // java.beans.Introspector access
+ create_numbered_property("jdk.module.addopens", "java.desktop/java.beans=ALL-UNNAMED", addopens_count++);
+ // java.beans.Introspector access
+ create_numbered_property("jdk.module.addopens", "java.desktop/com.sun.beans=ALL-UNNAMED", addopens_count++);
+ // com.sun.beans.introspect.ClassInfo access
+ create_numbered_property("jdk.module.addopens", "java.desktop/com.sun.beans.introspect=ALL-UNNAMED", addopens_count++);
+ // com.sun.beans.introspect.util.Cache access
+ create_numbered_property("jdk.module.addopens", "java.desktop/com.sun.beans.util=ALL-UNNAMED", addopens_count++);
+
+}
diff --git a/src/hotspot/share/runtime/arguments.hpp b/src/hotspot/share/runtime/arguments.hpp
index cc7f71a4404..b2bab2e1f44 100644
--- a/src/hotspot/share/runtime/arguments.hpp
+++ b/src/hotspot/share/runtime/arguments.hpp
@@ -507,6 +507,9 @@ class Arguments : AllStatic {
static size_t conservative_max_heap_alignment() { return _conservative_max_heap_alignment; }
+ // Initialize HotswapAgent
+ static void setup_hotswap_agent();
+
// Return the maximum size a heap with compressed oops can take
static size_t max_heap_for_compressed_oops();
diff --git a/src/hotspot/share/runtime/globals.hpp b/src/hotspot/share/runtime/globals.hpp
index a6c33744760..b8dba232fc1 100644
--- a/src/hotspot/share/runtime/globals.hpp
+++ b/src/hotspot/share/runtime/globals.hpp
@@ -32,6 +32,12 @@
#include <float.h> // for DBL_MAX
+#ifdef DCEVM_ONLY
+#define DISABLED_HOTSWAP_AGENT true
+#else
+#define DISABLED_HOTSWAP_AGENT false
+#endif
+
// The larger HeapWordSize for 64bit requires larger heaps
// for the same application running in 64bit. See bug 4967770.
// The minimum alignment to a heap word size is done. Other
@@ -2678,8 +2684,10 @@ define_pd_global(uint64_t,MaxRAM, 1ULL*G);
\
product(bool, AllowEnhancedClassRedefinition, true, \
"Allow enhanced class redefinition beyond swapping method " \
- "bodies")
-
+ "bodies") \
+ \
+ product(bool, DisableHotswapAgent, DISABLED_HOTSWAP_AGENT, \
+ "Disable integrated Hotswap Agent (HotswapVM only)")
#define VM_FLAGS(develop, \
develop_pd, \
product, \
diff --git a/src/java.desktop/share/classes/com/sun/beans/introspect/package-info.java b/src/java.desktop/share/classes/com/sun/beans/introspect/package-info.java
new file mode 100644
index 00000000000..6636e4dd62a
--- /dev/null
+++ b/src/java.desktop/share/classes/com/sun/beans/introspect/package-info.java
@@ -0,0 +1,26 @@
+/*
+ * Copyright (c) 1998, 2017, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation. Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+package com.sun.beans.introspect;
diff --git a/src/java.desktop/share/classes/com/sun/beans/package-info.java b/src/java.desktop/share/classes/com/sun/beans/package-info.java
new file mode 100644
index 00000000000..5c097eeaa53
--- /dev/null
+++ b/src/java.desktop/share/classes/com/sun/beans/package-info.java
@@ -0,0 +1,26 @@
+/*
+ * Copyright (c) 1998, 2017, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation. Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+package com.sun.beans;
diff --git a/src/java.desktop/share/classes/com/sun/beans/util/package-info.java b/src/java.desktop/share/classes/com/sun/beans/util/package-info.java
new file mode 100644
index 00000000000..2d5d735ffa8
--- /dev/null
+++ b/src/java.desktop/share/classes/com/sun/beans/util/package-info.java
@@ -0,0 +1,26 @@
+/*
+ * Copyright (c) 1998, 2017, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation. Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+package com.sun.beans.util;
diff --git a/src/java.desktop/share/classes/module-info.java b/src/java.desktop/share/classes/module-info.java
index b663b382f52..2a8f0a67d52 100644
--- a/src/java.desktop/share/classes/module-info.java
+++ b/src/java.desktop/share/classes/module-info.java
@@ -104,6 +104,9 @@ module java.desktop {
exports javax.swing.text.rtf;
exports javax.swing.tree;
exports javax.swing.undo;
+ exports com.sun.beans;
+ exports com.sun.beans.introspect;
+ exports com.sun.beans.util;
// qualified exports may be inserted at build time
// see make/GensrcModuleInfo.gmk
--
2.23.0

View File

@@ -0,0 +1,258 @@
From 1552e3854e11fb835452aa531ef53b78bb4588a5 Mon Sep 17 00:00:00 2001
From: Vladimir Dvorak <lada.dvorak7@gmail.com>
Date: Sun, 4 Oct 2020 21:12:12 +0200
Subject: [PATCH 06/28] Support for Lambda class redefinition
---
.../share/classfile/classLoaderData.cpp | 9 +++
.../share/classfile/classLoaderData.hpp | 1 +
.../share/classfile/systemDictionary.cpp | 12 +++-
.../share/classfile/systemDictionary.hpp | 2 +
.../prims/jvmtiEnhancedRedefineClasses.cpp | 65 +++++++++++++++++--
.../prims/jvmtiEnhancedRedefineClasses.hpp | 1 +
.../share/prims/resolvedMethodTable.cpp | 4 +-
src/hotspot/share/prims/unsafe.cpp | 1 +
8 files changed, 85 insertions(+), 10 deletions(-)
diff --git a/src/hotspot/share/classfile/classLoaderData.cpp b/src/hotspot/share/classfile/classLoaderData.cpp
index ab2615da0ed..1bc67adf5a7 100644
--- a/src/hotspot/share/classfile/classLoaderData.cpp
+++ b/src/hotspot/share/classfile/classLoaderData.cpp
@@ -663,6 +663,15 @@ Dictionary* ClassLoaderData::create_dictionary() {
return new Dictionary(this, size, resizable);
}
+void ClassLoaderData::exchange_holders(ClassLoaderData* cld) {
+ oop holder_oop = _holder.peek();
+ _holder.replace(cld->_holder.peek());
+ cld->_holder.replace(holder_oop);
+ WeakHandle<vm_class_loader_data> exchange = _holder;
+ _holder = cld->_holder;
+ cld->_holder = exchange;
+}
+
// Tell the GC to keep this klass alive while iterating ClassLoaderDataGraph
oop ClassLoaderData::holder_phantom() const {
// A klass that was previously considered dead can be looked up in the
diff --git a/src/hotspot/share/classfile/classLoaderData.hpp b/src/hotspot/share/classfile/classLoaderData.hpp
index 7e357929971..00a84610b43 100644
--- a/src/hotspot/share/classfile/classLoaderData.hpp
+++ b/src/hotspot/share/classfile/classLoaderData.hpp
@@ -292,6 +292,7 @@ class ClassLoaderData : public CHeapObj<mtClass> {
void accumulate_modified_oops() { if (has_modified_oops()) _accumulated_modified_oops = true; }
void clear_accumulated_modified_oops() { _accumulated_modified_oops = false; }
bool has_accumulated_modified_oops() { return _accumulated_modified_oops; }
+ void exchange_holders(ClassLoaderData* cld);
private:
void unload();
diff --git a/src/hotspot/share/classfile/systemDictionary.cpp b/src/hotspot/share/classfile/systemDictionary.cpp
index 19bc8d9899a..a6a03d3c0e9 100644
--- a/src/hotspot/share/classfile/systemDictionary.cpp
+++ b/src/hotspot/share/classfile/systemDictionary.cpp
@@ -971,12 +971,16 @@ InstanceKlass* SystemDictionary::parse_stream(Symbol* class_name,
Handle protection_domain,
ClassFileStream* st,
const InstanceKlass* host_klass,
+ InstanceKlass* old_klass,
GrowableArray<Handle>* cp_patches,
TRAPS) {
EventClassLoad class_load_start_event;
ClassLoaderData* loader_data;
+
+ bool is_redefining = (old_klass != NULL);
+
if (host_klass != NULL) {
// Create a new CLD for anonymous class, that uses the same class loader
// as the host_klass
@@ -1000,8 +1004,12 @@ InstanceKlass* SystemDictionary::parse_stream(Symbol* class_name,
protection_domain,
host_klass,
cp_patches,
- false, // pick_newest
+ is_redefining, // pick_newest
CHECK_NULL);
+ if (is_redefining && k != NULL) {
+ k->set_redefining(true);
+ k->set_old_version(old_klass);
+ }
if (host_klass != NULL && k != NULL) {
// Anonymous classes must update ClassLoaderData holder (was host_klass loader)
@@ -1844,7 +1852,7 @@ void SystemDictionary::remove_from_hierarchy(InstanceKlass* k) {
k->remove_from_sibling_list();
}
-// (DCEVM)
+// (DCEVM)
void SystemDictionary::update_constraints_after_redefinition() {
constraints()->update_after_redefinition();
}
diff --git a/src/hotspot/share/classfile/systemDictionary.hpp b/src/hotspot/share/classfile/systemDictionary.hpp
index 06f6c869d63..1dbbffa197f 100644
--- a/src/hotspot/share/classfile/systemDictionary.hpp
+++ b/src/hotspot/share/classfile/systemDictionary.hpp
@@ -304,6 +304,7 @@ public:
protection_domain,
st,
NULL, // host klass
+ NULL, // old class
NULL, // cp_patches
THREAD);
}
@@ -312,6 +313,7 @@ public:
Handle protection_domain,
ClassFileStream* st,
const InstanceKlass* host_klass,
+ InstanceKlass* old_klass,
GrowableArray<Handle>* cp_patches,
TRAPS);
diff --git a/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp b/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp
index 41e82ae7a69..b94caa39562 100644
--- a/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp
+++ b/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp
@@ -488,6 +488,8 @@ void VM_EnhancedRedefineClasses::doit() {
ClassLoaderDataGraph::classes_do(&clear_cpool_cache);
+ // SystemDictionary::methods_do(fix_invoke_method);
+
// JSR-292 support
if (_any_class_has_resolved_methods) {
bool trace_name_printed = false;
@@ -750,12 +752,34 @@ jvmtiError VM_EnhancedRedefineClasses::load_new_class_versions(TRAPS) {
// load hook event.
state->set_class_being_redefined(the_class, _class_load_kind);
- InstanceKlass* k = SystemDictionary::resolve_from_stream(the_class_sym,
- the_class_loader,
- protection_domain,
- &st,
- the_class,
- THREAD);
+ InstanceKlass* k;
+
+ if (InstanceKlass::cast(the_class)->is_anonymous()) {
+ const InstanceKlass* host_class = the_class->host_klass();
+
+ // Make sure it's the real host class, not another anonymous class.
+ while (host_class != NULL && host_class->is_anonymous()) {
+ host_class = host_class->host_klass();
+ }
+
+ k = SystemDictionary::parse_stream(the_class_sym,
+ the_class_loader,
+ protection_domain,
+ &st,
+ host_class,
+ the_class,
+ NULL,
+ THREAD);
+ k->class_loader_data()->exchange_holders(the_class->class_loader_data());
+ the_class->class_loader_data()->inc_keep_alive();
+ } else {
+ k = SystemDictionary::resolve_from_stream(the_class_sym,
+ the_class_loader,
+ protection_domain,
+ &st,
+ the_class,
+ THREAD);
+ }
// Clear class_being_redefined just to be sure.
state->clear_class_being_redefined();
@@ -1436,6 +1460,30 @@ void VM_EnhancedRedefineClasses::MethodDataCleaner::do_klass(Klass* k) {
}
}
+void VM_EnhancedRedefineClasses::fix_invoke_method(Method* method) {
+
+ constantPoolHandle other_cp = constantPoolHandle(method->constants());
+
+ for (int i = 0; i < other_cp->length(); i++) {
+ if (other_cp->tag_at(i).is_klass()) {
+ Klass* klass = other_cp->resolved_klass_at(i);
+ if (klass->new_version() != NULL) {
+ // Constant pool entry points to redefined class -- update to the new version
+ other_cp->klass_at_put(i, klass->newest_version());
+ }
+ assert(other_cp->resolved_klass_at(i)->new_version() == NULL, "Must be new klass!");
+ }
+ }
+
+ ConstantPoolCache* cp_cache = other_cp->cache();
+ if (cp_cache != NULL) {
+ cp_cache->clear_entries();
+ }
+
+}
+
+
+
void VM_EnhancedRedefineClasses::update_jmethod_ids() {
for (int j = 0; j < _matching_methods_length; ++j) {
Method* old_method = _matching_old_methods[j];
@@ -1973,7 +2021,10 @@ jvmtiError VM_EnhancedRedefineClasses::find_sorted_affected_classes(TRAPS) {
// Find classes not directly redefined, but affected by a redefinition (because one of its supertypes is redefined)
AffectedKlassClosure closure(_affected_klasses);
// Updated in j10, from original SystemDictionary::classes_do
- ClassLoaderDataGraph::dictionary_classes_do(&closure);
+
+ ClassLoaderDataGraph::classes_do(&closure);
+ //ClassLoaderDataGraph::dictionary_classes_do(&closure);
+
log_trace(redefine, class, load)("%d classes affected", _affected_klasses->length());
// Sort the affected klasses such that a supertype is always on a smaller array index than its subtype.
diff --git a/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.hpp b/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.hpp
index 60b62c3170a..d8a11b51fe9 100644
--- a/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.hpp
+++ b/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.hpp
@@ -116,6 +116,7 @@ class VM_EnhancedRedefineClasses: public VM_GC_Operation {
void rollback();
static void mark_as_scavengable(nmethod* nm);
static void unpatch_bytecode(Method* method);
+ static void fix_invoke_method(Method* method);
// Figure out which new methods match old methods in name and signature,
// which methods have been added, and which are no longer present
diff --git a/src/hotspot/share/prims/resolvedMethodTable.cpp b/src/hotspot/share/prims/resolvedMethodTable.cpp
index af2ec48c2e1..7741328979f 100644
--- a/src/hotspot/share/prims/resolvedMethodTable.cpp
+++ b/src/hotspot/share/prims/resolvedMethodTable.cpp
@@ -200,7 +200,7 @@ void ResolvedMethodTable::print() {
void ResolvedMethodTable::adjust_method_entries(bool * trace_name_printed) {
assert(SafepointSynchronize::is_at_safepoint(), "only called at safepoint");
- // For each entry in RMT, change to new method
+ // For each entry in RMT, change to new methodadjust_method_entries_dcevm
for (int i = 0; i < _the_table->table_size(); ++i) {
for (ResolvedMethodEntry* entry = _the_table->bucket(i);
entry != NULL;
@@ -271,6 +271,8 @@ void ResolvedMethodTable::adjust_method_entries_dcevm(bool * trace_name_printed)
InstanceKlass* newer_klass = InstanceKlass::cast(old_method->method_holder()->new_version());
Method* newer_method = newer_klass->method_with_idnum(old_method->orig_method_idnum());
+ log_info(redefine, class, load, exceptions)("Adjusting method: '%s' of new class %s", newer_method->name_and_sig_as_C_string(), newer_klass->name()->as_C_string());
+
assert(newer_klass == newer_method->method_holder(), "call after swapping redefined guts");
assert(newer_method != NULL, "method_with_idnum() should not be NULL");
assert(old_method != newer_method, "sanity check");
diff --git a/src/hotspot/share/prims/unsafe.cpp b/src/hotspot/share/prims/unsafe.cpp
index 1983b4f45f0..5e7aca092eb 100644
--- a/src/hotspot/share/prims/unsafe.cpp
+++ b/src/hotspot/share/prims/unsafe.cpp
@@ -820,6 +820,7 @@ Unsafe_DefineAnonymousClass_impl(JNIEnv *env,
host_domain,
&st,
InstanceKlass::cast(host_klass),
+ NULL,
cp_patches,
CHECK_NULL);
if (anonk == NULL) {
--
2.23.0

View File

@@ -0,0 +1,135 @@
From 83c2efaeb6ea9ee29c6d9eb779991db787c036ac Mon Sep 17 00:00:00 2001
From: Vladimir Dvorak <lada.dvorak7@gmail.com>
Date: Sat, 23 May 2020 10:02:15 +0200
Subject: [PATCH 07/28] Fix "no original bytecode found" error if method with
bkp is missing
Sometimes IDE can deploy class with erroneous method, such method has
n bytecode, but breakpoint position can still exist.
---
src/hotspot/share/interpreter/bytecodes.cpp | 2 +-
.../share/interpreter/interpreterRuntime.cpp | 2 +-
src/hotspot/share/oops/method.cpp | 8 ++++----
src/hotspot/share/oops/method.hpp | 4 ++--
.../prims/jvmtiEnhancedRedefineClasses.cpp | 18 ++++++++++--------
5 files changed, 18 insertions(+), 16 deletions(-)
diff --git a/src/hotspot/share/interpreter/bytecodes.cpp b/src/hotspot/share/interpreter/bytecodes.cpp
index e377e36b88c..262ecc021b2 100644
--- a/src/hotspot/share/interpreter/bytecodes.cpp
+++ b/src/hotspot/share/interpreter/bytecodes.cpp
@@ -84,7 +84,7 @@ Bytecodes::Code Bytecodes::code_at(Method* method, int bci) {
Bytecodes::Code Bytecodes::non_breakpoint_code_at(const Method* method, address bcp) {
assert(method != NULL, "must have the method for breakpoint conversion");
assert(method->contains(bcp), "must be valid bcp in method");
- return method->orig_bytecode_at(method->bci_from(bcp));
+ return method->orig_bytecode_at(method->bci_from(bcp), false);
}
int Bytecodes::special_length_at(Bytecodes::Code code, address bcp, address end) {
diff --git a/src/hotspot/share/interpreter/interpreterRuntime.cpp b/src/hotspot/share/interpreter/interpreterRuntime.cpp
index c25e13d83e8..2a66419908c 100644
--- a/src/hotspot/share/interpreter/interpreterRuntime.cpp
+++ b/src/hotspot/share/interpreter/interpreterRuntime.cpp
@@ -819,7 +819,7 @@ IRT_END
// Invokes
IRT_ENTRY(Bytecodes::Code, InterpreterRuntime::get_original_bytecode_at(JavaThread* thread, Method* method, address bcp))
- return method->orig_bytecode_at(method->bci_from(bcp));
+ return method->orig_bytecode_at(method->bci_from(bcp), false);
IRT_END
IRT_ENTRY(void, InterpreterRuntime::set_original_bytecode_at(JavaThread* thread, Method* method, address bcp, Bytecodes::Code new_code))
diff --git a/src/hotspot/share/oops/method.cpp b/src/hotspot/share/oops/method.cpp
index ed6f769bf1b..031f255e632 100644
--- a/src/hotspot/share/oops/method.cpp
+++ b/src/hotspot/share/oops/method.cpp
@@ -1744,14 +1744,14 @@ bool CompressedLineNumberReadStream::read_pair() {
#if INCLUDE_JVMTI
-Bytecodes::Code Method::orig_bytecode_at(int bci) const {
+Bytecodes::Code Method::orig_bytecode_at(int bci, bool no_fatal) const {
BreakpointInfo* bp = method_holder()->breakpoints();
for (; bp != NULL; bp = bp->next()) {
if (bp->match(this, bci)) {
return bp->orig_bytecode();
}
}
- {
+ if (!no_fatal) {
ResourceMark rm;
fatal("no original bytecode found in %s at bci %d", name_and_sig_as_C_string(), bci);
}
@@ -1897,7 +1897,7 @@ BreakpointInfo::BreakpointInfo(Method* m, int bci) {
_signature_index = m->signature_index();
_orig_bytecode = (Bytecodes::Code) *m->bcp_from(_bci);
if (_orig_bytecode == Bytecodes::_breakpoint)
- _orig_bytecode = m->orig_bytecode_at(_bci);
+ _orig_bytecode = m->orig_bytecode_at(_bci, false);
_next = NULL;
}
@@ -1906,7 +1906,7 @@ void BreakpointInfo::set(Method* method) {
{
Bytecodes::Code code = (Bytecodes::Code) *method->bcp_from(_bci);
if (code == Bytecodes::_breakpoint)
- code = method->orig_bytecode_at(_bci);
+ code = method->orig_bytecode_at(_bci, false);
assert(orig_bytecode() == code, "original bytecode must be the same");
}
#endif
diff --git a/src/hotspot/share/oops/method.hpp b/src/hotspot/share/oops/method.hpp
index 4533476ff8f..193e1845b23 100644
--- a/src/hotspot/share/oops/method.hpp
+++ b/src/hotspot/share/oops/method.hpp
@@ -230,7 +230,7 @@ class Method : public Metadata {
// JVMTI breakpoints
#if !INCLUDE_JVMTI
- Bytecodes::Code orig_bytecode_at(int bci) const {
+ Bytecodes::Code orig_bytecode_at(int bci, bool no_fatal) const {
ShouldNotReachHere();
return Bytecodes::_shouldnotreachhere;
}
@@ -239,7 +239,7 @@ class Method : public Metadata {
};
u2 number_of_breakpoints() const {return 0;}
#else // !INCLUDE_JVMTI
- Bytecodes::Code orig_bytecode_at(int bci) const;
+ Bytecodes::Code orig_bytecode_at(int bci, bool no_fatal) const;
void set_orig_bytecode_at(int bci, Bytecodes::Code code);
void set_breakpoint(int bci);
void clear_breakpoint(int bci);
diff --git a/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp b/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp
index b94caa39562..1fbba406087 100644
--- a/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp
+++ b/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp
@@ -1356,14 +1356,16 @@ void VM_EnhancedRedefineClasses::unpatch_bytecode(Method* method) {
if (code == Bytecodes::_breakpoint) {
int bci = method->bci_from(bcp);
- code = method->orig_bytecode_at(bci);
- java_code = Bytecodes::java_code(code);
- if (code != java_code &&
- (java_code == Bytecodes::_getfield ||
- java_code == Bytecodes::_putfield ||
- java_code == Bytecodes::_aload_0)) {
- // Let breakpoint table handling unpatch bytecode
- method->set_orig_bytecode_at(bci, java_code);
+ code = method->orig_bytecode_at(bci, true);
+ if (code != Bytecodes::_shouldnotreachhere) {
+ java_code = Bytecodes::java_code(code);
+ if (code != java_code &&
+ (java_code == Bytecodes::_getfield ||
+ java_code == Bytecodes::_putfield ||
+ java_code == Bytecodes::_aload_0)) {
+ // Let breakpoint table handling unpatch bytecode
+ method->set_orig_bytecode_at(bci, java_code);
+ }
}
} else {
java_code = Bytecodes::java_code(code);
--
2.23.0

View File

@@ -0,0 +1,57 @@
From f9e238b9bf2cc3ae0c437fa3ebb1703c35f575cf Mon Sep 17 00:00:00 2001
From: Vladimir Dvorak <lada.dvorak7@gmail.com>
Date: Sun, 24 May 2020 12:07:42 +0200
Subject: [PATCH 08/28] Replace deleted method with
Universe::throw_no_such_method_error
---
.../share/prims/resolvedMethodTable.cpp | 28 +++++++++----------
1 file changed, 14 insertions(+), 14 deletions(-)
diff --git a/src/hotspot/share/prims/resolvedMethodTable.cpp b/src/hotspot/share/prims/resolvedMethodTable.cpp
index 7741328979f..06581643c3b 100644
--- a/src/hotspot/share/prims/resolvedMethodTable.cpp
+++ b/src/hotspot/share/prims/resolvedMethodTable.cpp
@@ -261,25 +261,25 @@ void ResolvedMethodTable::adjust_method_entries_dcevm(bool * trace_name_printed)
if (old_method->is_old()) {
+ InstanceKlass* newer_klass = InstanceKlass::cast(old_method->method_holder()->new_version());
+ Method* newer_method;
+
// Method* new_method;
if (old_method->is_deleted()) {
- // FIXME:(DCEVM) - check if exception can be thrown
- // new_method = Universe::throw_no_such_method_error();
- continue;
- }
-
- InstanceKlass* newer_klass = InstanceKlass::cast(old_method->method_holder()->new_version());
- Method* newer_method = newer_klass->method_with_idnum(old_method->orig_method_idnum());
+ newer_method = Universe::throw_no_such_method_error();
+ } else {
+ newer_method = newer_klass->method_with_idnum(old_method->orig_method_idnum());
- log_info(redefine, class, load, exceptions)("Adjusting method: '%s' of new class %s", newer_method->name_and_sig_as_C_string(), newer_klass->name()->as_C_string());
+ log_info(redefine, class, load, exceptions)("Adjusting method: '%s' of new class %s", newer_method->name_and_sig_as_C_string(), newer_klass->name()->as_C_string());
- assert(newer_klass == newer_method->method_holder(), "call after swapping redefined guts");
- assert(newer_method != NULL, "method_with_idnum() should not be NULL");
- assert(old_method != newer_method, "sanity check");
+ assert(newer_klass == newer_method->method_holder(), "call after swapping redefined guts");
+ assert(newer_method != NULL, "method_with_idnum() should not be NULL");
+ assert(old_method != newer_method, "sanity check");
- if (_the_table->lookup(newer_method) != NULL) {
- // old method was already adjusted if new method exists in _the_table
- continue;
+ if (_the_table->lookup(newer_method) != NULL) {
+ // old method was already adjusted if new method exists in _the_table
+ continue;
+ }
}
java_lang_invoke_ResolvedMethodName::set_vmtarget(mem_name, newer_method);
--
2.23.0

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,50 @@
From 8d14e792d9849beedc74de690cf4d208ac384878 Mon Sep 17 00:00:00 2001
From: Vladimir Dvorak <lada.dvorak7@gmail.com>
Date: Sat, 13 Jun 2020 18:50:59 +0200
Subject: [PATCH 10/28] Change log level in advanced redefinition
- Change log level for "Comparing different class ver.." to debug
- Fix adjust_method_entries_dcevm logging levels and severity
---
src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp | 2 +-
src/hotspot/share/prims/resolvedMethodTable.cpp | 4 ++--
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp b/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp
index e67fc2dd58f..5be9bb74305 100644
--- a/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp
+++ b/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp
@@ -915,7 +915,7 @@ jvmtiError VM_EnhancedRedefineClasses::load_new_class_versions(TRAPS) {
// Calculated the difference between new and old class (field change, method change, supertype change, ...).
int VM_EnhancedRedefineClasses::calculate_redefinition_flags(InstanceKlass* new_class) {
int result = Klass::NoRedefinition;
- log_info(redefine, class, load)("Comparing different class versions of class %s",new_class->name()->as_C_string());
+ log_debug(redefine, class, load)("Comparing different class versions of class %s",new_class->name()->as_C_string());
assert(new_class->old_version() != NULL, "must have old version");
InstanceKlass* the_class = InstanceKlass::cast(new_class->old_version());
diff --git a/src/hotspot/share/prims/resolvedMethodTable.cpp b/src/hotspot/share/prims/resolvedMethodTable.cpp
index 06581643c3b..10806bee29b 100644
--- a/src/hotspot/share/prims/resolvedMethodTable.cpp
+++ b/src/hotspot/share/prims/resolvedMethodTable.cpp
@@ -270,7 +270,7 @@ void ResolvedMethodTable::adjust_method_entries_dcevm(bool * trace_name_printed)
} else {
newer_method = newer_klass->method_with_idnum(old_method->orig_method_idnum());
- log_info(redefine, class, load, exceptions)("Adjusting method: '%s' of new class %s", newer_method->name_and_sig_as_C_string(), newer_klass->name()->as_C_string());
+ log_debug(redefine, class, update)("Adjusting method: '%s' of new class %s", newer_method->name_and_sig_as_C_string(), newer_klass->name()->as_C_string());
assert(newer_klass == newer_method->method_holder(), "call after swapping redefined guts");
assert(newer_method != NULL, "method_with_idnum() should not be NULL");
@@ -290,7 +290,7 @@ void ResolvedMethodTable::adjust_method_entries_dcevm(bool * trace_name_printed)
ResourceMark rm;
if (!(*trace_name_printed)) {
- log_info(redefine, class, update)("adjust: name=%s", old_method->method_holder()->external_name());
+ log_debug(redefine, class, update)("adjust: name=%s", old_method->method_holder()->external_name());
*trace_name_printed = true;
}
log_debug(redefine, class, update, constantpool)
--
2.23.0

View File

@@ -0,0 +1,26 @@
From 5c437ade174426dbaf99a53823597ac7d3b1b4da Mon Sep 17 00:00:00 2001
From: Vladimir Dvorak <lada.dvorak7@gmail.com>
Date: Tue, 6 Oct 2020 22:15:31 +0200
Subject: [PATCH 11/28] AllowEnhancedClassRedefinition is false (disabled) by
default
---
src/hotspot/share/runtime/globals.hpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/hotspot/share/runtime/globals.hpp b/src/hotspot/share/runtime/globals.hpp
index b8dba232fc1..d4453de1ff5 100644
--- a/src/hotspot/share/runtime/globals.hpp
+++ b/src/hotspot/share/runtime/globals.hpp
@@ -2682,7 +2682,7 @@ define_pd_global(uint64_t,MaxRAM, 1ULL*G);
experimental(bool, UseFastUnorderedTimeStamps, false, \
"Use platform unstable time where supported for timestamps only") \
\
- product(bool, AllowEnhancedClassRedefinition, true, \
+ product(bool, AllowEnhancedClassRedefinition, false, \
"Allow enhanced class redefinition beyond swapping method " \
"bodies") \
\
--
2.23.0

View File

@@ -0,0 +1,32 @@
From 8b1c8178e66af30012fdda3e7f1076309daaf6c4 Mon Sep 17 00:00:00 2001
From: Artem Khvastunov <artem.khvastunov@jetbrains.com>
Date: Tue, 14 Apr 2020 19:11:35 +0200
Subject: [PATCH 12/28] add jvmtiEnhancedRedefineClasses.* to CMakeLists.txt
---
jb/project/hotspot-cmake/CMakeLists.txt | 2 ++
1 file changed, 2 insertions(+)
diff --git a/jb/project/hotspot-cmake/CMakeLists.txt b/jb/project/hotspot-cmake/CMakeLists.txt
index 8b552c27206..6516e39058f 100644
--- a/jb/project/hotspot-cmake/CMakeLists.txt
+++ b/jb/project/hotspot-cmake/CMakeLists.txt
@@ -1663,6 +1663,7 @@ set(SOURCE_FILES
../../../src/hotspot/share/prims/jvmtiGetLoadedClasses.hpp
../../../src/hotspot/share/prims/jvmtiAgentThread.hpp
../../../src/hotspot/share/prims/jvmtiCodeBlobEvents.cpp
+../../../src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp
../../../src/hotspot/share/prims/stackwalk.cpp
../../../src/hotspot/share/prims/privilegedStack.hpp
../../../src/hotspot/share/prims/jvmtiUtil.hpp
@@ -1684,6 +1685,7 @@ set(SOURCE_FILES
../../../src/hotspot/share/prims/stackwalk.hpp
../../../src/hotspot/share/prims/privilegedStack.cpp
../../../src/hotspot/share/prims/jvmtiCodeBlobEvents.hpp
+../../../src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.hpp
../../../src/hotspot/share/prims/jvmtiUtil.cpp
../../../src/hotspot/share/prims/jvmtiEnvBase.cpp
../../../src/hotspot/share/prims/methodHandles.cpp
--
2.23.0

View File

@@ -0,0 +1,25 @@
From 5e7a1218684556596677f39ae01b2ec13ff68a19 Mon Sep 17 00:00:00 2001
From: Vladimir Dvorak <lada.dvorak7@gmail.com>
Date: Mon, 19 Oct 2020 20:00:04 +0200
Subject: [PATCH 13/28] Set HOTSPOT_VM_DISTRO=Dynamic Code Evolution
---
make/autoconf/version-numbers | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/make/autoconf/version-numbers b/make/autoconf/version-numbers
index b9440902d34..c487ac6f047 100644
--- a/make/autoconf/version-numbers
+++ b/make/autoconf/version-numbers
@@ -44,7 +44,7 @@ PRODUCT_NAME=OpenJDK
PRODUCT_SUFFIX="Runtime Environment"
JDK_RC_PLATFORM_NAME=Platform
COMPANY_NAME=N/A
-HOTSPOT_VM_DISTRO="OpenJDK"
+HOTSPOT_VM_DISTRO="Dynamic Code Evolution"
VENDOR_URL=https://openjdk.java.net/
VENDOR_URL_BUG=https://bugreport.java.com/bugreport/
VENDOR_URL_VM_BUG=https://bugreport.java.com/bugreport/crash.jsp
--
2.23.0

View File

@@ -0,0 +1,71 @@
From c2a4abf7d01ecd7bd262e824338d6235a584086b Mon Sep 17 00:00:00 2001
From: Vladimir Dvorak <lada.dvorak7@gmail.com>
Date: Sun, 11 Oct 2020 10:43:28 +0200
Subject: [PATCH 14/28] Fix G1 nmethod registration
---
.../prims/jvmtiEnhancedRedefineClasses.cpp | 19 ++++++++++++++++---
.../prims/jvmtiEnhancedRedefineClasses.hpp | 3 ++-
2 files changed, 18 insertions(+), 4 deletions(-)
diff --git a/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp b/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp
index 5be9bb74305..f4bde7504c8 100644
--- a/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp
+++ b/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp
@@ -217,7 +217,14 @@ void VM_EnhancedRedefineClasses::mark_as_scavengable(nmethod* nm) {
}
}
-void VM_EnhancedRedefineClasses::mark_as_scavengable_g1(nmethod* nm) {
+void VM_EnhancedRedefineClasses::unregister_nmethod_g1(nmethod* nm) {
+ // It should work not only for G1 but also for another GCs, but this way is safer now
+ if (!nm->is_zombie() && !nm->is_unloaded()) {
+ Universe::heap()->unregister_nmethod(nm);
+ }
+}
+
+void VM_EnhancedRedefineClasses::register_nmethod_g1(nmethod* nm) {
// It should work not only for G1 but also for another GCs, but this way is safer now
if (!nm->is_zombie() && !nm->is_unloaded()) {
Universe::heap()->register_nmethod(nm);
@@ -520,8 +527,9 @@ void VM_EnhancedRedefineClasses::doit() {
// For now, mark all nmethod's as scavengable that are not scavengable already
if (ScavengeRootsInCode) {
if (UseG1GC) {
- // this should work also for other GCs
- CodeCache::nmethods_do(mark_as_scavengable_g1);
+ // G1 holds references to nmethods in regions based on oops values. Since oops in nmethod can be changed in ChangePointers* closures
+ // we unregister nmethods from G1 heap, then closures are processed (oops are changed) and finally we register nmethod to G1 again
+ CodeCache::nmethods_do(unregister_nmethod_g1);
} else {
CodeCache::nmethods_do(mark_as_scavengable);
}
@@ -544,6 +552,11 @@ void VM_EnhancedRedefineClasses::doit() {
Universe::root_oops_do(&oopClosureNoBarrier);
+ if (UseG1GC) {
+ // this should work also for other GCs
+ CodeCache::nmethods_do(register_nmethod_g1);
+ }
+
}
log_trace(redefine, class, obsolete, metadata)("After updating instances");
diff --git a/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.hpp b/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.hpp
index 9755944d70b..4c0412d343d 100644
--- a/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.hpp
+++ b/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.hpp
@@ -116,7 +116,8 @@ class VM_EnhancedRedefineClasses: public VM_GC_Operation {
void rollback();
static void mark_as_scavengable(nmethod* nm);
- static void mark_as_scavengable_g1(nmethod* nm);
+ static void unregister_nmethod_g1(nmethod* nm);
+ static void register_nmethod_g1(nmethod* nm);
static void unpatch_bytecode(Method* method);
static void fix_invoke_method(Method* method);
--
2.23.0

View File

@@ -0,0 +1,26 @@
From f0b7253294f14a64a5a4d0ef825e5377da03efa5 Mon Sep 17 00:00:00 2001
From: Vladimir Dvorak <lada.dvorak7@gmail.com>
Date: Thu, 22 Oct 2020 20:15:20 +0200
Subject: [PATCH 15/28] Initialize method's _new_version/_old_version to NULL
---
src/hotspot/share/oops/method.cpp | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/src/hotspot/share/oops/method.cpp b/src/hotspot/share/oops/method.cpp
index 031f255e632..a9556ecf0c4 100644
--- a/src/hotspot/share/oops/method.cpp
+++ b/src/hotspot/share/oops/method.cpp
@@ -83,7 +83,8 @@ Method* Method::allocate(ClassLoaderData* loader_data,
return new (loader_data, size, MetaspaceObj::MethodType, THREAD) Method(cm, access_flags);
}
-Method::Method(ConstMethod* xconst, AccessFlags access_flags) {
+Method::Method(ConstMethod* xconst, AccessFlags access_flags) : _new_version(NULL),
+ _old_version(NULL) {
NoSafepointVerifier no_safepoint;
set_constMethod(xconst);
set_access_flags(access_flags);
--
2.23.0

View File

@@ -0,0 +1,191 @@
From 0550e70425054a77e32fb96770d416b077720857 Mon Sep 17 00:00:00 2001
From: Vladimir Dvorak <lada.dvorak7@gmail.com>
Date: Fri, 23 Oct 2020 10:20:26 +0200
Subject: [PATCH 16/28] Clear dcevm code separation
---
src/hotspot/share/classfile/systemDictionary.cpp | 4 ++--
src/hotspot/share/gc/serial/genMarkSweep.cpp | 8 +++++---
src/hotspot/share/interpreter/linkResolver.cpp | 14 ++++++++++----
.../instrumentation/jfrEventClassTransformer.cpp | 2 +-
src/hotspot/share/oops/instanceKlass.cpp | 10 ++++++----
src/hotspot/share/oops/method.cpp | 2 +-
src/hotspot/share/prims/jvmtiGetLoadedClasses.cpp | 2 +-
src/hotspot/share/runtime/reflection.cpp | 2 +-
8 files changed, 27 insertions(+), 17 deletions(-)
diff --git a/src/hotspot/share/classfile/systemDictionary.cpp b/src/hotspot/share/classfile/systemDictionary.cpp
index a6a03d3c0e9..9e0f4dd3c96 100644
--- a/src/hotspot/share/classfile/systemDictionary.cpp
+++ b/src/hotspot/share/classfile/systemDictionary.cpp
@@ -1152,7 +1152,7 @@ InstanceKlass* SystemDictionary::resolve_from_stream(Symbol* class_name,
MutexLocker mu(SystemDictionary_lock, THREAD);
Klass* check = find_class(h_name, k->class_loader_data());
- assert((check == k && !k->is_redefining()) || (k->is_redefining() && check == k->old_version()), "should be present in the dictionary");
+ assert(check == k && !k->is_redefining() || k->is_redefining() && check == k->old_version(), "should be present in the dictionary");
} );
return k;
@@ -2153,7 +2153,7 @@ void SystemDictionary::check_constraints(unsigned int d_hash,
// also hold array classes.
assert(check->is_instance_klass(), "noninstance in systemdictionary");
- if ((defining == true) || ((k != check) && k->old_version() != check)) {
+ if ((defining == true) || (k != check && (!AllowEnhancedClassRedefinition || k->old_version() != check))) {
throwException = true;
ss.print("loader %s", loader_data->loader_name_and_id());
ss.print(" attempted duplicate %s definition for %s. (%s)",
diff --git a/src/hotspot/share/gc/serial/genMarkSweep.cpp b/src/hotspot/share/gc/serial/genMarkSweep.cpp
index b18682f9a12..590b5389b4d 100644
--- a/src/hotspot/share/gc/serial/genMarkSweep.cpp
+++ b/src/hotspot/share/gc/serial/genMarkSweep.cpp
@@ -343,7 +343,9 @@ void GenMarkSweep::mark_sweep_phase4() {
GenCompactClosure blk;
gch->generation_iterate(&blk, true);
- DcevmSharedGC::copy_rescued_objects_back(MarkSweep::_rescued_oops, true);
- DcevmSharedGC::clear_rescued_objects_resource(MarkSweep::_rescued_oops);
- MarkSweep::_rescued_oops = NULL;
+ if (AllowEnhancedClassRedefinition) {
+ DcevmSharedGC::copy_rescued_objects_back(MarkSweep::_rescued_oops, true);
+ DcevmSharedGC::clear_rescued_objects_resource(MarkSweep::_rescued_oops);
+ MarkSweep::_rescued_oops = NULL;
+ }
}
diff --git a/src/hotspot/share/interpreter/linkResolver.cpp b/src/hotspot/share/interpreter/linkResolver.cpp
index 9dc184d02f5..bff1c3627b0 100644
--- a/src/hotspot/share/interpreter/linkResolver.cpp
+++ b/src/hotspot/share/interpreter/linkResolver.cpp
@@ -295,8 +295,13 @@ void LinkResolver::check_klass_accessability(Klass* ref_klass, Klass* sel_klass,
return; // no relevant check to do
}
}
- Reflection::VerifyClassAccessResults vca_result =
- Reflection::verify_class_access(ref_klass->newest_version(), InstanceKlass::cast(base_klass->newest_version()), true);
+ Klass* refKlassNewest = ref_klass;
+ Klass* baseKlassNewest = base_klass;
+ if (AllowEnhancedClassRedefinition) {
+ refKlassNewest = ref_klass->newest_version();
+ baseKlassNewest = base_klass->newest_version();
+ }
+ Reflection::VerifyClassAccessResults vca_result = Reflection::verify_class_access(refKlassNewest, InstanceKlass::cast(baseKlassNewest), true);
if (vca_result != Reflection::ACCESS_OK) {
ResourceMark rm(THREAD);
char* msg = Reflection::verify_class_access_msg(ref_klass,
@@ -572,7 +577,8 @@ void LinkResolver::check_method_accessability(Klass* ref_klass,
// We'll check for the method name first, as that's most likely
// to be false (so we'll short-circuit out of these tests).
if (sel_method->name() == vmSymbols::clone_name() &&
- sel_klass->newest_version() == SystemDictionary::Object_klass()->newest_version() &&
+ ( !AllowEnhancedClassRedefinition && sel_klass == SystemDictionary::Object_klass() ||
+ AllowEnhancedClassRedefinition && sel_klass->newest_version() == SystemDictionary::Object_klass()->newest_version()) &&
resolved_klass->is_array_klass()) {
// We need to change "protected" to "public".
assert(flags.is_protected(), "clone not protected?");
@@ -997,7 +1003,7 @@ void LinkResolver::resolve_field(fieldDescriptor& fd,
ResourceMark rm(THREAD);
stringStream ss;
- if (sel_klass != current_klass && sel_klass != current_klass->active_version()) {
+ if (sel_klass != current_klass && (!AllowEnhancedClassRedefinition || sel_klass != current_klass->active_version())) {
ss.print("Update to %s final field %s.%s attempted from a different class (%s) than the field's declaring class",
is_static ? "static" : "non-static", resolved_klass->external_name(), fd.name()->as_C_string(),
current_klass->external_name());
diff --git a/src/hotspot/share/jfr/instrumentation/jfrEventClassTransformer.cpp b/src/hotspot/share/jfr/instrumentation/jfrEventClassTransformer.cpp
index 61a406377ee..da9df7a21a2 100644
--- a/src/hotspot/share/jfr/instrumentation/jfrEventClassTransformer.cpp
+++ b/src/hotspot/share/jfr/instrumentation/jfrEventClassTransformer.cpp
@@ -1471,7 +1471,7 @@ static InstanceKlass* create_new_instance_klass(InstanceKlass* ik, ClassFileStre
NULL, // host klass
NULL, // cp_patches
ClassFileParser::INTERNAL, // internal visibility
- false,
+ false,
THREAD);
if (HAS_PENDING_EXCEPTION) {
log_pending_exception(PENDING_EXCEPTION);
diff --git a/src/hotspot/share/oops/instanceKlass.cpp b/src/hotspot/share/oops/instanceKlass.cpp
index 7eb1b01c785..710e0ddc930 100644
--- a/src/hotspot/share/oops/instanceKlass.cpp
+++ b/src/hotspot/share/oops/instanceKlass.cpp
@@ -178,7 +178,9 @@ bool InstanceKlass::has_nest_member(InstanceKlass* k, TRAPS) const {
}
Klass* k2 = _constants->klass_at(cp_index, CHECK_false);
- k2 = k2->newest_version();
+ if (AllowEnhancedClassRedefinition) {
+ k2 = k2->newest_version();
+ }
if (k2 == k) {
log_trace(class, nestmates)("- class is listed as a nest member");
return true;
@@ -837,7 +839,7 @@ bool InstanceKlass::link_class_impl(bool throw_verifyerror, TRAPS) {
#endif
set_init_state(linked);
// (DCEVM) Must check for old version in order to prevent infinite loops.
- if (JvmtiExport::should_post_class_prepare() && old_version() == NULL /* JVMTI deadlock otherwise */) {
+ if (JvmtiExport::should_post_class_prepare() && (!AllowEnhancedClassRedefinition || old_version() == NULL) /* JVMTI deadlock otherwise */) {
Thread *thread = THREAD;
assert(thread->is_Java_thread(), "thread->is_Java_thread()");
JvmtiExport::post_class_prepare((JavaThread *) thread, this);
@@ -919,7 +921,7 @@ void InstanceKlass::initialize_impl(TRAPS) {
// that aren't expected to throw. This would wreak havoc. See 6320309.
// (DCEVM) Wait also for the old class version to be fully initialized.
while((is_being_initialized() && !is_reentrant_initialization(self))
- || (old_version() != NULL && InstanceKlass::cast(old_version())->is_being_initialized())) {
+ || (AllowEnhancedClassRedefinition && old_version() != NULL && InstanceKlass::cast(old_version())->is_being_initialized())) {
wait = true;
ol.waitUninterruptibly(CHECK);
}
@@ -3617,7 +3619,7 @@ void InstanceKlass::verify_on(outputStream* st) {
guarantee(sib->is_klass(), "should be klass");
// TODO: (DCEVM) explain
- guarantee(sib->super() == super || super->newest_version() == SystemDictionary::Object_klass(), "siblings should have same superklass");
+ guarantee(sib->super() == super || AllowEnhancedClassRedefinition && super->newest_version() == SystemDictionary::Object_klass(), "siblings should have same superklass");
}
// Verify implementor fields requires the Compile_lock, but this is sometimes
diff --git a/src/hotspot/share/oops/method.cpp b/src/hotspot/share/oops/method.cpp
index a9556ecf0c4..6c7edaca67e 100644
--- a/src/hotspot/share/oops/method.cpp
+++ b/src/hotspot/share/oops/method.cpp
@@ -2100,7 +2100,7 @@ void Method::ensure_jmethod_ids(ClassLoaderData* loader_data, int capacity) {
// Add a method id to the jmethod_ids
jmethodID Method::make_jmethod_id(ClassLoaderData* loader_data, Method* m) {
// FIXME: (DCEVM) ???
- if (m != m->newest_version()) {
+ if (AllowEnhancedClassRedefinition && m != m->newest_version()) {
m = m->newest_version();
}
ClassLoaderData* cld = loader_data;
diff --git a/src/hotspot/share/prims/jvmtiGetLoadedClasses.cpp b/src/hotspot/share/prims/jvmtiGetLoadedClasses.cpp
index 60604c645ff..325bffb7ad0 100644
--- a/src/hotspot/share/prims/jvmtiGetLoadedClasses.cpp
+++ b/src/hotspot/share/prims/jvmtiGetLoadedClasses.cpp
@@ -51,7 +51,7 @@ public:
// the new version (SystemDictionary stores only new versions). But the LoadedClassesClosure's functionality was
// changed in java8 where jvmtiLoadedClasses collects all classes from all classloaders, therefore we
// must use new versions only.
- if (k->new_version()==NULL) {
+ if (AllowEnhancedClassRedefinition && k->new_version()==NULL) {
_classStack.push((jclass) _env->jni_reference(Handle(_cur_thread, k->java_mirror())));
}
}
diff --git a/src/hotspot/share/runtime/reflection.cpp b/src/hotspot/share/runtime/reflection.cpp
index ed789b0bc2b..06f60855655 100644
--- a/src/hotspot/share/runtime/reflection.cpp
+++ b/src/hotspot/share/runtime/reflection.cpp
@@ -660,7 +660,7 @@ bool Reflection::verify_member_access(const Klass* current_class,
TRAPS) {
// (DCEVM) Decide accessibility based on active version
- if (current_class != NULL) {
+ if (AllowEnhancedClassRedefinition && current_class != NULL) {
current_class = current_class->active_version();
}
--
2.23.0

View File

@@ -0,0 +1,160 @@
From fde9f15ed4fdb5139b6b81238d0a667327b552bb Mon Sep 17 00:00:00 2001
From: Vladimir Dvorak <lada.dvorak7@gmail.com>
Date: Fri, 23 Oct 2020 11:07:40 +0200
Subject: [PATCH 17/28] Fix metadataOnStack bug
---
.../share/classfile/classLoaderData.cpp | 7 +-
.../share/classfile/metadataOnStackMark.cpp | 67 ++++++++++---------
.../share/classfile/metadataOnStackMark.hpp | 3 +-
.../share/prims/jvmtiRedefineClasses.cpp | 2 +-
4 files changed, 41 insertions(+), 38 deletions(-)
diff --git a/src/hotspot/share/classfile/classLoaderData.cpp b/src/hotspot/share/classfile/classLoaderData.cpp
index 1bc67adf5a7..bba5ce0511f 100644
--- a/src/hotspot/share/classfile/classLoaderData.cpp
+++ b/src/hotspot/share/classfile/classLoaderData.cpp
@@ -1398,13 +1398,10 @@ bool ClassLoaderDataGraph::do_unloading(bool clean_previous_versions) {
// Klassesoto delete.
// FIXME: dcevm - block asserts in MetadataOnStackMark
- bool walk_all_metadata = false;
- if (!AllowEnhancedClassRedefinition) {
- walk_all_metadata = clean_previous_versions &&
+ bool walk_all_metadata = clean_previous_versions &&
JvmtiExport::has_redefined_a_class() &&
InstanceKlass::has_previous_versions_and_reset();
- MetadataOnStackMark md_on_stack(walk_all_metadata);
- }
+ MetadataOnStackMark md_on_stack(walk_all_metadata, AllowEnhancedClassRedefinition);
// Save previous _unloading pointer for CMS which may add to unloading list before
// purging and we don't want to rewalk the previously unloaded class loader data.
diff --git a/src/hotspot/share/classfile/metadataOnStackMark.cpp b/src/hotspot/share/classfile/metadataOnStackMark.cpp
index 3a62c789702..9d7bdbde74b 100644
--- a/src/hotspot/share/classfile/metadataOnStackMark.cpp
+++ b/src/hotspot/share/classfile/metadataOnStackMark.cpp
@@ -46,23 +46,25 @@ NOT_PRODUCT(bool MetadataOnStackMark::_is_active = false;)
// it. Class unloading only deletes in-error class files, methods created by
// the relocator and dummy constant pools. None of these appear anywhere except
// in metadata Handles.
-MetadataOnStackMark::MetadataOnStackMark(bool redefinition_walk) {
+MetadataOnStackMark::MetadataOnStackMark(bool redefinition_walk, bool ignore) : _ignore(ignore) {
assert(SafepointSynchronize::is_at_safepoint(), "sanity check");
assert(_used_buffers == NULL, "sanity check");
assert(!_is_active, "MetadataOnStackMarks do not nest");
NOT_PRODUCT(_is_active = true;)
- Threads::metadata_handles_do(Metadata::mark_on_stack);
+ if (!ignore) {
+ Threads::metadata_handles_do(Metadata::mark_on_stack);
- if (redefinition_walk) {
- Threads::metadata_do(Metadata::mark_on_stack);
- CodeCache::metadata_do(Metadata::mark_on_stack);
- CompileBroker::mark_on_stack();
- JvmtiCurrentBreakpoints::metadata_do(Metadata::mark_on_stack);
- ThreadService::metadata_do(Metadata::mark_on_stack);
+ if (redefinition_walk) {
+ Threads::metadata_do(Metadata::mark_on_stack);
+ CodeCache::metadata_do(Metadata::mark_on_stack);
+ CompileBroker::mark_on_stack();
+ JvmtiCurrentBreakpoints::metadata_do(Metadata::mark_on_stack);
+ ThreadService::metadata_do(Metadata::mark_on_stack);
#if INCLUDE_JVMCI
- JVMCIRuntime::metadata_do(Metadata::mark_on_stack);
+ JVMCIRuntime::metadata_do(Metadata::mark_on_stack);
#endif
+ }
}
}
@@ -71,32 +73,35 @@ MetadataOnStackMark::~MetadataOnStackMark() {
// Unmark everything that was marked. Can't do the same walk because
// redefine classes messes up the code cache so the set of methods
// might not be the same.
- retire_current_buffer();
-
- MetadataOnStackBuffer* buffer = _used_buffers;
- while (buffer != NULL) {
- // Clear on stack state for all metadata.
- size_t size = buffer->size();
- for (size_t i = 0; i < size; i++) {
- Metadata* md = buffer->at(i);
- md->set_on_stack(false);
+ if (!_ignore)
+ {
+ retire_current_buffer();
+
+ MetadataOnStackBuffer* buffer = _used_buffers;
+ while (buffer != NULL) {
+ // Clear on stack state for all metadata.
+ size_t size = buffer->size();
+ for (size_t i = 0; i < size; i++) {
+ Metadata* md = buffer->at(i);
+ md->set_on_stack(false);
+ }
+
+ MetadataOnStackBuffer* next = buffer->next_used();
+
+ // Move the buffer to the free list.
+ buffer->clear();
+ buffer->set_next_used(NULL);
+ buffer->set_next_free(_free_buffers);
+ _free_buffers = buffer;
+
+ // Step to next used buffer.
+ buffer = next;
}
- MetadataOnStackBuffer* next = buffer->next_used();
-
- // Move the buffer to the free list.
- buffer->clear();
- buffer->set_next_used(NULL);
- buffer->set_next_free(_free_buffers);
- _free_buffers = buffer;
+ _used_buffers = NULL;
- // Step to next used buffer.
- buffer = next;
+ NOT_PRODUCT(_is_active = false;)
}
-
- _used_buffers = NULL;
-
- NOT_PRODUCT(_is_active = false;)
}
void MetadataOnStackMark::retire_buffer(MetadataOnStackBuffer* buffer) {
diff --git a/src/hotspot/share/classfile/metadataOnStackMark.hpp b/src/hotspot/share/classfile/metadataOnStackMark.hpp
index 8da4ac6f92b..6d327ab98f2 100644
--- a/src/hotspot/share/classfile/metadataOnStackMark.hpp
+++ b/src/hotspot/share/classfile/metadataOnStackMark.hpp
@@ -47,8 +47,9 @@ class MetadataOnStackMark : public StackObj {
static MetadataOnStackBuffer* allocate_buffer();
static void retire_buffer(MetadataOnStackBuffer* buffer);
+ bool _ignore;
public:
- MetadataOnStackMark(bool redefinition_walk);
+ MetadataOnStackMark(bool redefinition_walk, bool ignore);
~MetadataOnStackMark();
static void record(Metadata* m);
diff --git a/src/hotspot/share/prims/jvmtiRedefineClasses.cpp b/src/hotspot/share/prims/jvmtiRedefineClasses.cpp
index fb81189d9c2..18bc7f4eea4 100644
--- a/src/hotspot/share/prims/jvmtiRedefineClasses.cpp
+++ b/src/hotspot/share/prims/jvmtiRedefineClasses.cpp
@@ -199,7 +199,7 @@ void VM_RedefineClasses::doit() {
// Mark methods seen on stack and everywhere else so old methods are not
// cleaned up if they're on the stack.
- MetadataOnStackMark md_on_stack(true);
+ MetadataOnStackMark md_on_stack(true, false);
HandleMark hm(thread); // make sure any handles created are deleted
// before the stack walk again.
--
2.23.0

View File

@@ -0,0 +1,25 @@
From 5b5f620932894e807956b45653d153d001be9fb1 Mon Sep 17 00:00:00 2001
From: Vladimir Dvorak <lada.dvorak7@gmail.com>
Date: Sun, 1 Nov 2020 21:19:00 +0100
Subject: [PATCH 18/28] Ignore MetadataOnStackMark if redefining_gc_run
---
src/hotspot/share/classfile/classLoaderData.cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/hotspot/share/classfile/classLoaderData.cpp b/src/hotspot/share/classfile/classLoaderData.cpp
index bba5ce0511f..8b2deb70e1b 100644
--- a/src/hotspot/share/classfile/classLoaderData.cpp
+++ b/src/hotspot/share/classfile/classLoaderData.cpp
@@ -1401,7 +1401,7 @@ bool ClassLoaderDataGraph::do_unloading(bool clean_previous_versions) {
bool walk_all_metadata = clean_previous_versions &&
JvmtiExport::has_redefined_a_class() &&
InstanceKlass::has_previous_versions_and_reset();
- MetadataOnStackMark md_on_stack(walk_all_metadata, AllowEnhancedClassRedefinition);
+ MetadataOnStackMark md_on_stack(walk_all_metadata, Universe::is_redefining_gc_run());
// Save previous _unloading pointer for CMS which may add to unloading list before
// purging and we don't want to rewalk the previously unloaded class loader data.
--
2.23.0

View File

@@ -0,0 +1,26 @@
From 29ac3233d58d9a1a30160ae13a895ff70e504022 Mon Sep 17 00:00:00 2001
From: Vladimir Dvorak <lada.dvorak7@gmail.com>
Date: Wed, 11 Nov 2020 18:45:15 +0100
Subject: [PATCH 19/28] Fix LoadedClassesClosure - fixes problems with remote
debugging
---
src/hotspot/share/prims/jvmtiGetLoadedClasses.cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/hotspot/share/prims/jvmtiGetLoadedClasses.cpp b/src/hotspot/share/prims/jvmtiGetLoadedClasses.cpp
index 325bffb7ad0..30752e37f1c 100644
--- a/src/hotspot/share/prims/jvmtiGetLoadedClasses.cpp
+++ b/src/hotspot/share/prims/jvmtiGetLoadedClasses.cpp
@@ -51,7 +51,7 @@ public:
// the new version (SystemDictionary stores only new versions). But the LoadedClassesClosure's functionality was
// changed in java8 where jvmtiLoadedClasses collects all classes from all classloaders, therefore we
// must use new versions only.
- if (AllowEnhancedClassRedefinition && k->new_version()==NULL) {
+ if (!AllowEnhancedClassRedefinition || k->new_version()==NULL) {
_classStack.push((jclass) _env->jni_reference(Handle(_cur_thread, k->java_mirror())));
}
}
--
2.23.0

View File

@@ -0,0 +1,31 @@
From 99e8f8d420dd09d6fb7f035d4baf7ef4816177e8 Mon Sep 17 00:00:00 2001
From: Vladimir Dvorak <vladimir.dvorak@jetbrains.com>
Date: Fri, 5 Feb 2021 23:30:49 +0100
Subject: [PATCH 20/28] Disable AllowEnhancedClassRedefinition in flight
recorder
---
src/hotspot/share/runtime/arguments.cpp | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/src/hotspot/share/runtime/arguments.cpp b/src/hotspot/share/runtime/arguments.cpp
index 5053ad7ee61..c5635bb8537 100644
--- a/src/hotspot/share/runtime/arguments.cpp
+++ b/src/hotspot/share/runtime/arguments.cpp
@@ -3962,6 +3962,13 @@ jint Arguments::parse(const JavaVMInitArgs* initial_cmd_args) {
// Set object alignment values.
set_object_alignment();
+ if (FlightRecorder) {
+ if (AllowEnhancedClassRedefinition) {
+ warning("EnhancedClassRedefinition was disabled, it is not allowed in FlightRecorder.");
+ AllowEnhancedClassRedefinition = false;
+ }
+ }
+
setup_hotswap_agent();
#if !INCLUDE_CDS
--
2.23.0

View File

@@ -0,0 +1,41 @@
From 1bb55ff9f91733e45dd6f87eb4201a989b3338e3 Mon Sep 17 00:00:00 2001
From: Vladimir Dvorak <vladimir.dvorak@jetbrains.com>
Date: Fri, 12 Feb 2021 12:33:11 +0100
Subject: [PATCH 21/28] JBR-3106 Check InstanceKlass::has_nestmate_access_to
with active classes
Dcevm can leave old host in nested class if nested class is not
redefined together with host class
---
src/hotspot/share/oops/instanceKlass.cpp | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/src/hotspot/share/oops/instanceKlass.cpp b/src/hotspot/share/oops/instanceKlass.cpp
index 710e0ddc930..24eb3ed68a6 100644
--- a/src/hotspot/share/oops/instanceKlass.cpp
+++ b/src/hotspot/share/oops/instanceKlass.cpp
@@ -327,11 +327,21 @@ bool InstanceKlass::has_nestmate_access_to(InstanceKlass* k, TRAPS) {
return false;
}
+ // (DCEVM) cur_host can be old, decide accessibility based on active version
+ if (AllowEnhancedClassRedefinition) {
+ cur_host = InstanceKlass::cast(cur_host->active_version());
+ }
+
Klass* k_nest_host = k->nest_host(icce, CHECK_false);
if (k_nest_host == NULL) {
return false;
}
+ // (DCEVM) k_nest_host can be old, decide accessibility based on active version
+ if (AllowEnhancedClassRedefinition) {
+ k_nest_host = InstanceKlass::cast(k_nest_host->active_version());
+ }
+
bool access = (cur_host == k_nest_host);
if (log_is_enabled(Trace, class, nestmates)) {
--
2.23.0

View File

@@ -0,0 +1,31 @@
From 52427060aba227d09dce4bd14410e1e626d64e46 Mon Sep 17 00:00:00 2001
From: Vladimir Dvorak <lada.dvorak7@gmail.com>
Date: Sun, 7 Feb 2021 12:08:58 +0100
Subject: [PATCH 22/28] JBR-3110 Fix assert in MetadataOnStackMark
Fixed fastdebug tests crashes in redefine gc run
---
src/hotspot/share/classfile/metadataOnStackMark.cpp | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/src/hotspot/share/classfile/metadataOnStackMark.cpp b/src/hotspot/share/classfile/metadataOnStackMark.cpp
index 9d7bdbde74b..66049f11629 100644
--- a/src/hotspot/share/classfile/metadataOnStackMark.cpp
+++ b/src/hotspot/share/classfile/metadataOnStackMark.cpp
@@ -49,10 +49,11 @@ NOT_PRODUCT(bool MetadataOnStackMark::_is_active = false;)
MetadataOnStackMark::MetadataOnStackMark(bool redefinition_walk, bool ignore) : _ignore(ignore) {
assert(SafepointSynchronize::is_at_safepoint(), "sanity check");
assert(_used_buffers == NULL, "sanity check");
- assert(!_is_active, "MetadataOnStackMarks do not nest");
- NOT_PRODUCT(_is_active = true;)
if (!ignore) {
+ assert(!_is_active, "MetadataOnStackMarks do not nest");
+ NOT_PRODUCT(_is_active = true;)
+
Threads::metadata_handles_do(Metadata::mark_on_stack);
if (redefinition_walk) {
--
2.23.0

View File

@@ -0,0 +1,78 @@
From 93cea8d61ef395a1ef9e308b0d3a8f9409b108d0 Mon Sep 17 00:00:00 2001
From: Vladimir Dvorak <lada.dvorak7@gmail.com>
Date: Fri, 12 Feb 2021 11:27:39 +0100
Subject: [PATCH 23/28] Code cleanup
- Rename confusing method name old_if_redefined to old_if_redefining
- Remove unused is_redefining_gc_run
---
src/hotspot/share/classfile/dictionary.cpp | 6 +++---
src/hotspot/share/classfile/dictionary.hpp | 2 +-
src/hotspot/share/memory/universe.hpp | 5 -----
3 files changed, 4 insertions(+), 9 deletions(-)
diff --git a/src/hotspot/share/classfile/dictionary.cpp b/src/hotspot/share/classfile/dictionary.cpp
index dda5188c370..4e361d439f4 100644
--- a/src/hotspot/share/classfile/dictionary.cpp
+++ b/src/hotspot/share/classfile/dictionary.cpp
@@ -381,7 +381,7 @@ InstanceKlass* Dictionary::find(unsigned int hash, Symbol* name,
int index = hash_to_index(hash);
DictionaryEntry* entry = get_entry(index, hash, name);
if (entry != NULL && entry->is_valid_protection_domain(protection_domain)) {
- return old_if_redefined(entry->instance_klass());
+ return old_if_redefining(entry->instance_klass());
} else {
return NULL;
}
@@ -394,7 +394,7 @@ InstanceKlass* Dictionary::find_class(int index, unsigned int hash,
assert (index == index_for(name), "incorrect index?");
DictionaryEntry* entry = get_entry(index, hash, name);
- return old_if_redefined((entry != NULL) ? entry->instance_klass() : NULL);
+ return old_if_redefining((entry != NULL) ? entry->instance_klass() : NULL);
}
@@ -406,7 +406,7 @@ InstanceKlass* Dictionary::find_shared_class(int index, unsigned int hash,
assert (index == index_for(name), "incorrect index?");
DictionaryEntry* entry = get_entry(index, hash, name);
- return old_if_redefined((entry != NULL) ? entry->instance_klass() : NULL);
+ return old_if_redefining((entry != NULL) ? entry->instance_klass() : NULL);
}
diff --git a/src/hotspot/share/classfile/dictionary.hpp b/src/hotspot/share/classfile/dictionary.hpp
index 5eaa741d500..f6e08e7bfd5 100644
--- a/src/hotspot/share/classfile/dictionary.hpp
+++ b/src/hotspot/share/classfile/dictionary.hpp
@@ -120,7 +120,7 @@ public:
void rollback_redefinition();
// (DCEVM) return old class if redefining in AllowEnhancedClassRedefinition, otherwise return "k"
- static InstanceKlass* old_if_redefined(InstanceKlass* k) {
+ static InstanceKlass* old_if_redefining(InstanceKlass* k) {
return (k != NULL && k->is_redefining()) ? ((InstanceKlass* )k->old_version()) : k;
}
};
diff --git a/src/hotspot/share/memory/universe.hpp b/src/hotspot/share/memory/universe.hpp
index b32db16b9cf..742dada0e8f 100644
--- a/src/hotspot/share/memory/universe.hpp
+++ b/src/hotspot/share/memory/universe.hpp
@@ -52,13 +52,8 @@ class LatestMethodCache : public CHeapObj<mtClass> {
Klass* _klass;
int _method_idnum;
- static bool _is_redefining_gc_run;
-
public:
- static bool is_redefining_gc_run() { return _is_redefining_gc_run; }
- static void set_redefining_gc_run(bool b) { _is_redefining_gc_run = b; }
-
LatestMethodCache() { _klass = NULL; _method_idnum = -1; }
~LatestMethodCache() { _klass = NULL; _method_idnum = -1; }
--
2.23.0

View File

@@ -0,0 +1,95 @@
From dcb44f0e56dbc63b90d655b694a3f7751744fe53 Mon Sep 17 00:00:00 2001
From: Vladimir Dvorak <lada.dvorak7@gmail.com>
Date: Sat, 13 Feb 2021 20:47:52 +0100
Subject: [PATCH 24/28] JBR-3111 Update class in all dictionaries where it was
already defined
This patch keeps compatibility with std redefinition, that does not
create a new Klass, but modifies it, then it is modified in all
dictionaries containing this class.
---
src/hotspot/share/classfile/classLoaderData.cpp | 9 +++++++++
src/hotspot/share/classfile/classLoaderData.hpp | 3 +++
src/hotspot/share/classfile/dictionary.cpp | 2 +-
src/hotspot/share/classfile/dictionary.hpp | 2 +-
src/hotspot/share/classfile/systemDictionary.cpp | 4 +++-
5 files changed, 17 insertions(+), 3 deletions(-)
diff --git a/src/hotspot/share/classfile/classLoaderData.cpp b/src/hotspot/share/classfile/classLoaderData.cpp
index 8b2deb70e1b..4e06b09e7d5 100644
--- a/src/hotspot/share/classfile/classLoaderData.cpp
+++ b/src/hotspot/share/classfile/classLoaderData.cpp
@@ -1274,6 +1274,15 @@ void ClassLoaderDataGraph::rollback_redefinition() {
}
}
+// (DCEVM) - iterate over all classes in all dictionaries
+bool ClassLoaderDataGraph::dictionary_classes_do_update_klass(Symbol* name, InstanceKlass* k, InstanceKlass* old_klass) {
+ bool ok = false;
+ FOR_ALL_DICTIONARY(cld) {
+ ok = cld->dictionary()->update_klass(name, k, old_klass) || ok;
+ }
+ return ok;
+}
+
// Walks all entries in the dictionary including entries initiated by this class loader.
void ClassLoaderDataGraph::dictionary_all_entries_do(void f(InstanceKlass*, ClassLoaderData*)) {
Thread* thread = Thread::current();
diff --git a/src/hotspot/share/classfile/classLoaderData.hpp b/src/hotspot/share/classfile/classLoaderData.hpp
index 00a84610b43..16711dca237 100644
--- a/src/hotspot/share/classfile/classLoaderData.hpp
+++ b/src/hotspot/share/classfile/classLoaderData.hpp
@@ -130,6 +130,9 @@ class ClassLoaderDataGraph : public AllStatic {
// Enhanced class redefinition
static void rollback_redefinition();
+ // Enhanced class redefinition
+ static bool dictionary_classes_do_update_klass(Symbol* name, InstanceKlass* k, InstanceKlass* old_klass);
+
// Iterate all classes and their class loaders, including initiating class loaders.
static void dictionary_all_entries_do(void f(InstanceKlass*, ClassLoaderData*));
diff --git a/src/hotspot/share/classfile/dictionary.cpp b/src/hotspot/share/classfile/dictionary.cpp
index 4e361d439f4..6c072407fd9 100644
--- a/src/hotspot/share/classfile/dictionary.cpp
+++ b/src/hotspot/share/classfile/dictionary.cpp
@@ -345,7 +345,7 @@ DictionaryEntry* Dictionary::get_entry(int index, unsigned int hash,
}
// (DCEVM) replace old_class by new class in dictionary
-bool Dictionary::update_klass(unsigned int hash, Symbol* name, ClassLoaderData* loader_data, InstanceKlass* k, InstanceKlass* old_klass) {
+bool Dictionary::update_klass(Symbol* name, InstanceKlass* k, InstanceKlass* old_klass) {
// There are several entries for the same class in the dictionary: One extra entry for each parent classloader of the classloader of the class.
bool found = false;
for (int index = 0; index < table_size(); index++) {
diff --git a/src/hotspot/share/classfile/dictionary.hpp b/src/hotspot/share/classfile/dictionary.hpp
index f6e08e7bfd5..2932cc9c320 100644
--- a/src/hotspot/share/classfile/dictionary.hpp
+++ b/src/hotspot/share/classfile/dictionary.hpp
@@ -115,7 +115,7 @@ public:
void free_entry(DictionaryEntry* entry);
// Enhanced class redefinition
- bool update_klass(unsigned int hash, Symbol* name, ClassLoaderData* loader_data, InstanceKlass* k, InstanceKlass* old_klass);
+ bool update_klass(Symbol* name, InstanceKlass* k, InstanceKlass* old_klass);
void rollback_redefinition();
diff --git a/src/hotspot/share/classfile/systemDictionary.cpp b/src/hotspot/share/classfile/systemDictionary.cpp
index 9e0f4dd3c96..789b5fb1e6d 100644
--- a/src/hotspot/share/classfile/systemDictionary.cpp
+++ b/src/hotspot/share/classfile/systemDictionary.cpp
@@ -1606,7 +1606,9 @@ void SystemDictionary::define_instance_class(InstanceKlass* k, InstanceKlass* ol
Dictionary* dictionary = loader_data->dictionary();
unsigned int d_hash = dictionary->compute_hash(name_h);
if (is_redefining) {
- bool ok = dictionary->update_klass(d_hash, name_h, loader_data, k, old_klass);
+ // Update all dictionaries containing old_class to new_class
+ // outcome must be same as result of standard redefinition, that does not create a new Klass
+ bool ok = ClassLoaderDataGraph::dictionary_classes_do_update_klass(name_h, k, old_klass);
assert (ok, "must have found old class and updated!");
}
check_constraints(d_hash, k, class_loader_h, !is_redefining, CHECK);
--
2.23.0

View File

@@ -0,0 +1,527 @@
From b9692c48bdbad8474251cfe72ac85e5c7ff2847e Mon Sep 17 00:00:00 2001
From: Vladimir Dvorak <lada.dvorak7@gmail.com>
Date: Thu, 18 Jun 2020 18:40:11 +0200
Subject: [PATCH 25/28] JBR-3140 - support for modularized HotswapAgent
Add -XX:HotswapAgent=[disabled,fatjar.core]
---
make/launcher/Launcher-java.base.gmk | 1 -
make/launcher/Launcher-java.rmi.gmk | 2 -
make/launcher/Launcher-java.scripting.gmk | 3 +-
make/launcher/Launcher-java.security.jgss.gmk | 3 --
make/launcher/Launcher-jdk.aot.gmk | 2 -
make/launcher/Launcher-jdk.compiler.gmk | 5 +-
make/launcher/Launcher-jdk.hotspot.agent.gmk | 1 -
make/launcher/Launcher-jdk.jartool.gmk | 2 -
make/launcher/Launcher-jdk.javadoc.gmk | 3 +-
make/launcher/Launcher-jdk.jcmd.gmk | 13 +----
make/launcher/Launcher-jdk.jdeps.gmk | 3 --
make/launcher/Launcher-jdk.jdi.gmk | 1 -
make/launcher/Launcher-jdk.jlink.gmk | 5 +-
make/launcher/Launcher-jdk.jshell.gmk | 1 -
make/launcher/Launcher-jdk.jstatd.gmk | 1 -
make/launcher/Launcher-jdk.pack.gmk | 1 -
make/launcher/Launcher-jdk.rmic.gmk | 1 -
.../Launcher-jdk.scripting.nashorn.shell.gmk | 3 +-
src/hotspot/share/runtime/arguments.cpp | 48 +++++++++++--------
.../runtime/flags/jvmFlagConstraintList.cpp | 23 +++++++++
.../runtime/flags/jvmFlagConstraintList.hpp | 1 +
.../flags/jvmFlagConstraintsRuntime.cpp | 10 ++++
.../flags/jvmFlagConstraintsRuntime.hpp | 1 +
src/hotspot/share/runtime/globals.hpp | 12 ++++-
24 files changed, 81 insertions(+), 65 deletions(-)
diff --git a/make/launcher/Launcher-java.base.gmk b/make/launcher/Launcher-java.base.gmk
index 38ba29530d8..f6d4aa28fe6 100644
--- a/make/launcher/Launcher-java.base.gmk
+++ b/make/launcher/Launcher-java.base.gmk
@@ -52,7 +52,6 @@ endif
$(eval $(call SetupBuildLauncher, keytool, \
MAIN_CLASS := sun.security.tools.keytool.Main, \
- JAVA_ARGS := -XX:+DisableHotswapAgent, \
))
################################################################################
diff --git a/make/launcher/Launcher-java.rmi.gmk b/make/launcher/Launcher-java.rmi.gmk
index 07046232275..a69a90bcc81 100644
--- a/make/launcher/Launcher-java.rmi.gmk
+++ b/make/launcher/Launcher-java.rmi.gmk
@@ -27,10 +27,8 @@ include LauncherCommon.gmk
$(eval $(call SetupBuildLauncher, rmid, \
MAIN_CLASS := sun.rmi.server.Activation, \
- JAVA_ARGS := -XX:+DisableHotswapAgent, \
))
$(eval $(call SetupBuildLauncher, rmiregistry, \
MAIN_CLASS := sun.rmi.registry.RegistryImpl, \
- JAVA_ARGS := -XX:+DisableHotswapAgent, \
))
diff --git a/make/launcher/Launcher-java.scripting.gmk b/make/launcher/Launcher-java.scripting.gmk
index cf100e20789..057d2bf3aca 100644
--- a/make/launcher/Launcher-java.scripting.gmk
+++ b/make/launcher/Launcher-java.scripting.gmk
@@ -27,6 +27,5 @@ include LauncherCommon.gmk
$(eval $(call SetupBuildLauncher, jrunscript, \
MAIN_CLASS := com.sun.tools.script.shell.Main, \
- JAVA_ARGS := --add-modules ALL-DEFAULT \
- -XX:+DisableHotswapAgent, \
+ JAVA_ARGS := --add-modules ALL-DEFAULT, \
))
diff --git a/make/launcher/Launcher-java.security.jgss.gmk b/make/launcher/Launcher-java.security.jgss.gmk
index 2b856bfccb4..7411e1a21c4 100644
--- a/make/launcher/Launcher-java.security.jgss.gmk
+++ b/make/launcher/Launcher-java.security.jgss.gmk
@@ -28,16 +28,13 @@ include LauncherCommon.gmk
ifeq ($(OPENJDK_TARGET_OS), windows)
$(eval $(call SetupBuildLauncher, kinit, \
MAIN_CLASS := sun.security.krb5.internal.tools.Kinit, \
- JAVA_ARGS := -XX:+DisableHotswapAgent, \
))
$(eval $(call SetupBuildLauncher, klist, \
MAIN_CLASS := sun.security.krb5.internal.tools.Klist, \
- JAVA_ARGS := -XX:+DisableHotswapAgent, \
))
$(eval $(call SetupBuildLauncher, ktab, \
MAIN_CLASS := sun.security.krb5.internal.tools.Ktab, \
- JAVA_ARGS := -XX:+DisableHotswapAgent, \
))
endif
diff --git a/make/launcher/Launcher-jdk.aot.gmk b/make/launcher/Launcher-jdk.aot.gmk
index 2c52c31a555..10717a5e1c5 100644
--- a/make/launcher/Launcher-jdk.aot.gmk
+++ b/make/launcher/Launcher-jdk.aot.gmk
@@ -31,7 +31,6 @@ include LauncherCommon.gmk
$(eval $(call SetupBuildLauncher, jaotc, \
MAIN_CLASS := jdk.tools.jaotc.Main, \
EXTRA_JAVA_ARGS := -XX:+UnlockExperimentalVMOptions -XX:+EnableJVMCI \
- -XX:+DisableHotswapAgent \
--add-exports=jdk.internal.vm.ci/jdk.vm.ci.aarch64=$(call CommaList, jdk.internal.vm.compiler jdk.aot) \
--add-exports=jdk.internal.vm.ci/jdk.vm.ci.amd64=$(call CommaList, jdk.internal.vm.compiler jdk.aot) \
--add-exports=jdk.internal.vm.ci/jdk.vm.ci.code=$(call CommaList, jdk.internal.vm.compiler jdk.aot) \
@@ -41,7 +40,6 @@ $(eval $(call SetupBuildLauncher, jaotc, \
--add-exports=jdk.internal.vm.ci/jdk.vm.ci.hotspot=$(call CommaList, jdk.internal.vm.compiler jdk.aot) \
, \
JAVA_ARGS := --add-exports=jdk.internal.vm.ci/jdk.vm.ci.hotspot.aarch64=$(call CommaList, jdk.internal.vm.compiler jdk.aot) \
- -XX:+DisableHotswapAgent \
--add-exports=jdk.internal.vm.ci/jdk.vm.ci.hotspot.amd64=$(call CommaList, jdk.internal.vm.compiler jdk.aot) \
--add-exports=jdk.internal.vm.ci/jdk.vm.ci.hotspot.aarch64=$(call CommaList, jdk.internal.vm.compiler jdk.aot) \
--add-exports=jdk.internal.vm.ci/jdk.vm.ci.hotspot.sparc=$(call CommaList, jdk.internal.vm.compiler jdk.aot) \
diff --git a/make/launcher/Launcher-jdk.compiler.gmk b/make/launcher/Launcher-jdk.compiler.gmk
index 744969546de..f71c37adf74 100644
--- a/make/launcher/Launcher-jdk.compiler.gmk
+++ b/make/launcher/Launcher-jdk.compiler.gmk
@@ -27,14 +27,12 @@ include LauncherCommon.gmk
$(eval $(call SetupBuildLauncher, javac, \
MAIN_CLASS := com.sun.tools.javac.Main, \
- JAVA_ARGS := --add-modules ALL-DEFAULT \
- -XX:+DisableHotswapAgent, \
+ JAVA_ARGS := --add-modules ALL-DEFAULT, \
CFLAGS := -DEXPAND_CLASSPATH_WILDCARDS, \
))
$(eval $(call SetupBuildLauncher, serialver, \
MAIN_CLASS := sun.tools.serialver.SerialVer, \
- JAVA_ARGS := -XX:+DisableHotswapAgent, \
CFLAGS := -DEXPAND_CLASSPATH_WILDCARDS, \
))
@@ -43,7 +41,6 @@ ifeq ($(ENABLE_SJAVAC), yes)
# into any real images
$(eval $(call SetupBuildLauncher, sjavac, \
MAIN_CLASS := com.sun.tools.sjavac.Main, \
- JAVA_ARGS := -XX:+DisableHotswapAgent, \
CFLAGS := -DEXPAND_CLASSPATH_WILDCARDS, \
OUTPUT_DIR := $(JDK_OUTPUTDIR)/bin, \
))
diff --git a/make/launcher/Launcher-jdk.hotspot.agent.gmk b/make/launcher/Launcher-jdk.hotspot.agent.gmk
index 9f12b05b172..76da3600368 100644
--- a/make/launcher/Launcher-jdk.hotspot.agent.gmk
+++ b/make/launcher/Launcher-jdk.hotspot.agent.gmk
@@ -27,6 +27,5 @@ include LauncherCommon.gmk
$(eval $(call SetupBuildLauncher, jhsdb, \
MAIN_CLASS := sun.jvm.hotspot.SALauncher, \
- JAVA_ARGS := -XX:+DisableHotswapAgent, \
MACOSX_PRIVILEGED := true, \
))
diff --git a/make/launcher/Launcher-jdk.jartool.gmk b/make/launcher/Launcher-jdk.jartool.gmk
index 647d82b65b1..f74e82bfdae 100644
--- a/make/launcher/Launcher-jdk.jartool.gmk
+++ b/make/launcher/Launcher-jdk.jartool.gmk
@@ -27,10 +27,8 @@ include LauncherCommon.gmk
$(eval $(call SetupBuildLauncher, jar, \
MAIN_CLASS := sun.tools.jar.Main, \
- JAVA_ARGS := -XX:+DisableHotswapAgent, \
))
$(eval $(call SetupBuildLauncher, jarsigner, \
MAIN_CLASS := sun.security.tools.jarsigner.Main, \
- JAVA_ARGS := -XX:+DisableHotswapAgent, \
))
diff --git a/make/launcher/Launcher-jdk.javadoc.gmk b/make/launcher/Launcher-jdk.javadoc.gmk
index c3d2093be04..889028a2b17 100644
--- a/make/launcher/Launcher-jdk.javadoc.gmk
+++ b/make/launcher/Launcher-jdk.javadoc.gmk
@@ -27,7 +27,6 @@ include LauncherCommon.gmk
$(eval $(call SetupBuildLauncher, javadoc, \
MAIN_CLASS := jdk.javadoc.internal.tool.Main, \
- JAVA_ARGS := --add-modules ALL-DEFAULT \
- -XX:+DisableHotswapAgent, \
+ JAVA_ARGS := --add-modules ALL-DEFAULT, \
CFLAGS := -DEXPAND_CLASSPATH_WILDCARDS, \
))
diff --git a/make/launcher/Launcher-jdk.jcmd.gmk b/make/launcher/Launcher-jdk.jcmd.gmk
index 761a52d8466..7117fa78059 100644
--- a/make/launcher/Launcher-jdk.jcmd.gmk
+++ b/make/launcher/Launcher-jdk.jcmd.gmk
@@ -30,7 +30,6 @@ $(eval $(call SetupBuildLauncher, jinfo, \
JAVA_ARGS := \
-Dsun.jvm.hotspot.debugger.useProcDebugger \
-Dsun.jvm.hotspot.debugger.useWindbgDebugger, \
- -XX:+DisableHotswapAgent, \
MACOSX_PRIVILEGED := true, \
))
@@ -38,36 +37,28 @@ $(eval $(call SetupBuildLauncher, jmap, \
MAIN_CLASS := sun.tools.jmap.JMap, \
JAVA_ARGS := \
-Dsun.jvm.hotspot.debugger.useProcDebugger \
- -Dsun.jvm.hotspot.debugger.useWindbgDebugger \
- -XX:+DisableHotswapAgent, \
+ -Dsun.jvm.hotspot.debugger.useWindbgDebugger, \
MACOSX_PRIVILEGED := true, \
))
$(eval $(call SetupBuildLauncher, jps, \
MAIN_CLASS := sun.tools.jps.Jps, \
- JAVA_ARGS := \
- -XX:+DisableHotswapAgent, \
))
$(eval $(call SetupBuildLauncher, jstack, \
MAIN_CLASS := sun.tools.jstack.JStack, \
JAVA_ARGS := \
-Dsun.jvm.hotspot.debugger.useProcDebugger \
- -Dsun.jvm.hotspot.debugger.useWindbgDebugger \
- -XX:+DisableHotswapAgent, \
+ -Dsun.jvm.hotspot.debugger.useWindbgDebugger, \
MACOSX_PRIVILEGED := true, \
))
$(eval $(call SetupBuildLauncher, jstat, \
MAIN_CLASS := sun.tools.jstat.Jstat, \
- JAVA_ARGS := \
- -XX:+DisableHotswapAgent, \
))
$(eval $(call SetupBuildLauncher, jcmd, \
MAIN_CLASS := sun.tools.jcmd.JCmd, \
- JAVA_ARGS := \
- -XX:+DisableHotswapAgent, \
))
# Hook to include the corresponding custom file, if present.
diff --git a/make/launcher/Launcher-jdk.jdeps.gmk b/make/launcher/Launcher-jdk.jdeps.gmk
index 5448278dae7..217523c48cc 100644
--- a/make/launcher/Launcher-jdk.jdeps.gmk
+++ b/make/launcher/Launcher-jdk.jdeps.gmk
@@ -27,18 +27,15 @@ include LauncherCommon.gmk
$(eval $(call SetupBuildLauncher, javap, \
MAIN_CLASS := com.sun.tools.javap.Main, \
- JAVA_ARGS := -XX:+DisableHotswapAgent, \
CFLAGS := -DEXPAND_CLASSPATH_WILDCARDS, \
))
$(eval $(call SetupBuildLauncher, jdeps, \
MAIN_CLASS := com.sun.tools.jdeps.Main, \
- JAVA_ARGS := -XX:+DisableHotswapAgent, \
CFLAGS := -DEXPAND_CLASSPATH_WILDCARDS, \
))
$(eval $(call SetupBuildLauncher, jdeprscan, \
MAIN_CLASS := com.sun.tools.jdeprscan.Main, \
- JAVA_ARGS := -XX:+DisableHotswapAgent, \
CFLAGS := -DEXPAND_CLASSPATH_WILDCARDS, \
))
diff --git a/make/launcher/Launcher-jdk.jdi.gmk b/make/launcher/Launcher-jdk.jdi.gmk
index 27bd448e3ae..fcce98cf430 100644
--- a/make/launcher/Launcher-jdk.jdi.gmk
+++ b/make/launcher/Launcher-jdk.jdi.gmk
@@ -27,5 +27,4 @@ include LauncherCommon.gmk
$(eval $(call SetupBuildLauncher, jdb, \
MAIN_CLASS := com.sun.tools.example.debug.tty.TTY, \
- JAVA_ARGS := -XX:+DisableHotswapAgent, \
))
diff --git a/make/launcher/Launcher-jdk.jlink.gmk b/make/launcher/Launcher-jdk.jlink.gmk
index 9e61edeb2c8..df2173996d7 100644
--- a/make/launcher/Launcher-jdk.jlink.gmk
+++ b/make/launcher/Launcher-jdk.jlink.gmk
@@ -27,21 +27,18 @@ include LauncherCommon.gmk
$(eval $(call SetupBuildLauncher, jimage,\
MAIN_CLASS := jdk.tools.jimage.Main, \
- JAVA_ARGS := -XX:+DisableHotswapAgent, \
CFLAGS := -DENABLE_ARG_FILES, \
))
$(eval $(call SetupBuildLauncher, jlink,\
MAIN_CLASS := jdk.tools.jlink.internal.Main, \
- JAVA_ARGS := --add-modules ALL-DEFAULT \
- -XX:+DisableHotswapAgent, \
+ JAVA_ARGS := --add-modules ALL-DEFAULT, \
CFLAGS := -DENABLE_ARG_FILES \
-DEXPAND_CLASSPATH_WILDCARDS, \
))
$(eval $(call SetupBuildLauncher, jmod,\
MAIN_CLASS := jdk.tools.jmod.Main, \
- JAVA_ARGS := -XX:+DisableHotswapAgent, \
CFLAGS := -DENABLE_ARG_FILES \
-DEXPAND_CLASSPATH_WILDCARDS, \
))
diff --git a/make/launcher/Launcher-jdk.jshell.gmk b/make/launcher/Launcher-jdk.jshell.gmk
index 7287f8f998a..349eb88e9eb 100644
--- a/make/launcher/Launcher-jdk.jshell.gmk
+++ b/make/launcher/Launcher-jdk.jshell.gmk
@@ -27,6 +27,5 @@ include LauncherCommon.gmk
$(eval $(call SetupBuildLauncher, jshell, \
MAIN_CLASS := jdk.internal.jshell.tool.JShellToolProvider, \
- JAVA_ARGS := -XX:+DisableHotswapAgent, \
CFLAGS := -DEXPAND_CLASSPATH_WILDCARDS, \
))
diff --git a/make/launcher/Launcher-jdk.jstatd.gmk b/make/launcher/Launcher-jdk.jstatd.gmk
index e1657910c67..e9286d63094 100644
--- a/make/launcher/Launcher-jdk.jstatd.gmk
+++ b/make/launcher/Launcher-jdk.jstatd.gmk
@@ -27,7 +27,6 @@ include LauncherCommon.gmk
$(eval $(call SetupBuildLauncher, jstatd, \
MAIN_CLASS := sun.tools.jstatd.Jstatd, \
- JAVA_ARGS := -XX:+DisableHotswapAgent, \
))
# Hook to include the corresponding custom file, if present.
diff --git a/make/launcher/Launcher-jdk.pack.gmk b/make/launcher/Launcher-jdk.pack.gmk
index 64bbbb7c949..a93fd2a9017 100644
--- a/make/launcher/Launcher-jdk.pack.gmk
+++ b/make/launcher/Launcher-jdk.pack.gmk
@@ -28,7 +28,6 @@ include LauncherCommon.gmk
$(eval $(call SetupBuildLauncher, pack200, \
MAIN_MODULE := java.base, \
MAIN_CLASS := com.sun.java.util.jar.pack.Driver, \
- JAVA_ARGS := -XX:+DisableHotswapAgent, \
))
################################################################################
diff --git a/make/launcher/Launcher-jdk.rmic.gmk b/make/launcher/Launcher-jdk.rmic.gmk
index b8a55900b0e..d60c3d9b60b 100644
--- a/make/launcher/Launcher-jdk.rmic.gmk
+++ b/make/launcher/Launcher-jdk.rmic.gmk
@@ -27,6 +27,5 @@ include LauncherCommon.gmk
$(eval $(call SetupBuildLauncher, rmic, \
MAIN_CLASS := sun.rmi.rmic.Main, \
- JAVA_ARGS := -XX:+DisableHotswapAgent, \
CFLAGS := -DEXPAND_CLASSPATH_WILDCARDS, \
))
diff --git a/make/launcher/Launcher-jdk.scripting.nashorn.shell.gmk b/make/launcher/Launcher-jdk.scripting.nashorn.shell.gmk
index bd39f8595b2..82311e69fd6 100644
--- a/make/launcher/Launcher-jdk.scripting.nashorn.shell.gmk
+++ b/make/launcher/Launcher-jdk.scripting.nashorn.shell.gmk
@@ -27,7 +27,6 @@ include LauncherCommon.gmk
$(eval $(call SetupBuildLauncher, jjs, \
MAIN_CLASS := jdk.nashorn.tools.jjs.Main, \
- JAVA_ARGS := --add-modules ALL-DEFAULT \
- -XX:+DisableHotswapAgent, \
+ JAVA_ARGS := --add-modules ALL-DEFAULT, \
CFLAGS := -DENABLE_ARG_FILES, \
))
diff --git a/src/hotspot/share/runtime/arguments.cpp b/src/hotspot/share/runtime/arguments.cpp
index c5635bb8537..d7fee6a8c95 100644
--- a/src/hotspot/share/runtime/arguments.cpp
+++ b/src/hotspot/share/runtime/arguments.cpp
@@ -4310,11 +4310,17 @@ void Arguments::setup_hotswap_agent() {
if (DumpSharedSpaces)
return;
- if (!AllowEnhancedClassRedefinition)
+ if (HotswapAgent == NULL || strcmp(HotswapAgent, "disabled") == 0)
return;
+ // Force AllowEnhancedClassRedefinition if HA is enabled
+ AllowEnhancedClassRedefinition = true;
+
+ bool ha_fatjar = strcmp(HotswapAgent, "fatjar") == 0;
+ bool ha_core = strcmp(HotswapAgent, "core") == 0;
+
// Set HotswapAgent
- if (!DisableHotswapAgent) {
+ if (ha_fatjar || ha_core) {
char ext_path_str[JVM_MAXPATHLEN];
@@ -4333,23 +4339,27 @@ void Arguments::setup_hotswap_agent() {
}
}
if (ext_path_length < JVM_MAXPATHLEN - 10) {
- jio_snprintf(ext_path_str + ext_path_length, sizeof(ext_path_str) - ext_path_length,
- "%shotswap%shotswap-agent.jar", os::file_separator(), os::file_separator());
- }
-
- int fd = ::open(ext_path_str, O_RDONLY);
- if (fd >= 0) {
- os::close(fd);
- size_t length = strlen(ext_path_str) + 1;
- char *options = NEW_C_HEAP_ARRAY(char, length, mtArguments);
- jio_snprintf(options, length, "%s", ext_path_str);
- add_init_agent("instrument", ext_path_str, false);
- jio_fprintf(defaultStream::output_stream(), "Starting HotswapAgent '%s'\n", ext_path_str);
- }
-// else
-// {
-// jio_fprintf(defaultStream::error_stream(), "HotswapAgent not found on path:'%s'\n", ext_path_str);
-// }
+ if (ha_fatjar) {
+ jio_snprintf(ext_path_str + ext_path_length, sizeof(ext_path_str) - ext_path_length,
+ "%shotswap%shotswap-agent.jar", os::file_separator(), os::file_separator());
+ } else {
+ jio_snprintf(ext_path_str + ext_path_length, sizeof(ext_path_str) - ext_path_length,
+ "%shotswap%shotswap-agent-core.jar", os::file_separator(), os::file_separator());
+ }
+ int fd = ::open(ext_path_str, O_RDONLY);
+ if (fd >= 0) {
+ os::close(fd);
+ size_t length = strlen(ext_path_str) + 1;
+ char *options = NEW_C_HEAP_ARRAY(char, length, mtArguments);
+ jio_snprintf(options, length, "%s", ext_path_str);
+ add_init_agent("instrument", ext_path_str, false);
+ jio_fprintf(defaultStream::output_stream(), "Starting HotswapAgent '%s'\n", ext_path_str);
+ }
+ else
+ {
+ jio_fprintf(defaultStream::error_stream(), "HotswapAgent not found on path:'%s'!\n", ext_path_str);
+ }
+ }
}
// TODO: open it only for org.hotswap.agent module
diff --git a/src/hotspot/share/runtime/flags/jvmFlagConstraintList.cpp b/src/hotspot/share/runtime/flags/jvmFlagConstraintList.cpp
index 16d8030fd1c..94044c4831c 100644
--- a/src/hotspot/share/runtime/flags/jvmFlagConstraintList.cpp
+++ b/src/hotspot/share/runtime/flags/jvmFlagConstraintList.cpp
@@ -199,6 +199,26 @@ public:
}
};
+class JVMFlagConstraint_ccstr : public JVMFlagConstraint {
+ JVMFlagConstraintFunc_ccstr _constraint;
+ const ccstr* _ptr;
+
+public:
+ // the "name" argument must be a string literal
+ JVMFlagConstraint_ccstr(const char* name, const ccstr* ptr,
+ JVMFlagConstraintFunc_ccstr func,
+ ConstraintType type) : JVMFlagConstraint(name, type), _constraint(func), _ptr(ptr) {}
+
+ JVMFlag::Error apply(bool verbose) {
+ ccstr value = *_ptr;
+ return _constraint(value, verbose);
+ }
+
+ JVMFlag::Error apply_ccstr(ccstr value, bool verbose) {
+ return _constraint(value, verbose);
+ }
+};
+
// No constraint emitting
void emit_constraint_no(...) { /* NOP */ }
@@ -239,6 +259,9 @@ void emit_constraint_size_t(const char* name, const size_t* ptr, JVMFlagConstrai
void emit_constraint_double(const char* name, const double* ptr, JVMFlagConstraintFunc_double func, JVMFlagConstraint::ConstraintType type) {
JVMFlagConstraintList::add(new JVMFlagConstraint_double(name, ptr, func, type));
}
+void emit_constraint_ccstr(const char* name, ccstr* ptr, JVMFlagConstraintFunc_ccstr func, JVMFlagConstraint::ConstraintType type) {
+ JVMFlagConstraintList::add(new JVMFlagConstraint_ccstr(name, ptr, func, type));
+}
// Generate code to call emit_constraint_xxx function
#define EMIT_CONSTRAINT_PRODUCT_FLAG(type, name, value, doc) ); emit_constraint_##type(#name,&name
diff --git a/src/hotspot/share/runtime/flags/jvmFlagConstraintList.hpp b/src/hotspot/share/runtime/flags/jvmFlagConstraintList.hpp
index 9c27f1db955..b644f7b817a 100644
--- a/src/hotspot/share/runtime/flags/jvmFlagConstraintList.hpp
+++ b/src/hotspot/share/runtime/flags/jvmFlagConstraintList.hpp
@@ -47,6 +47,7 @@ typedef JVMFlag::Error (*JVMFlagConstraintFunc_uintx)(uintx value, bool verbose)
typedef JVMFlag::Error (*JVMFlagConstraintFunc_uint64_t)(uint64_t value, bool verbose);
typedef JVMFlag::Error (*JVMFlagConstraintFunc_size_t)(size_t value, bool verbose);
typedef JVMFlag::Error (*JVMFlagConstraintFunc_double)(double value, bool verbose);
+typedef JVMFlag::Error (*JVMFlagConstraintFunc_ccstr)(ccstr value, bool verbose);
class JVMFlagConstraint : public CHeapObj<mtArguments> {
public:
diff --git a/src/hotspot/share/runtime/flags/jvmFlagConstraintsRuntime.cpp b/src/hotspot/share/runtime/flags/jvmFlagConstraintsRuntime.cpp
index 6559d4252f0..21afac72a2e 100644
--- a/src/hotspot/share/runtime/flags/jvmFlagConstraintsRuntime.cpp
+++ b/src/hotspot/share/runtime/flags/jvmFlagConstraintsRuntime.cpp
@@ -140,3 +140,13 @@ JVMFlag::Error ThreadLocalHandshakesConstraintFunc(bool value, bool verbose) {
}
return JVMFlag::SUCCESS;
}
+
+JVMFlag::Error HotswapAgentConstraintFunc(char const* value, bool verbose) {
+ if (value != NULL) {
+ if (strcmp("disabled", value) != 0 && strcmp("fatjar", value) != 0 && strcmp("core", value) != 0 && strcmp("external", value) != 0) {
+ JVMFlag::printError(verbose, "HotswapAgent(%s) must be one of disabled,fatjar,core or external.\n", value);
+ return JVMFlag::VIOLATES_CONSTRAINT;
+ }
+ }
+ return JVMFlag::SUCCESS;
+}
diff --git a/src/hotspot/share/runtime/flags/jvmFlagConstraintsRuntime.hpp b/src/hotspot/share/runtime/flags/jvmFlagConstraintsRuntime.hpp
index 8763b83fd37..c9ed15a89e1 100644
--- a/src/hotspot/share/runtime/flags/jvmFlagConstraintsRuntime.hpp
+++ b/src/hotspot/share/runtime/flags/jvmFlagConstraintsRuntime.hpp
@@ -46,5 +46,6 @@ JVMFlag::Error PerfDataSamplingIntervalFunc(intx value, bool verbose);
JVMFlag::Error ThreadLocalHandshakesConstraintFunc(bool value, bool verbose);
+JVMFlag::Error HotswapAgentConstraintFunc(char const* value, bool verbose);
#endif /* SHARE_VM_RUNTIME_JVMFLAGCONSTRAINTSRUNTIME_HPP */
diff --git a/src/hotspot/share/runtime/globals.hpp b/src/hotspot/share/runtime/globals.hpp
index d4453de1ff5..8c41f0af888 100644
--- a/src/hotspot/share/runtime/globals.hpp
+++ b/src/hotspot/share/runtime/globals.hpp
@@ -2686,8 +2686,16 @@ define_pd_global(uint64_t,MaxRAM, 1ULL*G);
"Allow enhanced class redefinition beyond swapping method " \
"bodies") \
\
- product(bool, DisableHotswapAgent, DISABLED_HOTSWAP_AGENT, \
- "Disable integrated Hotswap Agent (HotswapVM only)")
+ product(ccstr, HotswapAgent, "disabled", \
+ "Specify HotswapAgent image to be used." \
+ "disabled: hotswap agent is disabled (default)" \
+ "fatjar: full HA. Use integrated hotswap-agent.jar" \
+ "core: core HA. Use integrated hotswap-agent-core.jar" \
+ "external: external HA. use external HA, open required JDK " \
+ "modules.") \
+ constraint(HotswapAgentConstraintFunc, AfterErgo)
+
+
#define VM_FLAGS(develop, \
develop_pd, \
product, \
--
2.23.0

View File

@@ -0,0 +1,333 @@
From f279999a412cc87c6f4a7eed7e1e2ad34655b4fe Mon Sep 17 00:00:00 2001
From: Vladimir Dvorak <vladimir.dvorak@jetbrains.com>
Date: Mon, 8 Mar 2021 02:22:54 +0700
Subject: [PATCH 26/28] Support for redefinition of Well Known classses
(java.*,jdk.*, sun.*)
---
src/hotspot/share/ci/ciKlass.hpp | 1 +
src/hotspot/share/ci/ciObjectFactory.cpp | 34 +++++++++++
src/hotspot/share/ci/ciObjectFactory.hpp | 6 ++
.../share/classfile/systemDictionary.cpp | 10 +++
.../share/classfile/systemDictionary.hpp | 2 +
src/hotspot/share/classfile/vmSymbols.hpp | 2 +
src/hotspot/share/compiler/compileBroker.cpp | 11 ++++
src/hotspot/share/memory/universe.cpp | 8 +++
src/hotspot/share/memory/universe.hpp | 3 +
.../prims/jvmtiEnhancedRedefineClasses.cpp | 61 ++++++++++++++++++-
.../prims/jvmtiEnhancedRedefineClasses.hpp | 2 +
11 files changed, 139 insertions(+), 1 deletion(-)
diff --git a/src/hotspot/share/ci/ciKlass.hpp b/src/hotspot/share/ci/ciKlass.hpp
index 896f489453a..c610c365aba 100644
--- a/src/hotspot/share/ci/ciKlass.hpp
+++ b/src/hotspot/share/ci/ciKlass.hpp
@@ -129,6 +129,7 @@ public:
void print_name_on(outputStream* st);
const char* external_name() const;
+ Klass* new_version() { return get_Klass()->new_version(); }
};
#endif // SHARE_VM_CI_CIKLASS_HPP
diff --git a/src/hotspot/share/ci/ciObjectFactory.cpp b/src/hotspot/share/ci/ciObjectFactory.cpp
index 66bbe835e7b..107c16fa5cf 100644
--- a/src/hotspot/share/ci/ciObjectFactory.cpp
+++ b/src/hotspot/share/ci/ciObjectFactory.cpp
@@ -70,7 +70,10 @@ GrowableArray<ciMetadata*>* ciObjectFactory::_shared_ci_metadata = NULL;
ciSymbol* ciObjectFactory::_shared_ci_symbols[vmSymbols::SID_LIMIT];
int ciObjectFactory::_shared_ident_limit = 0;
volatile bool ciObjectFactory::_initialized = false;
+volatile bool ciObjectFactory::_reinitialize_wk_klasses = false;
+// TODO: review...
+Arena* ciObjectFactory::_initial_arena = NULL;
// ------------------------------------------------------------------
// ciObjectFactory::ciObjectFactory
@@ -112,6 +115,7 @@ void ciObjectFactory::initialize() {
// compiler thread that initializes the initial ciObjectFactory which
// creates the shared ciObjects that all later ciObjectFactories use.
Arena* arena = new (mtCompiler) Arena(mtCompiler);
+ ciObjectFactory::_initial_arena = arena;
ciEnv initial(arena);
ciEnv* env = ciEnv::current();
env->_factory->init_shared_objects();
@@ -120,6 +124,36 @@ void ciObjectFactory::initialize() {
}
+// (DCEVM) wk classes could be modified
+void ciObjectFactory::reinitialize_wk_classes() {
+ ASSERT_IN_VM;
+ JavaThread* thread = JavaThread::current();
+ HandleMark handle_mark(thread);
+
+ // This Arena is long lived and exists in the resource mark of the
+ // compiler thread that initializes the initial ciObjectFactory which
+ // creates the shared ciObjects that all later ciObjectFactories use.
+ // Arena* arena = new (mtCompiler) Arena(mtCompiler);
+ ciEnv initial(ciObjectFactory::_initial_arena);
+ ciEnv* env = ciEnv::current();
+ env->_factory->do_reinitialize_wk_classes();
+ _reinitialize_wk_klasses = false;
+}
+
+// (DCEVM) wk classes could be modified
+void ciObjectFactory::do_reinitialize_wk_classes() {
+#define WK_KLASS_DEFN(name, ignore_s, opt) \
+ if (ciEnv::_##name != NULL && ciEnv::_##name->new_version() != NULL) { \
+ int old_ident = ciEnv::_##name->ident(); \
+ ciEnv::_##name = get_metadata(SystemDictionary::name())->as_instance_klass(); \
+ ciEnv::_##name->compute_nonstatic_fields(); \
+ ciEnv::_##name->set_ident(old_ident); \
+ }
+
+ WK_KLASSES_DO(WK_KLASS_DEFN)
+#undef WK_KLASS_DEFN
+}
+
void ciObjectFactory::init_shared_objects() {
_next_ident = 1; // start numbering CI objects at 1
diff --git a/src/hotspot/share/ci/ciObjectFactory.hpp b/src/hotspot/share/ci/ciObjectFactory.hpp
index 3e9d48c4cdc..79059f6e2e8 100644
--- a/src/hotspot/share/ci/ciObjectFactory.hpp
+++ b/src/hotspot/share/ci/ciObjectFactory.hpp
@@ -41,9 +41,11 @@ class ciObjectFactory : public ResourceObj {
private:
static volatile bool _initialized;
+ static volatile bool _reinitialize_wk_klasses;
static GrowableArray<ciMetadata*>* _shared_ci_metadata;
static ciSymbol* _shared_ci_symbols[];
static int _shared_ident_limit;
+ static Arena* _initial_arena;
Arena* _arena;
GrowableArray<ciMetadata*>* _ci_metadata;
@@ -89,10 +91,14 @@ private:
ciInstance* get_unloaded_instance(ciInstanceKlass* klass);
static int compare_cimetadata(ciMetadata** a, ciMetadata** b);
+ void do_reinitialize_wk_classes();
public:
static bool is_initialized() { return _initialized; }
+ static bool is_reinitialize_wk_klasses() { return _reinitialize_wk_klasses; }
+ static void set_reinitialize_wk_klasses() { _reinitialize_wk_klasses = true; }
static void initialize();
+ static void reinitialize_wk_classes();
void init_shared_objects();
void remove_symbols();
diff --git a/src/hotspot/share/classfile/systemDictionary.cpp b/src/hotspot/share/classfile/systemDictionary.cpp
index 789b5fb1e6d..25e577a664c 100644
--- a/src/hotspot/share/classfile/systemDictionary.cpp
+++ b/src/hotspot/share/classfile/systemDictionary.cpp
@@ -1983,6 +1983,16 @@ bool SystemDictionary::is_well_known_klass(Symbol* class_name) {
}
#endif
+bool SystemDictionary::update_well_known_klass(InstanceKlass* old_klass, InstanceKlass* new_klass) {
+ for (int id = FIRST_WKID; id < WKID_LIMIT; id++) {
+ if (well_known_klass((WKID) id) == old_klass) {
+ *well_known_klass_addr((WKID)id) = new_klass;
+ return true;
+ }
+ }
+ return false;
+}
+
bool SystemDictionary::resolve_wk_klass(WKID id, int init_opt, TRAPS) {
assert(id >= (int)FIRST_WKID && id < (int)WKID_LIMIT, "oob");
int info = wk_init_info[id - FIRST_WKID];
diff --git a/src/hotspot/share/classfile/systemDictionary.hpp b/src/hotspot/share/classfile/systemDictionary.hpp
index 1dbbffa197f..4220978a025 100644
--- a/src/hotspot/share/classfile/systemDictionary.hpp
+++ b/src/hotspot/share/classfile/systemDictionary.hpp
@@ -467,6 +467,8 @@ public:
static bool is_well_known_klass(Symbol* class_name);
#endif
+ static bool update_well_known_klass(InstanceKlass* new_klass, InstanceKlass* old_klass);
+
// Enhanced class redefinition
static void remove_from_hierarchy(InstanceKlass* k);
static void update_constraints_after_redefinition();
diff --git a/src/hotspot/share/classfile/vmSymbols.hpp b/src/hotspot/share/classfile/vmSymbols.hpp
index 2409af9b06e..daaa8d12375 100644
--- a/src/hotspot/share/classfile/vmSymbols.hpp
+++ b/src/hotspot/share/classfile/vmSymbols.hpp
@@ -355,6 +355,8 @@
template(exit_method_name, "exit") \
template(add_method_name, "add") \
template(remove_method_name, "remove") \
+ template(registerNatives_method_name, "registerNatives") \
+ template(initIDs_method_name, "initIDs") \
template(parent_name, "parent") \
template(threads_name, "threads") \
template(groups_name, "groups") \
diff --git a/src/hotspot/share/compiler/compileBroker.cpp b/src/hotspot/share/compiler/compileBroker.cpp
index 765b8ffa4dc..25271feb41f 100644
--- a/src/hotspot/share/compiler/compileBroker.cpp
+++ b/src/hotspot/share/compiler/compileBroker.cpp
@@ -1877,6 +1877,17 @@ void CompileBroker::compiler_thread_loop() {
if (method()->number_of_breakpoints() == 0) {
// Compile the method.
if ((UseCompiler || AlwaysCompileLoopMethods) && CompileBroker::should_compile_new_jobs()) {
+
+ // TODO: review usage of CompileThread_lock (DCEVM)
+ if (ciObjectFactory::is_reinitialize_wk_klasses())
+ {
+ ASSERT_IN_VM;
+ MutexLocker only_one (CompileThread_lock, thread);
+ if (ciObjectFactory::is_reinitialize_wk_klasses()) {
+ ciObjectFactory::reinitialize_wk_classes();
+ }
+ }
+
invoke_compiler_on_method(task);
thread->start_idle_timer();
} else {
diff --git a/src/hotspot/share/memory/universe.cpp b/src/hotspot/share/memory/universe.cpp
index 3dc4cc1323c..6b88271b5ef 100644
--- a/src/hotspot/share/memory/universe.cpp
+++ b/src/hotspot/share/memory/universe.cpp
@@ -1030,6 +1030,14 @@ void Universe::initialize_known_methods(TRAPS) {
vmSymbols::doStackWalk_signature(), false, CHECK);
}
+void Universe::reinitialize_loader_addClass_method(TRAPS) {
+ // Set up method for registering loaded classes in class loader vector
+ initialize_known_method(_loader_addClass_cache,
+ SystemDictionary::ClassLoader_klass(),
+ "addClass",
+ vmSymbols::class_void_signature(), false, CHECK);
+}
+
void universe2_init() {
EXCEPTION_MARK;
Universe::genesis(CATCH);
diff --git a/src/hotspot/share/memory/universe.hpp b/src/hotspot/share/memory/universe.hpp
index 742dada0e8f..d1af82b5fa7 100644
--- a/src/hotspot/share/memory/universe.hpp
+++ b/src/hotspot/share/memory/universe.hpp
@@ -349,6 +349,9 @@ class Universe: AllStatic {
// Function to initialize these
static void initialize_known_methods(TRAPS);
+ // Enhanced class redefinition
+ static void reinitialize_loader_addClass_method(TRAPS);
+
static oop null_ptr_exception_instance() { return _null_ptr_exception_instance; }
static oop arithmetic_exception_instance() { return _arithmetic_exception_instance; }
static oop virtual_machine_error_instance() { return _virtual_machine_error_instance; }
diff --git a/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp b/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp
index f4bde7504c8..80d4e68ccae 100644
--- a/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp
+++ b/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp
@@ -497,6 +497,16 @@ void VM_EnhancedRedefineClasses::doit() {
redefine_single_class(_new_classes->at(i), thread);
}
+ // Update possible redefinition of well-known classes (like ClassLoader)
+ for (int i = 0; i < _new_classes->length(); i++) {
+ InstanceKlass* cur = _new_classes->at(i);
+ if (cur->old_version() != NULL && SystemDictionary::update_well_known_klass(InstanceKlass::cast(cur->old_version()), cur))
+ {
+ log_trace(redefine, class, obsolete, metadata)("Well known class updated %s", cur->external_name());
+ ciObjectFactory::set_reinitialize_wk_klasses();
+ }
+ }
+
// Deoptimize all compiled code that depends on this class (do only once, because it clears whole cache)
// if (_max_redefinition_flags > Klass::ModifyClass) {
flush_dependent_code(NULL, thread);
@@ -672,12 +682,56 @@ void VM_EnhancedRedefineClasses::doit() {
_timer_vm_op_doit.stop();
}
+void VM_EnhancedRedefineClasses::reinitializeJDKClasses() {
+ if (!_new_classes->is_empty()) {
+ ResourceMark rm(Thread::current());
+
+ for (int i = 0; i < _new_classes->length(); i++) {
+ InstanceKlass* cur = _new_classes->at(i);
+
+ if (cur->name()->starts_with("java/") || cur->name()->starts_with("jdk/") || cur->name()->starts_with("sun/")) {
+
+ if (cur == SystemDictionary::ClassLoader_klass()) {
+ // ClassLoader.addClass method is cached in Universe, we must redefine
+ Universe::reinitialize_loader_addClass_method(Thread::current());
+ log_trace(redefine, class, obsolete, metadata)("Reinitialize ClassLoade addClass method cache.");
+ }
+
+ // naive assumptions that only JDK classes has native static "registerNative" and "initIDs" methods
+ int end;
+ Symbol* signature = vmSymbols::registerNatives_method_name();
+ int midx = cur->find_method_by_name(signature, &end);
+ if (midx == -1) {
+ signature = vmSymbols::initIDs_method_name();
+ midx = cur->find_method_by_name(signature, &end);
+ }
+ Method* m = NULL;
+ if (midx != -1) {
+ m = cur->methods()->at(midx);
+ }
+ if (m != NULL && m->is_static() && m->is_native()) {
+ // call static registerNative if present
+ JavaValue result(T_VOID);
+ JavaCalls::call_static(&result,
+ cur,
+ signature,
+ vmSymbols::void_method_signature(),
+ Thread::current());
+ log_trace(redefine, class, obsolete, metadata)("Reregister natives of JDK class %s", cur->external_name());
+ }
+ }
+ }
+ }
+}
+
// Cleanup - runs in JVM thread
// - free used memory
// - end GC
void VM_EnhancedRedefineClasses::doit_epilogue() {
VM_GC_Operation::doit_epilogue();
+ reinitializeJDKClasses();
+
if (_new_classes != NULL) {
delete _new_classes;
}
@@ -1589,7 +1643,12 @@ void VM_EnhancedRedefineClasses::check_methods_and_mark_as_obsolete() {
// obsolete methods need a unique idnum so they become new entries in
// the jmethodID cache in InstanceKlass
- assert(old_method->method_idnum() == new_method->method_idnum(), "must match");
+ if (old_method->method_idnum() != new_method->method_idnum()) {
+ log_error(redefine, class, normalize)
+ ("Method not matched: %d != %d old: %s = new: %s", old_method->method_idnum(), new_method->method_idnum(),
+ old_method->name_and_sig_as_C_string(), new_method->name_and_sig_as_C_string());
+ // assert(old_method->method_idnum() == new_method->method_idnum(), "must match");
+ }
// u2 num = InstanceKlass::cast(_the_class_oop)->next_method_idnum();
// if (num != ConstMethod::UNSET_IDNUM) {
// old_method->set_method_idnum(num);
diff --git a/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.hpp b/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.hpp
index 4c0412d343d..79ea17b0d47 100644
--- a/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.hpp
+++ b/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.hpp
@@ -141,6 +141,8 @@ class VM_EnhancedRedefineClasses: public VM_GC_Operation {
void flush_dependent_code(InstanceKlass* k_h, TRAPS);
+ void reinitializeJDKClasses();
+
static void check_class(InstanceKlass* k_oop, TRAPS);
static void dump_methods();
--
2.23.0

View File

@@ -0,0 +1,27 @@
From 416d06e7e5f3517e9303b0b5a705888e4db740bd Mon Sep 17 00:00:00 2001
From: Vladimir Dvorak <lada.dvorak7@gmail.com>
Date: Fri, 19 Mar 2021 19:13:38 +0100
Subject: [PATCH 27/28] JBR-3458: Skip dynamic proxy classes based on
com.sun.proxy
---
src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp b/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp
index 80d4e68ccae..10c375d601c 100644
--- a/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp
+++ b/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp
@@ -689,7 +689,8 @@ void VM_EnhancedRedefineClasses::reinitializeJDKClasses() {
for (int i = 0; i < _new_classes->length(); i++) {
InstanceKlass* cur = _new_classes->at(i);
- if (cur->name()->starts_with("java/") || cur->name()->starts_with("jdk/") || cur->name()->starts_with("sun/")) {
+ if ((cur->name()->starts_with("java/") || cur->name()->starts_with("jdk/") || cur->name()->starts_with("sun/"))
+ && cur->name()->index_of_at(0, "$$") == -1) { // skip dynamic proxies
if (cur == SystemDictionary::ClassLoader_klass()) {
// ClassLoader.addClass method is cached in Universe, we must redefine
--
2.23.0

View File

@@ -0,0 +1,79 @@
From 88e0325768b074607f5f9edfbb7f8e4a76159942 Mon Sep 17 00:00:00 2001
From: Vladimir Dvorak <lada.dvorak7@gmail.com>
Date: Sat, 20 Mar 2021 20:51:08 +0100
Subject: [PATCH 28/28] JBR-3459: Fix race condition in
ClassLoaderDataGraph::classes_do
InstanceKlass in ClassLoaderData can be uninitialized when
ClassLoaderDataGraph::classes_do is called. Using
ClassLoaderDataGraph::dictionary_classes_do is safe but problem is still
persisting with anonymous classes.
---
src/hotspot/share/classfile/classLoaderData.cpp | 10 ++++++++++
src/hotspot/share/classfile/classLoaderData.hpp | 4 ++++
.../share/prims/jvmtiEnhancedRedefineClasses.cpp | 13 +++++++++++--
3 files changed, 25 insertions(+), 2 deletions(-)
diff --git a/src/hotspot/share/classfile/classLoaderData.cpp b/src/hotspot/share/classfile/classLoaderData.cpp
index 4e06b09e7d5..f319cca3b2b 100644
--- a/src/hotspot/share/classfile/classLoaderData.cpp
+++ b/src/hotspot/share/classfile/classLoaderData.cpp
@@ -1166,6 +1166,16 @@ void ClassLoaderDataGraph::classes_do(KlassClosure* klass_closure) {
}
}
+void ClassLoaderDataGraph::anonymous_classes_do(KlassClosure* klass_closure) {
+ Thread* thread = Thread::current();
+ for (ClassLoaderData* cld = _head; cld != NULL; cld = cld->next()) {
+ if (cld->is_anonymous()) {
+ Handle holder(thread, cld->holder_phantom());
+ cld->classes_do(klass_closure);
+ }
+ }
+}
+
void ClassLoaderDataGraph::classes_do(void f(Klass* const)) {
Thread* thread = Thread::current();
for (ClassLoaderData* cld = _head; cld != NULL; cld = cld->next()) {
diff --git a/src/hotspot/share/classfile/classLoaderData.hpp b/src/hotspot/share/classfile/classLoaderData.hpp
index 16711dca237..b10fafa01e5 100644
--- a/src/hotspot/share/classfile/classLoaderData.hpp
+++ b/src/hotspot/share/classfile/classLoaderData.hpp
@@ -108,6 +108,10 @@ class ClassLoaderDataGraph : public AllStatic {
// for redefinition. These classes are removed during the next class unloading.
// Walking the ClassLoaderDataGraph also includes anonymous classes.
static void classes_do(KlassClosure* klass_closure);
+
+ // Enhanced class redefinition
+ static void anonymous_classes_do(KlassClosure* klass_closure);
+
static void classes_do(void f(Klass* const));
static void methods_do(void f(Method*));
static void modules_do(void f(ModuleEntry*));
diff --git a/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp b/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp
index 10c375d601c..5de5f78aea0 100644
--- a/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp
+++ b/src/hotspot/share/prims/jvmtiEnhancedRedefineClasses.cpp
@@ -2130,8 +2130,17 @@ jvmtiError VM_EnhancedRedefineClasses::find_sorted_affected_classes(TRAPS) {
AffectedKlassClosure closure(_affected_klasses);
// Updated in j10, from original SystemDictionary::classes_do
- ClassLoaderDataGraph::classes_do(&closure);
- //ClassLoaderDataGraph::dictionary_classes_do(&closure);
+ // 0. we can't use ClassLoaderDataGraph::classes_do since classes can be uninitialized in cld,
+ // fully initialized class is in system dictionary
+ // ClassLoaderDataGraph::classes_do(&closure);
+
+ // 1. Scan over dictionaries
+ ClassLoaderDataGraph::dictionary_classes_do(&closure);
+
+ // 2. Anonymous class is not in dictionary, we have to iterate anonymous cld directly, but there is race cond...
+ // TODO: review ... anonymous class is added to cld before InstanceKlass initialization,
+ // find out how to check if the InstanceKlass is initialized
+ ClassLoaderDataGraph::anonymous_classes_do(&closure);
log_trace(redefine, class, load)("%d classes affected", _affected_klasses->length());
--
2.23.0

View File

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

View File

@@ -1,12 +1,14 @@
#!/bin/bash -x
# The following parameters must be specified:
# JBSDK_VERSION - specifies the current version of OpenJDK e.g. 11_0_6
# JDK_BUILD_NUMBER - specifies the number of OpenJDK build or the value of --with-version-build argument to configure
# JBSDK_VERSION - specifies major version of OpenJDK e.g. 11_0_6 (instead of dots '.' underbars "_" are used)
# JDK_BUILD_NUMBER - specifies update release of OpenJDK build or the value of --with-version-build argument to configure
# build_number - specifies the number of JetBrainsRuntime build
# bundle_type - specifies bundle to bu built; possible values:
# jcef - the bundles 1) jbr with jcef+javafx, 2) jbrsdk and 3) test will be created
# jfx - the bundle 1) jbr with javafx only will be created
# bundle_type - specifies bundle to be built; possible values:
# jcef - the release bundles with jcef
# dcevm - the release bundles with dcevm patches
# nomod - the release bundles without any additional modules (jcef)
# fd - the fastdebug bundles which also include the jcef module
#
# jbrsdk-${JBSDK_VERSION}-osx-x64-b${build_number}.tar.gz
# jbr-${JBSDK_VERSION}-osx-x64-b${build_number}.tar.gz
@@ -16,92 +18,116 @@
# OpenJDK Runtime Environment (build 11.0.6+${JDK_BUILD_NUMBER}-b${build_number})
# OpenJDK 64-Bit Server VM (build 11.0.6+${JDK_BUILD_NUMBER}-b${build_number}, mixed mode)
#
# Environment variables:
# MODULAR_SDK_PATH - specifies the path to the directory where imported modules are located.
# By default imported modules should be located in ./modular-sdk
# JCEF_PATH - specifies the path to the directory with JCEF binaries.
# By default JCEF binaries should be located in ./jcef_win_x64
JBSDK_VERSION=$1
JDK_BUILD_NUMBER=$2
build_number=$3
bundle_type=$4
JBSDK_VERSION_WITH_DOTS=$(echo $JBSDK_VERSION | sed 's/_/\./g')
WORK_DIR=$(pwd)
WITH_IMPORT_MODULES="--with-import-modules=${MODULAR_SDK_PATH:=${WORK_DIR}/modular-sdk}"
JCEF_PATH=${JCEF_PATH:=${WORK_DIR}/jcef_win_x64}
TOOLCHAIN_VERSION=${TOOLCHAIN_VERSION:=2015}
source jb/project/tools/common.sh
function create_jbr {
case "$1" in
"${bundle_type}_lw")
grep -v "jdk.compiler\|jdk.hotspot.agent" modules.list > modules_tmp.list
;;
"jfx" | "jcef" | "jfx_jcef")
cat modules.list > modules_tmp.list
JBR_BUNDLE=jbr_${bundle_type}
case "${bundle_type}" in
"jcef" | "dcevm" | "nomod" | "fd")
JBR_BASE_NAME=jbr_${bundle_type}-${JBSDK_VERSION}
;;
*)
echo "***ERR*** bundle was not specified" && exit 1
echo "***ERR*** bundle was not specified" && do_exit 1
;;
esac
cat modules.list > modules_tmp.list
rm -rf ${JBR_BUNDLE}
echo Running jlink....
${JSDK}/bin/jlink \
--module-path ${JSDK}/jmods --no-man-pages --compress=2 \
--add-modules $(xargs < modules_tmp.list | sed s/" "//g) --output ${JBR_BUNDLE} || exit $?
if [[ "${bundle_type}" == *jcef* ]]
--add-modules $(xargs < modules_tmp.list | sed s/" "//g) --output ${JBR_BUNDLE} || do_exit $?
if [[ "${bundle_type}" == *jcef* ]] || [[ "${bundle_type}" == *dcevm* ]] || [[ "${bundle_type}" == fd ]]
then
cp -R jcef_win_x64/* ${JBR_BUNDLE}/bin
rsync -av ${JCEF_PATH}/ ${JBR_BUNDLE}/bin --exclude="modular-sdk" || do_exit $?
fi
echo Modifying release info ...
cat ${JSDK}/release | tr -d '\r' | grep -v 'JAVA_VERSION' | grep -v 'MODULES' >> ${JBR_BUNDLE}/release
}
JBRSDK_BASE_NAME=jbrsdk-${JBSDK_VERSION}
WORK_DIR=$(pwd)
git checkout -- modules.list src/java.desktop/share/classes/module-info.java
WITH_DEBUG_LEVEL="--with-debug-level=release"
RELEASE_NAME=windows-x86_64-normal-server-release
JBSDK=${JBRSDK_BASE_NAME}-windows-x64-b${build_number}
case "$bundle_type" in
"jfx")
echo "Excluding jcef modules"
git apply -p0 < jb/project/tools/exclude_jcef_module.patch
;;
"jcef")
echo "Excluding jfx modules"
git apply -p0 < jb/project/tools/exclude_jfx_module.patch
git apply -p0 < jb/project/tools/patches/add_jcef_module.patch || do_exit $?
do_reset_changes=1
;;
"dcevm")
HEAD_REVISION=$(git rev-parse HEAD)
git am jb/project/tools/patches/dcevm/*.patch || do_exit $?
do_reset_dcevm=1
git apply -p0 < jb/project/tools/patches/add_jcef_module.patch || do_exit $?
do_reset_changes=1
;;
"nomod")
WITH_IMPORT_MODULES=""
;;
"fd")
git apply -p0 < jb/project/tools/patches/add_jcef_module.patch || do_exit $?
do_reset_changes=1
WITH_DEBUG_LEVEL="--with-debug-level=fastdebug"
RELEASE_NAME=windows-x86_64-normal-server-fastdebug
JBRSDK_BASE_NAME=jbrsdk-${JBSDK_VERSION}-fastdebug
JBSDK=${JBRSDK_BASE_NAME}-windows-x64-fastdebug-b${build_number}
;;
*)
echo "***ERR*** bundle was not specified" && do_exit 1
;;
esac
PATH="/usr/local/bin:/usr/bin:${PATH}"
./configure \
sh ./configure \
--disable-warnings-as-errors \
--disable-debug-symbols \
--with-target-bits=64 \
$WITH_DEBUG_LEVEL \
--with-vendor-name="${VENDOR_NAME}" \
--with-vendor-version-string="${VENDOR_VERSION_STRING}" \
--with-jvm-features=shenandoahgc \
--with-version-pre= \
--with-version-build=${JDK_BUILD_NUMBER} \
--with-version-opt=b${build_number} \
--with-import-modules=${WORK_DIR}/modular-sdk \
--with-toolchain-version=2015 \
$WITH_IMPORT_MODULES \
--with-toolchain-version=${TOOLCHAIN_VERSION} \
--with-boot-jdk=${BOOT_JDK} \
--disable-ccache \
--enable-cds=yes || exit 1
--enable-cds=yes || do_exit $?
if [ "$bundle_type" == "jfx_jcef" ]; then
make LOG=info images CONF=windows-x86_64-normal-server-release test-image || exit 1
if [ "${bundle_type}" == "jcef" ]; then
make LOG=info clean images test-image CONF=$RELEASE_NAME || do_exit $?
else
make LOG=info images CONF=windows-x86_64-normal-server-release || exit 1
make LOG=info clean images CONF=$RELEASE_NAME || do_exit $?
fi
JSDK=build/windows-x86_64-normal-server-release/images/jdk
if [[ "$bundle_type" == *jcef* ]]; then
JBSDK=${JBRSDK_BASE_NAME}-windows-x64-b${build_number}
fi
BASE_DIR=build/windows-x86_64-normal-server-release/images
JSDK=build/$RELEASE_NAME/images/jdk
BASE_DIR=build/$RELEASE_NAME/images
JBRSDK_BUNDLE=jbrsdk
rm -rf ${BASE_DIR}/${JBRSDK_BUNDLE} && rsync -a --exclude demo --exclude sample ${JSDK}/ ${JBRSDK_BUNDLE} || exit 1
cp -R jcef_win_x64/* ${JBRSDK_BUNDLE}/bin
sed 's/JBR/JBRSDK/g' ${JSDK}/release > release
mv release ${JBRSDK_BUNDLE}/release
rm -rf ${BASE_DIR}/${JBRSDK_BUNDLE} && rsync -a --exclude demo --exclude sample ${JSDK}/ ${JBRSDK_BUNDLE} || do_exit $?
if [[ "${bundle_type}" == *jcef* ]] || [[ "${bundle_type}" == *dcevm* ]] || [[ "${bundle_type}" == fd ]]
then
rsync -av ${JCEF_PATH}/ ${JBRSDK_BUNDLE}/bin --exclude='modular-sdk' || do_exit $?
sed 's/JBR/JBRSDK/g' ${JSDK}/release > release
mv release ${JBRSDK_BUNDLE}/release
fi
JBR_BUNDLE=jbr_${bundle_type}
create_jbr ${bundle_type}
create_jbr || do_exit $?
#JBR_BUNDLE=jbr_${bundle_type}_lw
#create_jbr ${bundle_type}_lw
do_exit 0

View File

@@ -6,7 +6,6 @@
# build_number - specifies the number of JetBrainsRuntime build
# bundle_type - specifies bundle to bu built; possible values:
# jcef - the bundles 1) jbr with jcef+javafx, 2) jbrsdk and 3) test will be created
# jfx - the bundle 1) jbr with javafx only will be created
#
# jbrsdk-${JBSDK_VERSION}-osx-x64-b${build_number}.tar.gz
# jbr-${JBSDK_VERSION}-osx-x64-b${build_number}.tar.gz
@@ -35,6 +34,7 @@ PATH="/usr/local/bin:/usr/bin:${PATH}"
--with-target-bits=32 \
--with-vendor-name="${VENDOR_NAME}" \
--with-vendor-version-string="${VENDOR_VERSION_STRING}" \
--with-jvm-features=shenandoahgc \
--with-version-pre= \
--with-version-build=${JDK_BUILD_NUMBER} \
--with-version-opt=b${build_number} \

View File

@@ -1,12 +1,14 @@
#!/bin/bash -x
# The following parameters must be specified:
# JBSDK_VERSION - specifies the current version of OpenJDK e.g. 11_0_6
# JDK_BUILD_NUMBER - specifies the number of OpenJDK build or the value of --with-version-build argument to configure
# JBSDK_VERSION - specifies major version of OpenJDK e.g. 11_0_6 (instead of dots '.' underbars "_" are used)
# JDK_BUILD_NUMBER - specifies update release of OpenJDK build or the value of --with-version-build argument to configure
# build_number - specifies the number of JetBrainsRuntime build
# bundle_type - specifies bundle to bu built; possible values:
# jcef - the bundles 1) jbr with jcef+javafx, 2) jbrsdk and 3) test will be created
# jfx - the bundle 1) jbr with javafx only will be created
# bundle_type - specifies bundle to be built; possible values:
# jcef - the release bundles with jcef
# dcevm - the release bundles with dcevm patches
# nomod - the release bundles without any additional modules (jcef)
# fd - the fastdebug bundles which also include the jcef module
#
# jbrsdk-${JBSDK_VERSION}-osx-x64-b${build_number}.tar.gz
# jbr-${JBSDK_VERSION}-osx-x64-b${build_number}.tar.gz
@@ -16,57 +18,66 @@
# OpenJDK Runtime Environment (build 11.0.6+${JDK_BUILD_NUMBER}-b${build_number})
# OpenJDK 64-Bit Server VM (build 11.0.6+${JDK_BUILD_NUMBER}-b${build_number}, mixed mode)
#
# Environment variables:
# MODULAR_SDK_PATH - specifies the path to the directory where imported modules are located.
# By default imported modules should be located in ./modular-sdk
# JCEF_PATH - specifies the path to the directory with JCEF binaries.
# By default JCEF binaries should be located in ./jcef_win_x64
JBSDK_VERSION=$1
JDK_BUILD_NUMBER=$2
build_number=$3
bundle_type=$4
source jb/project/tools/common.sh
function pack_jbr {
case "$1" in
"${bundle_type}_lw")
JBR_BASE_NAME=jbr_${bundle_type}_lw-${JBSDK_VERSION}
;;
"jfx" | "jcef")
JBR_BUNDLE=jbr_${bundle_type}
case "${bundle_type}" in
"jcef" | "dcevm" | "nomod" | "fd")
JBR_BASE_NAME=jbr_${bundle_type}-${JBSDK_VERSION}
;;
"jfx_jcef")
JBR_BASE_NAME=jbr-${JBSDK_VERSION}
;;
*)
echo "***ERR*** bundle was not specified" && exit 1
echo "***ERR*** bundle was not specified" && do_exit 1
;;
esac
JBR=$JBR_BASE_NAME-windows-x64-b$build_number
echo Creating $JBR.tar.gz ...
rm -rf ${BASE_DIR}/jbr
chmod -R ug+rwx,o+rx ${BASE_DIR}/${JBR_BUNDLE}
cp -R ${BASE_DIR}/${JBR_BUNDLE} ${BASE_DIR}/jbr
/usr/bin/tar -czf $JBR.tar.gz -C $BASE_DIR jbr || exit 1
#rm -rf ${BASE_DIR}/${JBR_BUNDLE}
/usr/bin/tar -czf $JBR.tar.gz -C $BASE_DIR jbr || do_exit $?
}
JBRSDK_BASE_NAME=jbrsdk-$JBSDK_VERSION
JBR_BASE_NAME=jbr-$JBSDK_VERSION
JBRSDK_BASE_NAME=jbrsdk-${JBSDK_VERSION}
WITH_DEBUG_LEVEL="--with-debug-level=release"
RELEASE_NAME=windows-x86_64-normal-server-release
JBSDK=${JBRSDK_BASE_NAME}-windows-x64-b${build_number}
case "$bundle_type" in
"fd")
WITH_DEBUG_LEVEL="--with-debug-level=fastdebug"
RELEASE_NAME=windows-x86_64-normal-server-fastdebug
JBSDK=${JBRSDK_BASE_NAME}-windows-x64-fastdebug-b${build_number}
;;
esac
IMAGES_DIR=build/windows-x86_64-normal-server-release/images
IMAGES_DIR=build/$RELEASE_NAME/images
JSDK=$IMAGES_DIR/jdk
JBSDK=$JBRSDK_BASE_NAME-windows-x64-b$build_number
BASE_DIR=.
if [ "$bundle_type" == "jfx_jcef" ]; then
if [ "${bundle_type}" == "jcef" ] || [ "${bundle_type}" == "fd" ]; then
JBRSDK_BUNDLE=jbrsdk
echo Creating $JBSDK.tar.gz ...
/usr/bin/tar -czf $JBSDK.tar.gz $JBRSDK_BUNDLE || exit 1
[ -f "$JBSDK.tar.gz" ] && rm "$JBSDK.tar.gz"
/usr/bin/tar -czf $JBSDK.tar.gz $JBRSDK_BUNDLE || do_exit $?
fi
JBR_BUNDLE=jbr_${bundle_type}
pack_jbr $bundle_type
if [ "$bundle_type" == "jfx_jcef" ]; then
if [ "$bundle_type" == "jcef" ]; then
JBRSDK_TEST=$JBRSDK_BASE_NAME-windows-test-x64-b$build_number
echo Creating $JBRSDK_TEST.tar.gz ...
/usr/bin/tar -czf $JBRSDK_TEST.tar.gz -C $IMAGES_DIR --exclude='test/jdk/demos' test || exit 1
/usr/bin/tar -czf $JBRSDK_TEST.tar.gz -C $IMAGES_DIR --exclude='test/jdk/demos' test || do_exit $?
fi

View File

@@ -6,7 +6,6 @@
# build_number - specifies the number of JetBrainsRuntime build
# bundle_type - specifies bundle to bu built; possible values:
# jcef - the bundles 1) jbr with jcef+javafx, 2) jbrsdk and 3) test will be created
# jfx - the bundle 1) jbr with javafx only will be created
#
# jbrsdk-${JBSDK_VERSION}-osx-x64-b${build_number}.tar.gz
# jbr-${JBSDK_VERSION}-osx-x64-b${build_number}.tar.gz

View File

@@ -50,6 +50,7 @@ $(eval $(call IncludeCustomExtension, Bundles-pre.gmk))
# files or directories may contain spaces.
# BASE_DIRS : Base directories for the root dir in the bundle.
# SUBDIR : Optional name of root dir in bundle.
# OUTPUTDIR : Optionally override output dir
SetupBundleFile = $(NamedParamsMacroTemplate)
define SetupBundleFileBody
@@ -70,7 +71,10 @@ define SetupBundleFileBody
$$(call SetIfEmpty, $1_UNZIP_DEBUGINFO, false)
$(BUNDLES_OUTPUTDIR)/$$($1_BUNDLE_NAME): $$($1_FILES)
$$(call SetIfEmpty, $1_OUTPUTDIR, $$(BUNDLES_OUTPUTDIR))
$$($1_OUTPUTDIR)/$$($1_BUNDLE_NAME): $$($1_FILES)
$$(call LogWarn, Creating $$($1_BUNDLE_NAME))
# If any of the files contain a space in the file name, FindFiles
# will have replaced it with ?. Tar does not accept that so need to
# switch it back.
@@ -121,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 ($(OPENJDK_TARGET_OS)+$(SHIP_DEBUG_SYMBOLS), windows+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 \
@@ -137,7 +148,7 @@ define SetupBundleFileBody
endif
endif
$1 += $(BUNDLES_OUTPUTDIR)/$$($1_BUNDLE_NAME)
$1 += $$($1_OUTPUTDIR)/$$($1_BUNDLE_NAME)
endef
@@ -152,6 +163,12 @@ ifeq ($(OPENJDK_TARGET_OS)-$(DEBUG_LEVEL), macosx-release)
JRE_IMAGE_HOMEDIR := $(JRE_MACOSX_CONTENTS_DIR)/Home
JDK_BUNDLE_SUBDIR :=
JRE_BUNDLE_SUBDIR :=
# In certain situations, the JDK_IMAGE_DIR points to an image without the
# the symbols and demos. If so, the symobls and demos can be found in a
# separate image. These variables allow for overriding from a custom makefile.
JDK_SYMBOLS_IMAGE_DIR ?= $(JDK_IMAGE_DIR)
JDK_DEMOS_IMAGE_DIR ?= $(JDK_IMAGE_DIR)
JDK_DEMOS_IMAGE_HOMEDIR ?= $(JDK_DEMOS_IMAGE_DIR)/$(JDK_MACOSX_CONTENTS_SUBDIR)/Home
else
JDK_IMAGE_HOMEDIR := $(JDK_IMAGE_DIR)
JRE_IMAGE_HOMEDIR := $(JRE_IMAGE_DIR)
@@ -161,24 +178,56 @@ else
JDK_BUNDLE_SUBDIR := $(JDK_BUNDLE_SUBDIR)/$(DEBUG_LEVEL)
JRE_BUNDLE_SUBDIR := $(JRE_BUNDLE_SUBDIR)/$(DEBUG_LEVEL)
endif
# In certain situations, the JDK_IMAGE_DIR points to an image without the
# the symbols and demos. If so, the symobls and demos can be found in a
# separate image. These variables allow for overriding from a custom makefile.
JDK_SYMBOLS_IMAGE_DIR ?= $(JDK_IMAGE_DIR)
JDK_DEMOS_IMAGE_DIR ?= $(JDK_IMAGE_DIR)
JDK_DEMOS_IMAGE_HOMEDIR ?= $(JDK_DEMOS_IMAGE_DIR)
endif
################################################################################
ifneq ($(filter product-bundles legacy-bundles, $(MAKECMDGOALS)), )
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.
ALL_JDK_FILES := $(call ShellFindFiles, $(JDK_IMAGE_DIR))
ifneq ($(JDK_IMAGE_DIR), $(JDK_SYMBOLS_IMAGE_DIR))
ALL_JDK_SYMBOLS_FILES := $(call ShellFindFiles, $(JDK_SYMBOLS_IMAGE_DIR))
else
ALL_JDK_SYMBOLS_FILES := $(ALL_JDK_FILES)
endif
ifneq ($(JDK_IMAGE_DIR), $(JDK_DEMOS_IMAGE_DIR))
ALL_JDK_DEMOS_FILES := $(call ShellFindFiles, $(JDK_DEMOS_IMAGE_DIR))
else
ALL_JDK_DEMOS_FILES := $(ALL_JDK_FILES)
endif
# Create special filter rules when dealing with unzipped .dSYM directories on
# macosx
ifeq ($(OPENJDK_TARGET_OS), macosx)
ifeq ($(ZIP_EXTERNAL_DEBUG_SYMBOLS), false)
JDK_SYMBOLS_EXCLUDE_PATTERN := $(addprefix %, \
$(call containing, .dSYM/, $(patsubst $(JDK_IMAGE_DIR)/%, %, $(ALL_JDK_FILES))))
$(call containing, .dSYM/, $(patsubst $(JDK_IMAGE_DIR)/%, %, \
$(ALL_JDK_SYMBOLS_FILES))))
endif
endif
# Create special filter rules when dealing with debug symbols on windows
ifeq ($(OPENJDK_TARGET_OS), windows)
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
@@ -191,20 +240,22 @@ 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_FILES) \
$(ALL_JDK_SYMBOLS_FILES) \
) \
) \
$(call FindFiles, $(SYMBOLS_IMAGE_DIR))
TEST_DEMOS_BUNDLE_FILES := $(filter $(JDK_IMAGE_HOMEDIR)/demo/%, $(ALL_JDK_FILES))
TEST_DEMOS_BUNDLE_FILES := $(filter $(JDK_DEMOS_IMAGE_HOMEDIR)/demo/%, \
$(ALL_JDK_DEMOS_FILES))
ALL_JRE_FILES := $(call ShellFindFiles, $(JRE_IMAGE_DIR))
@@ -217,6 +268,21 @@ ifneq ($(filter product-bundles legacy-bundles, $(MAKECMDGOALS)), )
endif
endif
# Create special filter rules when dealing with debug symbols on windows
ifeq ($(OPENJDK_TARGET_OS), windows)
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), \
@@ -313,15 +379,17 @@ ifneq ($(filter product-bundles legacy-bundles, $(MAKECMDGOALS)), )
LEGACY_TARGETS += $(BUILD_JRE_BUNDLE)
endif
$(eval $(call SetupBundleFile, BUILD_JDK_SYMBOLS_BUNDLE, \
BUNDLE_NAME := $(JDK_SYMBOLS_BUNDLE_NAME), \
FILES := $(JDK_SYMBOLS_BUNDLE_FILES), \
BASE_DIRS := $(JDK_IMAGE_DIR) $(wildcard $(SYMBOLS_IMAGE_DIR)), \
SUBDIR := $(JDK_BUNDLE_SUBDIR), \
UNZIP_DEBUGINFO := true, \
))
ifeq ($(COPY_DEBUG_SYMBOLS), true)
$(eval $(call SetupBundleFile, BUILD_JDK_SYMBOLS_BUNDLE, \
BUNDLE_NAME := $(JDK_SYMBOLS_BUNDLE_NAME), \
FILES := $(JDK_SYMBOLS_BUNDLE_FILES), \
BASE_DIRS := $(JDK_SYMBOLS_IMAGE_DIR) $(wildcard $(SYMBOLS_IMAGE_DIR)), \
SUBDIR := $(JDK_BUNDLE_SUBDIR), \
UNZIP_DEBUGINFO := true, \
))
PRODUCT_TARGETS += $(BUILD_JDK_SYMBOLS_BUNDLE)
PRODUCT_TARGETS += $(BUILD_JDK_SYMBOLS_BUNDLE)
endif
# The demo bundle is only created to support client tests. Ideally it should
# be built with the main test bundle, but since the prerequisites match
@@ -329,7 +397,7 @@ ifneq ($(filter product-bundles legacy-bundles, $(MAKECMDGOALS)), )
$(eval $(call SetupBundleFile, BUILD_TEST_DEMOS_BUNDLE, \
BUNDLE_NAME := $(TEST_DEMOS_BUNDLE_NAME), \
FILES := $(TEST_DEMOS_BUNDLE_FILES), \
BASE_DIRS := $(JDK_IMAGE_DIR), \
BASE_DIRS := $(JDK_DEMOS_IMAGE_DIR), \
SUBDIR := $(JDK_BUNDLE_SUBDIR), \
))
@@ -367,6 +435,27 @@ endif
################################################################################
ifneq ($(filter static-libs-bundles, $(MAKECMDGOALS)), )
STATIC_LIBS_BUNDLE_FILES := $(call FindFiles, $(STATIC_LIBS_IMAGE_DIR))
ifeq ($(OPENJDK_TARGET_OS)-$(DEBUG_LEVEL), macosx-release)
STATIC_LIBS_BUNDLE_SUBDIR := $(JDK_MACOSX_CONTENTS_SUBDIR)/Home
else
STATIC_LIBS_BUNDLE_SUBDIR := $(JDK_BUNDLE_SUBDIR)
endif
$(eval $(call SetupBundleFile, BUILD_STATIC_LIBS_BUNDLE, \
BUNDLE_NAME := $(STATIC_LIBS_BUNDLE_NAME), \
FILES := $(STATIC_LIBS_BUNDLE_FILES), \
BASE_DIRS := $(STATIC_LIBS_IMAGE_DIR), \
SUBDIR := $(STATIC_LIBS_BUNDLE_SUBDIR), \
))
STATIC_LIBS_TARGETS += $(BUILD_STATIC_LIBS_BUNDLE)
endif
################################################################################
# Hook to include the corresponding custom file, if present.
$(eval $(call IncludeCustomExtension, Bundles.gmk))
@@ -376,5 +465,7 @@ product-bundles: $(PRODUCT_TARGETS)
legacy-bundles: $(LEGACY_TARGETS)
test-bundles: $(TEST_TARGETS)
docs-bundles: $(DOCS_TARGETS)
static-libs-bundles: $(STATIC_LIBS_TARGETS)
.PHONY: all default product-bundles test-bundles docs-bundles
.PHONY: all default product-bundles test-bundles docs-bundles \
static-libs-bundles

View File

@@ -321,7 +321,7 @@ jdk.jshell_COPY += .jsh .properties
################################################################################
jdk.internal.le_COPY += .properties
jdk.internal.le_COPY += .properties .caps .txt
################################################################################

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
@@ -39,7 +39,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 \
#
@@ -56,6 +55,7 @@ $(eval $(call SetupJavaCompilation,BUILD_TOOLS_JDK, \
ADD_JAVAC_FLAGS := \
--add-exports java.desktop/sun.awt=ALL-UNNAMED \
--add-exports java.base/sun.text=ALL-UNNAMED \
--add-exports java.base/sun.security.util=ALL-UNNAMED \
, \
))

View File

@@ -1,4 +1,5 @@
# Copyright (c) 2014, 2017, 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
@@ -56,12 +57,58 @@ $(call FillFindCache, \
)
ifneq ($(LIBS_DIR), )
JMOD_FLAGS += --libs $(LIBS_DIR)
DEPS += $(call FindFiles, $(LIBS_DIR))
ifeq ($(OPENJDK_TARGET_OS)+$(SHIP_DEBUG_SYMBOLS), windows+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 ($(OPENJDK_TARGET_OS)+$(SHIP_DEBUG_SYMBOLS), windows+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 ($(OPENJDK_TARGET_OS)+$(SHIP_DEBUG_SYMBOLS), windows+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)
@@ -154,7 +201,15 @@ ifeq ($(INTERIM_JMOD), true)
DEPS := $(filter-out $(SUPPORT_OUTPUTDIR)/modules_libs/java.base/classlist, $(DEPS))
endif
JMOD_FLAGS += --exclude '**{_the.*,_*.marker,*.diz,*.debuginfo,*.dSYM/**,*.dSYM,*.pdb,*.map}'
ifeq ($(OPENJDK_TARGET_OS), windows)
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 a temp dir and then move them into place to keep the
# module path in $(IMAGES_OUTPUTDIR)/jmods valid at all times.

View File

@@ -168,14 +168,6 @@ JAVADOC_TOP := \
font-family: DejaVu Sans, Arial, Helvetica, sans-serif; \
font-weight: normal;">$(DRAFT_TEXT)</div>
JDK_INDEX_CONTENT := \
<!DOCTYPE html> \
<html lang="en"> \
<head> \
<meta http-equiv="refresh" content="0;url=api/index.html"> \
</head> \
</html>
################################################################################
# JDK javadoc titles/text snippets
@@ -485,14 +477,7 @@ $(eval $(call SetupApiDocsGeneration, REFERENCE_API, \
################################################################################
JDK_INDEX_HTML := $(DOCS_OUTPUTDIR)/index.html
$(JDK_INDEX_HTML):
$(ECHO) '$(JDK_INDEX_CONTENT)' > $@
JDK_INDEX_TARGETS += $(JDK_INDEX_HTML)
# Copy the global resources
# Copy the global resources, including the top-level redirect index.html
GLOBAL_SPECS_RESOURCES_DIR := $(TOPDIR)/make/data/docs-resources/
$(eval $(call SetupCopyFiles, COPY_GLOBAL_RESOURCES, \
SRC := $(GLOBAL_SPECS_RESOURCES_DIR), \

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2016, 2018, 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
@@ -84,6 +84,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 ($(OPENJDK_TARGET_OS)+$(SHIP_DEBUG_SYMBOLS), windows+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

@@ -0,0 +1,57 @@
#
# 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
# 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 makefile creates a jdk image overlayed with statically linked core
# libraries.
default: all
include $(SPEC)
include MakeBase.gmk
################################################################################
TARGETS :=
$(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)
$(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

@@ -43,7 +43,7 @@ help:
$(info $(_) make images # Create a complete jdk image)
$(info $(_) # (alias for product-images))
$(info $(_) make <name>-image # Build just the image for any of: )
$(info $(_) # jdk, test, docs, symbols, legacy-jre)
$(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 $(_) make *-only # Applies to most targets and disables building the)

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2014, 2018, 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
@@ -301,6 +301,7 @@ ifeq ($(OPENJDK_TARGET_OS), windows)
else
LIBS_TARGET_SUBDIR := lib
endif
CMDS_TARGET_SUBDIR := bin
# Param 1 - dir to find debuginfo files in
FindDebuginfoFiles = \
@@ -317,12 +318,15 @@ else
# dirs.
ifeq ($(OPENJDK_TARGET_OS), macosx)
$(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), \
@@ -333,6 +337,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) 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
@@ -78,13 +78,9 @@ ifneq ($(CREATING_BUILDJDK), true)
interim-rmic:
+($(CD) $(TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f CompileInterimRmic.gmk)
interim-cldrconverter:
+($(CD) $(TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f CopyInterimCLDRConverter.gmk)
interim-tzdb:
interim-tzdb:
+($(CD) $(TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f CopyInterimTZDB.gmk)
buildtools-jdk:
+($(CD) $(TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f CompileToolsJdk.gmk)
@@ -96,7 +92,7 @@ interim-tzdb:
endif
ALL_TARGETS += buildtools-langtools interim-langtools \
interim-rmic interim-cldrconverter interim-tzdb buildtools-jdk buildtools-modules \
interim-rmic interim-tzdb buildtools-jdk buildtools-modules \
buildtools-hotspot
################################################################################
@@ -225,6 +221,21 @@ $(eval $(call DeclareRecipesForPhase, LIBS, \
ALL_TARGETS += $(LIBS_TARGETS)
################################################################################
# Targets for compiling static versions of certain native libraries. These do
# not end up in the jmods or the normal JDK image, but are instead bundled into
# a special deliverable.
$(eval $(call DeclareRecipesForPhase, STATIC_LIBS, \
TARGET_SUFFIX := static-libs, \
FILE_PREFIX := Lib, \
MAKE_SUBDIR := lib, \
CHECK_MODULES := $(ALL_MODULES), \
USE_WRAPPER := true, \
EXTRA_ARGS := STATIC_LIBS=true, \
))
ALL_TARGETS += $(STATIC_LIBS_TARGETS)
################################################################################
# Targets for compiling native executables
$(eval $(call DeclareRecipesForPhase, LAUNCHER, \
@@ -384,6 +395,9 @@ legacy-jre-image:
symbols-image:
+($(CD) $(TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f Images.gmk symbols)
static-libs-image:
+($(CD) $(TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f StaticLibsImage.gmk)
mac-jdk-bundle:
+($(CD) $(TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f MacBundles.gmk jdk-bundle)
@@ -396,10 +410,13 @@ 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)
ALL_TARGETS += store-source-revision create-source-revision-tracker bootcycle-images zip-security \
zip-source jrtfs-jar jdk-image legacy-jre-image \
symbols-image mac-jdk-bundle mac-legacy-jre-bundle \
release-file exploded-image-optimize
symbols-image static-libs-image mac-jdk-bundle mac-legacy-jre-bundle \
release-file exploded-image-optimize graal-builder-image
################################################################################
# Docs targets
@@ -631,7 +648,11 @@ test-bundles:
docs-bundles:
+($(CD) $(TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f Bundles.gmk docs-bundles)
ALL_TARGETS += product-bundles legacy-bundles test-bundles docs-bundles
static-libs-bundles:
+($(CD) $(TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f Bundles.gmk static-libs-bundles)
ALL_TARGETS += product-bundles legacy-bundles test-bundles docs-bundles \
static-libs-bundles
################################################################################
# Install targets
@@ -664,7 +685,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
@@ -696,10 +717,14 @@ else
# If not already set, set the JVM variant target so that the JVM will be built.
JVM_MAIN_LIB_TARGETS ?= hotspot-$(JVM_VARIANT_MAIN)-libs
JVM_MAIN_GENSRC_TARGETS ?= hotspot-$(JVM_VARIANT_MAIN)-gensrc
# Building one JVM variant is enough to start building the other libs
$(LIBS_TARGETS): $(JVM_MAIN_LIB_TARGETS)
# Static libs depend on hotspot gensrc
$(STATIC_LIBS_TARGETS): $(JVM_MAIN_GENSRC_TARGETS)
$(LAUNCHER_TARGETS): java.base-libs
ifeq ($(STATIC_BUILD), true)
@@ -804,9 +829,15 @@ else
$(foreach m, $(GENSRC_MODULES), $(eval $m-libs-compile-commands: $m-gensrc))
$(foreach m, $(filter $(JAVA_MODULES), $(LIBS_MODULES)), $(eval $m-libs-compile-commands: $m-java))
$(COMPILE_COMMANDS_TARGETS_HOTSPOT): clean-compile-commands
$(COMPILE_COMMANDS_TARGETS_JDK): clean-compile-commands
compile-commands-hotspot: $(COMPILE_COMMANDS_TARGETS_HOTSPOT)
compile-commands: $(COMPILE_COMMANDS_TARGETS_HOTSPOT) $(COMPILE_COMMANDS_TARGETS_JDK)
# The -static-libs targets depend on -java as well as java.base-copy.
$(foreach m, $(filter $(JAVA_MODULES), $(STATIC_LIBS_MODULES)), \
$(eval $m-static-libs: $m-java java.base-copy))
vscode-project: compile-commands
vscode-project-clangd: compile-commands
vscode-project-rtags: compile-commands
@@ -874,6 +905,10 @@ else
legacy-jre-image: jmods release-file
symbols-image: $(LIBS_TARGETS) $(LAUNCHER_TARGETS)
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
@@ -967,6 +1002,8 @@ else
docs-bundles: docs-image
static-libs-bundles: static-libs-image
generate-summary: jmods buildtools-modules
update-x11wrappers: java.base-copy buildtools-jdk
@@ -1005,6 +1042,8 @@ rmic: $(RMIC_TARGETS)
libs: $(LIBS_TARGETS)
static-libs: $(STATIC_LIBS_TARGETS)
launchers: $(LAUNCHER_TARGETS)
jmods: $(JMOD_TARGETS)
@@ -1111,10 +1150,10 @@ test-image: prepare-test-image \
all-images: product-images test-image docs-image
# all-bundles packages all our deliverables as tar.gz bundles.
all-bundles: product-bundles test-bundles docs-bundles
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 launchers jmods \
copy java rmic 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 \
@@ -1167,6 +1206,9 @@ clean: $(CLEAN_DIR_TARGETS)
clean-docs:
$(call CleanDocs)
clean-compile-commands:
$(call CleanMakeSupportDir,compile-commands)
$(CLEAN_DIR_TARGETS):
$(call CleanDir,$(patsubst clean-%, %, $@))
@@ -1208,9 +1250,9 @@ dist-clean: clean
)
$(ECHO) Cleaned everything, you will have to re-run configure.
ALL_TARGETS += clean clean-docs dist-clean $(CLEAN_DIR_TARGETS) $(CLEAN_SUPPORT_DIR_TARGETS) \
$(CLEAN_TEST_TARGETS) $(CLEAN_PHASE_TARGETS) $(CLEAN_MODULE_TARGETS) \
$(CLEAN_MODULE_PHASE_TARGETS)
ALL_TARGETS += clean clean-docs clean-compile-commands dist-clean $(CLEAN_DIR_TARGETS) \
$(CLEAN_SUPPORT_DIR_TARGETS) $(CLEAN_TEST_TARGETS) $(CLEAN_PHASE_TARGETS) \
$(CLEAN_MODULE_TARGETS) $(CLEAN_MODULE_PHASE_TARGETS)
################################################################################
# Declare *-only targets for each normal target

View File

@@ -65,6 +65,13 @@ define CleanSupportDir
@$(PRINTF) " done\n"
endef
define CleanMakeSupportDir
@$(PRINTF) "Cleaning $(strip $1) make support artifacts ..."
@$(PRINTF) "\n" $(LOG_DEBUG)
$(RM) -r $(MAKESUPPORT_OUTPUTDIR)/$(strip $1)
@$(PRINTF) " done\n"
endef
define CleanTest
@$(PRINTF) "Cleaning test $(strip $1) ..."
@$(PRINTF) "\n" $(LOG_DEBUG)
@@ -137,7 +144,7 @@ define DeclareRecipeForModuleMakefile
$$(addprefix -I, $$(PHASE_MAKEDIRS) \
$$(addsuffix /$$($1_MAKE_SUBDIR), $$(PHASE_MAKEDIRS)) \
) \
MODULE=$2 MAKEFILE_PREFIX=$$($1_FILE_PREFIX))
MODULE=$2 MAKEFILE_PREFIX=$$($1_FILE_PREFIX) $$($1_EXTRA_ARGS))
else
+($(CD) $$(dir $$(firstword $$(wildcard $$(addsuffix \
/$$($1_MAKE_SUBDIR)/$$($1_FILE_PREFIX)-$2.gmk, $$(PHASE_MAKEDIRS))))) \
@@ -146,7 +153,7 @@ define DeclareRecipeForModuleMakefile
$$(addprefix -I, $$(PHASE_MAKEDIRS) \
$$(addsuffix /$$($1_MAKE_SUBDIR), $$(PHASE_MAKEDIRS)) \
) \
MODULE=$2 \
MODULE=$2 $$($1_EXTRA_ARGS) \
)
endif
@@ -186,12 +193,13 @@ endef
# CHECK_MODULES : List of modules to try
# MULTIPLE_MAKEFILES : Set to true to handle makefiles for the same module and
# phase in multiple repos
# EXTRA_ARGS : Add extra make args to each makefile call
# Exported variables:
# $1_MODULES : All modules that had rules generated
# $1_TARGETS : All targets generated
define DeclareRecipesForPhase
$(foreach i,2 3 4 5 6 7, $(if $(strip $($i)),$(strip $1)_$(strip $($i)))$(NEWLINE))
$(if $(8),$(error Internal makefile error: Too many arguments to \
$(foreach i,2 3 4 5 6 7 8, $(if $(strip $($i)),$(strip $1)_$(strip $($i)))$(NEWLINE))
$(if $(9),$(error Internal makefile error: Too many arguments to \
DeclareRecipesForPhase, please update MakeHelper.gmk))
$$(foreach m, $$($(strip $1)_CHECK_MODULES), \

View File

@@ -658,10 +658,14 @@ define SetupRunJtregTestBody
$1_JTREG_LAUNCHER_OPTIONS += -Xmx$$($1_JTREG_MAX_MEM)
endif
# Make sure the tmp dir is normalized as some tests will react badly otherwise
$1_TEST_TMP_DIR := $$(abspath $$($1_TEST_SUPPORT_DIR)/tmp)
$1_JTREG_BASIC_OPTIONS += -$$($1_JTREG_TEST_MODE) \
-verbose:$$(JTREG_VERBOSE) -retain:$$(JTREG_RETAIN) \
-concurrency:$$($1_JTREG_JOBS) -timeoutFactor:$$(JTREG_TIMEOUT_FACTOR) \
-vmoption:-XX:MaxRAMPercentage=$$($1_JTREG_MAX_RAM_PERCENTAGE)
-vmoption:-XX:MaxRAMPercentage=$$($1_JTREG_MAX_RAM_PERCENTAGE) \
-vmoption:-Djava.io.tmpdir="$$($1_TEST_TMP_DIR)"
$1_JTREG_BASIC_OPTIONS += -automatic -ignore:quiet
@@ -740,7 +744,8 @@ define SetupRunJtregTestBody
run-test-$1: clean-workdir-$1 $$($1_AOT_TARGETS)
$$(call LogWarn)
$$(call LogWarn, Running test '$$($1_TEST)')
$$(call MakeDir, $$($1_TEST_RESULTS_DIR) $$($1_TEST_SUPPORT_DIR))
$$(call MakeDir, $$($1_TEST_RESULTS_DIR) $$($1_TEST_SUPPORT_DIR) \
$$($1_TEST_TMP_DIR))
$$(call ExecuteWithLog, $$($1_TEST_SUPPORT_DIR)/jtreg, ( \
$$(JAVA) $$($1_JTREG_LAUNCHER_OPTIONS) \
-Dprogram=jtreg -jar $$(JT_HOME)/lib/jtreg.jar \

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2017, 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
@@ -237,7 +237,8 @@ else ifeq ($(OPENJDK_TARGET_OS), solaris)
else ifeq ($(OPENJDK_TARGET_OS), windows)
NUM_CORES := $(NUMBER_OF_PROCESSORS)
MEMORY_SIZE := $(shell \
$(EXPR) `wmic computersystem get totalphysicalmemory -value | $(GREP) = \
$(EXPR) `wmic computersystem get totalphysicalmemory -value \
| $(GREP) = | $(SED) 's/\\r//g' \
| $(CUT) -d "=" -f 2-` / 1024 / 1024 \
)
endif

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2015, 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
@@ -23,30 +23,34 @@
# questions.
#
# This makefile creates an image of the optional static versions of certain JDK
# libraries.
default: all
include $(SPEC)
include MakeBase.gmk
include Modules.gmk
##########################################################################################
ALL_MODULES = $(call FindAllModules)
### CLDRConverter needs the JRE time zone names from the java.base source.
################################################################################
define cldrconverter_copytznames
$(MKDIR) -p '$(@D)'
$(RM) '$@'
$(SED) -e "s/package sun.util.resources/package build.tools.cldrconverter/" \
-e "s/extends TimeZoneNamesBundle//" \
-e "s/protected final/static final/" \
< $(<) > $@
endef
TARGETS :=
$(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))
##########################################################################################
$(foreach m, $(ALL_MODULES), \
$(eval $(call SetupCopyFiles, COPY_STATIC_LIBS_$m, \
FLATTEN := true, \
SRC := $(SUPPORT_OUTPUTDIR)/native/$m, \
DEST := $(STATIC_LIBS_IMAGE_DIR)/lib, \
FILES := $(filter %$(STATIC_LIBRARY_SUFFIX), \
$(call FindFiles, $(SUPPORT_OUTPUTDIR)/native/$m/*/static)), \
)) \
$(eval TARGETS += $$(COPY_STATIC_LIBS_$m)) \
)
all: $(COPY_INTERIM_CLDRCONVERTER)
################################################################################
all: $(TARGETS)
.PHONY: all

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
@@ -74,6 +74,7 @@ TOOL_TZDB = $(JAVA_SMALL) -cp $(BUILDTOOLS_OUTPUTDIR)/jdk_tools_classes \
build.tools.tzdb.TzdbZoneRulesCompiler
TOOL_BLACKLISTED_CERTS = $(JAVA_SMALL) -cp $(BUILDTOOLS_OUTPUTDIR)/jdk_tools_classes \
--add-exports java.base/sun.security.util=ALL-UNNAMED \
build.tools.blacklistedcertsconverter.BlacklistedCertsConverter
TOOL_MAKEJAVASECURITY = $(JAVA_SMALL) -cp $(BUILDTOOLS_OUTPUTDIR)/jdk_tools_classes \

View File

@@ -641,17 +641,18 @@ AC_DEFUN_ONCE([BASIC_SETUP_PATHS],
AC_MSG_RESULT([$TOPDIR])
AC_SUBST(TOPDIR)
# We can only call BASIC_FIXUP_PATH after BASIC_CHECK_PATHS_WINDOWS.
BASIC_FIXUP_PATH(CURDIR)
BASIC_FIXUP_PATH(TOPDIR)
if test "x$CUSTOM_ROOT" != x; then
BASIC_FIXUP_PATH(CUSTOM_ROOT)
WORKSPACE_ROOT="${CUSTOM_ROOT}"
else
WORKSPACE_ROOT="${TOPDIR}"
fi
AC_SUBST(WORKSPACE_ROOT)
# We can only call BASIC_FIXUP_PATH after BASIC_CHECK_PATHS_WINDOWS.
BASIC_FIXUP_PATH(CURDIR)
BASIC_FIXUP_PATH(TOPDIR)
# Locate the directory of this script.
AUTOCONF_DIR=$TOPDIR/make/autoconf
@@ -1231,12 +1232,25 @@ AC_DEFUN_ONCE([BASIC_SETUP_COMPLEX_TOOLS],
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=
$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
BASIC_REQUIRE_PROGS(SETFILE, SetFile)

View File

@@ -169,19 +169,7 @@ AC_DEFUN([FLAGS_SETUP_WARNINGS],
gcc)
DISABLE_WARNING_PREFIX="-Wno-"
CFLAGS_WARNINGS_ARE_ERRORS="-Werror"
# Repeate the check for the BUILD_CC and BUILD_CXX. Need to also reset
# CFLAGS since any target specific flags will likely not work with the
# build compiler
CC_OLD="$CC"
CXX_OLD="$CXX"
CC="$BUILD_CC"
CXX="$BUILD_CXX"
CFLAGS_OLD="$CFLAGS"
CFLAGS=""
BUILD_CC_DISABLE_WARNING_PREFIX="-Wno-"
CC="$CC_OLD"
CXX="$CXX_OLD"
CFLAGS="$CFLAGS_OLD"
;;
clang)
DISABLE_WARNING_PREFIX="-Wno-"
@@ -221,6 +209,20 @@ AC_DEFUN([FLAGS_SETUP_QUALITY_CHECKS],
;;
esac
fi
# Extra flags needed when building optional static versions of certain
# JDK libraries.
STATIC_LIBS_CFLAGS="-DSTATIC_BUILD=1"
if test "x$TOOLCHAIN_TYPE" = xgcc || test "x$TOOLCHAIN_TYPE" = xclang; then
STATIC_LIBS_CFLAGS="$STATIC_LIBS_CFLAGS -ffunction-sections -fdata-sections"
fi
if test "x$TOOLCHAIN_TYPE" = xgcc; then
# Disable relax-relocation to enable compatibility with older linkers
RELAX_RELOCATIONS_FLAG="-Xassembler -mrelax-relocations=no"
FLAGS_COMPILER_CHECK_ARGUMENTS(ARGUMENT: [${RELAX_RELOCATIONS_FLAG}],
IF_TRUE: [STATIC_LIBS_CFLAGS="$STATIC_LIBS_CFLAGS ${RELAX_RELOCATIONS_FLAG}"])
fi
AC_SUBST(STATIC_LIBS_CFLAGS)
])
AC_DEFUN([FLAGS_SETUP_OPTIMIZATION],
@@ -362,6 +364,17 @@ AC_DEFUN([FLAGS_SETUP_CFLAGS],
FLAGS_SETUP_CFLAGS_CPU_DEP([TARGET])
# Repeat the check for the BUILD_CC and BUILD_CXX. Need to also reset CFLAGS
# since any target specific flags will likely not work with the build compiler.
CC_OLD="$CC"
CXX_OLD="$CXX"
CFLAGS_OLD="$CFLAGS"
CXXFLAGS_OLD="$CXXFLAGS"
CC="$BUILD_CC"
CXX="$BUILD_CXX"
CFLAGS=""
CXXFLAGS=""
FLAGS_OS=$OPENJDK_BUILD_OS
FLAGS_OS_TYPE=$OPENJDK_BUILD_OS_TYPE
FLAGS_CPU=$OPENJDK_BUILD_CPU
@@ -373,6 +386,11 @@ AC_DEFUN([FLAGS_SETUP_CFLAGS],
FLAGS_SETUP_CFLAGS_CPU_DEP([BUILD], [OPENJDK_BUILD_], [BUILD_])
CC="$CC_OLD"
CXX="$CXX_OLD"
CFLAGS="$CFLAGS_OLD"
CXXFLAGS="$CXXFLAGS_OLD"
# Tests are only ever compiled for TARGET
CFLAGS_TESTLIB="$CFLAGS_JDKLIB"
CXXFLAGS_TESTLIB="$CXXFLAGS_JDKLIB"
@@ -697,9 +715,21 @@ AC_DEFUN([FLAGS_SETUP_CFLAGS_CPU_DEP],
# CFLAGS PER CPU
if test "x$TOOLCHAIN_TYPE" = xgcc || test "x$TOOLCHAIN_TYPE" = xclang; then
# COMMON to gcc and clang
AC_MSG_CHECKING([if $1 is x86])
if test "x$FLAGS_CPU" = xx86; then
# Force compatibility with i586 on 32 bit intel platforms.
$1_CFLAGS_CPU="-march=i586"
AC_MSG_RESULT([yes])
AC_MSG_CHECKING([if control flow protection is enabled by additional compiler flags])
if echo "${EXTRA_CFLAGS}${EXTRA_CXXFLAGS}${EXTRA_ASFLAGS}" | ${GREP} -q 'fcf-protection' ; then
# cf-protection requires CMOV and thus i686
$1_CFLAGS_CPU="-march=i686"
AC_MSG_RESULT([yes, forcing ${$1_CFLAGS_CPU}])
else
# Force compatibility with i586 on 32 bit intel platforms.
$1_CFLAGS_CPU="-march=i586"
AC_MSG_RESULT([no, forcing ${$1_CFLAGS_CPU}])
fi
else
AC_MSG_RESULT([no])
fi
fi

View File

@@ -72,11 +72,12 @@ AC_DEFUN([FLAGS_SETUP_LDFLAGS_HELPER],
fi
# 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"
# add -z,relro (mark relocations read only) for all libs
# add -z,now ("full relro" - more of the Global Offset Table GOT is marked read only)
BASIC_LDFLAGS="$BASIC_LDFLAGS -Wl,-z,defs -Wl,-z,relro -Wl,-z,now"
# 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"
BASIC_LDFLAGS="$BASIC_LDFLAGS -Wl,--gc-sections"
fi
BASIC_LDFLAGS_JVM_ONLY="-Wl,-O1"
@@ -117,7 +118,7 @@ AC_DEFUN([FLAGS_SETUP_LDFLAGS_HELPER],
# Assume clang or gcc.
# FIXME: We should really generalize SET_SHARED_LIBRARY_ORIGIN instead.
OS_LDFLAGS_JVM_ONLY="-Wl,-rpath,@loader_path/. -Wl,-rpath,@loader_path/.."
OS_LDFLAGS_JDK_ONLY="-mmacosx-version-min=$MACOSX_VERSION_MIN"
OS_LDFLAGS="-mmacosx-version-min=$MACOSX_VERSION_MIN"
fi
fi
@@ -127,10 +128,6 @@ AC_DEFUN([FLAGS_SETUP_LDFLAGS_HELPER],
if test x$DEBUG_LEVEL = xrelease; then
DEBUGLEVEL_LDFLAGS_JDK_ONLY="$DEBUGLEVEL_LDFLAGS_JDK_ONLY -Wl,-O1"
fi
if test x$DEBUG_LEVEL = xslowdebug; then
# do relocations at load
DEBUGLEVEL_LDFLAGS="-Wl,-z,now"
fi
fi
elif test "x$TOOLCHAIN_TYPE" = xxlc; then
@@ -212,13 +209,13 @@ AC_DEFUN([FLAGS_SETUP_LDFLAGS_CPU_DEP],
# Export variables according to old definitions, prefix with $2 if present.
LDFLAGS_JDK_COMMON="$BASIC_LDFLAGS $BASIC_LDFLAGS_JDK_ONLY \
$OS_LDFLAGS_JDK_ONLY $DEBUGLEVEL_LDFLAGS_JDK_ONLY ${$2EXTRA_LDFLAGS}"
$OS_LDFLAGS $DEBUGLEVEL_LDFLAGS_JDK_ONLY ${$2EXTRA_LDFLAGS}"
$2LDFLAGS_JDKLIB="$LDFLAGS_JDK_COMMON $BASIC_LDFLAGS_JDK_LIB_ONLY \
${$1_LDFLAGS_JDK_LIBPATH} $SHARED_LIBRARY_FLAGS"
$2LDFLAGS_JDKEXE="$LDFLAGS_JDK_COMMON $EXECUTABLE_LDFLAGS \
${$1_CPU_EXECUTABLE_LDFLAGS}"
$2JVM_LDFLAGS="$BASIC_LDFLAGS $BASIC_LDFLAGS_JVM_ONLY $OS_LDFLAGS_JVM_ONLY \
$2JVM_LDFLAGS="$BASIC_LDFLAGS $BASIC_LDFLAGS_JVM_ONLY $OS_LDFLAGS $OS_LDFLAGS_JVM_ONLY \
$DEBUGLEVEL_LDFLAGS $DEBUGLEVEL_LDFLAGS_JVM_ONLY $BASIC_LDFLAGS_ONLYCXX \
${$1_CPU_LDFLAGS} ${$1_CPU_LDFLAGS_JVM_ONLY} ${$2EXTRA_LDFLAGS}"

View File

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

View File

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

View File

@@ -25,7 +25,7 @@
# All valid JVM features, regardless of platform
VALID_JVM_FEATURES="compiler1 compiler2 zero minimal dtrace jvmti jvmci \
graal vm-structs jni-check services management cmsgc epsilongc g1gc parallelgc serialgc zgc nmt cds \
graal vm-structs jni-check services management cmsgc 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)
@@ -47,8 +47,8 @@ AC_DEFUN([HOTSPOT_CHECK_JVM_VARIANT],
[ [ [[ " $JVM_VARIANTS " =~ " $1 " ]] ] ])
###############################################################################
# Check if the specified JVM features are explicitly enabled. To be used in
# shell if constructs, like this:
# 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.
@@ -58,6 +58,20 @@ AC_DEFUN([HOTSPOT_CHECK_JVM_VARIANT],
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
@@ -260,6 +274,14 @@ AC_DEFUN_ONCE([HOTSPOT_ENABLE_DISABLE_CDS],
fi
fi
# Disable CDS on macos-aarch64
if test "x$OPENJDK_TARGET_OS" = "xmacosx" && test "x$OPENJDK_TARGET_CPU" = "xaarch64"; 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
AC_SUBST(ENABLE_CDS)
])
@@ -338,6 +360,19 @@ AC_DEFUN_ONCE([HOTSPOT_SETUP_JVM_FEATURES],
fi
fi
# Only enable Shenandoah on supported arches, and only if requested
AC_MSG_CHECKING([if shenandoah can be built])
if HOTSPOT_CHECK_JVM_FEATURE(shenandoahgc); then
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
else
DISABLED_JVM_FEATURES="$DISABLED_JVM_FEATURES shenandoahgc"
fi
# Only enable ZGC on supported platforms
AC_MSG_CHECKING([if zgc can be built])
if test "x$OPENJDK_TARGET_OS" = "xlinux" && test "x$OPENJDK_TARGET_CPU" = "xx86_64"; then
@@ -349,7 +384,7 @@ AC_DEFUN_ONCE([HOTSPOT_SETUP_JVM_FEATURES],
# Disable unsupported GCs for Zero
if HOTSPOT_CHECK_JVM_VARIANT(zero); then
DISABLED_JVM_FEATURES="$DISABLED_JVM_FEATURES epsilongc g1gc zgc"
DISABLED_JVM_FEATURES="$DISABLED_JVM_FEATURES epsilongc g1gc shenandoahgc zgc"
fi
# Turn on additional features based on other parts of configure
@@ -377,8 +412,7 @@ AC_DEFUN_ONCE([HOTSPOT_SETUP_JVM_FEATURES],
AC_MSG_CHECKING([if jvmci module jdk.internal.vm.ci should be built])
# Check if jvmci is diabled
DISABLE_JVMCI=`$ECHO $DISABLED_JVM_FEATURES | $GREP jvmci`
if test "x$DISABLE_JVMCI" = "xjvmci"; then
if HOTSPOT_IS_JVM_FEATURE_DISABLED(jvmci); then
AC_MSG_RESULT([no, forced])
JVM_FEATURES_jvmci=""
INCLUDE_JVMCI="false"
@@ -404,8 +438,7 @@ AC_DEFUN_ONCE([HOTSPOT_SETUP_JVM_FEATURES],
AC_MSG_CHECKING([if graal module jdk.internal.vm.compiler should be built])
# Check if graal is diabled
DISABLE_GRAAL=`$ECHO $DISABLED_JVM_FEATURES | $GREP graal`
if test "x$DISABLE_GRAAL" = "xgraal"; then
if HOTSPOT_IS_JVM_FEATURE_DISABLED(graal); then
AC_MSG_RESULT([no, forced])
JVM_FEATURES_graal=""
INCLUDE_GRAAL="false"
@@ -437,8 +470,7 @@ AC_DEFUN_ONCE([HOTSPOT_SETUP_JVM_FEATURES],
AC_SUBST(INCLUDE_GRAAL)
# Disable aot with '--with-jvm-features=-aot'
DISABLE_AOT=`$ECHO $DISABLED_JVM_FEATURES | $GREP aot`
if test "x$DISABLE_AOT" = "xaot"; then
if HOTSPOT_IS_JVM_FEATURE_DISABLED(aot); then
ENABLE_AOT="false"
fi
@@ -462,7 +494,7 @@ AC_DEFUN_ONCE([HOTSPOT_SETUP_JVM_FEATURES],
JVM_FEATURES_aot="aot"
fi
else
if test "x$enable_aot" = "xno" || test "x$DISABLE_AOT" = "xaot"; then
if test "x$enable_aot" = "xno" || HOTSPOT_IS_JVM_FEATURE_DISABLED(aot); then
AC_MSG_RESULT([no, forced])
else
AC_MSG_RESULT([no])
@@ -483,7 +515,7 @@ AC_DEFUN_ONCE([HOTSPOT_SETUP_JVM_FEATURES],
fi
# All variants but minimal (and custom) get these features
NON_MINIMAL_FEATURES="$NON_MINIMAL_FEATURES cmsgc g1gc parallelgc serialgc epsilongc jni-check jvmti management nmt services vm-structs zgc"
NON_MINIMAL_FEATURES="$NON_MINIMAL_FEATURES cmsgc g1gc parallelgc serialgc epsilongc shenandoahgc jni-check jvmti management nmt services vm-structs zgc"
AC_MSG_CHECKING([if cds should be enabled])
if test "x$ENABLE_CDS" = "xtrue"; then

View File

@@ -283,7 +283,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])
@@ -295,11 +295,9 @@ 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
else
if 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
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
],
@@ -315,18 +313,17 @@ AC_DEFUN_ONCE([JDKOPT_SETUP_DEBUG_SYMBOLS],
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" = xnone; 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$NATIVE_DEBUG_SYMBOLS" = xinternal; then
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$NATIVE_DEBUG_SYMBOLS" = xexternal; then
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
@@ -339,7 +336,7 @@ AC_DEFUN_ONCE([JDKOPT_SETUP_DEBUG_SYMBOLS],
COMPILE_WITH_DEBUG_SYMBOLS=true
COPY_DEBUG_SYMBOLS=true
ZIP_EXTERNAL_DEBUG_SYMBOLS=false
elif test "x$NATIVE_DEBUG_SYMBOLS" = xzipped; then
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
@@ -369,6 +366,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)
])
################################################################################

View File

@@ -143,7 +143,9 @@ AC_DEFUN_ONCE([JDKVER_SETUP_JDK_VERSION_NUMBERS],
AC_MSG_ERROR([--with-vendor-url must have a value])
elif [ ! [[ $with_vendor_url =~ ^[[:print:]]*$ ]] ]; then
AC_MSG_ERROR([--with-vendor-url contains non-printing characters: $with_vendor_url])
else
elif test "x$with_vendor_url" != x; then
# Only set VENDOR_URL if '--with-vendor-url' was used and is not empty.
# Otherwise we will use the value from "version-numbers" included above.
VENDOR_URL="$with_vendor_url"
fi
AC_SUBST(VENDOR_URL)
@@ -155,7 +157,9 @@ AC_DEFUN_ONCE([JDKVER_SETUP_JDK_VERSION_NUMBERS],
AC_MSG_ERROR([--with-vendor-bug-url must have a value])
elif [ ! [[ $with_vendor_bug_url =~ ^[[:print:]]*$ ]] ]; then
AC_MSG_ERROR([--with-vendor-bug-url contains non-printing characters: $with_vendor_bug_url])
else
elif test "x$with_vendor_bug_url" != x; then
# Only set VENDOR_URL_BUG if '--with-vendor-bug-url' was used and is not empty.
# Otherwise we will use the value from "version-numbers" included above.
VENDOR_URL_BUG="$with_vendor_bug_url"
fi
AC_SUBST(VENDOR_URL_BUG)
@@ -167,7 +171,9 @@ AC_DEFUN_ONCE([JDKVER_SETUP_JDK_VERSION_NUMBERS],
AC_MSG_ERROR([--with-vendor-vm-bug-url must have a value])
elif [ ! [[ $with_vendor_vm_bug_url =~ ^[[:print:]]*$ ]] ]; then
AC_MSG_ERROR([--with-vendor-vm-bug-url contains non-printing characters: $with_vendor_vm_bug_url])
else
elif test "x$with_vendor_vm_bug_url" != x; then
# Only set VENDOR_URL_VM_BUG if '--with-vendor-vm-bug-url' was used and is not empty.
# Otherwise we will use the value from "version-numbers" included above.
VENDOR_URL_VM_BUG="$with_vendor_vm_bug_url"
fi
AC_SUBST(VENDOR_URL_VM_BUG)

View File

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

View File

@@ -85,6 +85,20 @@ AC_DEFUN_ONCE([LIB_SETUP_LIBFFI],
[LIBFFI_FOUND=no]
)
fi
# on macos we need a special case for system's libffi as
# headers are located only in sdk in $SYSROOT and in ffi subfolder
if test "x$LIBFFI_FOUND" = xno; then
if test "x$SYSROOT" != "x"; then
AC_CHECK_HEADER([$SYSROOT/usr/include/ffi/ffi.h],
[
LIBFFI_FOUND=yes
LIBFFI_CFLAGS="-I${SYSROOT}/usr/include/ffi"
LIBFFI_LIBS=-lffi
],
[LIBFFI_FOUND=no]
)
fi
fi
if test "x$LIBFFI_FOUND" = xno; then
HELP_MSG_MISSING_DEPENDENCY([ffi])
AC_MSG_ERROR([Could not find libffi! $HELP_MSG])

View File

@@ -49,10 +49,23 @@ AC_DEFUN([PLATFORM_EXTRACT_VARS_FROM_CPU],
VAR_CPU_ENDIAN=little
;;
arm*)
VAR_CPU=arm
VAR_CPU_ARCH=arm
VAR_CPU_BITS=32
VAR_CPU_ENDIAN=little
# Second argument is the os name from the trip/quad.
# on macos-aarch64, triplet returned by autoconf is
# arm-darwin*, but on darwin only aarch64 is present.
case "$2" in
*darwin*)
VAR_CPU=aarch64
VAR_CPU_ARCH=aarch64
VAR_CPU_BITS=64
VAR_CPU_ENDIAN=little
;;
*)
VAR_CPU=arm
VAR_CPU_ARCH=arm
VAR_CPU_BITS=32
VAR_CPU_ENDIAN=little
;;
esac
;;
aarch64)
VAR_CPU=aarch64
@@ -215,7 +228,7 @@ AC_DEFUN([PLATFORM_EXTRACT_TARGET_AND_BUILD],
# Convert the autoconf OS/CPU value to our own data, into the VAR_OS/CPU variables.
PLATFORM_EXTRACT_VARS_FROM_OS($build_os)
PLATFORM_EXTRACT_VARS_FROM_CPU($build_cpu)
PLATFORM_EXTRACT_VARS_FROM_CPU($build_cpu, $build_os)
# ..and setup our own variables. (Do this explicitly to facilitate searching)
OPENJDK_BUILD_OS="$VAR_OS"
if test "x$VAR_OS_TYPE" != x; then
@@ -245,7 +258,7 @@ AC_DEFUN([PLATFORM_EXTRACT_TARGET_AND_BUILD],
# Convert the autoconf OS/CPU value to our own data, into the VAR_OS/CPU variables.
PLATFORM_EXTRACT_VARS_FROM_OS($host_os)
PLATFORM_EXTRACT_VARS_FROM_CPU($host_cpu)
PLATFORM_EXTRACT_VARS_FROM_CPU($host_cpu, $host_os)
# ... and setup our own variables. (Do this explicitly to facilitate searching)
OPENJDK_TARGET_OS="$VAR_OS"
if test "x$VAR_OS_TYPE" != x; then

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
@@ -230,7 +230,8 @@ ifneq ($(COMPANY_NAME),)
# Only export "VENDOR" to the build if COMPANY_NAME contains a real value.
# Otherwise the default value for VENDOR, which is used to set the "java.vendor"
# and "java.vm.vendor" properties is hard-coded into the source code (i.e. in
# System.c in the jdk for "vm.vendor" and vm_version.cpp in the VM for "java.vm.vendor")
# VersionProps.java.template in the jdk for "java.vendor" and
# vm_version.cpp in the VM for "java.vm.vendor")
ifneq ($(COMPANY_NAME), N/A)
VERSION_CFLAGS += -DVENDOR='"$(COMPANY_NAME)"'
endif
@@ -286,6 +287,9 @@ USE_PRECOMPILED_HEADER := @USE_PRECOMPILED_HEADER@
# Only build headless support or not
ENABLE_HEADLESS_ONLY := @ENABLE_HEADLESS_ONLY@
# 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.
@@ -362,6 +366,8 @@ LIBFFI_LIB_FILE:=@LIBFFI_LIB_FILE@
GRAALUNIT_LIB := @GRAALUNIT_LIB@
FILE_MACRO_CFLAGS := @FILE_MACRO_CFLAGS@
STATIC_LIBS_CFLAGS := @STATIC_LIBS_CFLAGS@
PACKAGE_PATH=@PACKAGE_PATH@
# Source file for cacerts
@@ -611,7 +617,7 @@ JAVA_JAVAC=@FIXPATH@ $(JAVA_CMD) $(JAVA_FLAGS_JAVAC) $(JAVA_FLAGS)
JAVAC=@FIXPATH@ $(JAVAC_CMD)
JAVADOC=@FIXPATH@ $(JAVADOC_CMD)
JAR=@FIXPATH@ $(JAR_CMD)
JLINK = @FIXPATH@ $(JLINK_CMD) $(JAVA_TOOL_FLAGS_SMALL)
JLINK = @FIXPATH@ $(JLINK_CMD)
JMOD = @FIXPATH@ $(JMOD_CMD) $(JAVA_TOOL_FLAGS_SMALL)
JARSIGNER=@FIXPATH@ $(JARSIGNER_CMD)
# A specific java binary with specific options can be used to run
@@ -826,6 +832,10 @@ USE_EXTERNAL_LCMS:=@USE_EXTERNAL_LCMS@
LCMS_CFLAGS:=@LCMS_CFLAGS@
LCMS_LIBS:=@LCMS_LIBS@
USE_EXTERNAL_HARFBUZZ:=@USE_EXTERNAL_HARFBUZZ@
HARFBUZZ_CFLAGS:=@HARFBUZZ_CFLAGS@
HARFBUZZ_LIBS:=@HARFBUZZ_LIBS@
USE_EXTERNAL_LIBPNG:=@USE_EXTERNAL_LIBPNG@
PNG_LIBS:=@PNG_LIBS@
PNG_CFLAGS:=@PNG_CFLAGS@
@@ -869,6 +879,14 @@ DOCS_IMAGE_DIR = $(IMAGES_OUTPUTDIR)/$(DOCS_IMAGE_SUBDIR)
# Output docs directly into image
DOCS_OUTPUTDIR := $(DOCS_IMAGE_DIR)
# Static libs image
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
@@ -903,6 +921,7 @@ JDK_SYMBOLS_BUNDLE_NAME := jdk-$(BASE_NAME)_bin$(DEBUG_PART)-symbols.tar.gz
TEST_DEMOS_BUNDLE_NAME := jdk-$(BASE_NAME)_bin-tests-demos$(DEBUG_PART).tar.gz
TEST_BUNDLE_NAME := jdk-$(BASE_NAME)_bin-tests$(DEBUG_PART).tar.gz
DOCS_BUNDLE_NAME := jdk-$(BASE_NAME)_doc-api-spec$(DEBUG_PART).tar.gz
STATIC_LIBS_BUNDLE_NAME := jdk-$(BASE_NAME)_bin-static-libs$(DEBUG_PART).tar.gz
JDK_BUNDLE := $(BUNDLES_OUTPUTDIR)/$(JDK_BUNDLE_NAME)
JRE_BUNDLE := $(BUNDLES_OUTPUTDIR)/$(JRE_BUNDLE_NAME)

View File

@@ -429,9 +429,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 | $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"])
@@ -460,7 +461,7 @@ AC_DEFUN([TOOLCHAIN_EXTRACT_COMPILER_VERSION],
COMPILER_VERSION_STRING=`$ECHO $COMPILER_VERSION_OUTPUT | \
$SED -e 's/ *Copyright .*//'`
COMPILER_VERSION_NUMBER=`$ECHO $COMPILER_VERSION_OUTPUT | \
$SED -e 's/^.* \(@<:@1-9@:>@\.@<:@0-9.@:>@*\)@<:@^0-9.@:>@.*$/\1/'`
$SED -e 's/^.* \(@<:@1-9@:>@<:@0-9@:>@*\.@<:@0-9.@:>@*\)@<:@^0-9.@:>@.*$/\1/'`
elif test "x$TOOLCHAIN_TYPE" = xclang; then
# clang --version output typically looks like
# Apple LLVM version 5.0 (clang-500.2.79) (based on LLVM 3.3svn)
@@ -947,9 +948,14 @@ 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])
if test "x$OPENJDK_BUILD_OS" = xmacosx; then
BASIC_REQUIRE_PROGS(BUILD_CC, [clang cl cc gcc])
BASIC_REQUIRE_PROGS(BUILD_CXX, [clang++ cl CC g++])
else
BASIC_REQUIRE_PROGS(BUILD_CC, [cl cc gcc])
BASIC_REQUIRE_PROGS(BUILD_CXX, [cl CC g++])
fi
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)

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,16 +23,17 @@
# questions.
#
# Default version numbers to use unless overridden by configure
# Default version, product, and vendor information to use,
# unless overridden by configure
DEFAULT_VERSION_FEATURE=11
DEFAULT_VERSION_INTERIM=0
DEFAULT_VERSION_UPDATE=7
DEFAULT_VERSION_UPDATE=11
DEFAULT_VERSION_PATCH=0
DEFAULT_VERSION_EXTRA1=0
DEFAULT_VERSION_EXTRA2=0
DEFAULT_VERSION_EXTRA3=0
DEFAULT_VERSION_DATE=2020-04-14
DEFAULT_VERSION_DATE=2021-04-20
DEFAULT_VERSION_CLASSFILE_MAJOR=55 # "`$EXPR $DEFAULT_VERSION_FEATURE + 44`"
DEFAULT_VERSION_CLASSFILE_MINOR=0
DEFAULT_ACCEPTABLE_BOOT_VERSIONS="10 11"
@@ -44,6 +45,9 @@ PRODUCT_SUFFIX="Runtime Environment"
JDK_RC_PLATFORM_NAME=Platform
COMPANY_NAME=N/A
HOTSPOT_VM_DISTRO="OpenJDK"
VENDOR_URL=https://openjdk.java.net/
VENDOR_URL_BUG=https://bugreport.java.com/bugreport/
VENDOR_URL_VM_BUG=https://bugreport.java.com/bugreport/crash.jsp
# Might need better names for these
MACOSX_BUNDLE_NAME_BASE="OpenJDK"

View File

@@ -47,7 +47,8 @@ FindSrcDirsForComponent += \
$(TOPDIR)/src/$(strip $1)/$(OPENJDK_TARGET_OS_TYPE)/native/$(strip $2) \
$(TOPDIR)/src/$(strip $1)/share/native/$(strip $2)))
# Find a library
# Find a library. Used for declaring dependencies on libraries in different
# modules.
# Param 1 - module name
# Param 2 - library name
# Param 3 - optional subdir for library
@@ -69,6 +70,12 @@ ifeq ($(GENERATE_COMPILE_COMMANDS_ONLY), true)
FindLib =
FindStaticLib =
endif
# If building static versions of libraries, make these return empty to avoid
# declaring dependencies.
ifeq ($(STATIC_LIBS), true)
FindLib =
FindStaticLib =
endif
GetJavaHeaderDir = \
$(wildcard $(SUPPORT_OUTPUTDIR)/headers/$(strip $1))

View File

@@ -1,5 +1,5 @@
#
# Copyright (c) 2014, 2018, 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
@@ -63,6 +63,7 @@ BOOT_MODULES += \
jdk.management \
jdk.management.jfr \
jdk.management.agent \
jdk.naming.ldap \
jdk.net \
jdk.sctp \
jdk.unsupported \
@@ -165,6 +166,7 @@ DOCS_MODULES += \
jdk.management.agent \
jdk.management.jfr \
jdk.naming.dns \
jdk.naming.ldap \
jdk.naming.rmi \
jdk.net \
jdk.pack \

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
@@ -239,15 +239,30 @@ ifeq ($(ALLOW_ABSOLUTE_PATHS_IN_OUTPUT)-$(FILE_MACRO_CFLAGS), false-)
) \
)
# When compiling with relative paths, the deps file comes out with relative
# paths.
# When compiling with relative paths, the deps file may come out with relative
# paths, and that path may start with './'. First remove any leading ./, then
# add WORKSPACE_ROOT to any line not starting with /, while allowing for
# leading spaces. There may also be multiple entries on the same line, so start
# with splitting such lines.
# Non GNU sed (BSD on macosx) cannot substitue in literal \n using regex.
# Instead use a bash escaped literal newline. To avoid having unmatched quotes
# ruin the ability for an editor to properly syntax highlight this file, define
# that newline sequence as a separate variable and add the closing quote behind
# a comment.
sed_newline := \'$$'\n''#'
ifeq ($(TOOLCHAIN_TYPE), solstudio)
define fix-deps-file
$(SED) -e 's|\./|$(WORKSPACE_ROOT)/|g' $1.tmp > $1
endef
else
define fix-deps-file
$(SED) -e 's|^\([ ]*\)|\1$(WORKSPACE_ROOT)|' $1.tmp > $1
$(SED) \
-e 's|\([^ ]\) \{1,\}\([^\\:]\)|\1 \\$(sed_newline) \2|g' \
$1.tmp \
| $(SED) \
-e 's|^\([ ]*\)\./|\1|' \
-e '/^[ ]*[^/ ]/s|^\([ ]*\)|\1$(WORKSPACE_ROOT)/|' \
> $1
endef
endif
else
@@ -268,6 +283,19 @@ else
endif
endif
################################################################################
# GetEntitlementsFile
# Find entitlements file for executable when signing on macosx. If no
# specialized file is found, returns the default file.
# $1 Executable to find entitlements file for.
ENTITLEMENTS_DIR := $(TOPDIR)/make/data/macosxsigning
DEFAULT_ENTITLEMENTS_FILE := $(ENTITLEMENTS_DIR)/default.plist
GetEntitlementsFile = \
$(foreach f, $(ENTITLEMENTS_DIR)/$(strip $(notdir $1)).plist, \
$(if $(wildcard $f), $f, $(DEFAULT_ENTITLEMENTS_FILE)) \
)
################################################################################
# Create the recipe needed to compile a single native source file.
#
@@ -505,6 +533,28 @@ define SetupNativeCompilationBody
endif
endif
$$(call SetIfEmpty, $1_COMPILE_WITH_DEBUG_SYMBOLS, $$(COMPILE_WITH_DEBUG_SYMBOLS))
# STATIC_LIBS is set from Main.gmk when building static versions of certain
# native libraries.
ifeq ($(STATIC_LIBS), true)
$1_TYPE := STATIC_LIBRARY
# The static versions need to be redirected to different output dirs, both
# to not interfere with the main build as well as to not end up inside the
# jmods.
$1_OBJECT_DIR := $$($1_OBJECT_DIR)/static
$1_OUTPUT_DIR := $$($1_OBJECT_DIR)
# For release builds where debug symbols are configured to be moved to
# separate debuginfo files, disable debug symbols for static libs instead.
# We don't currently support this configuration and we don't want symbol
# information in release builds unless explicitly asked to provide it.
ifeq ($(DEBUG_LEVEL), release)
ifeq ($(COPY_DEBUG_SYMBOLS), true)
$1_COMPILE_WITH_DEBUG_SYMBOLS := false
endif
endif
endif
ifeq ($$($1_TYPE), EXECUTABLE)
$1_PREFIX :=
ifeq ($$($1_SUFFIX), )
@@ -643,6 +693,9 @@ define SetupNativeCompilationBody
$1_EXTRA_CFLAGS += $$($1_CFLAGS_$(OPENJDK_TARGET_OS)_release)
$1_EXTRA_CFLAGS += $$($1_CFLAGS_$(OPENJDK_TARGET_OS)_$(OPENJDK_TARGET_CPU)_release)
endif
ifeq ($(STATIC_LIBS), true)
$1_EXTRA_CFLAGS += $$(STATIC_LIBS_CFLAGS)
endif
# Pickup extra OPENJDK_TARGET_OS_TYPE and/or OPENJDK_TARGET_OS dependent variables for CXXFLAGS.
$1_EXTRA_CXXFLAGS := $$($1_CXXFLAGS_$(OPENJDK_TARGET_OS_TYPE)) $$($1_CXXFLAGS_$(OPENJDK_TARGET_OS))
@@ -656,6 +709,9 @@ define SetupNativeCompilationBody
$1_EXTRA_CXXFLAGS += $$($1_CXXFLAGS_$(OPENJDK_TARGET_OS_TYPE)_release)
$1_EXTRA_CXXFLAGS += $$($1_CXXFLAGS_$(OPENJDK_TARGET_OS)_release)
endif
ifeq ($(STATIC_LIBS), true)
$1_EXTRA_CXXFLAGS += $$(STATIC_LIB_CFLAGS)
endif
# If no C++ flags are explicitly set, default to using the C flags.
# After that, we can set additional C++ flags that should not interfere
@@ -667,7 +723,7 @@ define SetupNativeCompilationBody
$1_EXTRA_CXXFLAGS := $$($1_EXTRA_CFLAGS)
endif
ifeq ($(COMPILE_WITH_DEBUG_SYMBOLS), true)
ifeq ($$($1_COMPILE_WITH_DEBUG_SYMBOLS), true)
$1_EXTRA_CFLAGS += $$(CFLAGS_DEBUG_SYMBOLS)
$1_EXTRA_CXXFLAGS += $$(CFLAGS_DEBUG_SYMBOLS)
$1_EXTRA_ASFLAGS += $$(ASFLAGS_DEBUG_SYMBOLS)
@@ -782,13 +838,15 @@ define SetupNativeCompilationBody
-include $$($1_PCH_DEPS_TARGETS_FILE)
$1_PCH_COMMAND := $$($1_CC) $$($1_CFLAGS) $$($1_EXTRA_CFLAGS) $$($1_SYSROOT_CFLAGS) \
$$($1_OPT_CFLAGS) -x c++-header -c $(C_FLAG_DEPS) $$($1_PCH_DEPS_FILE)
$$($1_OPT_CFLAGS) -x c++-header -c $(C_FLAG_DEPS) \
$$(addsuffix .tmp, $$($1_PCH_DEPS_FILE))
$$($1_PCH_FILE): $$($1_PRECOMPILED_HEADER) $$($1_COMPILE_VARDEPS_FILE)
$$(call LogInfo, Generating precompiled header)
$$(call MakeDir, $$(@D))
$$(call ExecuteWithLog, $$@, $$(call MakeCommandRelative, \
$$($1_PCH_COMMAND) $$< -o $$@))
$$(call fix-deps-file, $$($1_PCH_DEPS_FILE))
$(SED) $(DEPENDENCY_TARGET_SED_PATTERN) $$($1_PCH_DEPS_FILE) \
> $$($1_PCH_DEPS_TARGETS_FILE)
@@ -935,6 +993,9 @@ define SetupNativeCompilationBody
ifeq ($(OPENJDK_TARGET_OS), windows)
$1_EXTRA_LDFLAGS += -debug "-pdb:$$($1_OUTPUT_DIR)/$$($1_NOSUFFIX).pdb" \
"-map:$$($1_OUTPUT_DIR)/$$($1_NOSUFFIX).map"
ifeq ($(SHIP_DEBUG_SYMBOLS), public)
$1_EXTRA_LDFLAGS += "-pdbstripped:$$($1_OUTPUT_DIR)/$$($1_NOSUFFIX).stripped.pdb"
endif
$1_DEBUGINFO_FILES := $$($1_OUTPUT_DIR)/$$($1_NOSUFFIX).pdb \
$$($1_OUTPUT_DIR)/$$($1_NOSUFFIX).map
@@ -1145,8 +1206,8 @@ define SetupNativeCompilationBody
# This only works if the openjdk_codesign identity is present on the system. Let
# silently fail otherwise.
ifneq ($(CODESIGN), )
$(CODESIGN) -s "$(MACOSX_CODESIGN_IDENTITY)" --timestamp --options runtime \
--entitlements $(TOPDIR)/make/data/macosxsigning/entitlements.plist $$@
$(CODESIGN) -f -s "$(MACOSX_CODESIGN_IDENTITY)" --timestamp --options runtime \
--entitlements $$(call GetEntitlementsFile, $$@) $$@
endif
endif

View File

@@ -155,9 +155,10 @@ define SetupTextFileProcessingBody
# Convert the REPLACEMENTS syntax ( A => B ; C => D ; ...) to a sed command
# line (-e "s/A/B/g" -e "s/C/D/g" ...), basically by replacing '=>' with '/'
# and ';' with '/g" -e "s/', and adjusting for edge cases.
# '&' has special meaning in sed so needs to be escaped.
$1_REPLACEMENTS_COMMAND_LINE := $(SED) -e 's$$($1_SEP)$$(subst $$(SPACE);$$(SPACE),$$($1_SEP)g' \
-e 's$$($1_SEP),$$(subst $$(SPACE)=>$$(SPACE),$$($1_SEP),$$(subst $$(SPACE)=>$$(SPACE);$$(SPACE),$$($1_SEP)$$($1_SEP)g' \
-e 's$$($1_SEP),$$(strip $$($1_REPLACEMENTS)))))$$($1_SEP)g'
-e 's$$($1_SEP),$$(subst &,\&,$$(strip $$($1_REPLACEMENTS))))))$$($1_SEP)g'
else
# We don't have any replacements, just pipe the file through cat.
$1_REPLACEMENTS_COMMAND_LINE := $(CAT)

View File

@@ -240,7 +240,7 @@ var getJibProfilesCommon = function (input, data) {
// These are the base setttings for all the main build profiles.
common.main_profile_base = {
dependencies: ["boot_jdk", "gnumake", "jtreg", "jib", "autoconf"],
default_make_targets: ["product-bundles", "test-bundles"],
default_make_targets: ["product-bundles", "test-bundles", "static-libs-bundles"],
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",
@@ -312,6 +312,14 @@ var getJibProfilesCommon = function (input, data) {
subdir: jdk_subdir,
exploded: "images/jdk"
},
static_libs: {
local: "bundles/\\(jdk.*bin-static-libs.tar.gz\\)",
remote: [
"bundles/" + pf + "/jdk-" + data.version + "_" + pf + "_bin-static-libs.tar.gz",
"bundles/" + pf + "/\\1"
],
subdir: jdk_subdir,
},
}
};
};
@@ -353,6 +361,14 @@ var getJibProfilesCommon = function (input, data) {
subdir: jdk_subdir,
exploded: "images/jdk"
},
static_libs: {
local: "bundles/\\(jdk.*bin-static-libs-debug.tar.gz\\)",
remote: [
"bundles/" + pf + "/jdk-" + data.version + "_" + pf + "_bin-static-libs-debug.tar.gz",
"bundles/" + pf + "/\\1"
],
subdir: jdk_subdir,
},
}
};
};
@@ -841,7 +857,7 @@ var getJibProfilesDependencies = function (input, common) {
macosx_x64: "Xcode9.4-MacOSX10.13+1.0",
solaris_x64: "SS12u4-Solaris11u1+1.0",
solaris_sparcv9: "SS12u4-Solaris11u1+1.1",
windows_x64: "VS2017-15.5.5+1.0",
windows_x64: "VS2017-15.9.16+1.0",
linux_aarch64: (input.profile != null && input.profile.indexOf("arm64") >= 0
? "gcc-linaro-aarch64-linux-gnu-4.8-2013.11_linux+1.0"
: "gcc7.3.0-Fedora27+1.1"),

View File

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

View File

@@ -1,8 +1,7 @@
#! java BlacklistedCertsConverter SHA-256
# The line above must be the first line of the blacklisted.certs.pem
# file inside src/share/lib/security/. It will be ignored if added in
# src/closed/share/lib/security/blacklisted.certs.pem.
# The line above must be the first line of this file. Do not
# remove it.
// Subject: CN=Digisign Server ID (Enrich),
// OU=457608-K,

View File

@@ -22,6 +22,8 @@
<string>????</string>
<key>CFBundleVersion</key>
<string>@@VERSION@@</string>
<key>NSMicrophoneUsageDescription</key>
<string>The application is requesting access to the microphone.</string>
<key>JavaVM</key>
<dict>
<key>JVMCapabilities</key>

View File

@@ -22,6 +22,8 @@
<string>????</string>
<key>CFBundleVersion</key>
<string>@@VERSION@@</string>
<key>NSMicrophoneUsageDescription</key>
<string>The application is requesting access to the microphone.</string>
<key>JavaVM</key>
<dict>
<key>JVMMinimumFrameworkVersion</key>

View File

@@ -1,31 +0,0 @@
Owner: CN=AddTrust Class 1 CA Root, OU=AddTrust TTP Network, O=AddTrust AB, C=SE
Issuer: CN=AddTrust Class 1 CA Root, OU=AddTrust TTP Network, O=AddTrust AB, C=SE
Serial number: 1
Valid from: Tue May 30 10:38:31 GMT 2000 until: Sat May 30 10:38:31 GMT 2020
Signature algorithm name: SHA1withRSA
Subject Public Key Algorithm: 2048-bit RSA key
Version: 3
-----BEGIN CERTIFICATE-----
MIIEGDCCAwCgAwIBAgIBATANBgkqhkiG9w0BAQUFADBlMQswCQYDVQQGEwJTRTEU
MBIGA1UEChMLQWRkVHJ1c3QgQUIxHTAbBgNVBAsTFEFkZFRydXN0IFRUUCBOZXR3
b3JrMSEwHwYDVQQDExhBZGRUcnVzdCBDbGFzcyAxIENBIFJvb3QwHhcNMDAwNTMw
MTAzODMxWhcNMjAwNTMwMTAzODMxWjBlMQswCQYDVQQGEwJTRTEUMBIGA1UEChML
QWRkVHJ1c3QgQUIxHTAbBgNVBAsTFEFkZFRydXN0IFRUUCBOZXR3b3JrMSEwHwYD
VQQDExhBZGRUcnVzdCBDbGFzcyAxIENBIFJvb3QwggEiMA0GCSqGSIb3DQEBAQUA
A4IBDwAwggEKAoIBAQCWltQhSWDia+hBBwzexODcEyPNwTXH+9ZOEQpnXvUGW2ul
CDtbKRY654eyNAbFvAWlA3yCyykQruGIgb3WntP+LVbBFc7jJp0VLhD7Bo8wBN6n
tGO0/7Gcrjyvd7ZWxbWroulpOj0OM3kyP3CCkplhbY0wCI9xP6ZIVxn4JdxLZlyl
dI+Yrsj5wAYi56xz36Uu+1LcsRVlIPo1Zmne3yzxbrww2ywkEtvrNTVokMsAsJch
PXQhI2U0K7t4WaPW4XY5mqRJjox0r26kmqPZm9I4XJuiGMx1I4S+6+JNM3GOGvDC
+Mcdoq0Dlyz4zyXG9rgkMbFjXZJ/Y/AlyVMuH79NAgMBAAGjgdIwgc8wHQYDVR0O
BBYEFJWxtPCUtr3H2tERCSG+wa9J/RB7MAsGA1UdDwQEAwIBBjAPBgNVHRMBAf8E
BTADAQH/MIGPBgNVHSMEgYcwgYSAFJWxtPCUtr3H2tERCSG+wa9J/RB7oWmkZzBl
MQswCQYDVQQGEwJTRTEUMBIGA1UEChMLQWRkVHJ1c3QgQUIxHTAbBgNVBAsTFEFk
ZFRydXN0IFRUUCBOZXR3b3JrMSEwHwYDVQQDExhBZGRUcnVzdCBDbGFzcyAxIENB
IFJvb3SCAQEwDQYJKoZIhvcNAQEFBQADggEBACxtZBsfzQ3duQH6lmM0MkhHma6X
7f1yFqZzR1r0693p9db7RcwpiURdv0Y5PejuvE1Uhh4dbOMXJ0PhiVYrqW9yTkkz
43J8KiOavD7/KCrto/8cI7pDVwlnTUtiBi34/2ydYB7YHEt9tTEv2dB8Xfjea4MY
eDdXL+gzB2ffHsdrKpV2ro9Xo/D0UrSpUwjP4E/TelOL/bscVjby/rK25Xa71SJl
pz/+0WatC7xrmYbvP33zGDLKe8bjq2RGlfgmadlVg3sslgf/WSxEo8bl6ancoWOA
WiFeIc9TVPC6b4nbqKqVz4vjccweGyBECMB6tkD9xOQ14R0WHNC8K47Wcdk=
-----END CERTIFICATE-----

View File

@@ -0,0 +1,43 @@
Owner: CN=Entrust Root Certification Authority - G4, OU="(c) 2015 Entrust, Inc. - for authorized use only", OU=See www.entrust.net/legal-terms, O="Entrust, Inc.", C=US
Issuer: CN=Entrust Root Certification Authority - G4, OU="(c) 2015 Entrust, Inc. - for authorized use only", OU=See www.entrust.net/legal-terms, O="Entrust, Inc.", C=US
Serial number: d9b5437fafa9390f000000005565ad58
Valid from: Wed May 27 11:11:16 GMT 2015 until: Sun Dec 27 11:41:16 GMT 2037
Signature algorithm name: SHA256withRSA
Subject Public Key Algorithm: 4096-bit RSA key
Version: 3
-----BEGIN CERTIFICATE-----
MIIGSzCCBDOgAwIBAgIRANm1Q3+vqTkPAAAAAFVlrVgwDQYJKoZIhvcNAQELBQAw
gb4xCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1FbnRydXN0LCBJbmMuMSgwJgYDVQQL
Ex9TZWUgd3d3LmVudHJ1c3QubmV0L2xlZ2FsLXRlcm1zMTkwNwYDVQQLEzAoYykg
MjAxNSBFbnRydXN0LCBJbmMuIC0gZm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxMjAw
BgNVBAMTKUVudHJ1c3QgUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEc0
MB4XDTE1MDUyNzExMTExNloXDTM3MTIyNzExNDExNlowgb4xCzAJBgNVBAYTAlVT
MRYwFAYDVQQKEw1FbnRydXN0LCBJbmMuMSgwJgYDVQQLEx9TZWUgd3d3LmVudHJ1
c3QubmV0L2xlZ2FsLXRlcm1zMTkwNwYDVQQLEzAoYykgMjAxNSBFbnRydXN0LCBJ
bmMuIC0gZm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxMjAwBgNVBAMTKUVudHJ1c3Qg
Um9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEc0MIICIjANBgkqhkiG9w0B
AQEFAAOCAg8AMIICCgKCAgEAsewsQu7i0TD/pZJH4i3DumSXbcr3DbVZwbPLqGgZ
2K+EbTBwXX7zLtJTmeH+H17ZSK9dE43b/2MzTdMAArzE+NEGCJR5WIoV3imz/f3E
T+iq4qA7ec2/a0My3dl0ELn39GjUu9CH1apLiipvKgS1sqbHoHrmSKvS0VnM1n4j
5pds8ELl3FFLFUHtSUrJ3hCX1nbB76W1NhSXNdh4IjVS70O92yfbYVaCNNzLiGAM
C1rlLAHGVK/XqsEQe9IFWrhAnoanw5CGAlZSCXqc0ieCU0plUmr1POeo8pyvi73T
DtTUXm6Hnmo9RR3RXRv06QqsYJn7ibT/mCzPfB3pAqoEmh643IhuJbNsZvc8kPNX
wbMv9W3y+8qh+CmdRouzavbmZwe+LGcKKh9asj5XxNMhIWNlUpEbsZmOeX7m640A
2Vqq6nPopIICR5b+W45UYaPrL0swsIsjdXJ8ITzI9vF01Bx7owVV7rtNOzK+mndm
nqxpkCIHH2E6lr7lmk/MBTwoWdPBDFSoWWG9yHJM6Nyfh3+9nEg2XpWjDrk4JFX8
dWbrAuMINClKxuMrLzOg2qOGpRKX/YAr2hRC45K9PvJdXmd0LhyIRyk0X+IyqJwl
N4y6mACXi0mWHv0liqzc2thddG5msP9E36EYxr5ILzeUePiVSj9/E15dWf10hkNj
c0kCAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYD
VR0OBBYEFJ84xFYjwznooHFs6FRM5Og6sb9nMA0GCSqGSIb3DQEBCwUAA4ICAQAS
5UKme4sPDORGpbZgQIeMJX6tuGguW8ZAdjwD+MlZ9POrYs4QjbRaZIxowLByQzTS
Gwv2LFPSypBLhmb8qoMi9IsabyZIrHZ3CL/FmFz0Jomee8O5ZDIBf9PD3Vht7LGr
hFV0d4QEJ1JrhkzO3bll/9bGXp+aEJlLdWr+aumXIOTkdnrG0CSqkM0gkLpHZPt/
B7NTeLUKYvJzQ85BK4FqLoUWlFPUa19yIqtRLULVAJyZv967lDtX/Zr1hstWO1uI
AeV8KEsD+UmDfLJ/fOPtjqF/YFOOVZ1QNBIPt5d7bIdKROf1beyAN/BYGW5KaHbw
H5Lk6rWS02FREAutp9lfx1/cH6NcjKF+m7ee01ZvZl4HliDtC3T7Zk6LERXpgUl+
b7DUUH8i119lAg2m9IUe2K4GS0qn0jFmwvjO5QimpAKWRGhXxNUzzxkvFMSUHHuk
2fCfDrGA4tGeEWSpiBE6doLlYsKA2KSD7ZPvfC+QsDJMlhVoSFLUmQjAJOgc47Ol
IQ6SwJAfzyBfyjs4x7dtOvPmRLgOMWuIjnDrnBdSqEGULoe256YSxXXfW8AKbnuk
5F6G+TaU33fD6Q3AOfF5u0aOq0NZJ7cguyPpVkAh7DE9ZapD8j3fcEThuk0mEDuY
n/PIjhs4ViFqUZPTkcpG2om3PVODLAgfi49T3f+sHw==
-----END CERTIFICATE-----

View File

@@ -0,0 +1,24 @@
Owner: CN=Hellenic Academic and Research Institutions ECC RootCA 2015, O=Hellenic Academic and Research Institutions Cert. Authority, L=Athens, C=GR
Issuer: CN=Hellenic Academic and Research Institutions ECC RootCA 2015, O=Hellenic Academic and Research Institutions Cert. Authority, L=Athens, C=GR
Serial number: 0
Valid from: Tue Jul 07 10:37:12 GMT 2015 until: Sat Jun 30 10:37:12 GMT 2040
Signature algorithm name: SHA256withECDSA
Subject Public Key Algorithm: 384-bit EC key
Version: 3
-----BEGIN CERTIFICATE-----
MIICwzCCAkqgAwIBAgIBADAKBggqhkjOPQQDAjCBqjELMAkGA1UEBhMCR1IxDzAN
BgNVBAcTBkF0aGVuczFEMEIGA1UEChM7SGVsbGVuaWMgQWNhZGVtaWMgYW5kIFJl
c2VhcmNoIEluc3RpdHV0aW9ucyBDZXJ0LiBBdXRob3JpdHkxRDBCBgNVBAMTO0hl
bGxlbmljIEFjYWRlbWljIGFuZCBSZXNlYXJjaCBJbnN0aXR1dGlvbnMgRUNDIFJv
b3RDQSAyMDE1MB4XDTE1MDcwNzEwMzcxMloXDTQwMDYzMDEwMzcxMlowgaoxCzAJ
BgNVBAYTAkdSMQ8wDQYDVQQHEwZBdGhlbnMxRDBCBgNVBAoTO0hlbGxlbmljIEFj
YWRlbWljIGFuZCBSZXNlYXJjaCBJbnN0aXR1dGlvbnMgQ2VydC4gQXV0aG9yaXR5
MUQwQgYDVQQDEztIZWxsZW5pYyBBY2FkZW1pYyBhbmQgUmVzZWFyY2ggSW5zdGl0
dXRpb25zIEVDQyBSb290Q0EgMjAxNTB2MBAGByqGSM49AgEGBSuBBAAiA2IABJKg
QehLgoRc4vgxEZmGZE4JJS+dQS8KrjVPdJWyUWRrjWvmP3CV8AVER6ZyOFB2lQJa
jq4onvktTpnvLEhvTCUp6NFxW98dwXU3tNf6e3pCnGoKVlp8aQuqgAkkbH7BRqNC
MEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFLQi
C4KZJAEOnLvkDv2/+5cgk5kqMAoGCCqGSM49BAMCA2cAMGQCMGfOFmI4oqxiRaep
lSTAGiecMjvAwNW6qef4BENThe5SId6d9SWDPp5YSy/XZxMOIQIwBeF1Ad5o7Sof
TUwJCA3sS61kFyjndc5FZXIhF8siQQ6ME5g4mlRtm8rifOoCWCKR
-----END CERTIFICATE-----

View File

@@ -0,0 +1,42 @@
Owner: CN=Hellenic Academic and Research Institutions RootCA 2015, O=Hellenic Academic and Research Institutions Cert. Authority, L=Athens, C=GR
Issuer: CN=Hellenic Academic and Research Institutions RootCA 2015, O=Hellenic Academic and Research Institutions Cert. Authority, L=Athens, C=GR
Serial number: 0
Valid from: Tue Jul 07 10:11:21 GMT 2015 until: Sat Jun 30 10:11:21 GMT 2040
Signature algorithm name: SHA256withRSA
Subject Public Key Algorithm: 4096-bit RSA key
Version: 3
-----BEGIN CERTIFICATE-----
MIIGCzCCA/OgAwIBAgIBADANBgkqhkiG9w0BAQsFADCBpjELMAkGA1UEBhMCR1Ix
DzANBgNVBAcTBkF0aGVuczFEMEIGA1UEChM7SGVsbGVuaWMgQWNhZGVtaWMgYW5k
IFJlc2VhcmNoIEluc3RpdHV0aW9ucyBDZXJ0LiBBdXRob3JpdHkxQDA+BgNVBAMT
N0hlbGxlbmljIEFjYWRlbWljIGFuZCBSZXNlYXJjaCBJbnN0aXR1dGlvbnMgUm9v
dENBIDIwMTUwHhcNMTUwNzA3MTAxMTIxWhcNNDAwNjMwMTAxMTIxWjCBpjELMAkG
A1UEBhMCR1IxDzANBgNVBAcTBkF0aGVuczFEMEIGA1UEChM7SGVsbGVuaWMgQWNh
ZGVtaWMgYW5kIFJlc2VhcmNoIEluc3RpdHV0aW9ucyBDZXJ0LiBBdXRob3JpdHkx
QDA+BgNVBAMTN0hlbGxlbmljIEFjYWRlbWljIGFuZCBSZXNlYXJjaCBJbnN0aXR1
dGlvbnMgUm9vdENBIDIwMTUwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoIC
AQDC+Kk/G4n8PDwEXT2QNrCROnk8ZlrvbTkBSRq0t89/TSNTt5AA4xMqKKYx8ZEA
4yjsriFBzh/a/X0SWwGDD7mwX5nh8hKDgE0GPt+sr+ehiGsxr/CL0BgzuNtFajT0
AoAkKAoCFZVedioNmToUW/bLy1O8E00BiDeUJRtCvCLYjqOWXjrZMts+6PAQZe10
4S+nfK8nNLspfZu2zwnI5dMK/IhlZXQK3HMcXM1AsRzUtoSMTFDPaI6oWa7CJ06C
ojXdFPQf/7J31Ycvqm59JCfnxssm5uX+Zwdj2EUN3TpZZTlYepKZcj2chF6IIbjV
9Cz82XBST3i4vTwri5WY9bPRaM8gFH5MXF/ni+X1NYEZN9cRCLdmvtNKzoNXADrD
gfgXy5I2XdGj2HUb4Ysn6npIQf1FGQatJ5lOwXBH3bWfgVMS5bGMSF0xQxfjjMZ6
Y5ZLKTBOhE5iGV48zpeQpX8B653g+IuJ3SWYPZK2fu/Z8VFRfS0myGlZYeCsargq
NhEEelC9MoS+L9xy1dcdFkfkR2YgP/SWxa+OAXqlD3pk9Q0Yh9muiNX6hME6wGko
LfINaFGq46V3xqSQDqE3izEjR8EJCOtu93ib14L8hCCZSRm2Ekax+0VVFqmjZayc
Bw/qa9wfLgZy7IaIEuQt218FL+TwA9MmM+eAws1CoRc0CwIDAQABo0IwQDAPBgNV
HRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUcRVnyMjJvXVd
ctA4GGqd83EkVAswDQYJKoZIhvcNAQELBQADggIBAHW7bVRLqhBYRjTyYtcWNl0I
XtVsyIe9tC5G8jH4fOpCtZMWVdyhDBKg2mF+D1hYc2Ryx+hFjtyp8iY/xnmMsVMI
M4GwVhO+5lFc2JsKT0ucVlMC6U/2DWDqTUJV6HwbISHTGzrMd/K4kPFox/la/vot
9L/J9UUbzjgQKjeKeaO04wlshYaT/4mWJ3iBj2fjRnRUjtkNaeJK9E10A/+yd+2V
Z5fkscWrv2oj6NSU4kQoYsRL4vDY4ilrGnB+JGGTe08DMiUNRSQrlrRGar9KC/ea
j8GsGsVn82800vpzY4zvFrCopEYq+OsS7HK07/grfoxSwIuEVPkvPuNVqNxmsdnh
X9izjFk0WaSrT2y7HxjbdavYy5LNlDhhDgcGH0tGEPEVvo2FXDtKK4F5D7Rpn0lQ
l033DlZdwJVqwjbDG2jJ9SrcR5q+ss7FJej6A7na+RZukYT1HCjI/CbM1xyQVqdf
bzoEvM14iQuODy+jqk+iGxI9FghAD/FGTNeqewjBCvVtJ94Cj8rDtSvK6evIIVM4
pcw72Hc3MKJP2W/R8kCtQXoXxdZKNYm3QdV8hn9VTYNKpXMgwDqvkPGaJI7ZjnHK
e7iG2rKPmT4dEw0SEe7Uq/DpFXYC5ODfqiAeW2GFZECpkJcNrVPSWh2HagCXZWK0
vm9qp/UsQu0yrbYhnr68
-----END CERTIFICATE-----

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