39 Commits

Author SHA1 Message Date
Aleksey Shipilev
426f339847 8057925: PrintSymbolTableSizeHistogram prints misleading output
Reviewed-by: jrose, kvn, gziemski
2014-09-22 18:34:35 +04:00
Mikael Gerdin
6fc8764c65 8056084: Refactor Hashtable to allow implementations without rehashing support
Reviewed-by: gziemski, jmasa, brutisso, coleenp, tschatzl
2014-08-29 13:08:01 +02:00
Zhengyu Gu
f0cf82f571 8046598: Scalable Native memory tracking development
Enhance scalability of native memory tracking

Reviewed-by: coleenp, ctornqvi, gtriantafill
2014-08-07 12:18:58 -07:00
Goetz Lindenmaier
8e7c8f1d88 8044775: Improve usage of umbrella header atomic.inline.hpp
Reviewed-by: stefank, kvn
2014-06-04 11:56:44 +02:00
Coleen Phillimore
388434f387 Merge 2014-05-12 09:47:57 -04:00
David Chase
305ec3bd3f 8037816: Fix for 8036122 breaks build with Xcode5/clang
Repaired or selectively disabled offending formats; future-proofed with additional checking

Reviewed-by: kvn, jrose, stefank
2014-05-09 16:50:54 -04:00
Gerard Ziemski
ed9c096396 8038654: Separate SymbolTable and StringTable code
Refactor stringTable class out of symbolTable, making sure all includes are minimal set and are sorted.

Reviewed-by: coleenp, stefank
2014-05-07 14:16:45 -05:00
Stefan Karlsson
6583b826bb 8039244: Don't use UINT32_FORMAT and INT32_FORMAT when printing uints and ints in the GC code
Reviewed-by: brutisso, tschatzl
2014-04-04 09:46:10 +02:00
Per Lidén
4a4c0fce93 8029075: String deduplication in G1
Implementation of JEP 192, http://openjdk.java.net/jeps/192

Reviewed-by: brutisso, tschatzl, coleenp
2014-03-18 19:07:22 +01:00
Thomas Schatzl
4bb3631855 8027476: Improve performance of Stringtable unlink
8027455: Improve symbol table scan times during gc pauses

Parallelize string table and symbol table scan during remark and full GC. Some additional statistics output if the experimental flag G1TraceStringSymbolTableScrubbing is set.

Reviewed-by: mgerdin, coleenp, brutisso
2014-01-20 11:47:07 +01:00
Zhengyu Gu
bfafab7b47 Merge 2013-09-27 10:08:56 -04:00
Lois Foltan
7bf953d005 7195622: CheckUnhandledOops has limited usefulness now
Enable CHECK_UNHANDLED_OOPS in fastdebug builds across all supported platforms.

Reviewed-by: coleenp, hseigel, dholmes, stefank, twisti, ihse, rdurbin
2013-09-26 10:25:02 -04:00
Thomas Schatzl
4abf168208 Merge 2013-09-26 12:18:21 +02:00
Per Liden
de71bd1049 8024974: Incorrect use of GC_locker::is_active()
SymbolTable and StringTable can make calls to GC_locker::is_active() outside a safepoint. This isn't safe because the GC_locker active state (lock count) is only updated at a safepoint and only remains valid as long as _needs_gc is true. However, outside a safepoint_needs_gc can change to false at any time, which makes it impossible to do a correct call to is_active() in that context. In this case these calls can just be removed since the input argument to basic_add() should never be on the heap and so there's no need to check the GC_locker state. This change also adjusts the assert() in is_active() to makes sure all calls to this function are always done under a safepoint.

Reviewed-by: brutisso, dcubed
2013-09-20 10:53:28 +02:00
Daniel D. Daugherty
41bce440a4 8019835: Strings interned in different threads equal but does not ==
Add -XX:+VerifyStringTableAtExit option and code to verify StringTable invariants.

Reviewed-by: rdurbin, sspitsyn, coleenp
2013-09-18 07:02:10 -07:00
John Cuthbertson
5382e0759e 8015237: Parallelize string table scanning during strong root processing
Parallelize the scanning of the intern string table by having each GC worker claim a given number of buckets. Changes were also reviewed by Per Liden <per.liden@oracle.com>.

Reviewed-by: tschatzl, stefank, twisti
2013-06-18 12:31:07 -07:00
Stefan Karlsson
c13149ab8d 8015422: Large performance hit when the StringTable is walked twice in Parallel Scavenge
Combine the calls to StringTable::unlink and StringTable::oops_do in Parallel Scavenge.

Reviewed-by: pliden, coleenp
2013-05-27 12:58:42 +02:00
Stefan Karlsson
8b7d3c5d3b 8015428: Remove unused CDS support from StringTable
The string in StringTable is not used by CDS anymore. Remove the unnecessary code in preparation for 8015422: Large performance hit when the StringTable is walked twice in Parallel Scavenge

Reviewed-by: pliden, tschatzl, coleenp
2013-05-27 12:56:34 +02:00
Ioi Lam
f9ae3b46de 8014262: PrintStringTableStatistics should include more footprint info
Added info for the string/symbol objects and the hash entries

Reviewed-by: coleenp, rbackman
2013-05-18 20:41:01 -07:00
Harold Seigel
2a692f80bf 8011773: Some tests on Interned String crashed JVM with OOM
Instead of terminating the VM, throw OutOfMemoryError exceptions.

Reviewed-by: coleenp, dholmes
2013-04-29 16:13:57 -04:00
Leonid Mesnik
a4300aa98b 8009763: Add WB test for String.intern()
Add convenience method in StringTable, add WhiteBox method and simple sanity test

Reviewed-by: mgerdin, zgu
2013-04-02 11:28:33 +02:00
Coleen Phillimore
b243475fd2 8009829: CDS: JDK JPRT test fails crash in Symbol::equals()
-Xshare:dump was creating a Symbol in C_heap.  There's an assert there that jdk jprt wasn't hitting because it was only done in product

Reviewed-by: dholmes, hseigel, iklam
2013-03-13 15:15:56 -04:00
Erik Helin
0ed52d16e2 8004661: Comment and function name java_lang_String::toHash is wrong
Renamed to hash_code

Reviewed-by: dholmes, coleenp, brutisso
2012-12-13 10:09:49 +01: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
Coleen Phillimore
559278381b 7181200: JVM new hashing code breaks SA in product mode
Made new_hash() overloaded rather than a virtual function so SA code doesn't need to be changed.

Reviewed-by: kvn, acorn, dholmes, fparain
2012-07-04 15:55:45 -04: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
Coleen Phillimore
dc5fe663cb 7178670: runtime/7158800/BadUtf8.java fails in SymbolTable::rehash_table
Cannot delete _buckets and HashtableEntries in shared space (CDS)

Reviewed-by: acorn, kvn, dlong, dcubed, kamg
2012-06-25 21:33:35 -04:00
Coleen Phillimore
55b09e7016 7158800: Improve storage of symbol tables
Use an alternate version of hashing algorithm for symbol string tables and after a certain bucket size to improve performance

Reviewed-by: pbk, kamg, dlong, kvn, fparain
2012-06-13 19:52:59 -04:00
Coleen Phillimore
1431a5efd1 7150058: Allocate symbols from null boot loader to an arena for NMT
Move symbol allocation to an arena so NMT doesn't have to track them at startup.

Reviewed-by: never, kamg, zgu
2012-03-23 11:16:05 -04:00
Markus Gronlund
007126d010 7115199: Add event tracing hooks and Java Flight Recorder infrastructure
Added a nop tracing infrastructure, JFR makefile changes and other infrastructure used only by JFR.

Reviewed-by: acorn, sspitsyn
2012-01-11 17:34:02 -05:00
Tom Rodriguez
036560e999 7032129: Native memory usage grow unexpectedly for vm/oom/*InternedString tests
Reviewed-by: kvn, kamg, jcoomes
2011-03-31 14:00:41 -07:00
John Coomes
fe899cc10d 6962931: move interned strings out of the perm gen
Reviewed-by: never, coleenp, ysr, jwilhelm
2011-03-22 13:36:33 -07:00
Coleen Phillimore
3471fe3ee4 7024584: Symbol printouts shouldnt be under PrintGCDetails
Put symbol printing under Verbose and WizardMode so you can get this information if you really want it.

Reviewed-by: phh, stefank, never, dholmes, jcoomes
2011-03-07 16:03:28 -05:00
Coleen Phillimore
7b4f8073f0 6990754: Use native memory and reference counting to implement SymbolTable
Move symbols from permgen into C heap and reference count them

Reviewed-by: never, acorn, jmasa, stefank
2011-01-27 16:11:27 -08:00
Stefan Karlsson
8006fe8f75 6989984: Use standard include model for Hospot
Replaced MakeDeps and the includeDB files with more standardized solutions.

Reviewed-by: coleenp, kvn, kamg
2010-11-23 13:22:55 -08:00
Erik Trimble
ba7c173659 6941466: Oracle rebranding changes for Hotspot repositories
Change all the Sun copyrights to Oracle copyright

Reviewed-by: ohair
2010-05-27 19:08:38 -07:00
John R Rose
cfb08c72ba 6814659: separable cleanups and subroutines for 6655638
Preparatory but separable changes for method handles

Reviewed-by: kvn, never
2009-03-20 23:19:36 -07:00
Christian Thalinger
05d1de7727 6810672: Comment typos
I have collected some typos I have found while looking at the code.

Reviewed-by: kvn, never
2009-02-27 13:27:09 -08:00
J. Duke
8153779ad3 Initial load 2007-12-01 00:00:00 +00:00