Code Review for 7032129

Prepared by:never on Thu Mar 31 10:59:18 PDT 2011
Workspace:/net/smite.us.oracle.com/export/ws/merged
Compare against: ssh://hg.openjdk.java.net/jdk7/hotspot-comp-gate/hotspot
Summary of changes: 81 lines changed: 33 ins; 41 del; 7 mod; 6989 unchg
Patch of changes: 7032129.patch
Author comments:
7032129: Native memory usage grow unexpectedly for vm/oom/*InternedString tests
Reviewed-by:

StringTable::verify uses as_unicode_string to verify the hash code we
keep in the table but the only resource mark is outside the loop.
This means that verification makes a copy of the entire StringTable in
a resource area. Now that interned strings aren't in perm the
StringTable can become as large as the Java heap which means
verification can overflow the address space. The fix is to compute
the hash directly from the char[] instead of making a copy. I moved
the hash_string logic into java_lang_String and updated the users
appropriately. Tested with test case that allocates interned strings
until we run out of heap.

Bug id: Bug Database
Legend: Modified file
Deleted file
New file

Cdiffs Udiffs Sdiffs Frames Old New Patch Raw src/share/vm/classfile/symbolTable.hpp

3 lines changed: 0 ins; 2 del; 1 mod; 274 unchg

Cdiffs Udiffs Sdiffs Frames Old New Patch Raw src/share/vm/classfile/symbolTable.cpp

34 lines changed: 0 ins; 30 del; 4 mod; 641 unchg

Cdiffs Udiffs Sdiffs Frames Old New Patch Raw src/share/vm/classfile/javaClasses.hpp

24 lines changed: 24 ins; 0 del; 0 mod; 1290 unchg

Cdiffs Udiffs Sdiffs Frames Old New Patch Raw src/share/vm/classfile/javaClasses.cpp

9 lines changed: 9 ins; 0 del; 0 mod; 3212 unchg

Cdiffs Udiffs Sdiffs Frames Old New Patch Raw src/share/vm/memory/dump.cpp

11 lines changed: 0 ins; 9 del; 2 mod; 1572 unchg

This code review page was prepared using /never/bin/webrev (vers 23.18-hg-never).