Mercurial > hg > graal-compiler
changeset 455:434912c745cf
Merge
author | iveresov |
---|---|
date | Wed, 26 Nov 2008 09:24:57 -0800 |
parents | a60eabc24e2c (diff) df4305d4c1a1 (current diff) |
children | b6272ef4a18f 27a80744a83b |
files | src/share/vm/runtime/globals.hpp |
diffstat | 6 files changed, 20 insertions(+), 7 deletions(-) [+] |
line wrap: on
line diff
--- a/.hgtags Mon Nov 24 09:53:31 2008 -0800 +++ b/.hgtags Wed Nov 26 09:24:57 2008 -0800 @@ -14,3 +14,4 @@ 9ee9cf798b59e7d51f8c0a686959f313867a55d6 jdk7-b37 d9bc824aa078573829bb66572af847e26e1bd12e jdk7-b38 49ca90d77f34571b0757ebfcb8a7848ef2696b88 jdk7-b39 +81a0cbe3b28460ce836109934ece03db7afaf9cc jdk7-b40
--- a/make/hotspot_version Mon Nov 24 09:53:31 2008 -0800 +++ b/make/hotspot_version Wed Nov 26 09:24:57 2008 -0800 @@ -35,7 +35,7 @@ HS_MAJOR_VER=14 HS_MINOR_VER=0 -HS_BUILD_NUMBER=07 +HS_BUILD_NUMBER=08 JDK_MAJOR_VER=1 JDK_MINOR_VER=7
--- a/src/cpu/sparc/vm/templateTable_sparc.cpp Mon Nov 24 09:53:31 2008 -0800 +++ b/src/cpu/sparc/vm/templateTable_sparc.cpp Wed Nov 26 09:24:57 2008 -0800 @@ -2085,7 +2085,7 @@ } else { if (has_tos) { // save object pointer before call_VM() clobbers it - __ mov(Otos_i, Lscratch); + __ push_ptr(Otos_i); // put object on tos where GC wants it. } else { // Load top of stack (do not pop the value off the stack); __ ld_ptr(Lesp, Interpreter::expr_offset_in_bytes(0), Otos_i); @@ -2097,7 +2097,7 @@ __ call_VM(noreg, CAST_FROM_FN_PTR(address, InterpreterRuntime::post_field_access), Otos_i, Rcache); if (!is_static && has_tos) { - __ mov(Lscratch, Otos_i); // restore object pointer + __ pop_ptr(Otos_i); // restore object pointer __ verify_oop(Otos_i); } __ get_cache_and_index_at_bcp(Rcache, index, 1);
--- a/src/share/vm/runtime/arguments.cpp Mon Nov 24 09:53:31 2008 -0800 +++ b/src/share/vm/runtime/arguments.cpp Wed Nov 26 09:24:57 2008 -0800 @@ -2322,7 +2322,12 @@ return JNI_ERR; } } - + // Change the default value for flags which have different default values + // when working with older JDKs. + if (JDK_Version::current().compare_major(6) <= 0 && + FLAG_IS_DEFAULT(UseVMInterruptibleIO)) { + FLAG_SET_DEFAULT(UseVMInterruptibleIO, true); + } return JNI_OK; }
--- a/src/share/vm/runtime/biasedLocking.cpp Mon Nov 24 09:53:31 2008 -0800 +++ b/src/share/vm/runtime/biasedLocking.cpp Wed Nov 26 09:24:57 2008 -0800 @@ -582,13 +582,19 @@ if (heuristics == HR_NOT_BIASED) { return NOT_BIASED; } else if (heuristics == HR_SINGLE_REVOKE) { - if (mark->biased_locker() == THREAD) { + Klass *k = Klass::cast(obj->klass()); + markOop prototype_header = k->prototype_header(); + if (mark->biased_locker() == THREAD && + prototype_header->bias_epoch() == mark->bias_epoch()) { // A thread is trying to revoke the bias of an object biased // toward it, again likely due to an identity hash code // computation. We can again avoid a safepoint in this case // since we are only going to walk our own stack. There are no // races with revocations occurring in other threads because we // reach no safepoints in the revocation path. + // Also check the epoch because even if threads match, another thread + // can come in with a CAS to steal the bias of an object that has a + // stale epoch. ResourceMark rm; if (TraceBiasedLocking) { tty->print_cr("Revoking bias by walking my own stack:");
--- a/src/share/vm/runtime/globals.hpp Mon Nov 24 09:53:31 2008 -0800 +++ b/src/share/vm/runtime/globals.hpp Wed Nov 26 09:24:57 2008 -0800 @@ -3262,9 +3262,10 @@ diagnostic(bool, PrintDTraceDOF, false, \ "Print the DTrace DOF passed to the system for JSDT probes") \ \ - product(bool, UseVMInterruptibleIO, true, \ + product(bool, UseVMInterruptibleIO, false, \ "(Unstable, Solaris-specific) Thread interrupt before or with " \ - "EINTR for I/O operations results in OS_INTRPT") + "EINTR for I/O operations results in OS_INTRPT. The default value"\ + " of this flag is true for JDK 6 and earliers") /*