286 Commits

Author SHA1 Message Date
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
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
7a40a76a81 6962980: C1: stub area should take into account method handle deopt stub
Reviewed-by: twisti, never
2010-06-22 12:10:07 -07:00
Vladimir Kozlov
9c7b430e11 6730276: JDI_REGRESSION tests fail with "Error: count must be non-zero" error on x86
Modify assembler code to check for 0 count for all copy routines.

Reviewed-by: never, ysr, jcoomes
2010-06-10 13:04:20 -07:00
John R Rose
1f4cfb029b 6939203: JSR 292 needs method handle constants
Add new CP types CONSTANT_MethodHandle, CONSTANT_MethodType; extend 'ldc' bytecode.

Reviewed-by: twisti, never
2010-06-09 18:50:45 -07: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
John R Rose
581521ba96 6939207: refactor constant pool index processing
Factored cleanup of instruction decode which prepares for enhanced ldc semantics.

Reviewed-by: twisti
2010-05-23 01:38:26 -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
b03699b985 6953539: after 6892658 c1 reports that it doesn't inline StringBuffer.append
Reviewed-by: kvn, twisti
2010-05-18 13:45:03 -07:00
John R Rose
4eb75c2df3 6939134: JSR 292 adjustments to method handle invocation
Split MethodHandle.invoke into invokeExact and invokeGeneric; also clean up JVM-to-Java interfaces

Reviewed-by: twisti
2010-05-01 02:42:18 -07:00
Tom Rodriguez
eb534d777a 6943485: JVMTI always on capabilities change code generation too much
Reviewed-by: twisti, dcubed
2010-04-26 23:59:45 -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
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
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
22409a5704 6910618: C2: Error: assert(d->is_oop(),"JVM_ArrayCopy: dst not an oop")
Mark in PcDesc call sites which return oop and save the result oop across objects reallocation during deoptimization.

Reviewed-by: never
2010-02-09 01:31:13 -08:00
John Cuthbertson
e003616106 Merge 2010-02-08 09:58:32 -08:00
Andrei Pangin
134e70e53b Merge 2010-02-04 15:50:59 -08:00
Y. Srinivas Ramakrishna
c61ab190cf 6904516: More object array barrier fixes, following up on 6906727
Fixed missing pre-barrier calls for G1, modified C1 to call pre- and correct post-barrier interfaces, deleted obsolete interface, (temporarily) disabled redundant deferred barrier in BacktraceBuilder.

Reviewed-by: coleenp, jmasa, kvn, never
2010-02-01 17:29:01 -08: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
Christian Thalinger
918c7a2e33 6921352: JSR 292 needs its own deopt handler
We need to introduce a new MH deopt handler so we can easily determine if the deopt happened at a MH call site or not.

Reviewed-by: never, jrose
2010-02-01 19:29:46 +01:00