src/share/vm/interpreter/interpreterRuntime.cpp

changeset 1648
6deeaebad47a
parent 1577
4ce7240d622c
child 1861
2338d41fbd81
equal deleted inserted replaced
1631:f3345b7b01b4 1648:6deeaebad47a
1 /* 1 /*
2 * Copyright 1997-2009 Sun Microsystems, Inc. All Rights Reserved. 2 * Copyright 1997-2010 Sun Microsystems, Inc. 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.
395 } 395 }
396 } while (should_repeat == true); 396 } while (should_repeat == true);
397 397
398 // notify JVMTI of an exception throw; JVMTI will detect if this is a first 398 // notify JVMTI of an exception throw; JVMTI will detect if this is a first
399 // time throw or a stack unwinding throw and accordingly notify the debugger 399 // time throw or a stack unwinding throw and accordingly notify the debugger
400 if (JvmtiExport::can_post_exceptions()) { 400 if (JvmtiExport::can_post_on_exceptions()) {
401 JvmtiExport::post_exception_throw(thread, h_method(), bcp(thread), h_exception()); 401 JvmtiExport::post_exception_throw(thread, h_method(), bcp(thread), h_exception());
402 } 402 }
403 403
404 #ifdef CC_INTERP 404 #ifdef CC_INTERP
405 address continuation = (address)(intptr_t) handler_bci; 405 address continuation = (address)(intptr_t) handler_bci;
424 continuation = Interpreter::dispatch_table(vtos)[*handler_pc]; 424 continuation = Interpreter::dispatch_table(vtos)[*handler_pc];
425 #endif 425 #endif
426 } 426 }
427 // notify debugger of an exception catch 427 // notify debugger of an exception catch
428 // (this is good for exceptions caught in native methods as well) 428 // (this is good for exceptions caught in native methods as well)
429 if (JvmtiExport::can_post_exceptions()) { 429 if (JvmtiExport::can_post_on_exceptions()) {
430 JvmtiExport::notice_unwind_due_to_exception(thread, h_method(), handler_pc, h_exception(), (handler_pc != NULL)); 430 JvmtiExport::notice_unwind_due_to_exception(thread, h_method(), handler_pc, h_exception(), (handler_pc != NULL));
431 } 431 }
432 432
433 thread->set_vm_result(h_exception()); 433 thread->set_vm_result(h_exception());
434 return continuation; 434 return continuation;

mercurial