Tobias Hartmann
5b1d170deb
8171435: "assert(is_single_cpu() && !is_virtual()) failed: type check" with -XX:+PatchALot on SPARC
...
Fixed several issues with PatchALot or unaligned accesses on SPARC.
Reviewed-by: kvn
2017-01-06 10:55:30 +01:00
Bharadwaj Yadavalli
2841c5eb2b
8171008: Integrate AOT compiler into JDK
...
Co-authored-by: Christian Thalinger <cthalinger@twitter.com>
Co-authored-by: Dean Long <dean.long@oracle.com>
Co-authored-by: Dmitrij Pochepko <dmitrij.pochepko@oracle.com>
Co-authored-by: Dmitry Chuyko <dmitry.chuyko@oracle.com>
Co-authored-by: Doug Simon <doug.simon@oracle.com>
Co-authored-by: Eric Caspole <eric.caspole@oracle.com>
Co-authored-by: Igor Ignatyev <igor.ignatyev@oracle.com>
Co-authored-by: Igor Veresov <igor.veresov@oracle.com>
Co-authored-by: John Rose <john.r.rose@oracle.com>
Co-authored-by: Morris Meyer <morris.meyer@oracle.com>
Co-authored-by: Niclas Adlertz <niclas.adlertz@oracle.com>
Co-authored-by: Rickard Backman <rickard.backman@oracle.com>
Reviewed-by: erikj, mchung, psandoz, coleenp, iklam, stefank, simonis
2016-12-11 19:07:04 -08:00
Zoltan Majo
154d568edd
8160591: Improve internal array handling
...
Co-authored-by: Xiang Yuan <xiang.yuan@linaro.org>
Reviewed-by: kvn
2016-07-01 09:33:34 +02:00
Ivan Krylov
429b1c80a1
8147844: new method j.l.Runtime.onSpinWait() and the corresponding x86 hotspot instrinsic
...
Adds c1 & c2 x86 intrinsics for j.l.Runtime.onSpinWait() that utilize the PAUSE instruction
Co-authored-by: Yuri Gaevsky <ygaevsky@azul.com>
Reviewed-by: iveresov, kvn
2016-03-30 17:04:14 +02: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
Frederic Parain
ef800bd53f
8046936: JEP 270: Reserved Stack Areas for Critical Sections
...
Reviewed-by: acorn, dcubed
2015-12-11 09:07:07 -08:00
Ahmed Khawaja
e28d9ba105
8143012: CRC32 Intrinsics support on SPARC
...
Reviewed-by: kvn, roland
2015-11-20 08:29:10 -08: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
Per Lidén
4dc240f785
8079792: GC directory structure cleanup
...
Reviewed-by: brutisso, stefank, david
2015-05-13 15:16:06 +02: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
aeff8925b3
8031389: On x86 C1 emits two relocations for polls
...
C1 emits two poll_type relocations at safepoint polls because LIR_Assembler::safepoint_poll(..) adds a relocation and calls LIR_Assembler::add_debug_info_for_branch(..) which adds a relocation as well. The implementation of add_debug_info_for_branch(..) is changed to not emit a poll relocation.
Reviewed-by: kvn, roland
2014-06-05 10:43:16 +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
Igor Veresov
af7a190f21
8037149: C1: getThreadTemp should return a T_LONG register on 64bit
...
Fix the type of the register returned by getThreadTemp() to depend on bitness
Reviewed-by: kvn, twisti
2014-03-13 14:55:10 -07:00
Roland Westrelin
b1c92a140b
8026253: New type profiling points: sparc support
...
C1 and interpreter support for new type profiling on sparc
Reviewed-by: kvn, twisti
2014-01-14 14:51:47 +01:00
Morris Meyer
801b3e680e
8008242: VerifyOops is broken on SPARC
...
Fixed displacement issues in SPARC macroassembler and ensure that getClass intrinsic temporary result is T_METADATA
Reviewed-by: kvn, twisti
2013-10-18 12:15:32 -07:00
Roland Westrelin
cbd0e9bf96
8023657: New type profiling points: arguments to call
...
X86 interpreter and c1 type profiling for arguments at calls
Reviewed-by: kvn, twisti
2013-10-09 16:32:21 +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
Roland Westrelin
f188c2bf70
7199175: JSR 292: C1 needs patching when invokedynamic/invokehandle call site is not linked
...
Do patching rather bailing out for unlinked call with appendix
Reviewed-by: twisti, kvn
2013-08-21 13:34:45 +02: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
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
Thomas Wuerthinger
06ef4cddf7
7153771: array bound check elimination for c1
...
When possible optimize out array bound checks, inserting predicates when needed.
Reviewed-by: never, kvn, twisti
2013-03-21 09:27:54 +01:00
Vladimir Kozlov
5f132a5ec3
Merge
2012-10-12 09:22:52 -07:00
Roland Westrelin
74ea92ce42
8000753: compiler/6912517 crashes on 64bit sparc with compressed oops off
...
Code generated by c1 for getClass intrinsic broken when klass field is loaded on 64bit with compressed klass off.
Reviewed-by: kvn
2012-10-11 18:21:01 +02: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
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
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
Roland Westrelin
08757b8a99
7195816: NPG: Crash in c1_ValueType - ShouldNotReachHere
...
C1 needs knowledge of T_METADATA at the LIR level.
Reviewed-by: kvn, coleenp
2012-09-11 16:20:57 +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
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
eb4a860bc3
6924259: Remove String.count/String.offset
...
Allow a version of String class that doesn't have count and offset fields.
Reviewed-by: never, coleenp
2012-05-14 09:36:00 -07:00
Jiangli Zhou
3e904497b1
7120481: storeStore barrier in constructor with final field
...
Issue storestore barrier before constructor return if the constructor write final field.
Reviewed-by: dholmes, jrose, roland, coleenp
2012-02-21 13:14:55 -05:00
Igor Veresov
c21cf7cf4b
7131288: COMPILE SKIPPED: deopt handler overflow (retry at different tier)
...
Fix exception handler stub size, enable guarantees to check for the correct deopt and exception stub sizes in the future
Reviewed-by: kvn, never, twisti
2012-01-19 10:56:51 -08:00
Vladimir Kozlov
b93ca70b9b
Merge
2012-01-06 20:09:20 -08:00
Jiangli Zhou
fafb59a0dc
Merge
2011-12-09 11:29:05 -08: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
Jiangli Zhou
f9f4ba0203
7117052: instanceKlass::_init_state can be u1 type
...
Change instanceKlass::_init_state field to u1 type.
Reviewed-by: bdelsart, coleenp, dholmes, phh, never
2011-12-06 18:28:51 -05:00
Tom Rodriguez
6bcf877494
7103261: crash with jittester on sparc
...
Reviewed-by: iveresov, kvn
2011-10-28 14:44:52 -07: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
Tom Rodriguez
fa7c124af1
7083786: dead various dead chunks of code
...
Reviewed-by: iveresov, kvn
2011-08-31 16:46:11 -07:00
Vladimir Kozlov
48c1293916
7063628: Use cbcond on T4
...
Add new short branch instruction to Hotspot sparc assembler.
Reviewed-by: never, twisti, jrose
2011-07-21 11:25:07 -07:00
Igor Veresov
1875cfefc6
7033732: C1: When calling c2 arraycopy stubs offsets and length must have clear upper 32bits
...
With 7033154 we started calling c2 arraycopy stubs from c1. On sparcv9 we must clear the upper 32bits for offset (src_pos, dst_pos) and length parameters when calling them.
Reviewed-by: never, kvn
2011-04-04 16:00:34 -07:00
Roland Westrelin
f94d7776ca
7033154: Improve C1 arraycopy performance
...
Better static analysis. Take advantage of array copy stubs.
Reviewed-by: never
2011-04-03 12:00:54 +02:00
Christian Thalinger
cd6c0b147e
7012914: JSR 292 MethodHandlesTest C1: frame::verify_return_pc(return_address) failed: must be a return pc
...
Reviewed-by: never, bdelsart
2011-02-28 06:07:12 -08:00
Igor Veresov
c6f34365c2
7010618: C1: array length should be treated at int on 64bit during array allocation
...
Sign-extend the length argument during array allocation
Reviewed-by: never, kvn
2011-01-06 16:03:20 -08:00
Igor Veresov
43280aa63e
7009231: C1: Incorrect CAS code for longs on SPARC 32bit
...
Fix CAS of longs on SPARC 32bit and cmove on SPARC 64bit.
Reviewed-by: kvn
2010-12-27 21:51:31 -08:00
Tom Rodriguez
f74039fd41
7004530: casx used for 32 bit cas after 7003554
...
Reviewed-by: kvn, iveresov
2010-12-03 12:14:33 -08:00
Igor Veresov
ab725dba1d
7003554: (tiered) assert(is_null_object() || handle() != NULL) failed: cannot embed null pointer
...
C1 with profiling doesn't check whether the MDO has been really allocated, which can silently fail if the perm gen is full. The solution is to check if the allocation failed and bailout out of inlining or compilation.
Reviewed-by: kvn, never
2010-12-02 17:21:12 -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
Tom Rodriguez
84e48aee05
6988018: dtrace/hotspot/MethodInvocation/MethodInvocation002 crashes with client compiler
...
Reviewed-by: iveresov, kvn, kamg
2010-10-05 11:16:12 -07:00