639 Commits

Author SHA1 Message Date
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
Igor Veresov
90a153aa38 6627983: G1: Bad oop deference during marking
Bulk zeroing reduction didn't work with G1, because arraycopy would call pre-barriers on uninitialized oops. The solution is to have version of arraycopy stubs that don't have pre-barriers. Also refactored arraycopy stubs generation on SPARC to be more readable and reduced the number of stubs necessary in some cases.

Reviewed-by: jrose, kvn, never
2011-03-01 14:56:48 -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
Vladimir Kozlov
a74bc73598 6942326: x86 code in string_indexof() could read beyond reserved heap space
Copy small (<8) strings on stack if str+16 crosses a page boundary and load from stack into XMM. Back up pointer when loading string's tail.

Reviewed-by: never
2011-02-26 12:10:54 -08:00
Igor Veresov
1c5e7bf24a 7020521: arraycopy stubs place prebarriers incorrectly
Rearranged the pre-barrier placement in arraycopy stubs so that they are properly called in case of chained calls. Also refactored the code a little bit so that it looks uniform across the platforms and is more readable.

Reviewed-by: never, kvn
2011-02-22 15:25:02 -08:00
Tom Rodriguez
4b3ada699d 7016474: string compare intrinsic improvements
Reviewed-by: kvn
2011-02-09 15:02:23 -08:00
Vladimir Kozlov
ddd4d3ad73 Merge 2011-02-14 14:36:29 -08:00
Christian Thalinger
c2b37037c6 7018378: JSR 292: _bound_int_mh produces wrong result on 64-bit SPARC
Reviewed-by: kvn
2011-02-14 03:21:18 -08:00
Vladimir Kozlov
5d3ab72d1d 7017746: Regression : C2 compiler crash due to SIGSEGV in PhaseCFG::schedule_early()
Add TEMP edges (and KILL projections) before duplicated operands are removed in Expand() methods.

Reviewed-by: never
2011-02-10 14:25:59 -08:00
Coleen Phillimore
cba53708ec 6588413: Use -fvisibility=hidden for gcc compiles
Add option for gcc 4 and above, define JNIEXPORT and JNIIMPORT to visibility=default, add for jio_snprintf and others since -fvisibility=hidden overrides --version-script definitions.

Reviewed-by: kamg, never
2011-02-01 11:23:19 -05:00
Christian Thalinger
561c090437 7009309: JSR 292: compiler/6991596/Test6991596.java crashes on fastdebug JDK7/b122
Reviewed-by: kvn, never
2011-02-01 03:38:44 -08:00
Coleen Phillimore
7b4f8073f0 6990754: Use native memory and reference counting to implement SymbolTable
Move symbols from permgen into C heap and reference count them

Reviewed-by: never, acorn, jmasa, stefank
2011-01-27 16:11:27 -08:00
Christian Thalinger
099978400a Merge 2011-01-27 08:47:02 -08:00
Igor Veresov
18fcb81cff 7014247: CTW fails when compile sun/misc/AtomicLongCSImpl (REMOVED from JDK7)
Use lea to compute field address in AtomicLongCSImpl::attemptUpdate() intrinsic on x86.

Reviewed-by: never, kvn
2011-01-25 14:38:15 -08: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
Igor Veresov
9256b1a02a 7013812: C1: deopt blob too far from patching stub
Use long jumps to get from patching stubs to deopt blob

Reviewed-by: kvn, never
2011-01-21 00:01:41 -08:00
John Cuthbertson
d31ff8a886 Merge 2011-01-20 13:57:12 -08:00
John Cuthbertson
2ad5e5ace5 7012642: G1: JumbleGC002 test aborts with segmentation violation due to uncaught stack overflow
With recent G1 allocation path changes, the value of StackShadowPages in fast debug builds of the JVM, is no longer large enough to prevent the JVM C++ code from touching the stack guard pages. Increase the value of StackShadowPages to a suitable value.

Reviewed-by: ysr, tonyp, coleenp
2011-01-19 13:01:11 -08:00
Igor Veresov
00e24ca7ca 7012766: assert(false) failed: DEBUG MESSAGE in MacroAssembler::debug32
Interpreter expects to see methodOop in rbx on method entry, which needs to be restored after call to profile_method.

Reviewed-by: kvn, never
2011-01-18 18:00:06 -08:00
Daniel D. Daugherty
1ce36e3055 Merge 2011-01-13 08:32:15 -08:00
Christian Thalinger
6aa9bf4152 Merge 2011-01-13 07:28:47 -08:00
Christian Thalinger
53c79c908e Merge 2011-01-13 07:20:32 -08:00
Igor Veresov
18619a6ed6 7011627: C1: call_RT must support targets that don't fit in wdisp30
Make both compilers emit near and far calls when necessary.

Reviewed-by: never, kvn, phh
2011-01-12 18:33:25 -08:00
Paul Hohensee
6931aa0a24 7011463: Sparc MacroAssembler::incr_allocated_bytes() needs a RegisterOrConstant argument
Replaced incr_allocated_bytes() formals var_size_in_bytes and con_size_in_bytes with a single RegisterOrConstant formal.

Reviewed-by: twisti, jcoomes
2011-01-11 17:33:21 -05: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