Commit graph

73 commits

Author SHA1 Message Date
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
Vladimir Kozlov
5bed80aab9 6973963: SEGV in ciBlock::start_bci() with EA
Added more checks into ResourceObj and growableArray to verify correctness of allocation type.

Reviewed-by: never, coleenp, dholmes
2010-08-03 15:55:03 -07:00
John R Rose
a4e4149340 6964498: JSR 292 invokedynamic sites need local bootstrap methods
Add JVM_CONSTANT_InvokeDynamic records to constant pool to determine per-instruction BSMs.

Reviewed-by: twisti
2010-07-15 18:40:45 -07:00
John R Rose
998865b735 Merge 2010-06-15 15:57:36 -07:00
John R Rose
1f4cfb029b 6939203: JSR 292 needs method handle constants
Add new CP types CONSTANT_MethodHandle, CONSTANT_MethodType; extend 'ldc' bytecode.

Reviewed-by: twisti, never
2010-06-09 18:50:45 -07:00
Coleen Phillimore
d64aeff387 Merge 2010-06-04 17:44:51 -04: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
Keith McGuigan
211a79fc65 6930553: classfile format checker allows invalid method descriptor in CONSTANT_NameAndType_info in some cases
Check NameAndType_info signatures aggressively, even when unreferenced

Reviewed-by: coleenp, acorn, never
2010-05-27 17:06:39 -04:00
John R Rose
71599d89d4 Merge 2010-05-11 15:19:19 -07:00
John R Rose
4eb75c2df3 6939134: JSR 292 adjustments to method handle invocation
Split MethodHandle.invoke into invokeExact and invokeGeneric; also clean up JVM-to-Java interfaces

Reviewed-by: twisti
2010-05-01 02:42:18 -07:00
John Coomes
99196ff9ca 6888954: argument formatting for assert() and friends
Reviewed-by: kvn, twisti, apetrusenko, never, dcubed
2010-04-22 13:23:15 -07:00
Vladimir Kozlov
629d139cac 6940733: allocate non static oop fields in super and sub classes together
Use FieldsAllocationStyle=2 to allocate non static oop fields in super and sub classes together

Reviewed-by: twisti
2010-04-07 10:35:56 -07:00
Igor Veresov
5bec0d60ab Merge 2010-01-06 22:21:39 -08:00
Tom Rodriguez
98449cf2c2 6914300: ciEnv should export all well known classes
Reviewed-by: kvn, twisti
2010-01-06 14:22:39 -08:00
Christian Thalinger
47f2433a58 6893268: additional dynamic language related optimizations in C2
C2 needs some additional optimizations to be able to handle MethodHandle invokes and invokedynamic instructions at the best performance.

Reviewed-by: kvn, never
2010-01-05 15:21:25 +01:00
Erik Trimble
4909043745 Merge 2009-12-23 03:12:16 -08:00
Xiaobin Lu
ad61b86753 6899467: System property java.class.version out-of-sync with VM for jdk 5.0 with HS 16 in nightly build
Reviewed-by: kvn, never, dholmes, ysr
2009-12-16 13:16:08 -08:00
Christian Thalinger
fae9c37803 6829192: JSR 292 needs to support 64-bit x86
Changes for method handles and invokedynamic

Reviewed-by: kvn
2009-12-16 12:48:04 +01:00
Daniel D. Daugherty
2a4f284029 6419370: 4/4 new jmethodID code has tiny holes in synchronization
Fix races in jmethodID cache and JNI itable index cache.

Reviewed-by: ikrylov, acorn
2009-09-21 09:30:24 -06:00