78 Commits

Author SHA1 Message Date
Jesper Wilhelmsson
2497c61bc6 Merge 2016-04-11 20:16:35 +02:00
Calvin Cheung
28edd79d64 8145221: Use trampolines for i2i and i2c entries in Methods that are stored in CDS archive
This optimization reduces the size of the RW region of the CDS archive. It also reduces the amount of pages in the RW region that are actually written into during runtime.

Co-authored-by: Ioi Lam <ioi.lam@oracle.com>
Co-authored-by: Goetz Lindenmaier <goetz.lindenmaier@sap.com>
Reviewed-by: dlong, iklam, jiangli
2016-04-07 22:03:04 -07:00
Chris Plummer
fbe049838a 8148639: Some MethodCounter fields can be excluded when not including C2
Removed _interpreter_invocation_count and _interpreter_throwout_count fields for C1

Reviewed-by: kvn, coleenp
2016-03-30 09:52:02 -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
Jesper Wilhelmsson
54d0181916 Merge 2016-01-14 17:36:29 +01:00
Rachel Protacio
6dac872d4d 8141564: Convert TraceItables and PrintVtables to Unified Logging
The former -XX:+TraceItables and +PrintVtables flags have been converted to UL options -Xlog:itables=trace and vtables=trace

Reviewed-by: acorn, coleenp, dholmes
2016-01-07 13:53:20 -05:00
Christian Thalinger
9e981ee107 Merge 2015-12-18 12:39:02 -08:00
Frederic Parain
ef800bd53f 8046936: JEP 270: Reserved Stack Areas for Critical Sections
Reviewed-by: acorn, dcubed
2015-12-11 09:07:07 -08:00
Christian Thalinger
bf5db72254 8134994: use separate VMStructs databases for SA and JVMCI
Reviewed-by: kbarrett
2015-12-14 17:02:02 -10:00
Markus Grönlund
2ad9d3192f 8140485: Class load and creation cleanup
Reviewed-by: hseigel, coleenp, sspitsyn
2015-12-08 20:04:03 +01:00
Nils Eliasson
2f9e32256d Merge 2015-11-13 13:31:48 +01:00
Aleksey Shipilev
ac09d8a135 8140650: Method::is_accessor should cover getters and setters for all types
Reviewed-by: vlivanov, coleenp, sgehwolf
2015-11-11 01:27:36 +03:00
Joseph Provino
db5f26110b Merge 2015-10-20 11:17:19 -04:00
Yumin Qi
93d709dc4b 8135284: Remove Method::_method_size field
Remove Method::_method_size to improve memory footprint after JDK-8135085,which increased 4 bytes for 32 platform. Also removed related unused code in SA.

Reviewed-by: coleenp, hseigel
2015-10-14 08:12:33 -07: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
Christian Thalinger
16526e000e 8136421: JEP 243: Java-Level JVM Compiler Interface
Reviewed-by: ihse, alanb, roland, coleenp, iveresov, kvn, kbarrett
2015-10-08 12:49:30 -10:00
Aleksey Shipilev
bbc043a7f2 8135085: Change Method::_intrinsic_id from u1 to u2
Convert Method::_intrinsic_id from u1 to u2 to expand id range over 255.

Reviewed-by: coleenp, iklam, jiangli
2015-09-18 13:41:11 -07: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
Zoltan Majo
9245cdc214 8076112: Add @HotSpotIntrinsicCandidate annotation to indicate methods for which Java Runtime has intrinsics
Annotate possibly intrinsified methods with @HotSpotIntrinsicCandidate. Add checks omitted by intrinsics to the library code. Add CheckIntrinsics flags to check consistency of intrinsics.

Reviewed-by: jrose, kvn, thartmann, vlivanov, abuckley, darcy, ascarpino, briangoetz, alanb, aph, dnsimon
2015-07-03 07:25:03 +02:00
Vladimir Ivanov
90a42c2491 8074551: GWT can be marked non-compilable due to deopt count pollution
Reviewed-by: kvn
2015-06-11 14:19:40 +03:00
Serguei Spitsyn
942d1f7f32 8046246: the constantPoolCacheOopDesc::adjust_method_entries() used in RedefineClasses does not scale
Optimize the adjust_method_entries functions by using the orig_method_idnum() function

Reviewed-by: coleenp, dcubed
2015-02-25 00:30:54 -08:00
Tobias Hartmann
00aa20db4a 8056071: compiler/whitebox/IsMethodCompilableTest.java fails with 'method() is not compilable after 3 iterations'
Always use MDO if valid and always compile trivial methods with C1 if available.

Reviewed-by: kvn, iveresov
2014-11-11 11:05:41 +01:00
Jeremy Manson
54e9fee4d2 8062116: JVMTI GetClassMethods is Slow
Allocate enough space for all jmethodids; make adding a jmethodid O(1)

Reviewed-by: coleenp, rasbold, sspitsyn
2014-11-05 16:47:37 -08:00
Tobias Hartmann
fe1762fbd6 8061817: Whitebox.deoptimizeMethod() does not deoptimize all OSR versions of method
Fixed Whitebox.deoptimizeMethod() to deoptimize all OSR versions of the method.

Reviewed-by: kvn, iignatyev
2014-10-30 13:03:30 +01:00
Igor Veresov
ad7e67c98f 8058564: Tiered compilation performance drop in PIT
Ensure MethodCounters are created before method is enqueued for compilation

Reviewed-by: kvn, drchase, jiangli
2014-09-17 21:15:03 -07:00
Coleen Phillimore
3c70d99eda 8055008: Clean up code that saves the previous versions of redefined classes
Use scratch_class to find EMCP methods for breakpoints if the old methods are still running.

Reviewed-by: dcubed, sspitsyn
2014-09-03 19:13:18 -04:00
Coleen Phillimore
d230f0b4fd 8051398: jvmti tests fieldacc002, fieldmod002 fail in nightly with errors: (watch#0) wrong location
Didn't handle NULL bcp for native methods

Reviewed-by: dcubed, sspitsyn
2014-07-31 00:50:55 +00:00
Coleen Phillimore
3f0a945468 8004128: NPG: remove stackwalking in Threads::gc_prologue and gc_epilogue code
Remove bcx and mdx handling.  We no longer have to convert bytecode pointers to indices for GC since Methods aren't moved.

Reviewed-by: mgerdin, kvn
2014-07-17 15:45:46 -04:00
Coleen Phillimore
024bb79ec8 Merge 2014-05-17 19:34:38 -04:00
Serguei Spitsyn
7f2b064e43 8042796: jvmtiRedefineClasses.cpp: guarantee(false) failed: OLD and/or OBSOLETE method(s) found
Relax the guaranty for deleted methods

Reviewed-by: dcubed, coleenp
2014-05-16 15:05:44 -07:00
Coleen Phillimore
c336175c94 8038212: Method::is_valid_method() check has performance regression impact for stackwalking
Only prune metaspace virtual spaces at safepoint so walking them is safe outside a safepoint.

Reviewed-by: mgerdin, mgronlun, hseigel, stefank
2014-05-15 18:23:26 -04:00
Tobias Hartmann
06c26b6f97 8036956: remove EnableInvokeDynamic flag
The EnableInvokeDynamic flag and all support code is removed because it is not longer used in JDK 9.

Reviewed-by: kvn, twisti
2014-04-29 08:08:44 +02:00
Coleen Phillimore
c8990959f2 8028497: SIGSEGV at ClassLoaderData::oops_do(OopClosure*, KlassClosure*, bool)
Keep class in CLD::_klasses list and mirror created for CDS classes if OOM during restore_shareable_info(). This keeps pointers consistent for CMS.

Reviewed-by: ehelin, stefank, jmasa, iklam
2014-04-08 13:58:38 -04:00
Bharadwaj Yadavalli
a12d6f7a1e Merge 2014-04-03 17:05:19 -04:00
Roland Westrelin
b21d142f01 8037970: make PrintMethodData a diagnostic options
Make PrintMethodData a diagnostic options for performance investigation

Reviewed-by: kvn, iveresov
2014-03-31 10:35:06 +02:00
Coleen Phillimore
472622d900 8031820: NPG: Fix remaining references to metadata as oops in comments
8012125: Comments for ConstantPoolCache should reflect the addition of resolved_references in ConstantPool

Updated comments in metadata header files, and renamed this_oop variables to this_cp or this_k when referring to constant pool or classes.

Reviewed-by: stefank, jmasa
2014-03-26 21:47:45 -04:00
Vladimir Ivanov
38d80b03c4 8023461: Thread holding lock at safepoint that vm can block on: MethodCompileQueue_lock
Reviewed-by: kvn, iveresov
2014-03-11 15:06:34 +04:00
Igor Veresov
54db2c2d61 8032463: VirtualDispatch test timeout with DeoptimizeALot
Introduce code aging for warm method detection

Reviewed-by: kvn, twisti
2014-05-13 11:32:10 -07:00
Christian Thalinger
1a1f9f0871 8037043: put Method flag bits in predictable positions
Reviewed-by: kvn, coleenp
2014-03-11 14:54:47 -07:00
Vladimir Kozlov
5117e1a805 Merge 2014-02-19 12:08:49 -08:00
Jesper Wilhelmsson
81ba2e32c0 8025856: Fix typos in the GC code
Fix about 440 typos in comments in the VM code

Reviewed-by: mgerdin, tschatzl, coleenp, kmo, jcoomes
2014-01-23 14:47:23 +01:00
Goetz Lindenmaier
46c4ef6572 8029396: PPC64 (part 212): Several memory ordering fixes in C-code
Memory ordering fixes in GC and other runtime code showing on PPC64.

Reviewed-by: kvn, coleenp
2013-12-02 10:26:14 +01:00
Igor Veresov
db9a439624 Merge 2013-10-13 13:22:24 -07:00
Karen Kinnear
088ded71f9 8009130: Lambda: Fix access controls, loader constraints
New default methods list with inherited superinterface methods

Reviewed-by: minqi, sspitsyn, coleenp
2013-10-07 12:20:28 -04:00
Christian Thalinger
619948a8f1 8025566: EXCEPTION_ACCESS_VIOLATION in compiled by C1 String.valueOf method
Reviewed-by: kvn
2013-10-07 10:41:56 -07:00
David Chase
222c735458 8014013: CallInfo structure no longer accurately reports the result of a LinkResolver operation
Enhance method resolution and resulting data structures, plus some refactoring.

Reviewed-by: twisti, acorn, jrose
2013-09-13 22:38:02 -04:00
Vladimir Ivanov
a92cdcd010 8023976: assert(!CompilationPolicy::can_be_compiled(this, comp_level)) failed: sanity check
Reviewed-by: kvn, twisti
2013-08-29 22:44:19 +04:00
Roland Westrelin
6ae26f2e94 8010460: Interpreter on some platforms loads ConstMethod::_max_stack and misses extra stack slots for JSR 292
ConstMethod::max_stack() doesn't account for JSR 292 appendix.

Reviewed-by: kvn
2013-04-24 11:49:38 +02:00
Yumin Qi
9a1cd52a0f Merge 2013-05-13 18:08:13 +00:00
Yumin Qi
c6aa9c656f 8003557: NPG: Klass* const k should be const Klass* k
With NPG, const KlassOop klass which is in fact a definition converted to Klass* const, which is not the original intention. The right usage is converting them to const Klass*.

Reviewed-by: coleenp, kvn
2013-05-10 08:27:30 -07:00