Zoltan Majo
41b79b9ad4
8074869: C2 code generator can replace -0.0f with +0.0f on Linux
...
Instead of 'fpclass', use cast float->int and double->long to check if value is +0.0f and +0.0d, respectively.
Reviewed-by: kvn, simonis, dlong
2015-03-14 11:21:04 +01: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
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
Morris Meyer
c468032582
8050022: linux-sparcv9: assert(SharedSkipVerify || obj->is_oop()) failed: sanity check
...
Provide promoted stack slots for floating-point registers in the SPARC c_calling_convention.
Reviewed-by: kvn, jrose, drchase
2014-09-18 11:46:33 -07:00
Tobias Hartmann
1213845b36
8029443: 'assert(klass->is_loader_alive(_is_alive)) failed: must be alive' during VM_CollectForMetadataAllocation
...
Added missing metadata relocation to 'loadConP_no_oop_cheap' on Sparc if the pointer is referring to a Klass. Added jtreg test.
Reviewed-by: kvn, roland
2014-08-06 08:47:40 +02:00
Tobias Hartmann
1caa674424
8051550: Printing of 'cmpN_reg_branch_short' instruction shows wrong 'op2' register
...
Missing '$' added to the format string of the 'cmpN_reg_branch_short' instruction (sparc.ad).
Reviewed-by: kvn, iveresov
2014-07-23 07:53:24 +02:00
Mikael Vidstedt
baadb75921
8044735: Print format/argument warnings
...
Reviewed-by: twisti, kvn
2014-06-03 18:24:38 -07: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
Igor Veresov
e6456ff2a4
8038297: Avoid placing CTI immediately following cbcond instruction on T4
...
Insert a nop between cbcond and CTI
Reviewed-by: kvn, twisti
2014-04-10 23:15:13 -07:00
Lutz Schmidt
ac75d4fc2f
8037821: Account for trampoline stubs when estimating code buffer sizes
...
Take into account space needed for "trampoline code" used by calls on PPC64.
Reviewed-by: kvn
2014-03-25 12:54:21 -07:00
Rickard Bäckman
0b85ee832e
8027754: Enable loop optimizations for loops with MathExact inside
...
Reviewed-by: kvn, iveresov
2014-01-23 12:08:28 +01:00
Vladimir Kozlov
7d92dc4d79
Merge
2014-01-28 12:28:17 -08:00
Vladimir Kozlov
c3a0e80e0b
Merge
2014-01-28 12:25:34 -08:00
Igor Veresov
0c43978be6
8031743: C2: loadI2L_immI broken for negative memory values
...
Restrict loadI2L_imm optimizations to positive values of mask
Reviewed-by: kvn, dlong
2014-01-21 20:05:28 -08:00
Igor Veresov
2275de8d6b
8032207: C2: assert(VerifyOops || MachNode::size(ra_) <= (3+1)*4) failed: bad fixed size
...
Fix the sizing of loadUS2L_immI16 and loadI2L_immI
Reviewed-by: kvn, azeemj
2014-01-17 18:09:08 -08:00
Shrinivas Joshi
d4c9d3889b
8002074: Support for AES on SPARC
...
Add intrinsics/stub routines support for single-block and multi-block (as used by Cipher Block Chaining mode) AES encryption and decryption operations on the SPARC platform.
Reviewed-by: kvn, roland
2014-01-14 17:46:48 -08:00
Igor Veresov
99d963b5ee
8029668: Kithcensink crashed with guarantee(Assembler::is_simm13(disp)) failed: Do not match large constant offsets
...
Bailout if we try to reference a stack location that we can't encode
Reviewed-by: kvn, twisti
2013-12-12 11:25:32 -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
Vladimir Kozlov
aabed3781b
Merge
2013-11-21 12:30:35 -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
Vladimir Kozlov
39b0e57fdd
Merge
2013-11-05 17:38:04 -08:00
Roland Westrelin
c8757a5edd
8027445: SIGSEGV at TestFloatingDecimal.testAppendToDouble()I
...
String.equals() intrinsic shouldn't use integer length input in pointer arithmetic without an i2l.
Reviewed-by: kvn, twisti
2013-11-04 21:59:54 +01:00
Calvin Cheung
bea255ee35
Merge
2013-10-25 22:06:43 -07: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
Rickard Bäckman
615376fb9b
8026844: Various Math functions needs intrinsification
...
Reviewed-by: kvn, twisti
2013-10-18 10:41:56 +02:00
Rickard Bäckman
441f1d74cf
8024924: Intrinsify java.lang.Math.addExact
...
Reviewed-by: kvn, twisti
2013-09-27 08:39:19 +02:00
Goetz Lindenmaier
081d2454fb
8024344: PPC64 (part 112): C argument in register AND stack slot
...
On PPC, the first 13 floating point arguments to C calls are passed in floating point registers. Also, all but the first 8 arguments are passed on the stack. So there can be floating point arguments that are passed on the stack and in a register. We duplicate the regs datastructure in c_calling_convention() to represent this.
Reviewed-by: kvn, cjplummer
2013-09-12 13:51:13 -07: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
Erik Helin
30f059b5fc
8015107: NPG: Use consistent naming for metaspace concepts
...
Reviewed-by: coleenp, mgerdin, hseigel
2013-08-12 17:37:02 +02:00
Morris Meyer
5b2339a7a2
8008407: remove SPARC V8 support
...
Removed most of the SPARC V8 instructions
Reviewed-by: kvn, twisti
2013-06-07 16:46:37 -07:00
Dean Long
9c966207ef
Merge
2013-04-24 21:11:02 -04:00
Goetz Lindenmaier
3f42e9e118
8003853: specify offset of IC load in java_to_interp stub
...
Refactored code to allow platform-specific differences
Reviewed-by: dlong, twisti
2013-04-24 20:55:28 -04:00
David Chase
25c31f3742
6443505: Ideal() function for CmpLTMask
...
Repair wrong code generation, added new matching rule
Reviewed-by: kvn, twisti
2013-04-12 19:14:47 -07:00
Richard Reingruber
ba0d2572eb
8005033: clear high word for integer pop count on SPARC
...
Reviewed-by: kvn, twisti
2012-12-19 14:44:00 -08: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
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
Nils Eliasson
7b7d3507db
7152957: VM crashes with assert(false) failed: bad AD file
...
Reviewed-by: kvn, never
2012-03-12 15:28:07 -07:00
Vladimir Kozlov
94927c382b
7125896: Eliminate nested locks
...
Nested locks elimination done before lock nodes expansion by looking for outer locks of the same object.
Reviewed-by: never, twisti
2012-01-07 13:26:43 -08:00
Vladimir Kozlov
f99fb50071
7110824: ctw/jarfiles/GUI3rdParty_jar/ob_mask_DateField crashes VM
...
Change yank_if_dead() to recursive method to remove all dead inputs.
Reviewed-by: never
2012-01-07 10:39:23 -08: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
07d9df5a7f
7090968: Allow adlc register class to depend on runtime conditions
...
Allow reg_class definition as a function.
Reviewed-by: kvn, never
2011-11-22 09:45:57 +01: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
669fa7396d
7097546: Optimize use of CMOVE instructions
...
Avoid CMove in a loop if possible. May generate CMove if it could be moved outside a loop.
Reviewed-by: never
2011-10-26 06:08:56 -07:00
Vladimir Kozlov
2407655ab1
7100757: The BitSet.nextSetBit() produces incorrect result in 32bit VM on Sparc
...
Instruction countTrailingZerosL() should use iRegIsafe dst register since it is used in long arithmetic.
Reviewed-by: never, twisti
2011-10-14 10:07:28 -07:00
Vladimir Kozlov
9c87ea9062
7085137: -XX:+VerifyOops is broken
...
Replace set() with patchable_set() to generate 8 instructions always.
Reviewed-by: iveresov, never, roland
2011-08-31 09:48:21 -07:00