8039904: dtrace/hotspot/Monitors/Monitors001 fails with "assert(s > 0) failed: Bad size calculated"

Dtrace monitoring uses size before mirror size is set.

Reviewed-by: kamg, hseigel
This commit is contained in:
Coleen Phillimore 2014-04-11 20:02:37 +00:00
parent f15b18de1b
commit e72c0ba18f
4 changed files with 16 additions and 15 deletions

View file

@ -946,14 +946,13 @@ jlong SharedRuntime::get_java_tid(Thread* thread) {
* it gets turned into a tail-call on sparc, which runs into dtrace bug
* 6254741. Once that is fixed we can remove the dummy return value.
*/
int SharedRuntime::dtrace_object_alloc(oopDesc* o) {
return dtrace_object_alloc_base(Thread::current(), o);
int SharedRuntime::dtrace_object_alloc(oopDesc* o, int size) {
return dtrace_object_alloc_base(Thread::current(), o, size);
}
int SharedRuntime::dtrace_object_alloc_base(Thread* thread, oopDesc* o) {
int SharedRuntime::dtrace_object_alloc_base(Thread* thread, oopDesc* o, int size) {
assert(DTraceAllocProbes, "wrong call");
Klass* klass = o->klass();
int size = o->size();
Symbol* name = klass->name();
HOTSPOT_OBJECT_ALLOC(
get_java_tid(thread),