110 Commits

Author SHA1 Message Date
Rickard Bäckman
615376fb9b 8026844: Various Math functions needs intrinsification
Reviewed-by: kvn, twisti
2013-10-18 10:41:56 +02:00
Christian Thalinger
9376d94e6c 8025613: clang: remove -Wno-unused-value
Reviewed-by: iveresov
2013-09-28 12:42:22 -07:00
David Chase
9a359984c2 7088419: Use x86 Hardware CRC32 Instruction with java.util.zip.CRC32
Add intrinsics using new instruction to interpreter, C1, C2, for suitable x86; add test

Reviewed-by: kvn, twisti
2013-07-02 20:42:12 -04:00
Mikael Vidstedt
eeb83733a6 8003310: Enable -Wunused-function when compiling with gcc
Add the -Wunused-function flag and remove a number of unused functions.

Reviewed-by: dholmes, coleenp, kvn
2013-04-04 10:01:26 -07:00
Vladimir Kozlov
231bbf39f4 8007708: compiler/6855215 assert(VM_Version::supports_sse4_2())
Added missing UseSSE42 check. Also added missing avx2 assert for vpermq instruction.

Reviewed-by: roland, twisti
2013-02-08 15:07:17 -08:00
Dean Long
0a2347e0ba Merge 2013-01-27 01:07:09 -08:00
Joseph Provino
698fba94ef 8005915: Unify SERIALGC and INCLUDE_ALTERNATE_GCS
Rename INCLUDE_ALTERNATE_GCS to INCLUDE_ALL_GCS and replace SERIALGC with INCLUDE_ALL_GCS.

Reviewed-by: coleenp, stefank
2013-01-23 13:02:39 -05:00
Vladimir Kozlov
9e0c61f822 6896617: Optimize sun.nio.cs.ISO_8859_1$Encode.encodeArrayLoop() on x86
Use SSE4.2 and AVX2 instructions for encodeArray intrinsic.

Reviewed-by: roland
2013-01-22 15:34:16 -08:00
Vladimir Kozlov
38c81fb411 8005419: Improve intrinsics code performance on x86 by using AVX2
Use 256bit vpxor,vptest instructions in String.compareTo() and equals() intrinsics.

Reviewed-by: twisti
2013-01-08 11:30:51 -08:00
Morris Meyer
b3fe91a803 8004537: replace AbstractAssembler emit_long with emit_int32
Reviewed-by: jrose, kvn, twisti
2013-01-07 14:08:28 -08:00
Vladimir Kozlov
7b9133b99c 8005544: Use 256bit YMM registers in arraycopy stubs on x86
Use YMM registers in arraycopy and array_fill stubs.

Reviewed-by: roland, twisti
2013-01-03 16:30:47 -08:00
Vladimir Kozlov
cfcd28fd9d 8005522: use fast-string instructions on x86 for zeroing
Use 'rep stosb' instead of 'rep stosq' when fast-string operations are available.

Reviewed-by: twisti, roland
2013-01-03 15:09:55 -08:00
Morris Meyer
113e9ab39d 8004250: replace AbstractAssembler a_byte/a_long with emit_int8/emit_int32
Reviewed-by: jrose, kvn, twisti
2012-12-20 18:53:44 -08:00
Vladimir Kozlov
960d969ade 8004835: Improve AES intrinsics on x86
Enable AES intrinsics on non-AVX cpus, group together aes instructions in crypto stubs.

Reviewed-by: roland, twisti
2012-12-19 15:40:35 -08:00
Morris Meyer
52da261983 8004536: replace AbstractAssembler emit_word with emit_int16
Reviewed-by: jrose, kvn, twisti
2012-12-18 10:47:23 -08:00
Christian Thalinger
2c2c007448 8003240: x86: move MacroAssembler into separate file
Reviewed-by: kvn
2012-11-30 15:23:16 -08:00
Bharadwaj Yadavalli
a533392684 8003195: AbstractAssembler should not store code pointers but use the CodeSection directly
Reviewed-by: twisti, kvn
2012-11-30 11:44:05 -08:00
Tom Deneau
6d94ef1ee7 7184394: add intrinsics to use AES instructions
Use new x86 AES instructions for AESCrypt.

Reviewed-by: twisti, kvn, roland
2012-10-24 14:33:22 -07:00
Vladimir Kozlov
5f132a5ec3 Merge 2012-10-12 09:22:52 -07:00
Roland Westrelin
61eb5a0549 7054512: Compress class pointers after perm gen removal
Support of compress class pointers in the compilers.

Reviewed-by: kvn, twisti
2012-10-09 10:11:38 +02:00
Harold Seigel
284879b3fc 6884973: java -XX:Atomics=2 crashes
Remove buggy experimental option

Reviewed-by: acorn, coleenp
2012-10-04 08:43:14 -04:00
Coleen Phillimore
28047d6a0f 8000213: NPG: Should have renamed arrayKlass and typeArrayKlass
Capitalize these metadata types (and objArrayKlass)

Reviewed-by: stefank, twisti, kvn
2012-09-29 06:40:00 -04:00
Vladimir Kozlov
811c047ec1 7196199: java/text/Bidi/Bug6665028.java failed: Bidi run count incorrect
Save whole XMM/YMM registers in safepoint interrupt handler.

Reviewed-by: roland, twisti
2012-09-17 19:39:07 -07:00
Jon Masamitsu
5c58d27aac 6964458: Reimplement class meta-data storage to use native memory
Remove PermGen, allocate meta-data in metaspace linked to class loaders, rewrite GC walking, rewrite and rename metadata to be C++ classes

Co-authored-by: Stefan Karlsson <stefan.karlsson@oracle.com>
Co-authored-by: Mikael Gerdin <mikael.gerdin@oracle.com>
Co-authored-by: Tom Rodriguez <tom.rodriguez@oracle.com>
Reviewed-by: jmasa, stefank, never, coleenp, kvn, brutisso, mgerdin, dholmes, jrose, twisti, roland
2012-09-01 13:25:18 -04:00
Vladimir Kozlov
e3c3c8527e 6340864: Implement vectorization optimizations in hotspot-server
Added asm encoding and mach nodes for vector arithmetic instructions on x86.

Reviewed-by: roland
2012-08-20 09:07:21 -07:00
Christian Thalinger
12901d0e5b 7023639: JSR 292 method handle invocation needs a fast path for compiled code
6984705: JSR 292 method handle creation should not go through JNI

Remove assembly code for JDK 7 chained method handles

Co-authored-by: John Rose <john.r.rose@oracle.com>
Co-authored-by: Michael Haupt <michael.haupt@oracle.com>
Reviewed-by: jrose, twisti, kvn, mhaupt
2012-07-24 10:51:00 -07:00
Vladimir Kozlov
15f4203b0f 7181494: cleanup avx and vectors code
Renamed mach nodes which use scalar AVX instructions, added integer vectors shuffling instructions

Reviewed-by: twisti
2012-07-16 17:10:22 -07:00
Vladimir Kozlov
d1191bb4f4 7119644: Increase superword's vector size up to 256 bits
Increase vector size up to 256-bits for YMM AVX registers on x86.

Reviewed-by: never, twisti, roland
2012-06-15 01:25:19 -07:00
Roland Westrelin
bd09c5ac38 7174532: jdk/test/java/lang/Math/WorstCaseTests.java failing on x86
Increase precision on x86 for the steps of the computation of exp and pow.

Reviewed-by: kvn
2012-06-12 10:02:36 +02:00
Roland Westrelin
e975779565 7169934: pow(x,y) or x64 computes incorrect result when x<0 and y is an odd integer
Bad test for parity of y in pow(x,y) (c1, interpreter)

Reviewed-by: kvn, twisti
2012-05-21 09:46:02 +02:00
Roland Westrelin
b305cf722e 7133857: exp() and pow() should use the x87 ISA on x86
Use x87 instructions to implement exp() and pow() in interpreter/c1/c2.

Reviewed-by: kvn, never, twisti
2012-05-15 10:10:23 +02:00
Tom Rodriguez
8fc6b2ef2a 7157141: crash in 64 bit with corrupted oops
Reviewed-by: kvn, iveresov
2012-04-02 16:05:56 -07:00
Vladimir Kozlov
539616f85a 7125136: SIGILL on linux amd64 in gc/ArrayJuggle/Juggle29
For C2 moved saving EBP after ESP adjustment. For C1 generated 5 byte nop instruction first if needed.

Reviewed-by: never, twisti, azeemj
2012-02-15 21:37:49 -08:00
Igor Veresov
72f3f7db44 7119294: Two command line options cause JVM to crash
Setup thread register in MacroAssembler::incr_allocated_bytes() on x64

Reviewed-by: kvn
2012-01-05 17:25:58 -08:00
Vladimir Kozlov
b6828ac542 Merge 2011-12-29 11:37:50 -08:00
Vladimir Kozlov
6c38bc48ca 7110832: ctw/.../org_apache_avalon_composition_util_StringHelper crashes the VM
Distance is too large for one short branch in string_indexofC8().

Reviewed-by: iveresov
2011-12-23 15:24:36 -08:00
Volker Simonis
f49894d78c 7122939: TraceBytecodes broken with UseCompressedOops
Disable verify_heapbase on sparc if TraceBytecodes because the latter uses r12 as a temp register

Reviewed-by: coleenp, phh
2011-12-19 15:34:09 -05:00
Stefan Karlsson
e057d60ca1 7118863: Move sizeof(klassOopDesc) into the *Klass::*_offset_in_bytes() functions
Moved sizeof(klassOopDesc), changed the return type to ByteSize and removed the _in_bytes suffix.

Reviewed-by: never, bdelsart, coleenp, jrose
2011-12-07 11:35:03 +01:00
Vladimir Kozlov
dc542c9909 7121648: Use 3-operands SIMD instructions on x86 with AVX
Use 3-operands SIMD instructions in C2 generated code for machines with AVX.

Reviewed-by: never
2011-12-20 00:55:02 -08:00
Vladimir Kozlov
b7f5d60a7e 7116452: Add support for AVX instructions
Added support for AVX extension to the x86 instruction set.

Reviewed-by: never
2011-12-14 14:54:38 -08:00
Tom Rodriguez
4511ca18de 7110489: C1: 64-bit tiered with ForceUnreachable: assert(reachable(src)) failed: Address should be reachable
Reviewed-by: kvn, iveresov, twisti
2011-11-18 10:29:27 -08:00
Tom Rodriguez
e39ba1a5fe 7086585: make Java field injection more flexible
Reviewed-by: jrose, twisti, kvn, coleenp
2011-09-10 17:29:02 -07:00
Vladimir Kozlov
85b4875e2e 7081926: assert(VM_Version::supports_sse2()) failed: must support
Fix assert, prefetchnta is supported since SSE not SSE2.

Reviewed-by: never
2011-08-22 11:00:39 -07:00
Christian Thalinger
fc31a8e0b9 7079626: x64 emits unnecessary REX prefix
Reviewed-by: kvn, iveresov, never
2011-08-17 05:14:43 -07:00
Vladimir Kozlov
90651b2666 7079329: Adjust allocation prefetching for T4
On T4 2 BIS instructions should be issued to prefetch 64 bytes

Reviewed-by: iveresov, phh, twisti
2011-08-16 16:59:46 -07:00
Vladimir Kozlov
ac99f413d7 7063629: use cbcond in C2 generated code on T4
Use new short branch instruction in C2 generated code.

Reviewed-by: never
2011-08-11 12:08:11 -07:00
Tom Rodriguez
7c1d16f7d3 7056380: VM crashes with SIGSEGV in compiled code
Code was using andq reg, imm instead of addq addr, imm

Reviewed-by: kvn, jrose, twisti
2011-06-21 09:04:55 -07:00
John R Rose
bb3a527f9a 7047697: MethodHandle.invokeExact call for wrong method causes VM failure if run with -Xcomp
Reviewed-by: never, twisti
2011-06-08 17:04:06 -07:00
Tom Rodriguez
a664e486bd 7045514: SPARC assembly code for JSR 292 ricochet frames
Reviewed-by: kvn, jrose
2011-06-03 22:31:43 -07:00
Tom Rodriguez
33f0e50994 7009361: JSR 292 Invalid value on stack on solaris-sparc with -Xcomp
Reviewed-by: kvn, twisti
2011-05-02 18:53:37 -07:00