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
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
Christian Thalinger
34733bb83c
8003250: SPARC: move MacroAssembler into separate file
...
Reviewed-by: jrose, kvn
2012-12-06 09:57:41 -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
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
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
Coleen Phillimore
6f1b52ab16
7196681: NPG: Some JSR 292 tests crash in Windows exception handler
...
There was a rogue os::breakpoint() call in log_dependency left over from the jsr292 merge. Also changed verify_oop() calls for metadata to verify_{method,klass}_ptr.
Reviewed-by: kvn, twisti
2012-09-11 20:20:38 -04: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
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
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
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
Christian Thalinger
81c085a1e2
7003454: order constants in constant table by number of references in code
...
Reviewed-by: kvn, never, bdelsart
2011-11-16 01:39:50 -08: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
6aeaca98d1
6939861: JVM should handle more conversion operations
...
Reviewed-by: twisti, jrose
2011-05-06 16:33:13 -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
John Cuthbertson
7c844aba67
Merge
2011-04-14 13:45:41 -07:00
Igor Veresov
e8447846ee
7034967: C1: assert(false) failed: error (assembler_sparc.cpp:2043)
...
Fix -XX:+VerifyOops
Reviewed-by: kvn, never
2011-04-08 17:03:31 -07:00
Jon Masamitsu
b6e631d446
Merge
2011-04-08 14:19:50 -07:00
John Cuthbertson
a08e1ce906
7009266: G1: assert(obj->is_oop_or_null(true )) failed: Error
...
A referent object that is only weakly reachable at the start of concurrent marking but is re-attached to the strongly reachable object graph during marking may not be marked as live. This can cause the reference object to be processed prematurely and leave dangling pointers to the referent object. Implement a read barrier for the java.lang.ref.Reference::referent field by intrinsifying the Reference.get() method, and intercepting accesses though JNI, reflection, and Unsafe, so that when a non-null referent object is read it is also logged in an SATB buffer.
Reviewed-by: kvn, iveresov, never, tonyp, dholmes
2011-04-07 09:53:20 -07:00
Tom Rodriguez
1a5a2ecd25
6777083: assert(target != __null,"must not be null")
...
Reviewed-by: iveresov, kvn
2011-04-05 00:31:09 -07:00
Christian Thalinger
79c814c616
7032388: guarantee(VM_Version::supports_cmov()) failed: illegal instruction on i586 after 6919934
...
6919934 added some unguarded cmov instructions which hit a guarantee on older hardware.
Reviewed-by: never, iveresov, kvn, phh
2011-03-31 00:27:08 -07:00
Igor Veresov
36303f61b6
6964776: c2 should ensure the polling page is reachable on 64 bit
...
Materialize the pointer to the polling page in a register instead of using rip-relative addressing when the distance from the code cache is larger than disp32.
Reviewed-by: never, kvn
2011-03-27 13:17:37 -07:00
Vladimir Kozlov
a74bc73598
6942326: x86 code in string_indexof() could read beyond reserved heap space
...
Copy small (<8) strings on stack if str+16 crosses a page boundary and load from stack into XMM. Back up pointer when loading string's tail.
Reviewed-by: never
2011-02-26 12:10:54 -08:00
Tom Rodriguez
4b3ada699d
7016474: string compare intrinsic improvements
...
Reviewed-by: kvn
2011-02-09 15:02:23 -08:00
Christian Thalinger
c2b37037c6
7018378: JSR 292: _bound_int_mh produces wrong result on 64-bit SPARC
...
Reviewed-by: kvn
2011-02-14 03:21:18 -08:00
Paul Hohensee
7b0134a7cb
7003271: Hotspot should track cumulative Java heap bytes allocated on a per-thread basis
...
Track allocated bytes in Thread's, update on TLAB retirement and direct allocation in Eden and tenured, add JNI methods for ThreadMXBean.
Reviewed-by: coleenp, kvn, dholmes, ysr
2011-01-07 10:42:32 -05:00
Christian Thalinger
ffaadcecea
6961690: load oops from constant table on SPARC
...
Oops should be loaded from the constant table of an nmethod instead of materializing them with a long code sequence.
Reviewed-by: never, kvn
2010-12-03 01:34:31 -08:00
Igor Veresov
d59d7ffc4a
6985015: C1 needs to support compressed oops
...
This change implements compressed oops for C1 for x64 and sparc. The changes are mostly on the codegen level, with a few exceptions when we do access things outside of the heap that are uncompressed from the IR. Compressed oops are now also enabled with tiered.
Reviewed-by: twisti, kvn, never, phh
2010-11-30 23:23:40 -08:00
Stefan Karlsson
8006fe8f75
6989984: Use standard include model for Hospot
...
Replaced MakeDeps and the includeDB files with more standardized solutions.
Reviewed-by: coleenp, kvn, kamg
2010-11-23 13:22:55 -08:00
Vladimir Kozlov
ce2df719c6
6997311: SIGFPE in new long division asm code
...
Use unsigned DIV instruction
Reviewed-by: never
2010-11-06 18:52:07 -07:00
Christian Thalinger
0e4ed251b8
6829194: JSR 292 needs to support compressed oops
...
Reviewed-by: kvn, jrose
2010-10-11 04:18:58 -07:00
Tom Rodriguez
08d9e03b81
4809552: Optimize Arrays.fill(...)
...
Reviewed-by: kvn
2010-08-27 17:33:49 -07:00
Vladimir Kozlov
f0b6dc4e4f
6973308: Missing zero length check before repne scas in check_klass_subtype_slow_path()
...
Set Z = 0 (not equal) before repne_scan() to indicate that class was not found when RCX == 0.
Reviewed-by: never, phh
2010-07-30 10:21:15 -07:00
John R Rose
d6a9b93b5a
Merge
2010-06-02 22:45:42 -07:00
Erik Trimble
ba7c173659
6941466: Oracle rebranding changes for Hotspot repositories
...
Change all the Sun copyrights to Oracle copyright
Reviewed-by: ohair
2010-05-27 19:08:38 -07:00
Christian Thalinger
2e24ba80e9
6930772: JSR 292 needs to support SPARC C1
...
C1 for SPARC needs to support JSR 292.
Reviewed-by: never, jrose
2010-05-21 02:59:24 -07:00
Christian Thalinger
6d2a896bcd
6829193: JSR 292 needs to support SPARC
...
There are unimplemented portions of the hotspot code for method handles and invokedynamic specific to SPARC.
Reviewed-by: kvn, never, jrose
2010-04-29 06:30:25 -07:00
Changpeng Fang
2c40841f3f
Merge
2009-11-10 17:00:18 -08:00
Roland Westrelin
7eea7dcfe4
6769124: various 64-bit fixes for c1
...
Reviewed-by: never
2009-11-02 11:17:55 +01:00