421 Commits

Author SHA1 Message Date
Erik Österlund
f869706f5f 8224815: Remove non-GC uses of CollectedHeap::is_in_reserved()
Reviewed-by: stefank, coleenp
2019-09-05 08:26:49 +02:00
Xin Liu
0a92dc786d 8229450: C2 compilation fails with assert(found_sfpt) failed
Reviewed-by: roland, thartmann
2019-09-04 16:39:12 +02:00
Martin Doerr
b0e727124f 8230434: [C1, C2] Release barrier for volatile field stores in constructors implemented inconsistently
Reviewed-by: shade, lucy
2019-09-04 14:21:54 +02:00
Vladimir Ivanov
4dc79c2e05 8227236: assert(singleton != __null && singleton != declared_interface) failed
Reviewed-by: dlong
2019-09-03 17:45:02 +03:00
Stefan Karlsson
3149ed4993 8230203: Replace markWord enums with typed constants
Reviewed-by: kbarrett, dholmes
2019-08-30 09:06:46 +02:00
Jie Fu
647e4d7557 8230037: Confused MetaData dumped by PrintOptoAssembly
Reviewed-by: kvn, bsrbnd
2019-08-30 00:03:10 +02:00
Stefan Karlsson
a3d6be2b2d 8229838: Rename markOop files to markWord
Reviewed-by: dholmes, rehn
2019-08-19 11:30:03 +02:00
Andrew Dinn
047b8bfeb7 8224974: Implement JEP 352
Non-Volatile Mapped Byte Buffers

Reviewed-by: alanb, kvn, bpb, gromero, darcy, shade, bulasevich, dchuyko
2019-08-20 10:11:53 +01:00
Tobias Hartmann
672fa8b97a 8228888: C2 compilation fails with assert "m has strange control"
Weakened too strong assert.

Reviewed-by: kvn, roland
2019-08-20 07:47:13 +02:00
Shravya Rukmannagari
793585b494 8225625: AES Electronic Codebook (ECB) encryption and decryption optimization using AVX512 + VAES instructions
AES-ECB encryption and decryption optimization for x86_64 architectures supporting AVX3+VAES

Co-authored-by: Smita Kamath <smita.kamath@intel.com>
Reviewed-by: kvn, valeriep
2019-08-16 14:42:50 -07:00
Stefan Karlsson
ae5615c614 8229258: Rework markOop and markOopDesc into a simpler mark word value carrier
Reviewed-by: rkennke, coleenp, kbarrett, dcubed
2019-08-06 10:48:21 +02:00
Tobias Hartmann
da43cb5e46 8224957: C2 compilation fails with assert: Bad graph detected in build_loop_late
Disable walking up the dominator chain for regions with more than 2 input paths.

Reviewed-by: roland, kvn
2019-08-13 09:56:13 +02:00
Tobias Hartmann
f1763a5e86 8228772: C2 compilation fails due to unschedulable graph if DominatorSearchLimit is reached
Ignore membar if the load is already control dependent on it.

Reviewed-by: neliasso, kvn
2019-08-13 09:54:40 +02:00
Jesper Wilhelmsson
c11080efd9 Merge 2019-08-09 03:51:20 +02:00
Tobias Hartmann
976a5c6166 8229219: C2 compilation fails with assert: Bad graph detected in build_loop_late
Backed out JDK-8173196.

Reviewed-by: shade, rbackman
2019-08-08 07:05:17 +02:00
Tobias Hartmann
ac2ea95788 8229016: C2 scalarization crashes with assert(node->Opcode() == Op_CastP2X) failed: ConvP2XNode required
Detect array copy to self to avoid emitting another load to the to-be-removed allocation.

Reviewed-by: kvn
2019-08-07 12:09:55 +02:00
Christian Hagedorn
a3c85f810c 6394013: C2: Remove VerifyOpto
Removed the VerifyOpto flag.

Reviewed-by: kvn, thartmann
2019-08-05 08:03:25 +02:00
Mikael Vidstedt
ce4c42b376 Merge 2019-08-01 09:23:21 -07:00
Coleen Phillimore
ab9aab646b 8228630: Remove always true parameter to NoSafepointVerifier
Also remove NoGCVerifier since NoSafepointVerifier covers GC checking when not already at a safepoint and is a stronger check.

Reviewed-by: kbarrett, dholmes
2019-07-31 06:54:50 -04:00
Mikael Vidstedt
895db11053 Merge 2019-07-29 09:59:04 -07:00
Erik Österlund
a42636d34b 8227407: ZGC: C2 loads and load barriers can get separated by safepoints
Reviewed-by: neliasso, smonteith, roland
2019-07-29 13:57:54 +02:00
Christian Hagedorn
b2a9f90a94 8223769: Assert triggers with -XX:+StressReflectiveCode
Fixed too strong assert.

Reviewed-by: kvn, thartmann
2019-07-29 09:34:07 +02:00
Coleen Phillimore
04b98fd1df 8222446: assert(C->env()->system_dictionary_modification_counter_changed()) failed: Must invalidate if TypeFuncs differ
Remove SystemDictionary::modification_counter optimization

Reviewed-by: dlong, eosterlund
2019-07-10 07:58:24 -04:00
Mikael Vidstedt
15bde6d32d Merge 2019-07-05 11:01:31 -07:00
Jamsheed Mohammed C M
259a0b4a7b 8226627: assert(t->singleton()) failed: must be a constant
Implemented constant folding for MaxFD, MinFD.

Reviewed-by: thartmann, bsrbnd, pli
2019-07-05 00:24:54 -07:00
Roman Kennke
36bb50bad5 8226823: Adjust BarrierSetC2 for C2 runtime calls
Reviewed-by: neliasso, roland
2019-07-04 17:02:19 +02:00
Tobias Hartmann
e844e34e81 8227173: Minor cleanup of unused code in compile.hpp
Removed unused code.

Reviewed-by: kvn
2019-07-04 09:12:21 +02:00
Mikael Vidstedt
c200fc1f34 Merge 2019-07-03 07:56:41 -07:00
Nils Eliasson
37a2e72937 8226287: Make process_users_of_allocation handle gc barriers
Reviewed-by: kvn, roland
2019-07-01 10:49:58 +02:00
Tobias Hartmann
b1692c1eaa 8226879: Memory leak in Type::hashcons
Call delete on xdual type.

Reviewed-by: kvn
2019-06-28 09:12:49 +02:00
Jamsheed Mohammed C M
aedbb75803 8191278: MappedByteBuffer bulk access memory failures are not handled gracefully
Unsafe.copy*Memory access failures are handled gracefully.

Co-authored-by: Harold Seigel <harold.seigel@oracle.com>
Reviewed-by: kvn, dcubed, thartmann, coleenp, aph
2019-06-24 11:37:56 -07:00
Jesper Wilhelmsson
dc82364e05 Merge 2019-06-18 22:48:27 +02:00
Rahul Raghavan
28f3ab8596 8226198: use of & instead of && in LibraryCallKit::arraycopy_restore_alloc_state
Used logical operator correctly

Reviewed-by: kvn, thartmann
2019-06-18 10:00:35 +05:30
Aleksey Shipilev
5370654910 8225743: Remove ShenandoahBarrierSetC2::escape_is_barrier_node and related GC interface
Reviewed-by: roland, eosterlund
2019-06-14 16:47:58 +02:00
Tobias Hartmann
813a9cf6cb 8225783: Incorrect use of binary operators on booleans in type.cpp
Use logical operators instead.

Reviewed-by: roland
2019-06-14 13:26:52 +02:00
Erik Österlund
a8842c9f59 8225642: ZGC: Crash due to bad oops being spilled to stack in load barriers
Co-authored-by: Stuart Monteith <stuart.monteith@linaro.org>
Reviewed-by: neliasso, pliden
2019-07-02 11:33:05 +02:00
Tobias Hartmann
8f7206a674 8228710: Disable AggressiveUnboxing until JDK-8224957 is fixed
Disabled AggressiveUnboxing.

Reviewed-by: roland, kvn
2019-07-30 07:22:05 +02:00
Tobias Hartmann
31d261dda2 8224658: Unsafe access C2 compile fails with assert(flat != TypePtr::BOTTOM) failed: cannot alias-analyze an untyped ptr: adr_type = NULL
Handle unsafe off-heap access with constant zero address.

Reviewed-by: vlivanov, roland
2019-06-12 14:06:16 +02:00
Rahul Raghavan
2f25526470 8225567: Wrong file headers with 8202414 fix changeset
Corrected source file headers

Reviewed-by: thartmann
2019-06-11 14:33:34 +05:30
Patric Hedlin
ca29203cac 8225475: Node budget asserts on x86_32/64
Make the (ad-hoc) loop cloning size estimate more pessimistic.

Reviewed-by: shade
2019-06-25 11:43:36 +02:00
Nils Eliasson
ccbc87cc31 8226287: Make process_users_of_allocation handle gc barriers
Reviewed-by: kvn, roland
2019-07-01 10:49:58 +02:00
Nils Eliasson
75e9d0a290 8224675: Late GC barrier insertion for ZGC
Reviewed-by: roland, eosterlund, pliden
2019-02-14 14:54:05 +01:00
Vladimir Ivanov
6346d77b03 8225106: C2: Parse::clinit_deopt asserts when holder klass is in error state
Reviewed-by: mdoerr
2019-06-06 13:46:01 +03:00
Roland Westrelin
04c0750041 8224580: Matcher can cause oop field/array element to be reloaded
Reviewed-by: neliasso, rkennke, dlong
2019-05-21 09:08:01 +02:00
Roland Westrelin
98b1d8c798 8173196: [REDO] C2 does not optimize redundant memory operations with G1
Reviewed-by: thartmann, kvn
2019-05-21 15:46:09 +02:00
Patric Hedlin
d222b01dee 8223363: Bad node estimate assertion failure
8223502: Node estimate for loop unswitching is not correct: assert(delta <= 2 * required) failed: Bad node estimate
8224648: assert(!exceeding_node_budget()) failed: Too many NODES required! failure with ctw

Tighten the node estimates. New est_loop_clone_sz() implementation that will compute a "fan-out" complexity estimate as part of the size estimate (to better estimate complex loop body size after cloning). New est_loop_unroll_sz() function, used to estimate the size of a loop body att full/maximal unrolling. Correction to node budget final tests and asserts.

Reviewed-by: neliasso, kvn
2019-05-28 14:56:58 +02:00
Sergey Kuksenko
145f06a155 8223504: Improve performance of forall loops by better inlining of "iterator()" methods
Reviewed-by: vlivanov, shade
2019-05-30 12:45:02 -07:00
Vladimir Ivanov
5db82de14b 8223216: C2: Unify class initialization checks between new, getstatic, and putstatic
Reviewed-by: kvn, dlong
2019-05-30 19:12:11 +03:00
Vladimir Ivanov
e72bfe15ad 8223213: Implement fast class initialization checks on x86-64
Reviewed-by: kvn, redestad, dholmes, mdoerr, coleenp
2019-05-30 13:39:13 +03:00
Rahul Raghavan
da85e43f56 8213416: Replace some enums with static const members in hotspot/compiler
Changes to fix enumeral and non-enumeral type in conditional expression warnings with -Wextra for gcc on hotspot

Reviewed-by: kvn, thartmann
2019-05-28 12:01:52 +05:30