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
Igor Veresov
aa21a39d97
6919069: client compiler needs to capture more profile information for tiered work
...
Added profiling of instanceof and aastore.
Reviewed-by: kvn, jrose, never
2010-09-13 12:10:49 -07:00
Igor Veresov
2c66a6c3fd
6953144: Tiered compilation
...
Infrastructure for tiered compilation support (interpreter + c1 + c2) for 32 and 64 bit. Simple tiered policy implementation.
Reviewed-by: kvn, never, phh, twisti
2010-09-03 17:51:07 -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
Tom Rodriguez
98ee92e724
6939930: exception unwind changes in 6919934 hurts compilation speed
...
Reviewed-by: twisti
2010-04-15 18:14:49 -07:00
Igor Veresov
fc76d07b40
6942223: c1 64 bit fixes
...
This fixes lir_cmp_l2i on x64 and sparc 64bit, and the debug info generation.
Reviewed-by: never
2010-04-08 12:13:07 -07:00
Vladimir Kozlov
5f8098a402
6940701: Don't align loops in stubs for Niagara sparc
...
Don't align loops in stubs for Niagara sparc since NOPs are expensive.
Reviewed-by: twisti, never
2010-04-07 09:37:47 -07:00
Christian Thalinger
ebc298d208
6934966: JSR 292 add C1 logic for saved SP over MethodHandle calls
...
The logic for x86 C1 to save the SP over MH calls is pretty straight forward but SPARC handles that differently.
Reviewed-by: never, jrose
2010-03-17 10:22:41 +01:00
Roland Westrelin
7dcf59914e
6932496: c1: deoptimization of jsr subroutine fails on sparcv9
...
Store jsr ret bci as intptr constant in c1 debug info
Reviewed-by: never
2010-03-05 13:58:34 +01:00
Christian Thalinger
ffec4c00c4
6919934: JSR 292 needs to support x86 C1
...
This implements JSR 292 support for C1 x86.
Reviewed-by: never, jrose, kvn
2010-03-09 20:16:19 +01:00
Vladimir Kozlov
9110d86267
Merge
2010-02-12 15:27:36 -08:00
Vladimir Kozlov
2fd8d35905
6923002: assert(false,"this call site should not be polymorphic")
...
Clear the total count when a receiver information is cleared.
Reviewed-by: never, jrose
2010-02-07 12:15:06 -08:00