Mercurial > hg > icedtea6
view patches/openjdk/2178143-pr2959.patch @ 3248:2de5d5254c7c
New backports for issues to be fixed in 1.13.12.
S2178143, PR2959: JVM crashes if the number of bound CPUs changed during runtime
S6260348, PR3068: GTK+ L&F JTextComponent not respecting desktop caret blink rate
S6961123, PR2975: setWMClass fails to null-terminate WM_CLASS string
PR2800: Files are missing from resources.jar
PR3137: GTKLookAndFeel does not honor gtk-alternative-button-order
2016-08-15 Andrew John Hughes <gnu.andrew@redhat.com>
* Makefile.am:
(ICEDTEA_PATCHES): Add new patches.
* NEWS: Updated.
* patches/ecj/icedtea.patch:
Adjust and extend, following PR2800.
* patches/openjdk/2178143-pr2959.patch,
* patches/openjdk/6260348-pr3068.patch,
* patches/openjdk/6961123-pr2975.patch,
* patches/pr2800-missing_resources.patch,
* patches/pr3137-alt_button_order.patch:
New backports for issues to be fixed in 1.13.12.
author | Andrew John Hughes <gnu.andrew@redhat.com> |
---|---|
date | Mon, 15 Aug 2016 02:54:13 +0100 |
parents | |
children |
line wrap: on
line source
# HG changeset patch # User minqi # Date 1464805886 -3600 # Wed Jun 01 19:31:26 2016 +0100 # Node ID a136b8a1ad7a00a0d7509f1a5a8cb6d0e509af76 # Parent 2d8e12787f80ffffa0e48927efe5af13c6a68a08 2178143, PR2959: JVM crashes if the number of bound CPUs changed during runtime Summary: Supply a new flag -XX:+AssumeMP to workaround the problem. With the flag is turned on, assume VM run on MP platform so is_MP() will return true that sync calls will not skip away. Reviewed-by: dholmes, acorn, dcubed, jmasa Contributed-by: yumin.qi@oracle.com diff --git a/src/share/vm/runtime/arguments.cpp b/src/share/vm/runtime/arguments.cpp --- openjdk/hotspot/src/share/vm/runtime/arguments.cpp +++ openjdk/hotspot/src/share/vm/runtime/arguments.cpp @@ -3473,6 +3473,14 @@ set_g1_gc_flags(); } + if (AssumeMP && !UseSerialGC) { + if (FLAG_IS_DEFAULT(ParallelGCThreads) && ParallelGCThreads == 1) { + warning("If the number of processors is expected to increase from one, then" + " you should configure the number of parallel GC threads appropriately" + " using -XX:ParallelGCThreads=N"); + } + } + #ifdef SERIALGC assert(verify_serial_gc_flags(), "SerialGC unset"); #endif // SERIALGC diff --git a/src/share/vm/runtime/globals.hpp b/src/share/vm/runtime/globals.hpp --- openjdk/hotspot/src/share/vm/runtime/globals.hpp +++ openjdk/hotspot/src/share/vm/runtime/globals.hpp @@ -480,6 +480,9 @@ lp64_product(intx, ObjectAlignmentInBytes, 8, \ "Default object alignment in bytes, 8 is minimum") \ \ + product(bool, AssumeMP, false, \ + "Instruct the VM to assume multiple processors are available") \ + \ /* UseMembar is theoretically a temp flag used for memory barrier \ * removal testing. It was supposed to be removed before FCS but has \ * been re-added (see 6401008) */ \ diff --git a/src/share/vm/runtime/os.hpp b/src/share/vm/runtime/os.hpp --- openjdk/hotspot/src/share/vm/runtime/os.hpp +++ openjdk/hotspot/src/share/vm/runtime/os.hpp @@ -198,7 +198,7 @@ // Interface for detecting multiprocessor system static inline bool is_MP() { assert(_processor_count > 0, "invalid processor count"); - return _processor_count > 1; + return _processor_count > 1 || AssumeMP; } static julong available_memory(); static julong physical_memory();