55 Commits

Author SHA1 Message Date
James Cheng
e2533553f6 8073583: C2 support for CRC32C on SPARC
Reviewed-by: jrose, kvn
2015-06-29 00:10:01 -07:00
Alejandro Murillo
4a826139e3 Merge 2015-06-26 19:11:15 -07:00
Vladimir Kozlov
0b9dfebfa4 Merge 2015-06-25 09:48:50 -07:00
Jesper Wilhelmsson
d60d6fdf40 Merge 2015-06-24 13:38:01 +02:00
Goetz Lindenmaier
1a88faab89 8129757: ppc/aarch: Fix passing thread to runtime after "8073165: Contended Locking fast exit bucket."
Reviewed-by: enevill, simonis, adinn
2015-06-24 09:13:12 +02:00
Bertrand Delsart
d046f1596b 8030076: remove unused runtime related code
Small cleanup of runtime code

Reviewed-by: dholmes, coleenp
2015-06-24 08:30:52 +02:00
Alejandro Murillo
edb5f74e0d Merge 2015-06-23 14:20:40 -07:00
Ed Nevill
d17ff6b63d 8129551: aarch64: some regressions introduced by addition of vectorisation code
Fix regressions

Reviewed-by: kvn
2015-06-23 18:56:17 +00:00
Andrew Dinn
b23811b6b6 8129584: Fix required for aarch64 after 8122937
The fix for 8122937 omitted cpu/aarch64 changes required by src/share fixes

Reviewed-by: kvn, simonis
2015-06-23 10:17:35 -04:00
Anthony Scarpino
c4c528df14 8073108: Use x86 and SPARC CPU instructions for GHASH acceleration
Reviewed-by: kvn, jrose
2015-06-17 17:48:25 -07:00
Aleksey Shipilev
6cb9f920e1 8078438: Interpreter should support conditional card marks (UseCondCardMark) on x86 and aarch64
Add interpreter support for conditional card marks on x86 and aarch64

Reviewed-by: tschatzl, aph
2015-06-19 09:41:49 +02:00
Ed Nevill
10741a86f6 8079565: aarch64: Add vectorization support for aarch64
Add vectorization support

Reviewed-by: roland
2015-06-04 12:04:18 +00:00
Alexander Alexeev
252b1be912 8081790: aarch64: SHA tests fail
Fix SHA tests in JTReg so they recognize aarch64

Reviewed-by: duke
2015-06-03 08:23:09 +00:00
Alexander Alexeev
5e3d542763 8081289: aarch64: add support for RewriteFrequentPairs in interpreter
Add support for RewriteFrequentPairs

Reviewed-by: roland
2015-05-27 09:02:08 +00:00
Alejandro Murillo
64fe991952 Merge 2015-05-21 17:11:54 -07:00
Ed Nevill
87e17632b5 8080586: aarch64: hotspot test compiler/codegen/7184394/TestAESMain.java fails
Return correct length in generate_cipherBlockChaining_encryptAESCrypt

Reviewed-by: roland
2015-05-18 15:52:33 +00:00
Jesper Wilhelmsson
f64e5038a4 Merge 2015-05-18 17:09:47 +02:00
Ed Nevill
66630f6ae5 8079564: Use FP register as proper frame pointer in JIT compiled code on aarch64
Add support for PreserveFramePointer for debug/profile

Reviewed-by: kvn
2015-05-15 09:21:48 +00:00
Ed Nevill
a65f9f9589 8079203: AARCH64: Need to cater for different partner implementations
Parse /proc/cpuinfo to derive implementation specific info

Reviewed-by: kvn
2015-05-12 13:58:42 +00:00
Ed Nevill
69aa7ea566 8079507: aarch64: fails to build due to changes to template interpreter
Fix by merging in changes from fix for 8074345

Reviewed-by: kvn
2015-05-07 13:58:57 +00:00
Alejandro Murillo
d83bdb4157 Merge 2015-05-01 03:56:01 -07:00
Bharadwaj Yadavalli
f8d0a6ff28 Merge 2015-04-30 18:14:58 -04:00
Andrew Haley
a4c5e8666b 8078621: AARCH64: Fails to build without precompiled headers
Fix #includes.

Reviewed-by: kvn
2015-04-24 16:28:29 +01:00
Ed Nevill
650d8b7cb6 8075930: AARCH64: Use FP Register in C2
Modify to allow C2 to allocate FP (R29) as a general register

Reviewed-by: aph, kvn, dlong
2015-04-24 11:01:37 +00:00
Andrew Dinn
294d9dce7f 8078263: AARCH64: Volatile fields should be accessed with ldar and stlr
Ad file rules now generate load acquire and store release for volatile accesses

Reviewed-by: kvn
2015-04-23 17:53:38 +01:00
Zoltan Majo
a452b030ce 8068945: Use RBP register as proper frame pointer in JIT compiled code on x86
Introduce the PreserveFramePointer flag to control if RBP is used as the frame pointer or as a general purpose register.

Reviewed-by: kvn, roland, dlong, enevill, shade
2015-04-27 10:49:43 +02:00
Vladimir Kozlov
b9c00b1904 Merge 2015-04-16 14:05:48 -07:00
Andrew Haley
d81e78e8bc 8077615: AARCH64: Add C2 intrinsic for BigInteger::multiplyToLen() method
Add C2 intrinsic for BigInteger::multiplyToLen() on AArch64.

Reviewed-by: kvn
2015-04-14 11:43:18 +01:00
Coleen Phillimore
f0035b701e 8076492: Make common code from template interpreter code
Move case statement out of assembly code

Reviewed-by: minqi, sspitsyn, dholmes
2015-04-01 22:03:17 -04:00
Andrew Haley
1dfbc44c1f 8026049: (bf) Intrinsify ByteBuffer.put{Int, Double, Float, ...} methods
Use unaligned Unsafe loads and stores for ByteBuffer access on platforms which support unaligned access. Add intrinsics for Unsafe.{get,put}-X-Unaligned methods.

Reviewed-by: dholmes, jrose, psandoz, kvn
2015-03-31 12:31:18 -07:00
Zoltan Majo
90e9ec4634 Merge 2015-03-27 09:02:53 +01:00
Alejandro Murillo
4811592f50 Merge 2015-03-26 13:54:11 -07:00
Jesper Wilhelmsson
5f5b27baba Merge 2015-03-23 22:08:14 +01:00
Alejandro Murillo
7ce244a2eb Merge 2015-03-23 11:44:41 -07:00
Tobias Hartmann
869a12fdab 8075136: Unnecessary sign extension for byte array access
Added C2 matching rules to remove unnecessary sign extension for byte array access.

Reviewed-by: roland, kvn, aph, adinn
2015-03-23 10:15:53 +01:00
Tobias Hartmann
3bc3f7cd49 8075324: Costs of memory operands in aarch64.ad are inconsistent
Made cost of 'indOffI' consistent to the other memory operands.

Reviewed-by: roland, aph, adinn
2015-03-23 10:13:18 +01:00
Andrew Haley
f82562e36e 8075443: AARCH64: Missed L2I optimizations in C2
Use iRegIOrL2I for input operands whenever it makes sense.

Reviewed-by: kvn
2015-03-20 17:39:29 +00:00
Alejandro Murillo
b83414f119 Merge 2015-03-19 15:00:51 -07:00
Zoltan Majo
379e3d6fb6 Merge 2015-03-19 18:01:39 +01:00
Andrew Haley
2fc2ef9a39 8075045: AARCH64: Stack banging should use store rather than load
Change stack bangs to use a store rather than a load

Reviewed-by: dholmes
2015-03-17 14:03:05 +00:00
Zoltan Majo
41b79b9ad4 8074869: C2 code generator can replace -0.0f with +0.0f on Linux
Instead of 'fpclass', use cast float->int and double->long to check if value is +0.0f and +0.0d, respectively.

Reviewed-by: kvn, simonis, dlong
2015-03-14 11:21:04 +01:00
Andrew Haley
bb8dc09453 8074723: AARCH64: Stray pop in C1 LIR_Assembler::emit_profile_type
Remove stray POP instruction

Reviewed-by: dholmes
2015-03-13 12:44:28 +00:00
Mikael Vidstedt
2b6f0b511f 6313046: Remove unused frame::native_param_addr code
Removed dead code in frame

Reviewed-by: dholmes, cjplummer, dsamersoff
2015-03-11 12:00:26 -07:00
Andrew Haley
45d5073b91 8074349: AARCH64: C2 generates poor code for some byte and character stores
Use iRegIorL2I as src input for char and byte stores.

Reviewed-by: kvn
2015-03-03 17:56:33 +00:00
Andrew Dinn
539384a8d2 8074119: [AARCH64] stage repo misses fixes from several Hotspot changes
Add shared code changes from 8059606, 8069230, 8068976, 8068977, 8072911 and 8071805

Reviewed-by: aph, kvn
2015-03-02 10:31:52 -08: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
Andrew Haley
182a191e07 8071947: AARCH64: frame::safe_for_sender() computes incorrect sender_sp value for interpreted frames
Apply the fix for 8068655 to the AArch64 sources.

Reviewed-by: kvn
2015-02-06 10:36:46 -08:00
Andrew Haley
86e7982c2c 8072483: AARCH64: aarch64.ad uses the wrong operand class for some operations
Use iReg<X>NoSp registers operands where required.

Reviewed-by: kvn, adinn, enevill
2015-02-05 11:47:33 -08:00
Ed Nevill
db7a37cee0 8072129: [AARCH64] missing fix for 8066900
Add 8066900 fix to arm64 code.

Reviewed-by: kvn
2015-02-02 11:29:37 -08:00
Andrew Haley
610bd6ba34 8071688: AARCH64: SIGSEGV in MethodData::next_data(ProfileData*)
Apply the fix for 8039975 to the AArch64 sources.

Reviewed-by: kvn, roland
2015-01-27 20:49:11 +01:00