Commit graph

81 commits

Author SHA1 Message Date
Vivek Deshpande
d58e3e0324 8154122: Intrinsify fused mac operations
Added FMA intrinsics on x86

Reviewed-by: kvn, aph, darcy
2016-08-26 12:17:50 -07:00
Michael Berg
6384a5d55d 8165565: Shorten branches causes incorrect code for SKX
Don't replace restoreMask CountedLoopEnd with short branches.

Reviewed-by: kvn
2016-09-07 12:23:25 -07:00
Goetz Lindenmaier
ad6ab85840 8161907: adlc: Fix crash in cisc_spill_match if _rChild == NULL
Reviewed-by: kvn
2016-07-20 12:34:11 +02:00
Rahul Raghavan
f8e4173a4e 8151661: Performance regression on Solaris-SPARC in 9-b103
Reviewed-by: kvn, aph
2016-06-21 13:14:33 -04:00
Aleksey Shipilev
c6c73deca4 8157726: VarHandles/Unsafe should support sub-word atomic ops
Reviewed-by: psandoz, vlivanov, lagergren
2016-06-15 11:21:36 +03:00
Goetz Lindenmaier
1e4b00b1dc 8140594: Various minor code improvements (compiler)
Various minor code improvements (compiler)

Reviewed-by: thartmann, kvn
2016-05-03 12:23:06 +02:00
Aleksey Shipilev
0c43809cfe 8148146: Integrate new internal Unsafe entry points, and basic intrinsic support for VarHandles
Reviewed-by: psandoz, kvn, jrose, adinn, simonis, coleenp
2016-02-23 22:09:41 +03:00
Vivek Deshpande
6a52e93df7 8143353: update for x86 sin and cos in the math lib
Optimize Math.sin() and cos() for 64 and 32 bit X86 architecture using Intel LIBM  implementation.

Reviewed-by: kvn
2016-01-08 21:06:50 -08:00
Vivek R Deshpande
453650389f 8145688: Update for x86 pow in the math lib
Optimizes Math.pow() for 64 and 32 bit X86 architecture using Intel LIBM  implementation.

Reviewed-by: kvn
2015-12-23 21:09:50 -08:00
Andrew Haley
dd5481cbbc 8145438: Guarantee failures since 8144028: Use AArch64 bit-test instructions in C2
Implement short and long versions of bit test instructions.

Reviewed-by: kvn
2015-12-15 19:18:05 +00:00
Tobias Hartmann
7af927f9c1 8141132: JEP 254: Compact Strings
Adopt a more space-efficient internal representation for strings.

Co-authored-by: Brent Christian <brent.christian@oracle.com>
Co-authored-by: Vivek Deshpande <vivek.r.deshpande@intel.com>
Co-authored-by: Charlie Hunt <charlie.hunt@oracle.com>
Co-authored-by: Vladimir Kozlov <vladimir.kozlov@oracle.com>
Co-authored-by: Roger Riggs <roger.riggs@oracle.com>
Co-authored-by: Xueming Shen <xueming.shen@oracle.com>
Co-authored-by: Aleksey Shipilev <aleksey.shipilev@oracle.com>
Co-authored-by: Sandhya Viswanathan <sandhya.viswanathan@intel.com>
Reviewed-by: alanb, bdelsart, coleenp, iklam, jiangli, jrose, kevinw, naoto, pliden, roland, smarks, twisti
2015-11-03 09:41:03 +01:00
Jan Civlin
0485593fbc 8139340: SuperWord enhancement to support vector conditional move (CMovVD) on Intel AVX cpu
Emit vector conditional moves

Reviewed-by: kvn
2015-10-26 19:33:31 -07:00
Vivek R Deshpande
c07f802b14 8139575: Update for x86 log in the math lib
Add new java.lang.Math() intrinsics from x86

Reviewed-by: kvn, iveresov
2015-10-22 21:39:25 -07:00
Vivek R Deshpande
5a633b1cbd 8132207: update for x86 exp in the math lib
Add new java.lang.Math() intrinsics from x86

Reviewed-by: kvn, iveresov
2015-10-05 20:02:40 -07:00
Felix Yang
12cba200a3 8138583: aarch64: add support for vectorizing fabs/fneg
Reviewed-by: aph, roland
2015-09-30 04:35:39 -04:00
Michael Berg
e75f5a5cde 8135028: support for vectorizing double precision sqrt
Reviewed-by: kvn, twisti
2015-09-09 10:34:17 -07:00
Michael C Berg
4fca8dbb1f 8076276: Add support for AVX512
Reviewed-by: kvn, roland
2015-05-08 11:49:20 -07:00
Calvin Cheung
7bb3af5d16 Merge 2015-04-17 14:37:20 -07:00
Staffan Larsen
47d774ab34 8077364: "if( !this )" construct prevents build on Xcode 6.3
Reviewed-by: stefank, simonis
2015-04-15 09:34:46 +02:00
Michael C Berg
9e55e44c85 8074981: Integer/FP scalar reduction optimization
Add scalar reduction optimization to C2 to take advantage of vector instructions in modern x86 CPUs.

Reviewed-by: kvn, twisti
2015-04-01 18:07:50 -07:00
Paul Sandoz
c002e71565 8068977: Remove unused sun.misc.Unsafe prefetch intrinsic support
Reviewed-by: kvn, vlivanov
2015-02-10 21:32:05 +01:00
Goetz Lindenmaier
1d9e66c743 8058880: Introduce identifier TEMP_DEF for effects in adl
Modified adlc sources.

Reviewed-by: kvn, drchase
2014-09-29 16:03:30 -04:00
David Chase
305ec3bd3f 8037816: Fix for 8036122 breaks build with Xcode5/clang
Repaired or selectively disabled offending formats; future-proofed with additional checking

Reviewed-by: kvn, jrose, stefank
2014-05-09 16:50:54 -04:00
Igor Veresov
768beb9a23 8031321: Support Intel bit manipulation instructions
Add support for BMI1 instructions

Reviewed-by: kvn, roland
2014-03-12 11:24:26 -07:00
Vladimir Kozlov
c3a0e80e0b Merge 2014-01-28 12:25:34 -08:00
Mikael Vidstedt
a0da47fd66 8029233: Update copyright year to match last edit in jdk8 hotspot repository for 2013
Copyright year updated for files modified during 2013

Reviewed-by: twisti, iveresov
2013-12-24 11:48:39 -08:00
Goetz Lindenmaier
fe89766184 8028515: PPPC64 (part 113.2): opto: Introduce LoadFence/StoreFence
Use new nodes for loadFence/storeFence intrinsics in C2.

Reviewed-by: kvn, dholmes
2013-11-26 18:38:19 -08:00
Goetz Lindenmaier
d22bde2c91 8028580: PPC64 (part 114/120): Support for Call nodes with constants
Extends MachCall nodes so that they can issue constants to the constant table

Reviewed-by: kvn
2013-11-20 11:08:09 -08:00
Goetz Lindenmaier
f9a0d6a4b5 8028401: PPC (part 117): Improve usability of adlc and format() functionality
Add additional, more verbose syntax checks in adlc. Fix printing constant's problem in format().

Reviewed-by: kvn
2013-11-15 12:01:00 -08:00
Goetz Lindenmaier
12b298218d 8003854: PPC64 (part 115): Introduce PostallocExpand that expands nodes after register allocation
Added ability in C2 to expand mach nodes to several mach nodes after register allocation

Reviewed-by: kvn
2013-11-14 19:24:59 -08:00
Niclas Adlertz
3838ed7b68 8022783: Nashorn test fails with: assert(!def_outside->member(r))
Enables private copies of inputs for recent spill copies as well

Reviewed-by: kvn, twisti
2013-10-18 10:50:17 +02:00
Rickard Bäckman
441f1d74cf 8024924: Intrinsify java.lang.Math.addExact
Reviewed-by: kvn, twisti
2013-09-27 08:39:19 +02:00
Niclas Adlertz
9129e6dc2b 8016157: During CTW: C2: assert(!def_outside->member(r)) failed: Use of external LRG overlaps the same LRG defined in this block
Disable rematerialization for negD node

Reviewed-by: kvn, roland
2013-06-14 01:19:56 +02:00
Christian Thalinger
337a9c1432 8015266: fix some -Wsign-compare warnings in adlc
Reviewed-by: kvn
2013-05-30 08:37:08 -07:00
Roland Westrelin
c84424d4af 8007722: C2: "assert(tp->base() != Type::AnyPtr) failed: not a bare pointer" at machnode.cpp:376
GetAndSetP's MachNode should capture bottom type.

Reviewed-by: kvn
2013-02-26 12:18:30 +01: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
Goetz Lindenmaier
f28ac57f94 8000592: Improve adlc usability
Several changes to adlc to improve its usability

Reviewed-by: kvn
2012-10-09 16:09:31 -07:00
Vladimir Ivanov
6674423523 7199654: Remove LoadUI2LNode
Removed LoadUI2L node from Ideal nodes, use match rule in .ad files instead.

Reviewed-by: kvn
2012-10-09 12:40:05 -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
e8332c76e9 7201026: add vector for shift count
Add generation of vectors for scalar shift count.

Reviewed-by: roland, twisti, dlong
2012-10-02 12:25:13 -07:00
Vladimir Kozlov
9c3545d4fb 7200233: C2: can't use expand rules for vector instruction rules
Added missed _bottom_type set in ArchDesc::defineExpand() and missed vector nodes in MatchRule::is_vector().

Reviewed-by: twisti, roland, dlong
2012-09-25 10:41:15 -07:00
Roland Westrelin
302540691b 7023898: Intrinsify AtomicLongFieldUpdater.getAndIncrement()
Use shorter instruction sequences for atomic add and atomic exchange when possible.

Reviewed-by: kvn, jrose
2012-09-20 16:49:17 +02: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
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
Krystal Mok
529b370174 7174218: remove AtomicLongCSImpl intrinsics
Reviewed-by: kvn, twisti
2012-06-12 14:31:44 -07:00
Roland Westrelin
97439fb4ff 7121140: Allocation paths require explicit memory synchronization operations for RMO systems
Adds store store barrier after initialization of header and body of objects.

Reviewed-by: never, kvn
2011-12-20 16:56:50 +01:00
Roland Westrelin
9d8e44db59 7077312: Provide a CALL effect for instruct declaration in the ad file
Abstracted way to declare that the MachNode has the effect of a call (kills caller save registers, preserves callee save registers)

Reviewed-by: twisti, never
2011-09-14 09:22:51 +02:00
Roland Westrelin
8ae50d45a4 7096010: c2: running with +PrintOptoAssembly crashes the VM when $constanttablebase is used
ADLC generates code to prepare the register string to be printed in a char array but then calls print without the char array as an argument.

Reviewed-by: never
2011-09-30 13:47:26 +02: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
080f790edc 7079317: Incorrect branch's destination block in PrintoOptoAssembly output
Save/restore label and block in scratch_emit_size()

Reviewed-by: never
2011-08-16 11:53:57 -07:00