Roland Westrelin
c8bfc7e7d7
8026054: New type profiling points: type of return values at calls
...
X86 interpreter and c1 type profiling for return values at calls
Reviewed-by: kvn, twisti
2013-10-12 12:12:59 +02: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
Christian Thalinger
619948a8f1
8025566: EXCEPTION_ACCESS_VIOLATION in compiled by C1 String.valueOf method
...
Reviewed-by: kvn
2013-10-07 10:41:56 -07:00
Christian Thalinger
5555a381fb
8016474: Crash in sun.reflect.UnsafeObjectFieldAccessorImpl.get
...
C1's GetUnsafeObject G1 pre-barrier uses the wrong type to read the klass pointer.
Reviewed-by: iveresov, kvn
2013-07-29 16:32:38 -07: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
a28a9d6551
8010724: [parfait] Null pointer dereference in hotspot/src/share/vm/c1/c1_LIRGenerator.cpp
...
Added guarantee()
Reviewed-by: kvn
2013-06-04 12:06:54 -07:00
Bharadwaj Yadavalli
b32dc11760
Merge
2013-04-19 03:13:04 -04:00
Jiangli Zhou
2f703b2613
Merge
2013-04-15 21:25:23 -04:00
Roland Westrelin
9f96eb3ed5
8011648: C1: optimized build is broken after 7153771
...
Missing #ifdef ASSERT
Reviewed-by: kvn
2013-04-15 17:17:11 +02:00
Jiangli Zhou
56370657b9
8010862: The Method counter fields used for profiling can be allocated lazily
...
Allocate the method's profiling related metadata until they are needed.
Reviewed-by: coleenp, roland
2013-04-09 17:17:41 -04:00
Daniel D. Daugherty
78339229bb
Merge
2013-04-05 10:38:08 -07:00
Mikael Vidstedt
eeb83733a6
8003310: Enable -Wunused-function when compiling with gcc
...
Add the -Wunused-function flag and remove a number of unused functions.
Reviewed-by: dholmes, coleenp, kvn
2013-04-04 10:01:26 -07:00
Roland Westrelin
3c586e8f26
8010934: assert failure in c1_LinearScan.cpp: "asumption: non-Constant instructions have only virtual operands"
...
Incorrect code to skip some ArrayLength instructions in LIRGenerator
Reviewed-by: kvn
2013-03-29 17:25:27 +01: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
Joseph Provino
698fba94ef
8005915: Unify SERIALGC and INCLUDE_ALTERNATE_GCS
...
Rename INCLUDE_ALTERNATE_GCS to INCLUDE_ALL_GCS and replace SERIALGC with INCLUDE_ALL_GCS.
Reviewed-by: coleenp, stefank
2013-01-23 13:02:39 -05:00
Aleksey Shipilev
4c293ebcd6
8004318: JEP-171: Support Unsafe fences intrinsics
...
Add three memory-ordering intrinsics to the sun.misc.Unsafe class.
Reviewed-by: twisti, kvn
2012-12-18 17:37:44 -08: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
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
Stefan Karlsson
36d57e3669
7195935: NPG: Some issues with compressed oops
...
Don't decompress the klass pointer in the G1 pre-barrier code when !UseCompressedKlassPointers
Reviewed-by: coleenp, brutisso
2012-09-05 10:39:29 +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
a14e902e92
7192167: JSR 292: C1 has old broken code which needs to be removed
...
Reviewed-by: kvn, roland, jrose
2012-08-21 10:48:50 -07:00
Vladimir Kozlov
04c6a7ce10
7190310: Inlining WeakReference.get(), and hoisting $referent may lead to non-terminating loops
...
In C2 add software membar after load from Reference.referent field to prevent commoning of loads across safepoint since GC can change its value. In C1 always generate Reference.get() intrinsic.
Reviewed-by: roland, twisti, dholmes, johnc
2012-08-20 09:58:58 -07: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
Christian Thalinger
301e9f9548
7174928: JSR 292: unresolved invokedynamic call sites deopt and osr infinitely
...
Reviewed-by: kvn
2012-06-13 11:36:03 -07:00
Krystal Mok
529b370174
7174218: remove AtomicLongCSImpl intrinsics
...
Reviewed-by: kvn, twisti
2012-06-12 14:31:44 -07:00
Krystal Mok
6d29429c4e
7171890: C1: add Class.isInstance intrinsic
...
Class.cast which calls Class.isInstance is heavily used by the new JSR 292 implementation
Reviewed-by: roland
2012-06-05 10:15:27 +02:00
Roland Westrelin
b305cf722e
7133857: exp() and pow() should use the x87 ISA on x86
...
Use x87 instructions to implement exp() and pow() in interpreter/c1/c2.
Reviewed-by: kvn, never, twisti
2012-05-15 10:10:23 +02:00
Rickard Bäckman
cf406f37e3
7160570: Intrinsification support for tracing framework
...
Reviewed-by: sla, never
2012-03-06 12:36:59 +01: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
55c9a74046
7131028: Switch statement takes wrong path
...
Pass correct type to branch in LIRGenerator::do_SwitchRanges()
Reviewed-by: kvn, never
2012-01-20 15:02:12 -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
Igor Veresov
b6ce13798b
7112085: assert(fr.interpreter_frame_expression_stack_size()==0) failed: only handle empty stacks
...
Move the inlinee invoke notification callback into inlinee preamble
Reviewed-by: kvn, never
2011-11-16 19:42:58 -08:00
Igor Veresov
a4975758bb
7097679: Tiered: events with bad bci to Gotos reduced from Ifs
...
Save bci of instruction that produced Goto and use it to call back to runtime
Reviewed-by: kvn, never
2011-10-04 10:07:07 -07:00
Igor Veresov
0219cf5423
7096639: Tiered: Incorrect counter overflow handling for inlined methods
...
Enable invocation events for inlinees
Reviewed-by: kvn
2011-09-29 23:09:54 -07:00
Christian Thalinger
5919a613cc
7053520: JSR292: crash in invokedynamic with C1 using tiered and compressed oops
...
Reviewed-by: iveresov, never
2011-06-14 12:25:05 -07:00
John Cuthbertson
7c844aba67
Merge
2011-04-14 13:45:41 -07:00
John Cuthbertson
20a3437a74
7035117: G1: nsk/stress/jni/jnistress002 fails with assertion failure
...
Allow long type for offset in G1 code in compiler implementations of Unsafe.getObject
Reviewed-by: never, iveresov
2011-04-13 17:56:43 -07:00
Igor Veresov
e8447846ee
7034967: C1: assert(false) failed: error (assembler_sparc.cpp:2043)
...
Fix -XX:+VerifyOops
Reviewed-by: kvn, never
2011-04-08 17:03:31 -07:00
John Cuthbertson
a08e1ce906
7009266: G1: assert(obj->is_oop_or_null(true )) failed: Error
...
A referent object that is only weakly reachable at the start of concurrent marking but is re-attached to the strongly reachable object graph during marking may not be marked as live. This can cause the reference object to be processed prematurely and leave dangling pointers to the referent object. Implement a read barrier for the java.lang.ref.Reference::referent field by intrinsifying the Reference.get() method, and intercepting accesses though JNI, reflection, and Unsafe, so that when a non-null referent object is read it is also logged in an SATB buffer.
Reviewed-by: kvn, iveresov, never, tonyp, dholmes
2011-04-07 09:53:20 -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
John R Rose
f6344076f2
7012648: move JSR 292 to package java.lang.invoke and adjust names
...
Package and class renaming only; delete unused methods and classes
Reviewed-by: twisti
2011-03-11 22:34:57 -08:00
Tom Rodriguez
84ef74286f
6965570: assert(!needs_patching && x->is_loaded(),"how do we know it's volatile if it's not loaded")
...
Reviewed-by: iveresov
2011-03-06 22:09:23 -08:00
Tom Rodriguez
0f21994955
Merge
2011-01-21 13:03:13 -08:00
Tom Rodriguez
84536ec263
6809483: hotspot:::method_entry are not correctly generated for "method()V"
...
Reviewed-by: iveresov, twisti
2011-01-21 13:01:02 -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
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
e4f08bc195
6992477: fix for 6991512 broke sparc barriers
...
Reviewed-by: kvn, iveresov
2010-10-15 14:21:11 -07:00
Igor Veresov
28a13e88e7
6991512: G1 barriers fail with 64bit C1
...
Fix compare-and-swap intrinsic problem with G1 post-barriers and issue with branch ranges in G1 stubs on sparc
Reviewed-by: never, kvn
2010-10-12 23:51:20 -07:00