427 Commits

Author SHA1 Message Date
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
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
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
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
Tom Rodriguez
daa052114f Merge 2010-10-18 09:33: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
Karen Kinnear
7d2a7e7452 Merge 2010-10-13 11:46:46 -04: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
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
Christian Thalinger
79847991ad 6986944: JSR 292 assert(caller_nm->is_method_handle_return(caller_frame.pc())) failed: must be MH call site
Reviewed-by: never, kvn
2010-09-24 03:51:43 -07:00
John R Rose
52e3d262a1 6939224: MethodHandle.invokeGeneric needs to perform the correct set of conversions
Reviewed-by: never
2010-09-13 23:24:30 -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
0aba89442c 6984056: C1: incorrect code for integer constant addition on x64
Fix add/sub of constants to ints on x64

Reviewed-by: kvn
2010-09-11 15:21:37 -07:00
Pavel Tisnovsky
af2548723c 6934483: GCC 4.5 errors "suggest parentheses around something..." when compiling with -Werror and -Wall
These are minor changes fixing compile failure when -Wall -Werror flags are used under gcc 4.5.

Reviewed-by: twisti, kvn, rasbold
2010-09-09 05:24:11 -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
Tom Rodriguez
150ca9b5b1 Merge 2010-08-27 17:35:08 -07:00
Tom Rodriguez
08d9e03b81 4809552: Optimize Arrays.fill(...)
Reviewed-by: kvn
2010-08-27 17:33:49 -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
Tom Rodriguez
a54b1ff70e 6978249: spill between cpu and fpu registers when those moves are fast
Reviewed-by: kvn
2010-08-19 14:51:47 -07:00
Tom Rodriguez
dc37d152e7 6975027: use of movptr to set length of array
Reviewed-by: kvn, iveresov
2010-08-10 12:15:10 -07:00
Tom Rodriguez
68ff9b2b00 Merge 2010-08-09 17:51:56 -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
Vladimir Kozlov
f0b6dc4e4f 6973308: Missing zero length check before repne scas in check_klass_subtype_slow_path()
Set Z = 0 (not equal) before repne_scan() to indicate that class was not found when RCX == 0.

Reviewed-by: never, phh
2010-07-30 10:21:15 -07:00
Vladimir Kozlov
7378cf14d9 6968646: JVM crashes with SIGFPE during startup
Check that cpuid returns valid values for processor topology (not zeros).

Reviewed-by: never, twisti
2010-07-14 14:29:14 -07:00
Vladimir Kozlov
4bd0381466 6964774: Adjust optimization flags setting
Adjust performance flags settings.

Reviewed-by: never, phh
2010-06-29 10:34:00 -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