Mercurial > hg > graal-compiler
comparison src/share/vm/runtime/biasedLocking.cpp @ 17937:78bbf4d43a14
8037816: Fix for 8036122 breaks build with Xcode5/clang
8043029: Change 8037816 breaks HS build with older GCC versions which don't support diagnostic pragmas
8043164: Format warning in traceStream.hpp
Summary: Backport of main fix + two corrections, enables clang compilation, turns on format attributes, corrects/mutes warnings
Reviewed-by: kvn, coleenp, iveresov, twisti
author | drchase |
---|---|
date | Thu, 22 May 2014 15:52:41 -0400 |
parents | a57ba009d4dc |
children | 52b4284cb496 |
comparison
equal
deleted
inserted
replaced
17935:7384f6a12fc1 | 17937:78bbf4d43a14 |
---|---|
1 /* | 1 /* |
2 * Copyright (c) 2005, 2013, Oracle and/or its affiliates. All rights reserved. | 2 * Copyright (c) 2005, 2014, Oracle and/or its affiliates. All rights reserved. |
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. | 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
4 * | 4 * |
5 * This code is free software; you can redistribute it and/or modify it | 5 * This code is free software; you can redistribute it and/or modify it |
6 * under the terms of the GNU General Public License version 2 only, as | 6 * under the terms of the GNU General Public License version 2 only, as |
7 * published by the Free Software Foundation. | 7 * published by the Free Software Foundation. |
159 markOop unbiased_prototype = markOopDesc::prototype()->set_age(age); | 159 markOop unbiased_prototype = markOopDesc::prototype()->set_age(age); |
160 | 160 |
161 if (TraceBiasedLocking && (Verbose || !is_bulk)) { | 161 if (TraceBiasedLocking && (Verbose || !is_bulk)) { |
162 ResourceMark rm; | 162 ResourceMark rm; |
163 tty->print_cr("Revoking bias of object " INTPTR_FORMAT " , mark " INTPTR_FORMAT " , type %s , prototype header " INTPTR_FORMAT " , allow rebias %d , requesting thread " INTPTR_FORMAT, | 163 tty->print_cr("Revoking bias of object " INTPTR_FORMAT " , mark " INTPTR_FORMAT " , type %s , prototype header " INTPTR_FORMAT " , allow rebias %d , requesting thread " INTPTR_FORMAT, |
164 (void *)obj, (intptr_t) mark, obj->klass()->external_name(), (intptr_t) obj->klass()->prototype_header(), (allow_rebias ? 1 : 0), (intptr_t) requesting_thread); | 164 p2i((void *)obj), (intptr_t) mark, obj->klass()->external_name(), (intptr_t) obj->klass()->prototype_header(), (allow_rebias ? 1 : 0), (intptr_t) requesting_thread); |
165 } | 165 } |
166 | 166 |
167 JavaThread* biased_thread = mark->biased_locker(); | 167 JavaThread* biased_thread = mark->biased_locker(); |
168 if (biased_thread == NULL) { | 168 if (biased_thread == NULL) { |
169 // Object is anonymously biased. We can get here if, for | 169 // Object is anonymously biased. We can get here if, for |
212 for (int i = 0; i < cached_monitor_info->length(); i++) { | 212 for (int i = 0; i < cached_monitor_info->length(); i++) { |
213 MonitorInfo* mon_info = cached_monitor_info->at(i); | 213 MonitorInfo* mon_info = cached_monitor_info->at(i); |
214 if (mon_info->owner() == obj) { | 214 if (mon_info->owner() == obj) { |
215 if (TraceBiasedLocking && Verbose) { | 215 if (TraceBiasedLocking && Verbose) { |
216 tty->print_cr(" mon_info->owner (" PTR_FORMAT ") == obj (" PTR_FORMAT ")", | 216 tty->print_cr(" mon_info->owner (" PTR_FORMAT ") == obj (" PTR_FORMAT ")", |
217 (void *) mon_info->owner(), | 217 p2i((void *) mon_info->owner()), |
218 (void *) obj); | 218 p2i((void *) obj)); |
219 } | 219 } |
220 // Assume recursive case and fix up highest lock later | 220 // Assume recursive case and fix up highest lock later |
221 markOop mark = markOopDesc::encode((BasicLock*) NULL); | 221 markOop mark = markOopDesc::encode((BasicLock*) NULL); |
222 highest_lock = mon_info->lock(); | 222 highest_lock = mon_info->lock(); |
223 highest_lock->set_displaced_header(mark); | 223 highest_lock->set_displaced_header(mark); |
224 } else { | 224 } else { |
225 if (TraceBiasedLocking && Verbose) { | 225 if (TraceBiasedLocking && Verbose) { |
226 tty->print_cr(" mon_info->owner (" PTR_FORMAT ") != obj (" PTR_FORMAT ")", | 226 tty->print_cr(" mon_info->owner (" PTR_FORMAT ") != obj (" PTR_FORMAT ")", |
227 (void *) mon_info->owner(), | 227 p2i((void *) mon_info->owner()), |
228 (void *) obj); | 228 p2i((void *) obj)); |
229 } | 229 } |
230 } | 230 } |
231 } | 231 } |
232 if (highest_lock != NULL) { | 232 if (highest_lock != NULL) { |
233 // Fix up highest lock to contain displaced header and point | 233 // Fix up highest lock to contain displaced header and point |
326 | 326 |
327 if (TraceBiasedLocking) { | 327 if (TraceBiasedLocking) { |
328 tty->print_cr("* Beginning bulk revocation (kind == %s) because of object " | 328 tty->print_cr("* Beginning bulk revocation (kind == %s) because of object " |
329 INTPTR_FORMAT " , mark " INTPTR_FORMAT " , type %s", | 329 INTPTR_FORMAT " , mark " INTPTR_FORMAT " , type %s", |
330 (bulk_rebias ? "rebias" : "revoke"), | 330 (bulk_rebias ? "rebias" : "revoke"), |
331 (void *) o, (intptr_t) o->mark(), o->klass()->external_name()); | 331 p2i((void *) o), (intptr_t) o->mark(), o->klass()->external_name()); |
332 } | 332 } |
333 | 333 |
334 jlong cur_time = os::javaTimeMillis(); | 334 jlong cur_time = os::javaTimeMillis(); |
335 o->klass()->set_last_biased_lock_bulk_revocation_time(cur_time); | 335 o->klass()->set_last_biased_lock_bulk_revocation_time(cur_time); |
336 | 336 |