comparison src/share/vm/runtime/frame.cpp @ 12316:190899198332

7195622: CheckUnhandledOops has limited usefulness now Summary: Enable CHECK_UNHANDLED_OOPS in fastdebug builds across all supported platforms. Reviewed-by: coleenp, hseigel, dholmes, stefank, twisti, ihse, rdurbin Contributed-by: lois.foltan@oracle.com
author hseigel
date Thu, 26 Sep 2013 10:25:02 -0400
parents 38f750491293
children cefad50507d8 63a4eb8bcd23 2b8e28fdf503 6b207d038106
comparison
equal deleted inserted replaced
12315:c1fbf21c7397 12316:190899198332
1 /* 1 /*
2 * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved. 2 * Copyright (c) 1997, 2013, 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.
1095 if (oop_adr == NULL) { 1095 if (oop_adr == NULL) {
1096 guarantee(oop_adr != NULL, "bad register save location"); 1096 guarantee(oop_adr != NULL, "bad register save location");
1097 return NULL; 1097 return NULL;
1098 } 1098 }
1099 oop r = *oop_adr; 1099 oop r = *oop_adr;
1100 assert(Universe::heap()->is_in_or_null(r), err_msg("bad receiver: " INTPTR_FORMAT " (" INTX_FORMAT ")", (intptr_t) r, (intptr_t) r)); 1100 assert(Universe::heap()->is_in_or_null(r), err_msg("bad receiver: " INTPTR_FORMAT " (" INTX_FORMAT ")", (void *) r, (void *) r));
1101 return r; 1101 return r;
1102 } 1102 }
1103 1103
1104 1104
1105 oop* frame::oopmapreg_to_location(VMReg reg, const RegisterMap* reg_map) const { 1105 oop* frame::oopmapreg_to_location(VMReg reg, const RegisterMap* reg_map) const {
1226 } 1226 }
1227 1227
1228 1228
1229 void frame::ZapDeadClosure::do_oop(oop* p) { 1229 void frame::ZapDeadClosure::do_oop(oop* p) {
1230 if (TraceZapDeadLocals) tty->print_cr("zapping @ " INTPTR_FORMAT " containing " INTPTR_FORMAT, p, (address)*p); 1230 if (TraceZapDeadLocals) tty->print_cr("zapping @ " INTPTR_FORMAT " containing " INTPTR_FORMAT, p, (address)*p);
1231 // Need cast because on _LP64 the conversion to oop is ambiguous. Constant 1231 *p = cast_to_oop<intptr_t>(0xbabebabe);
1232 // can be either long or int.
1233 *p = (oop)(int)0xbabebabe;
1234 } 1232 }
1235 frame::ZapDeadClosure frame::_zap_dead; 1233 frame::ZapDeadClosure frame::_zap_dead;
1236 1234
1237 void frame::zap_dead_locals(JavaThread* thread, const RegisterMap* map) { 1235 void frame::zap_dead_locals(JavaThread* thread, const RegisterMap* map) {
1238 assert(thread == Thread::current(), "need to synchronize to do this to another thread"); 1236 assert(thread == Thread::current(), "need to synchronize to do this to another thread");