316 Commits

Author SHA1 Message Date
Christian Thalinger
53c79c908e Merge 2011-01-13 07:20:32 -08:00
Igor Veresov
6a80d2126c 4930919: race condition in MDO creation at back branch locations
Reuse set_method_data_for_bcp() to setup mdp after MDO creation.

Reviewed-by: kvn, never
2011-01-10 18:46:29 -08:00
Christian Thalinger
b2f607fcb6 7010180: JSR 292 InvokeDynamicPrintArgs fails with: assert(_adapter == NULL) failed: init'd to NULL
Reviewed-by: never
2011-01-10 00:56:39 -08:00
Daniel D. Daugherty
0c7a73dc8c Merge 2011-01-07 15:54:32 -08:00
Paul Hohensee
7b0134a7cb 7003271: Hotspot should track cumulative Java heap bytes allocated on a per-thread basis
Track allocated bytes in Thread's, update on TLAB retirement and direct allocation in Eden and tenured, add JNI methods for ThreadMXBean.

Reviewed-by: coleenp, kvn, dholmes, ysr
2011-01-07 10:42:32 -05: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
Christian Thalinger
a8a98509e7 7007377: JSR 292 MethodHandlesTest.testCastFailure fails on SPARC with -Xcomp +DeoptimizeALot
Reviewed-by: kvn, jrose
2010-12-22 02:02:53 -08:00
Vladimir Kozlov
9fd396ce55 7006505: Use kstat info to identify SPARC processor
Read Solaris kstat data to get more precise CPU information

Reviewed-by: iveresov, never, twisti, dholmes
2010-12-16 14:15:12 -08:00
Christian Thalinger
0563626b3c 7006044: materialize cheap non-oop pointers on 64-bit SPARC
After 6961690 we load non-oop pointers for the constant table which could easily be materialized in a few instructions.

Reviewed-by: never, kvn
2010-12-14 12:44:30 -08:00
Igor Veresov
a9bee9ec34 Merge 2010-12-08 17:50:49 -08:00
Igor Veresov
eafb22164b 7005241: C1: SEGV in java.util.concurrent.LinkedTransferQueue.xfer() with compressed oops
Implementation of the CAS primitive for x64 compressed oops was incorrect. It kills rscratch2 register (r11), which is allocatable in C1. Also, we don't need to restore cmpval as it's never used after that, so we need only one temporary register, which can be scratch1.

Reviewed-by: kvn, never
2010-12-08 02:36:36 -08:00
Vladimir Kozlov
797fb02b41 7004925: CTW: assert(nbits == 32 || -(1 << nbits-1) <= x && x < ( 1 << nbits-1)) failed: value out of range
Set offset in register if it does not fit 13 bits.

Reviewed-by: iveresov
2010-12-07 11:00:02 -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
Christian Thalinger
bd6731ae92 7003798: test/compiler/6991596 fails with true != false
The test of 6991596 fails on SPARCV9.

Reviewed-by: kvn, never, jrose
2010-12-03 06:14:37 -08:00
Christian Thalinger
ffaadcecea 6961690: load oops from constant table on SPARC
Oops should be loaded from the constant table of an nmethod instead of materializing them with a long code sequence.

Reviewed-by: never, kvn
2010-12-03 01:34: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
Christian Thalinger
7fedab77bf 6998985: faulty generic arraycopy on windows x86_64: 4th arg overwritten with oop
Reviewed-by: kvn, never
2010-12-02 01:02:55 -08:00
Tom Rodriguez
f9d845fd45 6875026: CTW failure jdk6_18/hotspot/src/share/vm/c1/c1_LinearScan.cpp:5486
Reviewed-by: kvn, iveresov
2010-12-01 15:47:52 -08:00
Coleen Phillimore
49678541ff Merge 2010-12-01 18:32:50 -05:00
Ivan P Krylov
9802f91e66 6348631: remove the use of the HPI library from Hotspot
Move functions from hpi library to hotspot, communicate with licensees and open source community, check jdk for dependency, file CCC request

Reviewed-by: coleenp, acorn, dsamersoff
2010-12-01 18:26:32 -05: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
Coleen Phillimore
a1d3c19596 6780143: hs203t003 hits SIGSEGV/EXCEPTION_ACCESS_VIOLATION with -XX:+UseCompressedOops
Using r12 as temporary register around call_VM trashes heapbase becausecall_VM doesn't always return immediately to following code (eg forward_exception, popframe and early return support).

Reviewed-by: never, kvn
2010-11-29 15:43:36 -05: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
Vladimir Kozlov
ce2df719c6 6997311: SIGFPE in new long division asm code
Use unsigned DIV instruction

Reviewed-by: never
2010-11-06 18:52:07 -07:00
Christian Thalinger
b64a0fd5a4 6997459: JSR 292 after 6994093 getting: on return to interpreted call, restored SP is corrupted
Reviewed-by: kvn, jrose, never
2010-11-04 12:16:58 -07:00
Christian Thalinger
a1396ef871 6996240: The BitSet.length method sometimes returns an index+1 value less than that of the highest bit set
Reviewed-by: never, kvn
2010-11-02 14:56:40 -07:00
Vladimir Kozlov
249b1f6c4f 6987135: Performance regression on Intel platform with 32-bits edition between 6u13 and 6u14
Use hardware DIV instruction for long division by constant when it is faster than code with multiply.

Reviewed-by: never
2010-11-02 09:00:37 -07:00
John R Rose
ce0125e7f2 6984311: JSR 292 needs optional bootstrap method parameters
Allow CONSTANT_InvokeDynamic nodes to have any number of extra operands.

Reviewed-by: twisti
2010-10-30 13:08:23 -07:00
John R Rose
c798146bee 6994093: MethodHandle.invokeGeneric needs porting to SPARC
SPARC code missing from fix to 6939224

Reviewed-by: twisti
2010-10-30 11:45:49 -07:00
Tom Rodriguez
1022ea2299 Merge 2010-10-18 15:43:29 -07:00
Tom Rodriguez
daa052114f Merge 2010-10-18 09:33:24 -07:00
Christian Thalinger
14d9ac3169 6991596: JSR 292 unimplemented adapter_opt_i2i and adapter_opt_l2i on SPARC
Reviewed-by: kvn, jrose, dsamersoff
2010-10-18 01:54:24 -07:00
Tom Rodriguez
e4f08bc195 6992477: fix for 6991512 broke sparc barriers
Reviewed-by: kvn, iveresov
2010-10-15 14:21:11 -07:00
Karen Kinnear
4af336814e Merge 2010-10-15 15:12:04 -04:00
Roland Westrelin
225a3b0eb8 Merge 2010-10-13 15:38:14 -07:00
Christian Thalinger
c225b71d63 Merge 2010-10-13 13:31:30 -07:00
Karen Kinnear
7d2a7e7452 Merge 2010-10-13 11:46:46 -04:00
Roland Westrelin
08e2ead403 6991211: assert failure on sparc: "can not have caller-save register operands at calls"
Fixes sparc only assert failure following 6972540

Reviewed-by: never
2010-10-13 10:29:31 +02:00
Christian Thalinger
98e9ecf9da 6987555: JSR 292 unboxing to a boolean value fails on big-endian SPARC
Reviewed-by: never, jrose
2010-10-13 01:19:43 -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
Christian Thalinger
0e4ed251b8 6829194: JSR 292 needs to support compressed oops
Reviewed-by: kvn, jrose
2010-10-11 04:18:58 -07:00
Gary Benson
a10ec19a4d 6990549: Zero and Shark fixes after 6978355 and 6953144
Reviewed-by: twisti
2010-10-08 02:42:17 -07:00
Tom Rodriguez
39d16839d3 6980792: Crash "exception happened outside interpreter, nmethods and vtable stubs (1)"
Reviewed-by: kvn
2010-10-07 21:40:55 -07:00
Bob Vandette
72616ad2bc 6989297: Integrate additional portability improvements
Reviewed-by: vladidan, dholmes
2010-10-07 15:12:57 -04:00
Vladimir Kozlov
68f9001261 Merge 2010-10-06 14:18:32 -07: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
Tom Rodriguez
f591ed981d 6968348: Byteswapped memory access can point to wrong location after JIT
Reviewed-by: twisti, kvn, iveresov
2010-10-04 17:09:18 -07:00
Igor Veresov
63fd308170 6988779: c1_LIRAssembler_x86.cpp crashes VS2010 compiler
The workaround changes the scope of the variable

Reviewed-by: phh, ysr, kvn
2010-09-30 16:00:40 -07:00
Roland Westrelin
718b005834 Merge 2010-09-24 13:14:32 -07:00