162 Commits

Author SHA1 Message Date
Hiroshi H Horii
0e8c60f68f 8152172: PPC64: Support AES intrinsics
Reviewed-by: kvn, mdoerr, simonis
2016-03-18 12:50:17 +01:00
Claes Redestad
ea5a3565b8 8150720: Cleanup code around PrintOptoStatistics
Reviewed-by: kvn, shade, vlivanov
2016-02-29 15:05:45 +01:00
Andrew Dinn
78d37841ef 8087341: C2 doesn't optimize redundant memory operations with G1
Effect of memory barrier in post barrier is too wide

Reviewed-by: kvn, aph
2016-02-15 10:14:33 +01:00
Tobias Hartmann
ca56200977 6675699: need comprehensive fix for unconstrained ConvI2L with narrowed type
Emit CastII to make narrow ConvI2L dependent on the corresponding range check.

Reviewed-by: kvn, roland
2016-01-18 08:40:25 +01:00
Tobias Hartmann
01a4b31e78 8144212: JDK 9 b93 breaks Apache Lucene due to compact strings
String compress/inflate intrinsics need to capture char and byte memory.

Reviewed-by: aph, roland, kvn
2016-01-18 08:34:14 +01:00
Vladimir Ivanov
28046ae321 8140001: _allocateInstance intrinsic does not throw InstantiationException for abstract classes and interfaces
Reviewed-by: kvn, shade
2016-01-15 21:56:40 +03:00
Nils Eliasson
a51ff63df7 Merge 2015-11-24 10:30:23 +01:00
Tobias Hartmann
ea052022fa 8140390: Char stores/loads accessing byte arrays must be marked as unmatched
Mark unmatched char stores/loads emitted by CompactStrings.

Reviewed-by: roland, vlivanov, jrose
2015-11-20 10:09:42 +01:00
Kim Barrett
e8c5bc2024 8143014: Access PtrQueue member offsets through derived classes
Moved accessors to derived classes and updated callers.

Reviewed-by: tschatzl, jmasa, twisti
2015-11-17 16:40:52 -05:00
Tobias Hartmann
7af927f9c1 8141132: JEP 254: Compact Strings
Adopt a more space-efficient internal representation for strings.

Co-authored-by: Brent Christian <brent.christian@oracle.com>
Co-authored-by: Vivek Deshpande <vivek.r.deshpande@intel.com>
Co-authored-by: Charlie Hunt <charlie.hunt@oracle.com>
Co-authored-by: Vladimir Kozlov <vladimir.kozlov@oracle.com>
Co-authored-by: Roger Riggs <roger.riggs@oracle.com>
Co-authored-by: Xueming Shen <xueming.shen@oracle.com>
Co-authored-by: Aleksey Shipilev <aleksey.shipilev@oracle.com>
Co-authored-by: Sandhya Viswanathan <sandhya.viswanathan@intel.com>
Reviewed-by: alanb, bdelsart, coleenp, iklam, jiangli, jrose, kevinw, naoto, pliden, roland, smarks, twisti
2015-11-03 09:41:03 +01:00
David Lindholm
1e71f67736 8080775: Better argument formatting for assert() and friends
Reviewed-by: kbarrett, pliden
2015-09-29 11:02:08 +02:00
Roland Westrelin
c18a26c573 8142386: Octane crashes with assert(is_Load())
Unsafe access to an array is wrongly marked as mismatched

Reviewed-by: vlivanov, thartmann
2015-11-17 12:00:16 +01:00
Roland Westrelin
45b3ce816a 8140309: [REDO] failed: no mismatched stores, except on raw memory: StoreB StoreI
Mismatched stores on same slice possible with Unsafe.Put*Unaligned methods

Reviewed-by: kvn, thartmann
2015-10-28 10:20:33 +01:00
Kim Barrett
7706e36194 8072817: CardTableExtension kind() should be BarrierSet::CardTableExtension
Use BarrierSet::CardTableForRS where needed, and update concrete bs tags.

Reviewed-by: jwilhelm, jmasa
2015-08-18 17:48:35 -04:00
Andrew Haley
b387838cea 8079315: UseCondCardMark broken in conjunction with CMS precleaning on x86
Add the necessary StoreLoad barrier in interpreter, C1 and C2 for x86

Reviewed-by: tschatzl
2015-06-19 09:41:50 +02:00
Tobias Hartmann
068d5d78b1 Merge 2015-05-22 09:50:32 +02:00
Roland Westrelin
a3c77df5f1 8077504: Unsafe load can loose control dependency and cause crash
Node::depends_only_on_test() should return false for Unsafe loads

Reviewed-by: kvn, adinn
2015-05-21 13:54:07 +02:00
Roland Westrelin
61aa1cfdef 8075921: assert assert(allocx == alloc) fails in library_call.cpp
Control becomes top after arraycopy guards and confuses tighly coupled allocation logic

Reviewed-by: kvn, vlivanov
2015-03-27 08:58:45 +01:00
Zoltan Majo
90e9ec4634 Merge 2015-03-27 09:02:53 +01:00
Jesper Wilhelmsson
5f5b27baba Merge 2015-03-23 22:08:14 +01:00
Roland Westrelin
0258ef4abc 8073866: Fix for 8064703 is not sufficient
Side effects between allocation and arraycopy can be reexecuted, unreachable uninitialized array can be seen by GCs

Reviewed-by: kvn, vlivanov
2015-03-16 12:24:06 +01:00
Joseph Provino
67fb17a658 8067891: Remove vestigal G1SATBCT barrier set kind
Remove all case statements specifying G1SATBCT

Reviewed-by: tschatzl, kbarrett
2015-03-23 12:18:20 +01:00
Goetz Lindenmaier
a7edf52a02 8073315: Enable gcc -Wtype-limits and fix upcoming issues
Relevant fixes in blockOffsetTable.cpp, os_linux.cpp, parCardTableModRefBS.cpp.

Reviewed-by: jwilhelm, kbarrett, simonis
2015-02-16 14:07:36 +01:00
Alejandro Murillo
cf1f3d308b Merge 2015-03-06 04:58:52 -08:00
Zoltan Majo
78b1c29418 Merge 2015-03-06 08:53:22 +01:00
Kim Barrett
40d3986051 8069016: Add BarrierSet downcast support
Add FakeRttiSupport utility and use to provide barrier_set_cast.

Reviewed-by: jmasa, sangheki
2015-02-27 19:52:48 -05:00
Vladimir Kozlov
239370b736 Merge 2015-02-26 10:56:54 -08:00
Vladimir Ivanov
dad72d8a2b Merge 2015-02-24 07:39:22 -08:00
Vladimir Ivanov
93f9344ff4 Merge 2015-02-19 11:12:59 -08:00
Roland Westrelin
88848bd9e8 6912521: System.arraycopy works slower than the simple loop for little lengths
Convert small array copies to series of loads and stores

Reviewed-by: kvn, vlivanov
2015-02-18 18:14:07 +01:00
David Chase
46fa321d63 8069412: Locks need better debug-printing support
Added better debug-printing support and enhanced LogCompilation tool

Reviewed-by: kvn, roland, dholmes
2015-02-17 13:54:53 -05:00
Jesper Wilhelmsson
d7f5fccbc6 Merge 2015-02-16 21:24:39 +01:00
Stefan Karlsson
4913ad5d7d 8072911: Remove includes of oop.inline.hpp from .hpp files
Reviewed-by: brutisso, coleenp, jwilhelm, simonis, dholmes
2015-02-13 14:37:35 +01:00
Vladimir Ivanov
a1b368700b Merge 2015-02-12 13:55:54 -08:00
Roland Westrelin
e6ac3ca09e 8072016: Array copy may cause infinite cycle of deoptimization/compilation
Infinite deoptimization/recompilation cycles in case of arraycopy with tightly coupled allocation

Reviewed-by: kvn, vlivanov
2015-02-09 15:10:58 +01:00
Joseph Provino
00d9c7a2d1 8071805: BarrierSet::Other is not used and should be removed
Remove all occurences of BarrierSet::Other because the barrier set kind is never set to Other.

Reviewed-by: tschatzl, kbarrett
2015-02-04 10:18:28 -05:00
Vladimir Ivanov
efd80ec6af 8068915: uncommon trap w/ Reason_speculate_class_check causes performance regression due to continuous deoptimizations
Reviewed-by: kvn, roland, jrose
2015-01-29 10:26:02 -08:00
Vladimir Kozlov
48b6c6007f Merge 2014-12-11 15:06:12 -08:00
Andrew Haley
0b30e012ee 8064611: AARCH64: Changes to HotSpot shared code
Everything except cpu/ and os_cpu/

Reviewed-by: dholmes, goetz, dlong, coleenp, kvn
2014-12-11 13:11:53 -08:00
Roland Westrelin
686e5a0a6f 8064703: crash running specjvm98's javac following 8060252
Uncommon trap between arraycopy and initialization may leave array initialized

Reviewed-by: kvn, vlivanov, goetz
2014-12-01 11:59:56 +01:00
Zoltan Majo
49b224a4f7 8057622: java/util/stream/test/org/openjdk/tests/java/util/stream/InfiniteStreamWithLimitOpTest: SEGV inside compiled code (sparc)
In Parse::array_store_check(), add control edge FROM IfTrue branch of runtime type check of the destination array TO loading _element_klass from destination array.

Reviewed-by: kvn, roland, anoll
2014-11-06 09:40:58 +01:00
Staffan Friberg
8b424b422f 8057737: Avoid G1 write barriers on newly allocated objects
Reviewed-by: mgerdin, kvn, iveresov
2014-10-09 13:06:15 -07:00
Roland Westrelin
a56ade07c7 7173584: Implement arraycopy as a macro node
Delay the conversion of arraycopy to stub calls to macro expansion

Reviewed-by: kvn, iveresov
2014-08-11 14:12:51 +02:00
Tobias Hartmann
70a55eac34 8054033: Remove unused references to Compile*
Removed unused references to Compile* missed by JDK-8034812.

Reviewed-by: kvn, roland
2014-08-05 09:58:52 +02:00
Zoltan Majo
1d44fa46f0 8050860: Cleanup TypeTuple and TypeFunc
Declared fields TypeFunc::_domain, TypeFunc::_range, TypeTuple::_cnt and TypeTuple::_fields private, changed direct accesses to fields to use accessor methods.

Reviewed-by: kvn, vlivanov
2014-07-24 09:15:38 +02:00
Vladimir Kozlov
56cea022c9 8035605: Expand functionality of PredictedIntrinsicGenerator
Allow several predicates and separate intrinsic methods per one intrinsified (virtual) method.

Reviewed-by: roland
2014-06-10 12:28:06 -07:00
Roland Westrelin
2838bcc3bf 8026796: Make replace_in_map() on parent maps generic
Propagate node replacements along control flow edges to callers

Reviewed-by: kvn, vlivanov
2014-06-10 13:37:16 +02:00
Vladimir Ivanov
ea0470002e 8033626: assert(ex_map->jvms()->same_calls_as(_exceptions->jvms())) failed: all collected exceptions must come from the same place
Reviewed-by: kvn, roland
2014-06-10 10:00:59 +00:00
Tobias Hartmann
2a0815a55e 8034812: remove IDX_INIT macro hack in Node class
The IDX_INIT macro used by Node::Node(...) to retrieve the Compile object is removed and replaced by a call to Compile::current(). The Node constructor, new operator and all calls to it are adapted accordingly.

Reviewed-by: kvn, jrose, iveresov, goetz
2014-06-02 08:07:29 +02:00
Tobias Hartmann
85296fec28 8036851: volatile double accesses are not explicitly atomic in C2
The C2 structure is adapted to distinguish between volatile and non-volatile double accesses.

Reviewed-by: twisti, kvn
2014-05-06 09:17:57 +02:00