213 Commits

Author SHA1 Message Date
Roland Schatz
49558c8d6e 8152634: generalize exception throwing routines in JVMCIRuntime
Reviewed-by: twisti
2016-03-25 12:43:23 +01:00
Andrew Haley
dab7ef569b Merge 2016-03-17 17:03:20 +00: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
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
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
Ed Nevill
272ee0ade8 8148240: aarch64: random infrequent null pointer exceptions in javac
Disable fp as an allocatable register

Reviewed-by: aph
2016-01-26 14:04:01 +00:00
Hui Shi
79dd998f3e 8147805: aarch64: C1 segmentation fault due to inline Unsafe.getAndSetObject
In Aarch64 LIR_Assembler.atomic_op, keep stored data reference register in decompressed forms as it may be used later

Co-authored-by: Felix Yang <felix.yang@linaro.org>
Reviewed-by: aph
2016-01-20 04:56:51 -08:00
Volker Simonis
f3dca540d8 8145336: PPC64: fix string intrinsics after CompactStrings change
Reviewed-by: mdoerr, aph, kvn
2016-01-20 16:33:51 +01:00
Andrew Haley
6b826df140 8146709: AArch64: Incorrect use of ADRP for byte_map_base
Reviewed-by: roland
2016-01-19 17:52:52 +00:00
Jesper Wilhelmsson
54d0181916 Merge 2016-01-14 17:36:29 +01:00
David Lindholm
ad0c208a5a 8146690: Make all classes in GC follow the naming convention
Reviewed-by: dholmes, stefank
2016-01-14 13:26:19 +01:00
Coleen Phillimore
5d7f8cf015 8146410: Interpreter functions are declared and defined in the wrong files
Moved functions to the correct files.

Reviewed-by: goetz, aph, twisti, mockner
2016-01-12 13:14:41 -05:00
Ed Nevill
40ea9a6025 8146843: aarch64: add scheduling support for FP and vector instructions
Add pipeline classes for FP/vector pipeline

Reviewed-by: aph
2016-01-12 14:55:15 +00:00
Andrew Haley
fc49b2c2d1 Merge 2016-01-13 15:57:42 +00:00
Andrew Haley
543ed0a868 8146891: AArch64 needs patch for 8032463
Reviewed-by: kvn
2016-01-12 15:01:52 +00:00
Ed Nevill
8629682d55 8146886: aarch64: fails to build following 8136525 and 8139864
Fix several build errors and warnings

Reviewed-by: aph
2016-01-12 14:21:58 +00:00
Christian Thalinger
a0861106e3 Merge 2016-01-11 17:11:57 -08:00
Ed Nevill
307d39879b 8146678: aarch64: assertion failure: call instruction in an infinite loop
Remove assertion

Reviewed-by: aph
2016-01-08 11:39:47 +00:00
Joseph Provino
9288ff53e7 Merge 2016-01-07 21:10:28 +00:00
Ed Nevill
ea1091ca76 8146286: aarch64: guarantee failures with large code cache sizes on jtreg test java/lang/invoke/LFCaching/LFMultiThreadCachingTest.java
Patch trampoline calls with special case bl to itself which does not cause guarantee failure

Reviewed-by: aph
2015-12-29 16:47:34 +00:00
Coleen Phillimore
ac0d55c188 8074457: Remove the non-Zero CPP Interpreter
Remove cppInterpreter assembly files and reorganize InterpreterGenerator includes

Reviewed-by: goetz, bdelsart
2015-12-22 11:11:29 -05:00
Kishor Kharbas
790f5bded4 8143925: Enhancing CounterMode.crypt() for AES
Add intrinsic for CounterMode.crypt() to leverage the parallel nature of AES in Counter(CTR) Mode.

Reviewed-by: kvn, ascarpino
2015-12-28 23:11:01 -08:00
Andrew Haley
cee2a179e6 8143072: [JVMCI] Port JVMCI to AArch64
Reviewed-by: gdub, rschatz, twisti, kvn
2015-12-23 20:19:42 -10:00