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
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
Tobias Hartmann
4ea77d3e78
8223581: C2 compilation failed with assert(!q->is_MergeMem())
...
Aggressively remove MergeMems feeding into other MergeMems during incremental inlining.
Reviewed-by: vlivanov
2019-05-23 09:46:49 +02:00
Tobias Hartmann
abe90da665
8224539: C2 compilation fails during ArrayCopyNode optimizations with assert(i < _max) failed: oob: i=1, _max=1
...
Bail out if src_offset or dst_offset is top.
Reviewed-by: roland, vlivanov, kvn
2019-05-23 08:57:37 +02:00
Stefan Karlsson
c9846fce19
8224201: Simplify JVM flag macro expansions
...
Reviewed-by: rehn, kvn, stuefe, tschatzl, coleenp, gziemski
2019-05-22 13:05:37 +02:00
Lutz Schmidt
b730805159
8213084: Rework and enhance Print[Opto]Assembly output
...
Reviewed-by: kvn, thartmann
2019-05-21 15:51:35 +02:00
Aleksey Shipilev
c6307aec19
8223911: Disable bad node budget verification until the fix
...
Reviewed-by: kvn, thartmann
2019-05-15 11:53:47 +02:00
Stefan Karlsson
c90f3ee68b
8223624: Cleanup includes of universe.hpp
...
Reviewed-by: coleenp, lkorinth
2019-05-09 14:28:30 +02:00
Stefan Karlsson
5a8ba256df
8223136: Move compressed oops functions to CompressedOops class
...
Reviewed-by: coleenp, lkorinth
2019-05-09 14:26:03 +02:00
Sandhya Viswanathan
707c30fae6
8222074: Enhance auto vectorization for x86
...
Reviewed-by: kvn, vlivanov
2019-05-07 13:33:27 -07:00
Jie Fu
0ff8db34ca
8221542: ~15% performance degradation due to less optimized inline decision
...
Reviewed-by: vlivanov, coleenp
2019-05-06 12:17:54 -07:00
Vladimir Ivanov
2e0c5db11d
8219902: C2: MemNode::can_see_stored_value() ignores casts which carry control dependency
...
Reviewed-by: kvn
2019-05-06 12:15:55 -07:00
Vladimir Ivanov
75d4f24c97
8223171: Redundant nmethod dependencies for effectively final methods
...
Reviewed-by: dlong
2019-05-06 12:15:49 -07:00
Patric Hedlin
e08506e683
8216137: assert failed: Live node limit exceeded
...
8219520: assert failed: Live node limit exceeded
Adding simplistic node budget support for loop-transformations. This /should/attempts to/ resolve most cases of: "assert(Compile::current()->live_nodes() < Compile::current()->max_node_limit()) failed: Live Node limit exceeded limit".
Reviewed-by: vlivanov, neliasso
2019-04-17 14:57:53 +02:00
Patric Hedlin
8088ed8317
8223143: Restructure/clean-up for 'loopexit_or_null()'
...
Minor restructure and clean-up for 'loopexit_or_null()' and its use.
Reviewed-by: vlivanov
2019-04-17 14:56:45 +02:00
Patric Hedlin
7bb9062f84
8223142: Clean-up WS and CB
...
Reviewed-by: vlivanov
2019-04-17 14:55:37 +02:00
Patric Hedlin
55e3cc8f6f
8223141: Change (count) suffix _ct into _cnt
...
Reviewed-by: vlivanov
2019-04-17 14:55:29 +02:00
Patric Hedlin
f4faee7bae
8223140: Clean-up in 'ok_to_convert()'
...
Simplify logic in function. Added precond/postcond macros.
Reviewed-by: vlivanov, neliasso
2019-04-17 14:55:11 +02:00
Patric Hedlin
ceef0f69dc
8223139: Rename mandatory policy-do routines
...
Rename 'policy_do_remove_empty_loop' to 'do_remove_empty_loop', 'policy_do_one_iteration_loop' to 'do_one_iteration_loop'.
Reviewed-by: vlivanov, dl
2019-04-17 14:55:01 +02:00
Patric Hedlin
205085d8d5
8223138: Small clean-up in loop-tree support
...
Rename predicate 'is_inner()' to 'is_innermost()' to be accurate. Added 'is_root()' predicate for root parent test in loop-tree. Changed definition of 'is_loop()' to always lazy-read the tail, since it should never be NULL. Cleanup of 'tail()' definition.
Reviewed-by: vlivanov, neliasso
2019-05-02 11:05:47 +02:00
Patric Hedlin
fcbca82247
8223137: Rename predicate 'do_unroll_only()' to 'is_unroll_only()'
...
Reviewed-by: vlivanov
2019-04-17 14:52:25 +02:00
Vladimir Kozlov
e9c523ae5f
8220623: [JVMCI] Update JVMCI to support JVMCI based Compiler compiled into shared library
...
Reviewed-by: dnsimon, never, stefank, rehn, neliasso, dholmes, kbarrett, coleenp
2019-05-01 12:31:29 -07:00
Rahul Raghavan
fee481d5a2
8202414: Unsafe write after primitive array creation may result in array length change
...
Avoided collecting unaligned stores in Initialize node by making can_capture_store return false for same
Reviewed-by: dlong, kvn, vlivanov
2019-05-01 22:02:48 +05:30
Tobias Hartmann
048c3dc026
8219807: C2 crash in IfNode::up_one_dom(Node*, bool)
...
Guard against regions degraded to copies.
Reviewed-by: kvn
2019-04-30 14:49:19 +02:00
Tobias Hartmann
919b40be45
8221592: C2 compilation failed with assert(!q->is_MergeMem())
...
Transform the original MergeMem after transforming the slices to get rid of MergeMem inputs.
Reviewed-by: kvn, neliasso
2019-04-29 09:04:25 +02:00
Roman Kennke
03ab1404f0
8221766: Load-reference barriers for Shenandoah
...
Reviewed-by: kvn, erikj, aph, shade
2019-04-02 23:00:22 +02:00
Derek Thomson
7a4b473edd
8157372: C2: Node::cmp() should return bool
...
The method Node::cmp() should return a boolean
Reviewed-by: vlivanov, kvn
2019-03-28 11:06:00 -07:00
Aleksey Shipilev
af6cddfa78
8220198: Lots of com/sun/crypto/provider/Cipher tests fail on x86_32 due to missing SHA512 stubs
...
Reviewed-by: kvn, thartmann
2019-03-27 11:35:28 +01:00
Claes Redestad
06656bd270
8221343: x86_32 crashes on startup with "_hwm out of range"
...
Reviewed-by: thartmann, kvn
2019-03-25 20:57:07 +01:00