362 Commits

Author SHA1 Message Date
Vladimir Danushevsky
0ab6045255 Merge 2011-04-14 11:02:05 -04: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
Vladimir Danushevsky
bea445368e 7005865: Crash when running with PrintIRWithLIR
The failure is caused by uninitialized bci number

Reviewed-by: iveresov
2011-04-11 23:02:37 -04:00
John R Rose
41745904a3 Merge 2011-04-09 21:16:12 -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
Jon Masamitsu
b6e631d446 Merge 2011-04-08 14:19:50 -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
Erik Trimble
c9e484d473 7010070: Update all 2010 Oracle-changed OpenJDK files to have the proper copyright dates - second pass
Update the copyright to be 2010 on all changed files in OpenJDK

Reviewed-by: ohair
2011-04-05 14:12:31 -07:00
Tom Rodriguez
3327aeff0c 6528013: C1 CTW failure with -XX:+VerifyOops assert(allocates2(pc),"")
Reviewed-by: kvn, iveresov
2011-04-04 19:03:35 -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
f51036e9bc 7022998: JSR 292 recursive method handle calls inline themselves infinitely
Reviewed-by: never, kvn
2011-03-28 03:58:07 -07:00
Tom Rodriguez
6e8a263a06 7017732: move static fields into Class to prepare for perm gen removal
Reviewed-by: kvn, coleenp, twisti, stefank
2011-03-18 16:00:34 -07:00
Christian Thalinger
51f5142db1 Merge 2011-03-18 01:44:15 -07: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
Vladimir Danushevsky
594cddaa6b 7011490: Wrong computation results in Test6880034
Incorrect handling of c2i deoptimization on little endian architectures

Reviewed-by: never
2011-03-10 14:56:11 -05: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
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
Tom Rodriguez
83661087ea 7021603: crash in fill_sync_handler with ExtendedDTrace probes
Reviewed-by: iveresov
2011-02-24 11:09:16 -08:00
Vladimir Kozlov
ddd4d3ad73 Merge 2011-02-14 14:36:29 -08:00
Igor Veresov
6782422f01 7017434: Tiered needs to support reprofiling
Tiered needs to support proper method reprofiling after deopts.

Reviewed-by: kvn
2011-02-09 16:34:34 -08:00
Bob Vandette
31e3fe4a98 7016023: Enable building ARM and PPC from src/closed repository
Reviewed-by: dholmes, bdelsart
2011-02-02 11:35:26 -05:00
Tom Rodriguez
4739203b6c 7008809: should report the class in ArrayStoreExceptions from compiled code
Reviewed-by: iveresov, twisti
2011-01-24 13:34:18 -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
Tom Rodriguez
423f587b01 4926272: methodOopDesc::method_from_bcp is unsafe
Reviewed-by: coleenp, jrose, kvn, dcubed
2011-01-13 22:15:41 -08: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
Daniel D. Daugherty
0c7a73dc8c Merge 2011-01-07 15:54:32 -08:00
Bob Vandette
c14e8eb4f2 7009268: guarantee(middle - slop > start) failed: need enough space to divide up
Codebuffer can overflow on test with large number of calls

Reviewed-by: dholmes, collins
2011-01-07 12:44:54 -05:00
Igor Veresov
34b0ff28e8 7009849: C1: Incorrect frame size computation
Fix frame size computation

Reviewed-by: phh, kvn
2010-12-30 23:44:45 -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
ecddc15f7c 6579789: Internal error "c1_LinearScan.cpp:1429 Error: assert(false,"")" in debuggee with fastdebug VM
Reviewed-by: kvn, iveresov
2010-12-17 15:55:32 -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
Igor Veresov
5c238caed1 7000349: Tiered reacts incorrectly to C1 compilation failures
Fix policy reaction to C1 comilation failures, make C1 properly report errors.

Reviewed-by: kvn
2010-11-16 15:57:16 -08:00
Tom Rodriguez
1d8c677377 6968367: can_post_on_exceptions is still using VM_DeoptimizeFrame in some places
Reviewed-by: kvn, twisti
2010-10-19 16:14:34 -07:00
Tom Rodriguez
1022ea2299 Merge 2010-10-18 15:43:29 -07:00
Tom Rodriguez
e4f08bc195 6992477: fix for 6991512 broke sparc barriers
Reviewed-by: kvn, iveresov
2010-10-15 14:21:11 -07:00
Roland Westrelin
e1a504b343 6991577: add IfOp optimization to C1
Ifop optimization for c1

Reviewed-by: never, phh, iveresov
2010-10-15 09:38:20 +02: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
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
Roland Westrelin
8067fc5d4a 6988303: 6986046 breaks build with recent gcc
Fixes build break

Reviewed-by: never, kvn
2010-09-29 18:53:28 +02:00
Tom Rodriguez
5384d6be9e 6987763: assert(kind() == EmptyExceptionState) failed: only EmptyExceptionStates can be modified
Reviewed-by: roland, kvn, iveresov
2010-09-27 20:44:18 -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
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
Christian Thalinger
a4b2fe3b1c 6978355: renaming for 6961697
This is the renaming part of 6961697 to keep the actual changes small for review.

Reviewed-by: kvn, never
2010-08-25 05:27:54 -07:00
Christian Thalinger
c9ac8cc788 6975855: don't emit deopt MH handler in C1 if not required
This CR implements the same for C1 as 6926782 for C2.

Reviewed-by: never
2010-08-11 01:17:27 -07:00