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
Daniel D. Daugherty
6215ab50b3
Merge
2011-01-10 09:23:20 -08:00
David Holmes
5d2936a29c
7010665: Misplaced membar in C1 implementation of Unsafe.get/putXXX
...
Modify membars to match regular volatile variable handling
Reviewed-by: iveresov, kvn, never
2011-01-09 17:16:16 -05:00
Igor Veresov
8309071a08
6988346: 6986046 breaks tiered
...
Adjusted profiling code generation to use the new ValueStack implementation; lowered optimization level for c1_LinearScan.cpp on solaris x64.
Reviewed-by: kvn, never
2010-09-29 16:53:42 -07:00
Christian Wimmer
9b131fbbb8
6986046: C1 valuestack cleanup
...
Fixes an historical oddity in C1 with inlining where all of the expression stacks are kept in the topmost ValueStack instead of being in their respective ValueStacks.
Reviewed-by: never
2009-12-29 19:08:54 +01:00
Tom Rodriguez
16efe7ce5c
6972540: sun/nio/ch/SocketChannelImpl compilation crashed when executing CompileTheWorld
...
Reviewed-by: kvn
2010-09-22 21:10:46 -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
Bob Vandette
b95c7e9523
6953477: Increase portability and flexibility of building Hotspot
...
A collection of portability improvements including shared code support for PPC, ARM platforms, software floating point, cross compilation support and improvements in error crash detail.
Reviewed-by: phh, never, coleenp, dholmes
2010-08-03 08:13:38 -04:00
Igor Veresov
00b75f8353
6958292: C1: Enable parallel compilation
...
Enable parallel compilation in C1
Reviewed-by: never, kvn
2010-06-04 11:18:04 -07:00
John R Rose
d6a9b93b5a
Merge
2010-06-02 22:45:42 -07:00
Igor Veresov
4da8658b14
6955349: C1: Make G1 barriers work with x64
...
This fixes G1 barriers in c1 on x64.
Reviewed-by: never
2010-05-27 22:01:55 -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
Christian Thalinger
1270c6c005
6932091: JSR 292 x86 code cleanup
...
Some code cleanups found during the JSR 292 SPARC port.
Reviewed-by: kvn, never
2010-03-18 09:56:51 +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
Tom Deneau
f23b68b367
6902182: 4/4 Starting with jdwp agent should not incur performance penalty
...
Rename can_post_exceptions support to can_post_on_exceptions. Add support for should_post_on_exceptions flag to permit per JavaThread optimizations.
Reviewed-by: never, kvn, dcubed
2010-02-01 17:35:05 -07:00
Roland Westrelin
7eea7dcfe4
6769124: various 64-bit fixes for c1
...
Reviewed-by: never
2009-11-02 11:17:55 +01:00
John R Rose
e261aecad8
6863023: need non-perm oops in code cache for JSR 292
...
Make a special root-list for those few nmethods which might contain non-perm oops.
Reviewed-by: twisti, kvn, never, jmasa, ysr
2009-09-15 21:53:47 -07:00
Tom Rodriguez
0f4f530213
6849574: VM crash using NonBlockingHashMap (high_scale_lib)
...
Reviewed-by: kvn
2009-06-10 12:19:48 -07:00
Vladimir Kozlov
34ee921399
6788527: Server vm intermittently fails with assertion "live value must not be garbage" with fastdebug bits
...
Cache Jvmti and DTrace flags used by Compiler.
Reviewed-by: never
2009-05-08 10:44:20 -07:00