--- a/hotspot/src/share/vm/opto/runtime.cpp Wed Jan 27 22:38:37 2010 -0800
+++ b/hotspot/src/share/vm/opto/runtime.cpp Mon Feb 01 17:35:05 2010 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright 1998-2009 Sun Microsystems, Inc. All Rights Reserved.
+ * Copyright 1998-2010 Sun Microsystems, Inc. All Rights Reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -810,7 +810,7 @@
// we are switching to old paradigm: search for exception handler in caller_frame
// instead in exception handler of caller_frame.sender()
- if (JvmtiExport::can_post_exceptions()) {
+ if (JvmtiExport::can_post_on_exceptions()) {
// "Full-speed catching" is not necessary here,
// since we're notifying the VM on every catch.
// Force deoptimization and the rest of the lookup
@@ -975,8 +975,8 @@
assert(stub_frame.is_runtime_frame() || exception_blob()->contains(stub_frame.pc()), "sanity check");
frame caller_frame = stub_frame.sender(®_map);
- VM_DeoptimizeFrame deopt(thread, caller_frame.id());
- VMThread::execute(&deopt);
+ // bypass VM_DeoptimizeFrame and deoptimize the frame directly
+ Deoptimization::deoptimize_frame(thread, caller_frame.id());
}
}