240 Commits

Author SHA1 Message Date
Roland Westrelin
cca965a11d 8155612: Aarch64: vector nodes need to support misaligned offset
Add support for misaligned offsets.

Reviewed-by: aph
2016-04-28 15:24:17 +02:00
Roland Westrelin
15893e995b 8155015: Aarch64: bad assert in spill generation code
Reviewed-by: thartmann
2016-04-25 15:14:02 +02:00
Rickard Bäckman
b853eb7f5c 8151956: Support non-continuous CodeBlobs in HotSpot
Reviewed-by: iveresov, thartmann, simonis
2016-04-26 10:28:51 +02:00
Roland Westrelin
794bbd1a36 8154537: AArch64: some integer rotate instructions are never emitted
Reviewed-by: aph, adinn, kvn
2016-04-19 19:52:39 -07:00
Bharadwaj Yadavalli
d61df5babe Merge 2016-04-19 15:26:59 -04:00
Michael Berg
64cf7e6b6f 8153998: Masked vector post loops
Masked vectorization for post loops to execute in a single iteration in place of fixup scalar loops which used to take many iterations to complete work for user loops.

Reviewed-by: twisti, kvn
2016-04-18 15:18:14 -07:00
Stefan Karlsson
f78228b2ee 8153967: Remove top.hpp
Reviewed-by: coleenp, jwilhelm
2016-04-12 09:53:43 +02:00
Jesper Wilhelmsson
2497c61bc6 Merge 2016-04-11 20:16:35 +02:00
Bharadwaj Yadavalli
cecf2d83d5 Merge 2016-04-08 12:36:27 -04:00
Calvin Cheung
28edd79d64 8145221: Use trampolines for i2i and i2c entries in Methods that are stored in CDS archive
This optimization reduces the size of the RW region of the CDS archive. It also reduces the amount of pages in the RW region that are actually written into during runtime.

Co-authored-by: Ioi Lam <ioi.lam@oracle.com>
Co-authored-by: Goetz Lindenmaier <goetz.lindenmaier@sap.com>
Reviewed-by: dlong, iklam, jiangli
2016-04-07 22:03:04 -07:00
Daniel D. Daugherty
4397e85e26 Merge 2016-04-07 09:47:48 -07:00
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
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