169 Commits

Author SHA1 Message Date
Jaroslav Bachorik
76ac5b0c28 8027294: Prepare hotspot for non TOD based uptime counter
Use HR timer when available for os::elapsed_counter() on linux/bsd. Add a new counter for the JVM uptime.

Reviewed-by: dholmes, sla
2013-10-25 09:07:58 +02:00
John Coomes
e61cbf8d69 Merge 2013-10-11 08:27:21 -07:00
Stefan Karlsson
3b34e78d20 8024838: Significant slowdown due to transparent huge pages
Don't turn on transparent huge pages (-XX:+UseTransparentHugePages) unless explicitly specified on the command line. This has the effect that large pages are never turned on Linux unless the user has explicitly enabled any of the large pages flags: -XX:+UseLargePages, -XX:+UseTransparentHugePages, -XX:+UseHugeTLBFS, and -XX:+UseSHM.

Reviewed-by: jwilhelm, tschatzl, brutisso
2013-10-05 10:14:58 +02:00
David Simms
d5157be0e8 8023956: Provide a work-around to broken Linux 32 bit "Exec Shield" using CS for NX emulation (crashing with SI_KERNEL)
Execute some code at a high virtual address value, and keep mapped

Reviewed-by: coleenp, zgu
2013-09-25 13:58:13 +02:00
Thomas Schatzl
9005953c71 Merge 2013-09-19 09:26:08 +02:00
Gerald Thornbrugh
dffefd9ecf 6986195: correctly identify Ubuntu as the operating system in crash report instead of "Debian"
Cleanup and document how various Linux release info files are used by print_distro_info().

Reviewed-by: dcubed, dsamersoff, coleenp, iklam, omajid
2013-09-16 12:43:34 -07:00
David Holmes
139c3e6621 6900441: PlatformEvent.park(millis) on Linux could still be affected by changes to the time-of-day clock
Associate CLOCK_MONOTONIC with the pthread_cond_t objects used for relative timed waits

Reviewed-by: dcubed, shade
2013-09-16 07:38:13 -04:00
Thomas Schatzl
962008f22b 8010722: assert: failed: heap size is too big for compressed oops
Use conservative assumptions of required alignment for the various garbage collector components into account when determining the maximum heap size that supports compressed oops. Using this conservative value avoids several circular dependencies in the calculation.

Reviewed-by: stefank, dholmes
2013-09-11 16:25:02 +02:00
Thomas Schatzl
066b624223 Merge 2013-09-05 14:15:54 +02:00
Dmitry Samersoff
98c327bc7d 8009062: poor performance of JNI AttachCurrentThread after fix for 7017193
Don't re-evaluate stack bounds for main thread before install guard page

Reviewed-by: coleenp, dholmes, dlong
2013-08-29 21:48:23 +04:00
Jon Masamitsu
728a40bcdc Merge 2013-08-29 06:53:16 -07:00
Stefan Johansson
80fea6f305 8016155: SIGBUS when running Kitchensink with ParallelScavenge and ParallelOld
When using NUMA and large pages we need to ease the requirement on which node the memory should be allocated on. To avoid the SIGBUS we now use the memory policy MPOL_PREFERRED, which prefers a certain node, instead of MPOL_BIND, which requires a certain node.

Reviewed-by: jmasa, pliden
2013-08-22 10:50:41 +02:00
Stefan Karlsson
7ade7987a0 8007074: SIGSEGV at ParMarkBitMap::verify_clear()
Replace the broken large pages implementation on Linux. New flag: -XX:+UseTransparentHugePages - Linux specific flag to turn on transparent huge page hinting with madvise(..., MAP_HUGETLB). Changed behavior: -XX:+UseLargePages - tries to use -XX:+UseTransparentHugePages before trying other large pages implementations (on Linux). Changed behavior: -XX:+UseHugeTLBFS - Use upfront allocation of Large Pages instead of using the broken implementation to dynamically committing large pages. Changed behavior: -XX:LargePageSizeInBytes - Turned off the ability to use this flag on Linux and provides warning to user if set to a value different than the OS chosen large page size. Changed behavior: Setting no large page size - Now defaults to use -XX:UseTransparentHugePages if the OS supports it. Previously, -XX:+UseHugeTLBFS was chosen if the OS was configured to use large pages.

Reviewed-by: tschatzl, dcubed, brutisso
2013-08-16 13:22:32 +02:00
Calvin Cheung
ef70244a9a 8017498: JVM crashes when native code calls sigaction(sig) where sig>=0x20
Added (sig < MAXSIGNUM) check in jsig.c

Reviewed-by: dholmes, acorn
2013-07-17 12:22:57 -07:00
Peter Allwin
221308625d 7162400: Intermittent java.io.IOException: Bad file number during HotSpotVirtualMachine.executeCommand
Intermittent java.io.IOException: Bad file number during HotSpotVirtualMachine.executeCommand

Reviewed-by: dcubed, dholmes, sspitsyn, mgerdin, ctornqvi, dsamersoff
2013-07-12 18:43:27 +02:00
Daniel D. Daugherty
765f5cd4e7 8015884: runThese crashed with SIGSEGV, hs_err has an error instead of stacktrace
Dl_info struct should only be used if dladdr() has returned non-zero (no errors) and always check the dladdr() return value; Dl_info.dli_sname and Dl_info.dli_saddr fields should only be used if non-NULL; update/improve runtime/6888954/vmerrors.sh test

Reviewed-by: dsamersoff, zgu, hseigel, coleenp
2013-07-04 21:10:17 -07:00
Zhengyu Gu
61a30f035b 8013651: NMT: reserve/release sequence id's in incorrect order due to race
Fixed NMT race condition for realloc, uncommit and release

Reviewed-by: coleenp, ccheung
2013-06-18 08:44:08 -04:00
Ron Durbin
be6e745755 7178026: os::close can restart ::close but that is not a restartable syscall
Removed restart macros from all os:close calls on Solaris, Linux, MacOS X platforms.

Reviewed-by: dcubed, dholmes
2013-06-14 07:46:22 -07:00
Daniel D. Daugherty
72a51a0c44 8013057: assert(_needs_gc || SafepointSynchronize::is_at_safepoint()) failed: only read at safepoint
Detect mmap() commit failures in Linux and Solaris os::commit_memory() impls and call vm_exit_out_of_memory(). Add os::commit_memory_or_exit(). Also tidy up some NMT accounting and some mmap() return value checking.

Reviewed-by: zgu, stefank, dholmes, dsamersoff
2013-06-13 11:16:38 -07:00
Staffan Larsen
718f3252f6 8005849: JEP 167: Event-Based JVM Tracing
Co-authored-by: Karen Kinnear <karen.kinnear@oracle.com>
Co-authored-by: Bengt Rutisson <bengt.rutisson@oracle.com>
Co-authored-by: Calvin Cheung <calvin.cheung@oracle.com>
Co-authored-by: Erik Gahlin <erik.gahlin@oracle.com>
Co-authored-by: Erik Helin <erik.helin@oracle.com>
Co-authored-by: Jesper Wilhelmsson <jesper.wilhelmsson@oracle.com>
Co-authored-by: Keith McGuigan <keith.mcguigan@oracle.com>
Co-authored-by: Mattias Tobiasson <mattias.tobiasson@oracle.com>
Co-authored-by: Markus Gronlund <markus.gronlund@oracle.com>
Co-authored-by: Mikael Auno <mikael.auno@oracle.com>
Co-authored-by: Nils Eliasson <nils.eliasson@oracle.com>
Co-authored-by: Nils Loodin <nils.loodin@oracle.com>
Co-authored-by: Rickard Backman <rickard.backman@oracle.com>
Co-authored-by: Stefan Karlsson <stefan.karlsson@oracle.com>
Co-authored-by: Yekaterina Kantserova <yekaterina.kantserova@oracle.com>
Reviewed-by: acorn, coleenp, sla
2013-06-10 11:30:51 +02:00
Thomas Schatzl
54964edefa 8013895: G1: G1SummarizeRSetStats output on Linux needs improvemen
Fixed the output of G1SummarizeRSetStats: too small datatype for the number of concurrently processed cards, added concurrent remembered set thread time retrieval for Linux and Windows (BSD uses os::elapsedTime() now), and other cleanup. The information presented during VM operation is now relative to the previous output, not always cumulative if G1SummarizeRSetStatsPeriod > 0. At VM exit, the code prints a cumulative summary.

Reviewed-by: johnc, jwilhelm
2013-05-28 09:32:06 +02:00
Vladimir Kozlov
43fbbe98b7 Merge 2013-05-02 18:50:05 -07:00
Vladimir Danushevsky
867c30e1bd 8013398: Adjust number of stack guard pages on systems with large memory page size
Auto adjust number of stack guard pages on systems with large memory page size

Reviewed-by: bobv, coleenp
2013-04-30 17:36:01 -04:00
Mikael Vidstedt
9e8a3585b0 8012015: Use PROT_NONE when reserving memory
Reserved memory had PROT_READ+PROT_WRITE access on Linux/bsd, now changed to PROT_NONE.

Reviewed-by: dholmes, ctornqvi
2013-04-29 11:03:49 -07:00
Vladimir Ivanov
f26c1a6c88 8012260: ciReplay: Include PID into the name of replay data file
Reviewed-by: kvn, twisti
2013-04-25 11:02:32 -07:00
Niclas Adlertz
09fdc18edc 8011621: live_ranges_in_separate_class.patch
Reviewed-by: kvn, roland
2013-04-16 10:08:41 +02:00
Zhengyu Gu
e722199fc0 Merge 2013-04-05 23:10:04 -07:00
Calvin Cheung
a72b5d24e6 8006001: [parfait] Possible file leak in hotspot/src/os/linux/vm/perfMemory_linux.cpp
Reviewed-by: zgu, coleenp, hseigel, dholmes
2013-04-05 11:15:13 -07:00
Daniel D. Daugherty
78339229bb Merge 2013-04-05 10:38:08 -07:00
Mikael Vidstedt
eeb83733a6 8003310: Enable -Wunused-function when compiling with gcc
Add the -Wunused-function flag and remove a number of unused functions.

Reviewed-by: dholmes, coleenp, kvn
2013-04-04 10:01:26 -07:00
Calvin Cheung
33f6dd2215 8006103: [parfait] Possible null pointer dereference at hotspot/src/os/linux/vm/os_linux.cpp; os_windows.cpp; os_solaris.cpp; os_bsd.cpp
Reviewed-by: zgu, iklam
2013-04-03 16:43:09 -07:00
Mikael Gerdin
0a963fd1b7 Merge 2013-04-03 09:19:02 +02:00
Thomas Schatzl
bb5bd507d7 7112912: Message "Error occurred during initialization of VM" on boxes with lots of RAM
Ergonomics now also takes available virtual memory into account when deciding for a heap size. The helper method to determine the maximum allocatable memory block now uses the appropriate OS specific calls to retrieve available virtual memory for the java process. In 32 bit environments this method now also searches for the maximum actually reservable amount of memory. Merge previously separate implementations for Linux/BSD/Solaris into a single method.

Reviewed-by: jmasa, tamao
2013-03-27 19:21:18 +01:00
Ioi Lam
ba67f14480 8010389: After fix for 7107135 a failed dlopen() call results in a VM crash
Call dlerror() in VM thread as necessary.

Reviewed-by: coleenp, dholmes
2013-03-21 20:46:46 -07:00
Zhengyu Gu
4cdcd6dc13 8008257: NMT: assert(new_rec->is_allocation_record()) failed when running with shared memory option
Corrected virtual memory recording and tagging code when large pages are used

Reviewed-by: coleenp, ccheung
2013-03-07 14:06:44 -05:00
Ioi Lam
5116181e1f 7107135: Stack guard pages are no more protected after loading a shared library with executable stack
Detect the execstack attribute of the loaded library and attempt to fix the stack guard using Safepoint op.

Reviewed-by: dholmes, zgu
2013-03-05 13:55:56 -08:00
Volker Simonis
76fa595599 8008959: Fix non-PCH build on Linux, Windows and MacOS X
Fix the build without precompiled headers by either including the missing ".inline.hpp" files into the appropriate files or by turning inline-functions declared in header files into ordinary functions in ".cpp" files.

Reviewed-by: coleenp, stefank, dholmes
2013-02-27 09:40:30 +01:00
Harold Seigel
2d47fd6658 8004495: [parfait] False positive Buffer overflow in hotspot/src/os/linux/vm/os_linux.cpp
Delete the questionable source code because it is for no-longer supported versions of Linux.

Reviewed-by: mikael, coleenp
2013-02-20 07:16:23 -05:00
Harold Seigel
301152ddb7 6749267: Signal handler should save/restore errno
Save errno before processing signal, then restore it.

Reviewed-by: acorn, sspitsyn
2013-02-19 08:51:56 -05:00
Morris Meyer
7d8f623180 6518907: cleanup IA64 specific code in Hotspot
Removed unused IA64 specific code

Reviewed-by: twisti, kvn, dholmes
2013-01-25 16:50:33 -08:00
Dave Dice
98c357abf8 8004902: correctness fixes motivated by contended locking work (6607129)
Misc correctness fixes

Reviewed-by: acorn, dholmes, dice, sspitsyn
2013-01-22 05:56:42 -08:00
Harold Seigel
68f3dd76c9 7102489: RFE: cleanup jlong typedef on __APPLE__and _LLP64 systems
Define jlong as long on all LP64 platforms and add JLONG_FORMAT macro.

Reviewed-by: dholmes, coleenp, mikael, kvn
2013-01-17 10:25:16 -05:00
Ron Durbin
9c761152db 8005044: remove crufty '_g' support from HS runtime code
Phase 2 is removing '_g' support from the Runtime code.

Reviewed-by: dcubed, coleenp, hseigel
2012-12-19 10:35:08 -08:00
Roland Westrelin
d8921b191a Merge 2012-12-07 01:09:03 -08:00
Stefan Karlsson
57204d9f34 8003935: Simplify the needed includes for using Thread::current()
Reviewed-by: dholmes, rbackman, coleenp
2012-11-27 14:20:21 +01:00
Christian Thalinger
2c2c007448 8003240: x86: move MacroAssembler into separate file
Reviewed-by: kvn
2012-11-30 15:23:16 -08:00
Bill Pittore
dd5c8eb660 8001185: parsing of sun.boot.library.path in os::dll_build_name somewhat broken
Dll_dir can contain multiple paths, need to parse them correctly when loading agents

Reviewed-by: dholmes, dlong
2012-11-07 17:53:02 -05:00
Zhengyu Gu
3e481cdd81 7199092: NMT: NMT needs to deal overlapped virtual memory ranges
Enhanced virtual memory tracking to track committed regions as well as reserved regions, so NMT now can generate virtual memory map.

Reviewed-by: acorn, coleenp
2012-10-19 21:40:07 -04:00
Vladimir Kozlov
5f132a5ec3 Merge 2012-10-12 09:22:52 -07:00
Mikael Vidstedt
769dd50182 7197424: update copyright year to match last edit in jdk8 hotspot repository
Update copyright year to 2012 for relevant files

Reviewed-by: dholmes, coleenp
2012-10-09 10:09:34 -07:00