7030300: more nightly failures after statics in Class changes
Reviewed-by: iveresov, jcoomes, dcubed
--- a/hotspot/agent/src/share/classes/sun/jvm/hotspot/utilities/HeapHprofBinWriter.java Tue Mar 22 13:36:33 2011 -0700
+++ b/hotspot/agent/src/share/classes/sun/jvm/hotspot/utilities/HeapHprofBinWriter.java Wed Mar 23 10:55:43 2011 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2004, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2004, 2011, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -746,7 +746,7 @@
out.writeByte((byte)kind);
if (ik != null) {
// static field
- writeField(field, ik);
+ writeField(field, ik.getJavaMirror());
}
}
}
--- a/hotspot/src/cpu/sparc/vm/c1_CodeStubs_sparc.cpp Tue Mar 22 13:36:33 2011 -0700
+++ b/hotspot/src/cpu/sparc/vm/c1_CodeStubs_sparc.cpp Wed Mar 23 10:55:43 2011 -0700
@@ -301,7 +301,7 @@
// thread.
assert(_obj != noreg, "must be a valid register");
assert(_oop_index >= 0, "must have oop index");
- __ ld_ptr(_obj, java_lang_Class::klass_offset_in_bytes(), G3);
+ __ load_heap_oop(_obj, java_lang_Class::klass_offset_in_bytes(), G3);
__ ld_ptr(G3, instanceKlass::init_thread_offset_in_bytes() + sizeof(klassOopDesc), G3);
__ cmp(G2_thread, G3);
__ br(Assembler::notEqual, false, Assembler::pn, call_patch);
--- a/hotspot/src/cpu/x86/vm/c1_CodeStubs_x86.cpp Tue Mar 22 13:36:33 2011 -0700
+++ b/hotspot/src/cpu/x86/vm/c1_CodeStubs_x86.cpp Wed Mar 23 10:55:43 2011 -0700
@@ -316,7 +316,7 @@
Register tmp2 = rbx;
__ push(tmp);
__ push(tmp2);
- __ movptr(tmp2, Address(_obj, java_lang_Class::klass_offset_in_bytes()));
+ __ load_heap_oop(tmp2, Address(_obj, java_lang_Class::klass_offset_in_bytes()));
__ get_thread(tmp);
__ cmpptr(tmp, Address(tmp2, instanceKlass::init_thread_offset_in_bytes() + sizeof(klassOopDesc)));
__ pop(tmp2);