comparison src/share/vm/prims/jvmtiEnvThreadState.cpp @ 18041:52b4284cb496

Merge with jdk8u20-b26
author Gilles Duboscq <duboscq@ssw.jku.at>
date Wed, 15 Oct 2014 16:02:50 +0200
parents 89152779163c 78bbf4d43a14
children
comparison
equal deleted inserted replaced
17606:45d7b2c7029d 18041:52b4284cb496
1 /* 1 /*
2 * Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved. 2 * Copyright (c) 2003, 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.
111 int n = _pops->length(); 111 int n = _pops->length();
112 for (int i=0; i<n; i++) { 112 for (int i=0; i<n; i++) {
113 JvmtiFramePop fp = JvmtiFramePop(_pops->at(i)); 113 JvmtiFramePop fp = JvmtiFramePop(_pops->at(i));
114 tty->print("%d: ", i); 114 tty->print("%d: ", i);
115 fp.print(); 115 fp.print();
116 tty->print_cr(""); 116 tty->cr();
117 } 117 }
118 } 118 }
119 #endif 119 #endif
120 120
121 /////////////////////////////////////////////////////////////// 121 ///////////////////////////////////////////////////////////////
270 ResourceMark rmark; // _thread != Thread::current() 270 ResourceMark rmark; // _thread != Thread::current()
271 RegisterMap rm(_thread, false); 271 RegisterMap rm(_thread, false);
272 // There can be a race condition between a VM_Operation reaching a safepoint 272 // There can be a race condition between a VM_Operation reaching a safepoint
273 // and the target thread exiting from Java execution. 273 // and the target thread exiting from Java execution.
274 // We must recheck the last Java frame still exists. 274 // We must recheck the last Java frame still exists.
275 if (_thread->has_last_Java_frame()) { 275 if (!_thread->is_exiting() && _thread->has_last_Java_frame()) {
276 javaVFrame* vf = _thread->last_java_vframe(&rm); 276 javaVFrame* vf = _thread->last_java_vframe(&rm);
277 assert(vf != NULL, "must have last java frame"); 277 assert(vf != NULL, "must have last java frame");
278 Method* method = vf->method(); 278 Method* method = vf->method();
279 _method_id = method->jmethod_id(); 279 _method_id = method->jmethod_id();
280 _bci = vf->bci(); 280 _bci = vf->bci();