101 Commits

Author SHA1 Message Date
Coleen Phillimore
af5c6eefbf 8183039: Re-examine methodHandle methods uninlined by 8144256
Add more const references so out-of-line methodHandle destructor and copy ctor called infrequently

Reviewed-by: hseigel, redestad
2017-07-27 18:06:41 -04:00
Stefan Karlsson
a18f1c2d58 8183552: Move align functions to align.hpp
Reviewed-by: stuefe, pliden
2017-07-05 11:33:17 +02:00
Stefan Karlsson
dbd3b5a79e 8178499: Remove _ptr_ and _size_ infixes from align functions
Reviewed-by: rehn, tschatzl
2017-07-04 15:58:10 +02:00
Stefan Karlsson
0fcf645cff 8178489: Make align functions more type safe and consistent
Reviewed-by: mgerdin, rehn
2017-04-12 17:53:18 +02:00
Jesper Wilhelmsson
d507b8945c Merge 2017-04-18 22:25:33 +02:00
Andrew Haley
7b865d0e66 8170812: Metaspace corruption caused by incorrect memory size for MethodCounters
Reviewed-by: kbarrett, coleenp
2017-04-07 13:42:00 +01:00
Harold Seigel
3af1da4533 8176705: Remove static functions in InstanceKlass
Change static functions to instance functions and remove their 'this_k' parameters.

Reviewed-by: dholmes, mgerdin, iklam
2017-03-21 11:25:18 -04:00
Markus Grönlund
2bc33c2996 8171960: Event-based tracing needs separate flag representation for Method
Reviewed-by: hseigel, gtriantafill, dholmes
2017-01-17 16:18:03 +01:00
Coleen Phillimore
4b9562288f 8155672: Remove instanceKlassHandles and KlassHandles
Use unhandled pointers for Klass and InstanceKlass, remove handles with no implementation.

Reviewed-by: dholmes, lfoltan, vlivanov, sspitsyn
2017-03-15 10:25:37 -04:00
Ioi Lam
f5777dc9bd 8005165: Remove CPU-dependent code in self-patching vtables
Reviewed-by: coleenp, stuefe, jiangli
2017-03-03 23:08:35 -08:00
Bharadwaj Yadavalli
2841c5eb2b 8171008: Integrate AOT compiler into JDK
Co-authored-by: Christian Thalinger <cthalinger@twitter.com>
Co-authored-by: Dean Long <dean.long@oracle.com>
Co-authored-by: Dmitrij Pochepko <dmitrij.pochepko@oracle.com>
Co-authored-by: Dmitry Chuyko <dmitry.chuyko@oracle.com>
Co-authored-by: Doug Simon <doug.simon@oracle.com>
Co-authored-by: Eric Caspole <eric.caspole@oracle.com>
Co-authored-by: Igor Ignatyev <igor.ignatyev@oracle.com>
Co-authored-by: Igor Veresov <igor.veresov@oracle.com>
Co-authored-by: John Rose <john.r.rose@oracle.com>
Co-authored-by: Morris Meyer <morris.meyer@oracle.com>
Co-authored-by: Niclas Adlertz <niclas.adlertz@oracle.com>
Co-authored-by: Rickard Backman <rickard.backman@oracle.com>
Reviewed-by: erikj, mchung, psandoz, coleenp, iklam, stefank, simonis
2016-12-11 19:07:04 -08:00
Nils Eliasson
1134c66f5e 8166377: is_compiled_by_jvmci hot in some profiles - improve nmethod compiler type detection
Refactor code removing virtual call

Reviewed-by: kvn, twisti
2016-10-21 20:12:47 +02:00
Tobias Hartmann
4bb6761600 8153134: Infinite loop in handle_wrong_method in jmod
Use Patching_lock to synchronize access between set_code() and clear_code().

Reviewed-by: kvn, dlong
2016-10-18 09:43:12 +02:00
David Holmes
d1856645bc 8081800: AbstractMethodError when evaluating a private method in an interface via debugger
Reviewed-by: acorn, dcubed, coleenp
2016-10-03 21:48:21 -04:00
Jiangli Zhou
bd07a43e61 8153312: Constrain AppCDS behavior
Reviewed-by: iklam, acorn, mschoene
2016-04-20 16:39:37 -04:00
Vladimir Kozlov
634a7fdebc Merge 2016-06-24 15:09:00 -07:00
Zoltan Majo
cdc436922a 8157181: Compilers accept modification of final fields outside initializer methods
Track initialized final field updates; disable constant folding if an update is detected. Enforce final field update rules introduced by JVMS-7 (but only for JDK 9).

Reviewed-by: vlivanov, dnsimon, forax, never, kvn, coleenp
2016-06-15 14:27:58 +02:00
Rachel Protacio
e956abefe6 8153858: Clean up needed when obtaining the package name from a fully qualified class name
Consolidated and refactored code parsing fully qualified names. Includes gtest.

Reviewed-by: dholmes, coleenp
2016-06-07 11:39:47 -04:00
Vladimir Ivanov
72747f47fd Merge 2016-04-29 02:13:40 +03:00
Rickard Bäckman
b853eb7f5c 8151956: Support non-continuous CodeBlobs in HotSpot
Reviewed-by: iveresov, thartmann, simonis
2016-04-26 10:28:51 +02:00
Alejandro Murillo
f9426642c6 Merge 2016-04-22 01:04:00 -07:00
Chris Plummer
7cd3700010 8148195: Some InstanceKlass and MethodCounters fields can be excluded when JVMTI is not supported
Removed "previous version", "cached class file",  and breakpoint related fields and code when JVMTI is not supported

Reviewed-by: coleenp, sspitsyn
2016-04-21 20:49:11 -07:00
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
46cb32012a 8146518: Zero interpreter broken with better byte behaviours
Replaced Method::_result_type_index with Method::_result_type for better byte behaviours should be used for Zero also.

Reviewed-by: roland, kvn, bdelsart, kevinw
2016-01-07 13:59:49 -05: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