467 Commits

Author SHA1 Message Date
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
Christian Thalinger
0211f9703a 6943304: remove tagged stack interpreter
Reviewed-by: coleenp, never, gbenson
2010-04-30 08:37:24 -07:00
Gary Benson
55457c9cc7 6939182: Zero JNI handles fix
Zero will exit with an error when invoked with -Xcheck:jni.

Reviewed-by: twisti, kamg
2010-04-30 04:27:25 -07:00
Christian Thalinger
6d2a896bcd 6829193: JSR 292 needs to support SPARC
There are unimplemented portions of the hotspot code for method handles and invokedynamic specific to SPARC.

Reviewed-by: kvn, never, jrose
2010-04-29 06:30:25 -07:00
Igor Veresov
cb911cf098 6946892: c1 shouldn't sign-extend to upper 32bits on x64
C1 does sign-extension when it loads ints and shorts from memory to 64-bit registers. This causes problems for c2 because it relies on the fact the int passed in a 64-bit register is zero-extended.

Reviewed-by: never
2010-04-27 11:19:12 -07:00
Hiroshi Yamauchi
cd48f31efe 6946040: add intrinsic for short and char reverseBytes
Reviewed-by: never, twisti
2010-04-26 11:27:21 -07:00
John Coomes
99196ff9ca 6888954: argument formatting for assert() and friends
Reviewed-by: kvn, twisti, apetrusenko, never, dcubed
2010-04-22 13:23:15 -07:00
Gary Benson
193be0b9eb 6944473: 6941224 misses new files
Two new files are missing in the push for 6941224.

Reviewed-by: twisti
2010-04-16 05:05:53 -07:00
Christian Thalinger
20b4da422d Merge 2010-04-16 02:59:34 -07:00
Christian Thalinger
31f1aba365 Merge 2010-04-16 00:52: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
Gary Benson
d889909335 6944028: 6940701 broke Zero
The fix for 6940701 broke Zero.

Reviewed-by: twisti
2010-04-15 03:13:56 -07:00
Gary Benson
95b528bff0 6941224: Improved stack overflow handling for Zero
Adding stack overflow checking to Shark brought to light a bunch of deficiencies in Zero's stack overflow code.

Reviewed-by: twisti
2010-04-15 02:40:12 -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
4d0664b427 6941529: SharedRuntime::raw_exception_handler_for_return_address must reset thread MethodHandle flag
During testing a bug was hit when an exception returned to the interpreter and the SP was wrong.

Reviewed-by: kvn, never
2010-04-08 10:55:40 +02:00
Vladimir Kozlov
f6934fd3b7 6940726: Use BIS instruction for allocation prefetch on Sparc
Use BIS instruction for allocation prefetch on Sparc

Reviewed-by: twisti
2010-04-07 12:39:27 -07:00
Vladimir Kozlov
5f8098a402 6940701: Don't align loops in stubs for Niagara sparc
Don't align loops in stubs for Niagara sparc since NOPs are expensive.

Reviewed-by: twisti, never
2010-04-07 09:37:47 -07:00
Vladimir Kozlov
429cea33ba 6940677: Use 64 bytes chunk copy for arraycopy on Sparc
For large arrays we should use 64 bytes chunks copy.

Reviewed-by: twisti
2010-04-06 15:18:10 -07:00
Vladimir Kozlov
6f0a3e4a80 Merge 2010-04-02 15:55:04 -07:00
Gary Benson
8dbf2b8020 6939731: JSR 292 Zero build fix after 6934494
The changes of 6934494 have broken the Zero build.

Reviewed-by: twisti
2010-03-31 08:03:33 -07:00
Gary Benson
e76823e70b 6939180: Zero locking fix
When Zero is running with Shark enabled threads can be left with their _do_not_unlock_if_synchronized flag incorrectly set.

Reviewed-by: twisti
2010-03-30 00:57:55 -07:00
Karen Kinnear
7aaaad73cf Merge 2010-03-26 11:10:26 -04: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
Vladimir Kozlov
72a7a6ffcf 6935535: String.indexOf() returns incorrect result on x86 with SSE4.2
Added missing counter decrement when substring search restarted.

Reviewed-by: twisti
2010-03-17 10:47:03 -07: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
Christian Thalinger
82e9e2b4af 6934494: JSR 292 MethodHandles adapters should be generated into their own CodeBlob
Passing a null pointer to an InvokeDynamic function call should lead to a NullPointerException.

Reviewed-by: kvn, never
2010-03-16 11:52:17 +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
Christian Thalinger
94a808f51d 6932536: JSR 292 modified JDK MethodHandlesTest fails on x86_64
A modified MethodHandlesTest revealed two bugs on x86_64.

Reviewed-by: never, jrose
2010-03-08 04:46:30 -08:00
Christian Thalinger
d1a6f819e6 6928839: JSR 292 typo in x86 _adapter_check_cast
There is a small typo in methodHandles_x86.cpp.

Reviewed-by: kvn
2010-02-23 17:46:29 +01:00
Vladimir Kozlov
fa2d360cd5 6910664: C2: java/util/Arrays/Sorting.java fails with DeoptimizeALot flag
Matcher::float_in_double should be true only when FPU is used for floats.

Reviewed-by: never, twisti
2010-02-19 10:04:16 -08:00
Gary Benson
51b9396b40 6927165: Zero S/390 fixes
Fixes two failures on 31-bit S/390.

Reviewed-by: twisti
2010-02-18 06:54:48 -08:00
Vladimir Kozlov
9110d86267 Merge 2010-02-12 15:27:36 -08:00
Gary Benson
17a0e10b07 6926048: Improve Zero performance
Make Zero figure out result types in a similar way to C++ interpreter implementation.

Reviewed-by: kvn
2010-02-12 10:34:11 -08:00
Vladimir Kozlov
d4437819bd 6925249: assert(last_sp < (intptr_t*) interpreter_frame_monitor_begin(),"bad tos")
Fix assert since top deoptimized frame has last_sp == interpreter_frame_monitor_begin if there are no expressions.

Reviewed-by: twisti
2010-02-12 08:54:13 -08:00
Neo Jia
7d7887d46c 6587322: dtrace probe object__alloc doesn't fire in some situations on amd64
Fix misplaced probe point

Reviewed-by: rasbold, phh
2010-02-08 13:49:03 -05:00
Vladimir Kozlov
2fd8d35905 6923002: assert(false,"this call site should not be polymorphic")
Clear the total count when a receiver information is cleared.

Reviewed-by: never, jrose
2010-02-07 12:15:06 -08:00
Andrei Pangin
134e70e53b Merge 2010-02-04 15:50:59 -08:00
Christian Thalinger
82ce2c602b Merge 2010-02-04 03:34:05 -08:00
Hiroshi Yamauchi
688398edef 6921969: optimize 64 long multiply for case with high bits zero
Reviewed-by: never, twisti, kvn, rasbold
2010-02-03 15:56:37 -08:00
Vladimir Kozlov
0c27c5537e 6614597: Performance variability in jvm2008 xml.validation
Fix incorrect marking of methods as not compilable.

Reviewed-by: never
2010-02-01 16:49:49 -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
Christian Thalinger
9aa675b7e6 6921339: backout 6917766
Reviewed-by: mr
2010-01-29 08:33:24 -08:00
Christian Thalinger
fbc43afae6 6917766: 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-01-29 12:13:05 +01:00
Gary Benson
6e4af7581c 6920970: Zero build fixes after 6849984 and 6911204
Two recent commits broke the build on Zero.

Reviewed-by: twisti
2010-01-28 08:36:34 -08:00
Y. Srinivas Ramakrishna
679f958f72 Merge 2010-01-27 22:38:37 -08:00
Andrey Petrusenko
35324b7e7d 6918006: G1: spill space must be reserved on the stack for barrier calls on Windows x64
Stub code generated to call G1 barriers does not allocate spill space on the stack as required by Windows x64 ABI. The fix is to use more ABI-friendly call_VM_leaf().

Reviewed-by: iveresov, never, kvn
2010-01-21 18:51:10 -08:00
Tom Rodriguez
bac125984c 6911204: generated adapters with large signatures can fill up the code cache
Reviewed-by: kvn, jrose
2010-01-20 22:10:33 -08:00
Tom Rodriguez
72d0f638c7 6849984: Value methods for platform dependent math functions constant fold incorrectly
Reviewed-by: kvn, twisti
2010-01-15 11:53:33 -08:00