Commit graph

109 commits

Author SHA1 Message Date
Gerald Thornbrugh
d3a85e73a7 8029775: Solaris code cleanup
8033464: Linux code cleanup

Cleaned up warnings in solaris and linux specific os code.

Reviewed-by: coleenp, fparain, dcubed
2014-02-06 14:28:35 -05:00
Ron Durbin
97d55c801e 8027113: decouple the '-XXaltjvm=<path>' option from the gamma launcher
Decoupled the '-XXaltjvm=<path>' option from the gamma launcher.  Clearing the way for removing the remaining cruft associated with the previously removed gamma launcher.

Reviewed-by: dcubed, dholmes
2014-01-30 14:12:22 -08:00
David Simms
edb5dd324e 8028280: ParkEvent leak when running modified runThese which only loads classes
Use spin lock to manage ParkEvent and PlatformEvent free lists.

Reviewed-by: dholmes, fparain
2014-01-24 09:28:47 +01:00
Staffan Larsen
6f46c5c2f0 8031968: Mac OS X: VM starts the agent by calling both Agent_OnAttach and Agent_OnAttach_L functions if its agent library is dynamically linked
Make sure we only look for statically linked agents in the main process image

Reviewed-by: dsamersoff, bpittore, dcubed
2014-01-23 09:06:21 +01: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
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
Roland Westrelin
d9ae342dff Merge 2013-07-11 01:11:52 -07:00
Albert Noll
93d49935a9 8016749: -XX:+UseISM fails an assert(obj->is_oop()) when running SPECjbb2005
Remove obsolete code that relates to ISM which was used only on Solaris 8.

Reviewed-by: kvn, twisti
2013-07-10 13:33:56 -07: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
Vladimir Kozlov
43fbbe98b7 Merge 2013-05-02 18:50:05 -07:00
Calvin Cheung
0f7adcc3d9 8011661: Insufficient memory message says "malloc" when sometimes it should say "mmap"
Reviewed-by: coleenp, zgu, hseigel
2013-04-30 11:56:52 -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
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
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
Stefan Karlsson
35177d7db2 Merge 2013-03-15 08:57:55 +01:00
Stefan Karlsson
1e1174e0be 8004697: SIGSEGV on Solaris sparc with -XX:+UseNUMA
Don't scan pages outside the given range.

Reviewed-by: jwilhelm, jmasa
2013-03-11 02:24:01 -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
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
Staffan Larsen
1439d121c2 8007779: os::die() on solaris should generate core file
Reviewed-by: dholmes, rbackman
2013-02-18 12:49:53 +01: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
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
Joseph Provino
c5eaaaa070 7189254: Change makefiles for more flexibility to override defaults
Change makefiles so that targets and parameters can be overridden by alternate makefiles.

Reviewed-by: dholmes, coleenp
2012-10-10 14:35:58 -04:00
Nils Eliasson
e228ec4078 8000102: Resolve include conflicts
Removing include of c1/c1_runtime.hpp and opto/runtime.hpp from all os-files.

Reviewed-by: kvn
2012-10-04 06:31:07 -07:00
Zhengyu Gu
afd497eecc 7190089: NMT ON: NMT failed assertion on thread's stack base address
Solaris only, record stack info to NMT after stack size adjustment was made for primordial threads

Reviewed-by: kvn, acorn, coleenp
2012-09-17 10:20:04 -04:00
Jon Masamitsu
5c58d27aac 6964458: Reimplement class meta-data storage to use native memory
Remove PermGen, allocate meta-data in metaspace linked to class loaders, rewrite GC walking, rewrite and rename metadata to be C++ classes

Co-authored-by: Stefan Karlsson <stefan.karlsson@oracle.com>
Co-authored-by: Mikael Gerdin <mikael.gerdin@oracle.com>
Co-authored-by: Tom Rodriguez <tom.rodriguez@oracle.com>
Reviewed-by: jmasa, stefank, never, coleenp, kvn, brutisso, mgerdin, dholmes, jrose, twisti, roland
2012-09-01 13:25:18 -04:00
Mikael Vidstedt
af253d110d 7129724: MAC: Core file location is wrong in crash report
Updated core path location to reflect macosx default

Reviewed-by: dholmes, kamg
2012-07-03 17:35:00 -07:00
Zhengyu Gu
a39b17624a 6995781: Native Memory Tracking (Phase 1)
7151532: DCmd for hotspot native memory tracking

Implementation of native memory tracking phase 1, which tracks VM native memory usage, and related DCmd

Reviewed-by: acorn, coleenp, fparain
2012-06-28 17:03:16 -04:00
Nils Loodin
7d82c13142 7165755: OS Information much longer on linux than other platforms
Reviewed-by: sla, dholmes
2012-05-10 15:44:19 +02:00
Roland Westrelin
4012f6cd34 7147740: add assertions to check stack alignment on VM entry from generated code (x64)
Check stack alignment on VM entry on x64.

Reviewed-by: kvn, never
2012-02-27 09:17:44 +01:00
Paul Hohensee
76dfe7f707 7142586: Cannot build on Solaris 11 due to use of ia_nice
Delete the single use of ia_nice in os_solaris.cpp

Reviewed-by: kamg, kvn
2012-02-03 17:21:52 -05:00
Paul Hohensee
09e21afaaa 7082553: Interpret Thread.setPriority(Thread.MAX_PRIORITY) to mean FX60 on Solaris 10 and 11
Add CriticalPriority == MaxPriority+1 and enable scheduling class as well as thread priority to change on Solaris.

Reviewed-by: dholmes, dcubed
2012-01-26 20:06:06 -05:00
Zhengyu Gu
43bb0877fc 7071311: Decoder enhancement
Made decoder thread-safe

Reviewed-by: coleenp, kamg
2012-01-17 13:08:52 -05:00
Aleksey Ignatenko
c7ec06ba8e 7124829: NUMA: memory leak on Linux with large pages
In os::free_memory() use mmap with the same attributes as for the heap space

Reviewed-by: kvn
2011-12-27 16:43:49 -08:00
Vladimir Danushevsky
6446da199d Merge 2011-12-22 12:01:46 -05:00
Erik Gahlin
5657eb0c6c 7091417: recvfrom's 6th input should be of type socklen_t
Revamp class os's socket method formal args to match socket.h, insert casts in appropriate places, and copyin-copyout int*'s that s/b socklen_t*'s in jvm.cpp.

Co-authored-by: Rickard Backman <rickard.backman@oracle.com>
Co-authored-by: Nils Loodin <nils.loodin@oracle.com>
Co-authored-by: Markus Gronlund <markus.gronlund@oracle.com>
Reviewed-by: coleenp, dholmes
2011-12-21 15:48:16 -05:00
John Cuthbertson
870bea622a 7117303: VM uses non-monotonic time source and complains that it is non-monotonic
Replaces calls to os::javaTimeMillis(), which does not (and cannot) guarantee monotonicity, in GC code to an equivalent expression that uses os::javaTimeNanos(). os::javaTimeNanos is guaranteed monotonically non-decreasing if the underlying platform provides a monotonic time source. Changes in OS files are to make use of the newly defined constants in globalDefinitions.hpp.

Reviewed-by: dholmes, ysr
2011-12-19 10:02:05 -08:00
Chris Hegarty
9a65ac929d 7110017: is_headless_jre should be updated to reflect the new location of awt toolkit libraries
Reviewed-by: dholmes, dsamersoff
2011-11-16 20:38:24 -05:00
Christos Zoulas
32708baef1 7098194: integrate macosx-port changes
Integrate bsd-port/hotspot and macosx-port/hotspot changes as of 2011.09.29.

Co-authored-by: Greg Lewis <glewis@eyesbeyond.com>
Co-authored-by: Kurt Miller <kurt@intricatesoftware.com>
Co-authored-by: Alexander Strange <astrange@apple.com>
Co-authored-by: Mike Swingler <swingler@apple.com>
Co-authored-by: Roger Hoover <rhoover@apple.com>
Co-authored-by: Victor Hernandez <vhernandez@apple.com>
Co-authored-by: Pratik Solanki <psolanki@apple.com>
Reviewed-by: kvn, dholmes, never, phh
2011-10-13 09:35:42 -07:00
Kevin Walls
f4e1298403 7051189: Need to suppress info message if -xcheck:jni used with libjsig.so
Reviewed-by: coleenp, minqi
2011-09-22 16:48:41 +01:00