91 Commits

Author SHA1 Message Date
Keith McGuigan
6563cda42b 7200776: Implement default methods in interfaces
Add generic type analysis and default method selection algorithms

Reviewed-by: coleenp, acorn
2012-10-11 12:25:42 -04:00
Coleen Phillimore
5f4a2405a7 Merge 2012-10-15 22:33:19 -04:00
Vladimir Kozlov
5f132a5ec3 Merge 2012-10-12 09:22:52 -07:00
Christian Thalinger
222b2457ed 8000740: remove LinkWellKnownClasses
Reviewed-by: kvn, jrose
2012-10-11 14:46:20 -07:00
Keith McGuigan
04a9a14193 7054345: Support version 52.0 class file in HotSpot
Accept classfiles with major version 52

Reviewed-by: coleenp, acorn
2012-10-11 14:27:54 -04:00
Roland Westrelin
61eb5a0549 7054512: Compress class pointers after perm gen removal
Support of compress class pointers in the compilers.

Reviewed-by: kvn, twisti
2012-10-09 10:11:38 +02:00
Coleen Phillimore
28047d6a0f 8000213: NPG: Should have renamed arrayKlass and typeArrayKlass
Capitalize these metadata types (and objArrayKlass)

Reviewed-by: stefank, twisti, kvn
2012-09-29 06:40:00 -04:00
Coleen Phillimore
12b9a4edbb 7195833: NPG: Rename instanceClassLoaderKlass, instanceRefKlass and instanceMirrorKlass
Simple renaming to be consistent with instanceKlass->InstanceKlass renaming

Reviewed-by: stefank, jmasa
2012-09-07 12:04:16 -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
Christian Thalinger
12901d0e5b 7023639: JSR 292 method handle invocation needs a fast path for compiled code
6984705: JSR 292 method handle creation should not go through JNI

Remove assembly code for JDK 7 chained method handles

Co-authored-by: John Rose <john.r.rose@oracle.com>
Co-authored-by: Michael Haupt <michael.haupt@oracle.com>
Reviewed-by: jrose, twisti, kvn, mhaupt
2012-07-24 10:51:00 -07:00
Vladimir Kozlov
4b6b0ec3c4 Merge 2012-07-17 11:16:13 -07:00
Vladimir Kozlov
310ad38a4b Merge 2012-07-16 19:50:52 -07:00
Jiangli Zhou
7b82f72ba9 Merge 2012-07-13 20:14:27 -04:00
Michael Haupt
e0cf9c652d 6711908: JVM needs direct access to some annotations
Add annotation extraction code to class file parser.

Reviewed-by: twisti, jrose, kvn
2012-07-12 00:39:53 -07:00
Frederic Parain
13c689d9c3 6294277: java -Xdebug crashes on SourceDebugExtension attribute larger than 64K
Reviewed-by: sspitsyn, dholmes, coleenp, kamg
2012-07-09 01:28:37 -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
Jiangli Zhou
56df3bd48d 7178145: Change constMethodOop::_exception_table to optionally inlined u2 table
Change constMethodOop::_exception_table to optionally inlined u2 table.

Reviewed-by: bdelsart, coleenp, kamg
2012-06-26 19:08:44 -04:00
Jiangli Zhou
31e63d5a3a 7168280: Eliminate the generic signature index slot from field array for field without generic signature
Only allocate the generic signature index slot in the field array for field with generic signature attribute.

Reviewed-by: coleenp, dlong
2012-05-21 14:10:35 -04:00
Jiangli Zhou
2fa131f8db 7158552: The instanceKlsss::_host_klass is only needed for anonymous class for JSR 292 support
Change the _host_klass to be conditionally created embedded instanceKlass field.

Reviewed-by: jrose, coleenp, dholmes
2012-05-02 13:21:36 -04:00
Bob Vandette
4d6f8e3d34 Merge 2012-04-10 13:27:09 -04:00
Karen Kinnear
69a42aedf9 Merge 2012-04-01 17:04:26 -04:00
Jiangli Zhou
4a02eb3afe 7154670: The instanceKlass _implementors[] and _nof_implementors are not needed for non-interface klass
Change implementor to embedded instanceKlass field.

Reviewed-by: sspitsyn, minqi, coleenp
2012-03-29 22:18:56 -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
Jiangli Zhou
b9e6895d3a 7109878: The instanceKlass EnclosingMethhod attribute fields can be folded into the _inner_class field
Fold instanceKlass::_enclosing_method_class_index and instanceKlass::_enclosing_method_method_index into the instanceKlass::_inner_classes array.

Reviewed-by: never, coleenp
2012-03-13 13:50:48 -04:00
Daniel D. Daugherty
74c45d049e Merge 2012-01-06 16:18:29 -08:00
Daniel D. Daugherty
743a35d2dc 7127032: fix for 7122253 adds a JvmtiThreadState earlier than necessary
Use JavaThread::jvmti_thread_state() instead of JvmtiThreadState::state_for().

Reviewed-by: coleenp, poonam, acorn
2012-01-05 06:24:52 -08:00
Jiangli Zhou
e6157688b4 Merge 2012-01-04 12:36:07 -05:00
Jiangli Zhou
0671e90755 7123315: instanceKlass::_static_oop_field_count and instanceKlass::_java_fields_count should be u2 type
Change instanceKlass::_static_oop_field_count and instanceKlass::_java_fields_count to u2 type.

Reviewed-by: never, bdelsart, dholmes
2011-12-28 12:15:57 -05:00
Daniel D. Daugherty
c210a09fdf 7122253: Instrumentation.retransformClasses() leaks class bytes
Change ClassFileParser::parseClassFile() to use the instanceKlass:_cached_class_file_bytes field to avoid leaking the cache.

Reviewed-by: coleenp, acorn, poonam
2011-12-22 12:50:42 -08:00
Tom Rodriguez
e39ba1a5fe 7086585: make Java field injection more flexible
Reviewed-by: jrose, twisti, kvn, coleenp
2011-09-10 17:29:02 -07:00
Krystal Mok
976fd97ddf 7058036: FieldsAllocationStyle=2 does not work in 32-bit VM
ParseClassFile() incorrectly uses nonstatic_oop_map_size() method instead of nonstatic_oop_map_count().

Reviewed-by: never
2011-06-28 14:30:27 -07:00
Coleen Phillimore
8acea1848a 7032407: Crash in LinkResolver::runtime_resolve_virtual_method()
Make CDS reorder vtables so that dump time vtables match run time order, so when redefine classes reinitializes them, they aren't in the wrong order.

Reviewed-by: dcubed, acorn
2011-04-15 09:36:28 -04:00
John R Rose
b95f04efbf 7012087: JSR 292 Misleading exception message for a non-bound MH for a virtual method
Improve error message formatting to give more information to user.  Also, catch a corner case related to 6930553 and 6844449.

Reviewed-by: kvn
2011-04-07 17:12:21 -07:00
John R Rose
16784a72e8 6981791: remove experimental code for JSR 292
Reviewed-by: twisti
2011-04-07 17:02:30 -07:00
Christian Thalinger
c9e2dcda4b 6817525: turn on method handle functionality by default for JSR 292
After appropriate testing, we need to turn on EnableMethodHandles and EnableInvokeDynamic by default.

Reviewed-by: never, kvn, jrose, phh
2011-03-31 02:31:57 -07:00
Tom Rodriguez
6e8a263a06 7017732: move static fields into Class to prepare for perm gen removal
Reviewed-by: kvn, coleenp, twisti, stefank
2011-03-18 16:00:34 -07:00
John R Rose
f6344076f2 7012648: move JSR 292 to package java.lang.invoke and adjust names
Package and class renaming only; delete unused methods and classes

Reviewed-by: twisti
2011-03-11 22:34:57 -08:00
John R Rose
6146dffe45 6839872: remove implementation inheritance from JSR 292 APIs
Consolidate runtime support in java.dyn.MethodHandleNatives; include transitional compatibility logic

Reviewed-by: twisti
2011-03-11 22:33:47 -08:00
Keith McGuigan
fac0855180 6845426: non-static <clinit> method with no args is called during the class initialization process
Only call <clinit> with ACC_STATIC for classfiles with version > 50

Reviewed-by: acorn, dholmes, coleenp
2011-03-04 14:40:46 -05:00
Y. Srinivas Ramakrishna
7eccb460db 6912621: iCMS: Error: assert(_markBitMap.isMarked(addr + 1),"Missing Printezis bit?")
Fix block_size_if_printezis_bits() so it does not expect the bits, only uses them when available. Fix block_size_no_stall() so it does not stall when the bits are missing such cases, letting the caller deal with zero size returns. Constant pool cache oops do not need to be unparsable or conc_unsafe after their klass pointer is installed. Some cosmetic clean-ups and some assertion checking for conc-usafety which, in the presence of class file redefinition, has no a-priori time boundedness, so all GCs must be able to safely deal with putatively conc-unsafe objects in a stop-world pause.

Reviewed-by: jmasa, johnc
2011-02-07 22:19:57 -08: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
Christian Thalinger
e970ef6182 7008165: Garbage in ClassFormatError message
When bootstrap_method_ref in BootstrapMethods attribute points to a wrong CP entry (non-MethodHandle), JVM throws ClassFormatError with a message, where method index and class file name is garbage.

Reviewed-by: iveresov
2010-12-21 04:37:30 -08:00
John R Rose
cc7c58e166 7001379: bootstrap method data needs to be moved from constant pool to a classfile attribute
Reviewed-by: twisti
2010-12-03 15:53:57 -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
Igor Veresov
39ef076af4 Merge 2010-11-08 14:33:48 -08:00
John R Rose
ce0125e7f2 6984311: JSR 292 needs optional bootstrap method parameters
Allow CONSTANT_InvokeDynamic nodes to have any number of extra operands.

Reviewed-by: twisti
2010-10-30 13:08:23 -07:00
Christian Thalinger
336fbd6d7f 6994630: java/lang/instrument/IsModifiableClassAgent.java fails with -XX:+EnableInvokeDynamic
The logic of ClassFileParser::java_dyn_MethodHandle_fix_pre needs to take care of an already changed vmentry signature.

Reviewed-by: never, jrose
2010-10-28 00:48:18 -07:00
Keith McGuigan
e36f1e36eb 6891959: HotSpot should not throw ClassFormatError if a class has a field with '>' and/or '<' in its name
Class file parser needs to look for and disallow '[' in names.

Reviewed-by: coleenp, never
2010-10-26 14:08:49 -04:00
Christian Thalinger
e870866699 6991065: missed a review comment in 6829194
Reviewed-by: kvn
2010-10-12 02:21:06 -07:00
Christian Thalinger
0e4ed251b8 6829194: JSR 292 needs to support compressed oops
Reviewed-by: kvn, jrose
2010-10-11 04:18:58 -07:00