231 Commits

Author SHA1 Message Date
Christian Thalinger
a38ea495d6 8139170: JVMCI refresh
Reviewed-by: kvn
2015-11-04 07:23:23 -10: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
Ed Nevill
ba17a6c8f8 8140611: aarch64: jtreg test jdk/tools/pack200/UnpackerMemoryTest.java SEGVs
Fix register usage on calling native synchronized methods

Reviewed-by: kvn, adinn
2015-10-27 18:05:20 +00:00
Ed Nevill
037d51d7b0 8140582: aarch64: jvm fails to initialise after 8078556
Jvm fails to initialise on aarch64 systems with pagesize > 4K

Reviewed-by: duke
2015-10-27 10:08:48 +00:00
Joseph Provino
db5f26110b Merge 2015-10-20 11:17:19 -04:00
Hui Shi
7fe249f6db 8143285: aarch64: Missing load acquire when checking if ConstantPoolCacheEntry is resolved
Reviewed-by: roland, aph
2015-11-24 09:02:26 +00:00
Dean Long
344a9becee Merge 2015-10-17 19:40:30 -04:00
Roland Westrelin
6c269ab6a9 Merge 2015-10-16 11:47:04 +00:00
Ed Nevill
47040f764d 8139674: aarch64: guarantee failure in TestOptionsWithRanges.java
Fix negative overflow in instruction field

Reviewed-by: kvn, roland, adinn, aph
2015-10-15 15:33:54 +00:00
Gerard Ziemski
22838597ea 8078556: Runtime: implement ranges (optionally constraints) for those flags that have them missing
JEP 245: implement ranges and constraints for runtime flags.

Co-authored-by: Goetz Lindenmaier <goetz.lindenmaier@sap.com>
Reviewed-by: coleenp, ddmitriev, jiangli, goetz
2015-10-15 13:34:21 -05:00
Jesper Wilhelmsson
7078962b9c Merge 2015-10-15 13:28:22 +02:00
Andrew Haley
3ceb2dbcc2 8139041: Redundant DMB instructions
Merge consecutive DMB intstructions

Reviewed-by: roland, kvn, twisti
2015-10-13 16:25:50 +00:00
Coleen Phillimore
5179fc3488 8139163: InstanceKlass::cast passes through NULL
Reduce raw (InstanceKlass*) casts and InstanceKlass::cast, which no long allows null

Reviewed-by: twisti, kbarrett
2015-10-26 13:11:36 -04: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
Ed Nevill
a138ebeb52 8139043: aarch64: add support for adler32 intrinsic
Add adler32 support like 8132081 for sparc

Reviewed-by: kvn
2015-10-08 13:14:46 +00:00
Andrew Dinn
bf99cd983a 8139042: AARCH64: Correct regression introduced by 8080293
Reinstate unsafe volatile optimization broken by JDK-8080293

Reviewed-by: aph, kvn
2015-10-07 06:56:58 -04:00
Hui Shi
b66410f7b7 8143584: Load constant pool tag and class status with load acquire
Reviewed-by: roland, aph
2015-11-26 15:37:04 +00:00
Martin Doerr
f6cb49ba48 8138895: C1: PPC64 Port needs special register for Locks in synchronization code
Reviewed-by: vlivanov, goetz
2015-10-05 23:50:43 +02:00
Martin Doerr
28115bceae 8138892: C1: Improve counter overflow checking
Reviewed-by: iveresov, goetz, twisti, vlivanov
2015-10-21 11:40:05 +02:00
Jesper Wilhelmsson
e75e2e04f7 Merge 2015-10-07 01:03:24 +02:00
Felix Yang
12cba200a3 8138583: aarch64: add support for vectorizing fabs/fneg
Reviewed-by: aph, roland
2015-09-30 04:35:39 -04:00
Andrew Haley
f44f56e351 8138575: Improve generated code for profile counters
Reviewed-by: kvn
2015-09-29 17:01:37 +00:00
Felix Yang
65cf3f8eed 8138641: Disable C2 peephole by default for aarch64
Reviewed-by: roland
2015-09-30 13:23:46 +00: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
David Lindholm
1e71f67736 8080775: Better argument formatting for assert() and friends
Reviewed-by: kbarrett, pliden
2015-09-29 11:02:08 +02:00
Andrew Haley
67af37e0b8 8135018: AARCH64: Missing memory barriers for CMS collector
Add StoreStore barrier when CMS needs them

Reviewed-by: tschatzl
2015-09-24 12:04:57 +02:00
Ed Nevill
cb8cff7e6e 8135231: aarch64: add support for vectorizing double precision sqrt
Reviewed-by: roland, aph
2015-09-23 12:39:30 -04:00
Andrew Haley
660dad780b 8136165: AARCH64: Tidy up compiled native calls
Do some cleaning

Reviewed-by: roland, kvn, enevill
2015-09-28 16:18:15 +00:00
Igor Veresov
74519e1e1a Merge 2015-09-25 12:04:35 -07:00
Jesper Wilhelmsson
7f7b300f89 Merge 2015-09-21 17:49:57 +02:00
Nils Eliasson
2f9e32256d Merge 2015-11-13 13:31:48 +01:00
Gilles Duboscq
c4ce43c1ac 8141133: [JVMCI] crash during safepoint deopt if rethrow_exception is set
Reviewed-by: twisti
2015-11-11 14:40:38 -10:00
Michael C Berg
e86e38619e 8140779: Code generation fixes for avx512
Assembler refactoring. Abstract away instruction attributes.

Reviewed-by: kvn, roland, iveresov
2015-11-09 11:26:41 -08:00
Roland Schatz
26f02e4686 8139589: [JVMCI] throw exceptions in faulty code installation operations
Reviewed-by: twisti
2015-11-06 10:06:51 -10:00
Ed Nevill
050184d76f 8136615: aarch64: elide DecodeN when followed by CmpP 0
Remove DecodeN when comparing a narrow oop with 0

Reviewed-by: kvn, adinn
2015-09-16 13:50:57 +00:00
Andrew Dinn
1a53878451 8080293: AARCH64: Remove unnecessary dmbs from generated CAS code
The current encoding for CAS generates unnecessary leading and trailing dmbs for the MemBarAcquire and MemBarRelease which ought to be elided

Reviewed-by: kvn
2015-09-16 09:52:58 -04:00
Martin Doerr
99c37e9ee2 8136525: Generate interpreter entries only once and avoid unnecessary jump to jump
Reviewed-by: coleenp, twisti, aph
2015-09-17 09:03:57 +02:00
Tomasz Wojtowicz
61b77b8590 8134553: CRC32C implementations for x86/x64 targets
Reviewed-by: kvn
2015-09-16 15:54:32 -07:00
Michael Berg
d49d1ea740 8134802: LCM register pressure scheduling
Calculate register pressure in a block to help instructions scheduling.

Reviewed-by: kvn, dlong
2015-09-16 13:16:17 -07:00
Felix Yang
00a6ff7050 8136524: aarch64: test/compiler/runtime/7196199/Test7196199.java fails
Fix safepoint handlers to save 128 bits on vector poll

Reviewed-by: kvn
2015-09-15 12:59:51 +00: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
Jesper Wilhelmsson
1736e104a1 Merge 2015-09-08 16:10:37 +02:00
Andrew Haley
518c5cacbc 8135157: DMB elimination in AArch64 C2 synchronization implementation
Reduce memory barrier usage in C2 fast lock and unlock.

Co-authored-by: Wei Tang <wei.tang@linaro.org>
Reviewed-by: kvn
2015-09-08 14:08:58 +01:00
Ahmed Khawaja
d7b8032741 8132081: C2 support for Adler32 on SPARC
Add C2 instrinsic support for Adler32 checksum on SPARC.

Reviewed-by: kvn
2015-09-03 15:03:12 -07:00
Dmitry Samersoff
6ed285af0a Merge 2015-08-31 21:46:33 +03:00
Andrew Haley
ef62a6daab 8134869: AARCH64: GHASH intrinsic is not optimal
Rewrite intrinsic to make better use of SIMD instructions

Reviewed-by: kvn
2015-09-02 13:23:59 +00:00
Hui Shi
3b19bff980 8134322: AArch64: Fix several errors in C2 biased locking implementation
Several errors in C2 biased locking require fixing

Reviewed-by: kvn
2015-08-26 17:13:59 +01:00
Ed Nevill
10c3342331 8133842: aarch64: C2 generates illegal instructions with int shifts >=32
Fix logical operatations combined with shifts >= 32

Reviewed-by: kvn, aph, adinn
2015-08-20 09:40:08 +00: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 Dinn
96413b5dac 8078743: AARCH64: Extend use of stlr to cater for volatile object stores
The current use of stlr on AArch64 to implement volatile stores needs to be extended to cater for object stores.

Reviewed-by: kvn, aph, enevill
2015-08-11 10:25:24 -04:00