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
Morris Meyer
6db303a301
8001532: C2 node files refactoring
...
Split C2 node files into cast, convert, countbits, intrinsic, move, narrowptr and opaquenode classes
Reviewed-by: kvn, morris
2014-04-01 09:05:20 -07:00
Roland Westrelin
fa3b0a8f47
8031755: Type speculation should be used to optimize explicit null checks
...
Feed profiling data about reference nullness to type speculation.
Reviewed-by: kvn, iveresov
2014-03-31 09:08:53 +02:00
Poonam Bajaj
1516f610a1
6653795: C2 intrinsic for Unsafe.getAddress performs pointer sign extension on 32-bit systems
...
Native pointers less than 64 bits wide should be extended as an unsigned number.
Reviewed-by: kvn, kevinw
2014-03-24 08:43:10 -07:00