62 Commits

Author SHA1 Message Date
Thomas Schatzl
c775f6f58b 8180048: Interned string and symbol table leak memory during parallel unlinking
Make appending found dead BasicHashtableEntrys to the free list atomic.

Reviewed-by: ehelin, shade, coleenp
2017-05-15 12:20:15 +02:00
Kirill Zhaldybin
616083ca76 8165439: Convert Test_TempNewSymbol to GTest
Reviewed-by: dholmes, coleenp
2016-09-05 20:31:03 +03:00
David Holmes
5f1f4489ac 8157907: Incorrect inclusion of atomic.hpp instead of atomic.inline.hpp
Remove atomic.inline.hpp and move the contents back into atomic.hpp

Reviewed-by: stefank, pliden, simonis
2016-08-21 20:56:37 -04:00
Ioi Lam
2a09a3923a 8150752: Share Class Data
Reviewed-by: acorn, hseigel, mschoene
2016-04-06 21:53:44 -07:00
Ioi Lam
6526d15d6e 8150607: Clean up CompactHashtable
Refactored code, and added test cases for serviceability agent

Reviewed-by: jiangli, ccheung
2016-04-17 19:15:52 -07:00
Joseph Provino
5cef85023b 8132524: Missing includes to resourceArea.hpp
Files that use ResourceMark are missing the include of resourceArea.hpp

Reviewed-by: tschatzl, jwilhelm
2016-04-04 12:57:48 -04:00
Ioi Lam
ae4cc4b56a 8152380: Shared symbol table should never use alternate hashcode
Reviewed-by: coleenp, jiangli
2016-03-23 09:00:22 -07:00
Coleen Phillimore
97e169ac77 8145628: hotspot metadata classes shouldn't use HeapWordSize or heap related macros like align_object_size
Use align_metadata_size, align_metadata_offset and is_metadata_aligned for metadata rather than align_object_size, etc.  Use wordSize rather than HeapWordSize for metadata.  Use align_ptr_up rather than align_pointer_up (all the related functions are ptr).

Reviewed-by: hseigel, jmasa, cjplummer
2016-01-30 11:02:29 -05:00
Coleen Phillimore
f93feda308 8145940: TempNewSymbol should have correct copy and assignment functions
Add clear() to the assignment operator and add copy constructor.

Reviewed-by: mgronlun, lfoltan, kbarrett, jrose
2016-01-14 15:45:31 -05:00
David Lindholm
ad0c208a5a 8146690: Make all classes in GC follow the naming convention
Reviewed-by: dholmes, stefank
2016-01-14 13:26:19 +01:00
Ioi Lam
e708f69e1f 8143615: compactHashtable.hpp includes .inline.hpp file
Reviewed-by: dholmes, stefank
2015-12-02 18:14:54 -08:00
Bengt Rutisson
8af1d18e78 8143255: Remove debug logging from SymbolTable::unlink() and SymbolTable::possibly_parallel_unlink()
Reviewed-by: coleenp, tschatzl
2015-11-19 16:14:45 +01:00
Nils Eliasson
3307d0f163 Merge 2015-11-06 11:34:03 +01:00
Tobias Hartmann
7af927f9c1 8141132: JEP 254: Compact Strings
Adopt a more space-efficient internal representation for strings.

Co-authored-by: Brent Christian <brent.christian@oracle.com>
Co-authored-by: Vivek Deshpande <vivek.r.deshpande@intel.com>
Co-authored-by: Charlie Hunt <charlie.hunt@oracle.com>
Co-authored-by: Vladimir Kozlov <vladimir.kozlov@oracle.com>
Co-authored-by: Roger Riggs <roger.riggs@oracle.com>
Co-authored-by: Xueming Shen <xueming.shen@oracle.com>
Co-authored-by: Aleksey Shipilev <aleksey.shipilev@oracle.com>
Co-authored-by: Sandhya Viswanathan <sandhya.viswanathan@intel.com>
Reviewed-by: alanb, bdelsart, coleenp, iklam, jiangli, jrose, kevinw, naoto, pliden, roland, smarks, twisti
2015-11-03 09:41:03 +01:00
Coleen Phillimore
f1e89ea4cc 8140274: methodHandles and constantPoolHandles should be passed as const references
Modified code to use const reference parameters

Reviewed-by: sspitsyn, twisti
2015-10-23 16:48:38 -04:00
David Lindholm
5770f4eb32 8042893: compiler: PRAGMA_FORMAT_MUTE_WARNINGS_FOR_GCC needs to be removed from source files
8042894: runtime: PRAGMA_FORMAT_MUTE_WARNINGS_FOR_GCC needs to be removed from source files

Reviewed-by: goetz, brutisso
2015-10-09 09:42:33 +02:00
Yumin Qi
6384ca7b1f 8025692: Log what methods are touched at run-time
Added two diagnostic flags, LogTouchedMethods and PrintTouchedMethodsAtExit to list all methods that have been touched at run time. Added new jcmd, VM.print_touched_methods.

Reviewed-by: acorn, iklam
2015-07-15 12:24:41 -07:00
Jiangli Zhou
edcd4cb94b 8015086: add interned strings to the shared archive
Support saving interned strings in shared CDS archive.

Reviewed-by: coleenp, iklam, pliden
2015-06-12 17:29:14 -04:00
Per Lidén
4dc240f785 8079792: GC directory structure cleanup
Reviewed-by: brutisso, stefank, david
2015-05-13 15:16:06 +02:00
Stefan Karlsson
4913ad5d7d 8072911: Remove includes of oop.inline.hpp from .hpp files
Reviewed-by: brutisso, coleenp, jwilhelm, simonis, dholmes
2015-02-13 14:37:35 +01:00
Jiangli Zhou
f3c99841f9 8067982: Some jcmd /gc/heap_dump tests failed: hprof output contains warning or error
Include shared symbols in SymbolTable::symbols_do(SymbolClosure).

Reviewed-by: minqi, farvidsson, coleenp
2015-01-14 16:35:00 -05:00
Jiangli Zhou
b0ad035af4 8059510: Compact symbol table layout inside shared archive
Use separate compact table for shared symbols.

Reviewed-by: iklam, gziemski, shade, sla, jrose
2014-12-17 23:34:52 -05:00
Stefan Karlsson
692dbfd02d 8062808: Turn on the -Wreturn-type warning
Reviewed-by: mgerdin, tschatzl, coleenp, jrose, kbarrett
2014-11-12 13:55:59 +01:00
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