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"); |