231 Commits

Author SHA1 Message Date
Fei Yang
8215de72f5 8153713: aarch64: improve short array clearing using store pair
Aarch64: generate store pair instruction to clear short arrays

Reviewed-by: aph
2016-04-12 11:53:44 +08:00
Vladimir Kozlov
e33bf84754 8153818: Move similar CompiledIC platform specific code to shared code
Reviewed-by: iveresov, twisti
2016-04-12 17:12:51 -07:00
Bharadwaj Yadavalli
b2ead5ac2d Merge 2016-04-12 14:17:42 -04:00
Bharadwaj Yadavalli
cecf2d83d5 Merge 2016-04-08 12:36:27 -04:00
Daniel D. Daugherty
4397e85e26 Merge 2016-04-07 09:47:48 -07:00
Filipp Zhinkin
6b6686bd43 8149374: Replace C1-specific collection classes with universal collection classes
Reviewed-by: kvn, mgerdin, coleenp
2016-04-06 18:51:03 +03:00
Long Chen
19d90c789d 8153797: aarch64: Add Arrays.fill stub code
Reviewed-by: aph
2016-04-07 22:36:16 +00:00
Michael Berg
ff80cc58c9 8151573: Multiversioning for range check elimination
Range check elimination in post loops

Reviewed-by: kvn
2016-04-05 10:34:05 -07:00
Joseph Provino
5cef85023b 8132524: Missing includes to resourceArea.hpp
Files that use ResourceMark are missing the include of resourceArea.hpp

Reviewed-by: tschatzl, jwilhelm
2016-04-04 12:57:48 -04:00
Felix Yang
57f06537c2 8153172: aarch64: hotspot crashes after the 8.1 LSE patch is merged
Fix scratch register usage in C1 atomic_op to avoid unpredictable instruction

Reviewed-by: aph
2016-03-31 12:00:32 +00:00
Ivan Krylov
429b1c80a1 8147844: new method j.l.Runtime.onSpinWait() and the corresponding x86 hotspot instrinsic
Adds c1 & c2 x86 intrinsics for j.l.Runtime.onSpinWait() that utilize the PAUSE instruction

Co-authored-by: Yuri Gaevsky <ygaevsky@azul.com>
Reviewed-by: iveresov, kvn
2016-03-30 17:04:14 +02:00
Fei Yang
755b6af36e 8152840: aarch64: improve _unsafe_arraycopy stub routine
Aarch64: improve StubRoutines::_unsafe_arraycopy stub routine

Reviewed-by: aph
2016-03-28 21:21:41 +08:00
Roland Schatz
49558c8d6e 8152634: generalize exception throwing routines in JVMCIRuntime
Reviewed-by: twisti
2016-03-25 12:43:23 +01:00
Jesper Wilhelmsson
ee442d71e1 Merge 2016-04-02 05:39:25 +02:00
Jesper Wilhelmsson
b7ca1e57ee Merge 2016-03-23 23:36:29 +01:00
Fei Yang
586f496119 8152537: aarch64: Make use of CBZ and CBNZ when comparing unsigned values with zero
Aarch64: c2 make use of CBZ and CBNZ when comparing unsigned values with zero.

Reviewed-by: aph
2016-03-23 18:00:46 +08:00
Ed Nevill
2199ec0857 8151775: aarch64: add support for 8.1 LSE atomic operations
Reviewed-by: aph
2016-03-29 10:07:54 +00:00
Andrew Haley
dab7ef569b Merge 2016-03-17 17:03:20 +00:00
Jesper Wilhelmsson
884837e21c Merge 2016-03-19 02:44:27 +00:00
Coleen Phillimore
1954276b28 8152065: TraceBytecodes breaks the interpreter expression stack
Move trace_bytecode to InterpreterRuntime and make trace_bytecode an IRT_LEAF so that safepoints are not allowed.

Reviewed-by: jiangli, dholmes, dcubed
2016-03-18 15:14:22 -04:00
Felix Yang
7181a2dcb1 8151340: aarch64: prefetch the destination word for write prior to ldxr/stxr loops
Aarch64: add prefetch for write prior to ldxr/stxr loops.

Reviewed-by: aph
2016-03-05 22:22:37 +08:00
Ed Nevill
59193ab336 8151502: optimize pd_disjoint_words and pd_conjoint_words
Optimize copy routines using inline assembler

Reviewed-by: aph
2016-03-10 14:53:09 +00:00
Andrew Haley
986f3b0afd 8150652: Remove unused code in AArch64 back end
Reviewed-by: kvn
2016-02-25 14:59:44 +00:00
Ed Nevill
5f3739f293 8150313: aarch64: optimise array copy using SIMD instructions
Reviewed-by: aph
2016-02-20 15:15:35 +00:00
Ed Nevill
af0f23a617 8150082: aarch64: optimise small array copy
Reviewed-by: aph
2016-02-20 15:11:42 +00:00
Ed Nevill
f4b4c5d7b0 8150394: aarch64: add support for 8.1 LSE CAS instructions
Co-authored-by: Ananth Jasty <ananth.jasty@caviumnetworks.com>
Reviewed-by: aph
2016-03-08 14:39:50 +00:00
Aleksey Shipilev
103aff334f 8146801: Allocating short arrays of non-constant size is slow
Reviewed-by: kvn, twisti, vlivanov
2016-03-04 01:30:11 +03:00
Felix Yang
d466ce4948 8150229: aarch64: pipeline class for several instructions is not set correctly
Aarch64: c2 fix pipeline class for several instructions.

Reviewed-by: aph
2016-02-19 17:12:14 +08:00
Felix Yang
40cdd7a181 8149907: aarch64: use load/store pair instructions in call_stub
Aarch64: make use of load/store pair instructions in call_stub to save space

Reviewed-by: aph
2016-02-18 21:53:24 +08:00
Andrew Haley
8dd35ed3dd 8150045: arraycopy causes segfaults in SATB during garbage collection
Reviewed-by: roland
2016-02-17 14:06:45 +00:00
Felix Yang
a30c46aa74 8150038: aarch64: make use of CBZ and CBNZ when comparing narrow pointer with zero
Aarch64: c2 make use of CBZ and CBNZ when comparing narrow pointer with zero

Reviewed-by: aph
2016-02-17 20:19:24 +08:00
Hui Shi
f73f7433d0 8149733: AArch64: refactor array_equals/string_equals
Combine similar code for string_equals/char_array_equals/byte_array_equals into same implemenation

Reviewed-by: aph, shade
2016-02-24 04:45:50 -08:00
Christian Thalinger
88575c5de7 8150561: [AArch64] JVMCI improvements
Reviewed-by: kvn
2016-02-24 09:22:45 -08: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
Jesper Wilhelmsson
6f4adc7c72 Merge 2016-02-18 18:10:35 +01:00
Daniel D. Daugherty
eb4fc599e6 Merge 2016-02-16 12:01:37 -08:00
David Holmes
339a7e8559 8147379: Investigate if ConvertSleepToYield still should be false by default on Sparc
Reviewed-by: dcubed, sjohanss
2016-02-15 05:54:59 -05:00
Tobias Hartmann
8b42758800 Merge 2016-02-15 11:52:51 +01:00
Jesper Wilhelmsson
c6d81e192d Merge 2016-02-11 21:07:38 +01:00
Michael Berg
3ade110066 8149421: Vectorized Post Loops
Add vectorised post loop for counted loops with vectors.

Reviewed-by: kvn
2016-02-12 16:12:15 -08:00
Hui Shi
663e1a5c6d 8149080: AArch64: Recognise disjoint array copy in stub code
Detect array copy can use fwd copy by checking (dest-src) above_same (copy_size)

Reviewed-by: aph
2016-02-05 03:55:51 -08:00
Hui Shi
9ad1ef5b10 8149100: AArch64: "bad AD file" for LL enconding AryEq Node matching
Add byte array equal support for aarch64

Reviewed-by: aph
2016-02-06 04:09:47 -08:00
Ed Nevill
4c5566f502 8149365: aarch64: memory copy does not prefetch on backwards copy
Implement prefetch on backwards copies

Reviewed-by: aph
2016-02-08 14:14:35 +00:00
Ed Nevill
eaaec5b879 8148783: aarch64: SEGV running SpecJBB2013
Fix calculation of offset for adrp

Reviewed-by: aph
2016-02-04 16:24:28 +00:00
Christian Thalinger
477e23c17f 8149689: [JVMCI] CodeInstaller::pd_patch_DataSectionReference should be able to throw exceptions
Reviewed-by: kvn
2016-02-11 12:29:40 -10:00
Christian Thalinger
98bbb4efa0 8149415: [AArch64] implement JVMCI CodeInstaller
Reviewed-by: aph, kvn
2016-02-10 11:23:17 -10:00
Ed Nevill
a7de801a92 8148948: aarch64: generate_copy_longs calls align() incorrectly
Fix alignments

Reviewed-by: aph
2016-02-03 11:34:12 +00:00
Tobias Hartmann
9e2947c3c6 Merge 2016-01-29 08:47:18 +01:00
Tobias Hartmann
832443d3b0 Merge 2016-01-28 09:49:17 +01:00
Felix Yang
c675914f1c 8148328: aarch64: redundant lsr instructions in stub code
Avoid redundant lsr instructions in jbyte_arraycopy and jbyte_disjoint_arraycopy.

Reviewed-by: aph
2016-01-27 12:20:53 +08:00