Commit graph

112 commits

Author SHA1 Message Date
Nils Eliasson
2f9e32256d Merge 2015-11-13 13:31:48 +01:00
Michael C Berg
e86e38619e 8140779: Code generation fixes for avx512
Assembler refactoring. Abstract away instruction attributes.

Reviewed-by: kvn, roland, iveresov
2015-11-09 11:26:41 -08:00
Tomasz Wojtowicz
61b77b8590 8134553: CRC32C implementations for x86/x64 targets
Reviewed-by: kvn
2015-09-16 15:54:32 -07:00
Michael Berg
d67924dc8e 8132160: support for AVX 512 call frames and stack management
Simplify save/restore frame on x86 systems which support EVEX.

Reviewed-by: kvn, iveresov
2015-09-11 17:02:44 -07:00
Dmitry Samersoff
6ed285af0a Merge 2015-08-31 21:46:33 +03:00
Kim Barrett
7706e36194 8072817: CardTableExtension kind() should be BarrierSet::CardTableExtension
Use BarrierSet::CardTableForRS where needed, and update concrete bs tags.

Reviewed-by: jwilhelm, jmasa
2015-08-18 17:48:35 -04:00
Zoltan Majo
1e55e60cb1 8076373: In 32-bit VM interpreter and compiled code process NaN values differently
Change interpreter to use XMM registers on x86_32 if they are available. Add stubs for methods transforming from/to int/long float/double.

Reviewed-by: kvn, mcberg
2015-08-19 08:55:18 +02:00
Aleksey Shipilev
f6c7ab6565 8131682: C1 should use multibyte nops everywhere
Reviewed-by: dlong, goetz, adinn, aph, vlivanov
2015-08-11 12:24:26 +03:00
Thomas Schatzl
392a65ff86 8131344: Missing klass.inline.hpp include in compiler files
Reviewed-by: kvn
2015-07-16 11:55:21 +02:00
Daniel D. Daugherty
0db4f21ce2 8130448: thread dump improvements, comment additions, new diagnostics inspired by 8077392
Reviewed-by: dholmes, coleenp
2015-07-14 09:33:20 -07:00
Bill Pittore
304b59b0c8 8081202: Hotspot compile warning: "Invalid suffix on literal; C++11 requires a space between literal and identifier"
Need to add a space between macro identifier and string literal

Reviewed-by: stefank, dholmes, kbarrett
2015-06-24 12:12:25 -04:00
Andrew Haley
b387838cea 8079315: UseCondCardMark broken in conjunction with CMS precleaning on x86
Add the necessary StoreLoad barrier in interpreter, C1 and C2 for x86

Reviewed-by: tschatzl
2015-06-19 09:41:50 +02:00
Aleksey Shipilev
6cb9f920e1 8078438: Interpreter should support conditional card marks (UseCondCardMark) on x86 and aarch64
Add interpreter support for conditional card marks on x86 and aarch64

Reviewed-by: tschatzl, aph
2015-06-19 09:41:49 +02:00
Vladimir Kozlov
93d1573c5e 8081778: Use Intel x64 CPU instructions for RSA acceleration
Add intrinsics for BigInteger squareToLen and mulAdd methods.

Reviewed-by: kvn, jrose
2015-06-03 15:02:10 -07:00
Jesper Wilhelmsson
25c41c6094 Merge 2015-05-21 21:17:56 +02:00
Jesper Wilhelmsson
f64e5038a4 Merge 2015-05-18 17:09:47 +02:00
Daniel D. Daugherty
5cf176b870 Merge 2015-05-16 13:19:11 -07:00
Max Ockner
813f34059b 6811960: x86 biasedlocking epoch expired rare bug
It is now guaranteed that biased_locking_enter will be passed a valid tmp_reg.

Reviewed-by: coleenp, dcubed, kvn
2015-05-14 14:03:58 -04:00
Michael C Berg
4fca8dbb1f 8076276: Add support for AVX512
Reviewed-by: kvn, roland
2015-05-08 11:49:20 -07:00
Bharadwaj Yadavalli
f8d0a6ff28 Merge 2015-04-30 18:14:58 -04:00
Zoltan Majo
a452b030ce 8068945: Use RBP register as proper frame pointer in JIT compiled code on x86
Introduce the PreserveFramePointer flag to control if RBP is used as the frame pointer or as a general purpose register.

Reviewed-by: kvn, roland, dlong, enevill, shade
2015-04-27 10:49:43 +02:00
Daniel D. Daugherty
884f0d320f 8073165: Contended Locking fast exit bucket
JEP-143/JDK-8073165 Contended Locking fast exit bucket

Co-authored-by: Dave Dice <dave.dice@oracle.com>
Co-authored-by: Karen Kinnear <karen.kinnear@oracle.com>
Reviewed-by: dholmes, acorn, dice, dcubed
2015-04-16 08:23:26 -07:00
Sandhya Viswanathan
51fd716978 8078113: 8011102 changes may cause incorrect results
Replace Vzeroupper instruction in stubs with zeroing only used ymm registers.

Reviewed-by: kvn
2015-04-17 17:39:19 -07:00
Kim Barrett
40d3986051 8069016: Add BarrierSet downcast support
Add FakeRttiSupport utility and use to provide barrier_set_cast.

Reviewed-by: jmasa, sangheki
2015-02-27 19:52:48 -05:00
Daniel D. Daugherty
a9e28164eb 8061553: Contended Locking fast enter bucket
JEP-143/JDK-8061553 Contended Locking fast enter bucket

Co-authored-by: Dave Dice <dave.dice@oracle.com>
Co-authored-by: Karen Kinnear <karen.kinnear@oracle.com>
Reviewed-by: dholmes, acorn
2015-02-13 10:01:42 -08:00
Tobias Hartmann
21e2e5ffc0 8069580: String intrinsic related cleanups
Small cleanup of string intrinsic related code.

Reviewed-by: kvn, roland
2015-01-22 09:07:41 +01:00
Roland Westrelin
3b3dd985de 8063086: Math.pow yields different results upon repeated calls
C2 treats x^2 as a special case and computes x * x while the interpreter and c1 don't have special case code for X^2.

Reviewed-by: kvn
2015-01-07 16:40:02 +01:00
David Chase
f454e5e02c Merge 2014-11-13 11:35:15 -05:00
Jesper Wilhelmsson
c72d5c48e2 Merge 2014-11-13 12:29:09 +01:00
Daniel D. Daugherty
d7ec650456 8062851: cleanup ObjectMonitor offset adjustments
JEP-143/JDK-8046133 - cleanup computation of ObjectMonitor field pointers

Reviewed-by: dholmes, redestad, coleenp
2014-11-06 13:05:14 -08:00
Martin Doerr
d4fc9133ab 8062950: Bug in locking code when UseOptoBiasInlining is disabled: assert(dmw->is_neutral()) failed: invariant
Reviewed-by: dholmes, kvn
2014-11-05 16:28:11 +01:00
Bengt Rutisson
4601eb634a 8061308: Remove iCMS
Reviewed-by: mgerdin, jmasa
2014-10-31 09:10:51 +01:00
Vladimir Kozlov
b9e949183d 8055494: Add C2 x86 intrinsic for BigInteger::multiplyToLen() method
Add new C2 intrinsic for BigInteger::multiplyToLen() on x86 in 64-bit VM.

Reviewed-by: roland
2014-09-02 12:48:45 -07:00
Vladimir Kozlov
7764490363 8052081: Optimize generated by C2 code for Intel's Atom processor
Allow to execute vectorization and crc32 optimization on Atom. Enable UseFPUForSpilling by default on x86.

Reviewed-by: roland
2014-08-05 15:02:10 -07: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
Niclas Adlertz
922879d58e 8029302: Performance regression in Math.pow intrinsic
Added special case for x^y where y == 2

Reviewed-by: kvn, roland
2014-04-25 12:48:34 +02:00
Roland Westrelin
f5adc57f94 8032410: compiler/uncommontrap/TestStackBangRbp.java times out on Solaris-Sparc V9
Make compiled code bang the stack by the worst case size of the interpreter frame at deoptimization points.

Reviewed-by: twisti, kvn
2014-04-01 09:36:49 +02:00
Vladimir Kozlov
4841e826dd 8038939: Some options related to RTM locking optimization works inconsistently
Switch UseRTMXendForLockBusy flag ON by default and change code to retry RTM locking on lock busy condition by default.

Reviewed-by: roland
2014-04-09 11:18:02 -07:00
Vladimir Kozlov
97a51c5c2a 8031320: Use Intel RTM instructions for locks
Use RTM for inflated locks and stack locks.

Reviewed-by: iveresov, twisti, roland, dcubed
2014-03-20 17:49:27 -07:00
Per Lidén
4dc240f785 8079792: GC directory structure cleanup
Reviewed-by: brutisso, stefank, david
2015-05-13 15:16:06 +02:00
Vladimir Kozlov
e2fecea88e 8033805: Move Fast_Lock/Fast_Unlock code from .ad files to macroassembler
Consolidated C2 x86 locking code in one place in macroAssembler_x86.cpp.

Reviewed-by: roland
2014-02-24 15:12:26 -08:00
Albert Noll
234b4044ba 8028109: compiler/codecache/CheckReservedInitialCodeCacheSizeArgOrder.java crashes in RT_Baseline
Use non-relocatable code to load byte_map_base

Reviewed-by: kvn, roland
2013-12-04 09:31:17 +01:00
Mikael Vidstedt
e80dce6a4d 8026775: nsk/jvmti/RedefineClasses/StressRedefine crashes due to EXCEPTION_ACCESS_VIOLATION
Uncommon trap blob did not bang all the stack shadow pages

Reviewed-by: kvn, twisti, iveresov, jrose
2013-11-06 06:51:24 -08:00
Coleen Phillimore
3e6630c07b 8024927: Nashorn performance regression with CompressedOops
Allocate compressed class space at end of Java heap.  For small heap sizes, without CDS, save some space so compressed classes can have the same favorable compression as oops

Reviewed-by: stefank, hseigel, goetz
2013-10-25 15:19:29 -04:00
Mikael Gerdin
7f3b537807 8014555: G1: Memory ordering problem with Conc refinement and card marking
Add a StoreLoad barrier in the G1 post-barrier to fix a race with concurrent refinement. Also-reviewed-by: martin.doerr@sap.com

Reviewed-by: iveresov, tschatzl, brutisso, roland, kvn
2013-10-08 17:35:51 +02:00
Erik Helin
30f059b5fc 8015107: NPG: Use consistent naming for metaspace concepts
Reviewed-by: coleenp, mgerdin, hseigel
2013-08-12 17:37:02 +02:00
Harold Seigel
4d91f4e69d 8003424: Enable Class Data Sharing for CompressedOops
8016729: ObjectAlignmentInBytes=16 now forces the use of heap based compressed oops
8005933: The -Xshare:auto option is ignored for -server

Move klass metaspace above the heap and support CDS with compressed klass ptrs.

Reviewed-by: coleenp, kvn, mgerdin, tschatzl, stefank
2013-08-15 20:04:10 -04: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
Vladimir Kozlov
88f70d8026 8011102: Clear AVX registers after return from JNI call
Execute vzeroupper instruction after JNI call and on exits in jit compiled code which use 256bit vectors.

Reviewed-by: roland
2013-04-03 11:12:57 -07:00
Roland Westrelin
8f1814d874 8008555: Debugging code in compiled method sometimes leaks memory
Support for strings that have same life-time as code that uses them.

Reviewed-by: kvn, twisti
2013-03-18 13:19:06 +01:00