Mercurial > hg > truffle
changeset 18404:03c63fd2f714
Backout 810222d74f7c
author | Gilles Duboscq <duboscq@ssw.jku.at> |
---|---|
date | Tue, 18 Nov 2014 10:55:59 +0100 |
parents | b9f2356c3a69 |
children | 4a1b4400bb1f |
files | src/share/vm/runtime/deoptimization.hpp src/share/vm/runtime/sharedRuntime.cpp |
diffstat | 2 files changed, 5 insertions(+), 7 deletions(-) [+] |
line wrap: on
line diff
--- a/src/share/vm/runtime/deoptimization.hpp Mon Nov 17 21:18:29 2014 +0100 +++ b/src/share/vm/runtime/deoptimization.hpp Tue Nov 18 10:55:59 2014 +0100 @@ -127,13 +127,13 @@ static void deoptimize(JavaThread* thread, frame fr, RegisterMap *reg_map); static void deoptimize(JavaThread* thread, frame fr, RegisterMap *reg_map, DeoptReason reason); + private: + // Does the actual work for deoptimizing a single frame + static void deoptimize_single_frame(JavaThread* thread, frame fr, DeoptReason reason); + // Helper function to revoke biases of all monitors in frame if UseBiasedLocking // is enabled static void revoke_biases_of_monitors(JavaThread* thread, frame fr, RegisterMap* map); - - private: - // Does the actual work for deoptimizing a single frame - static void deoptimize_single_frame(JavaThread* thread, frame fr, DeoptReason reason); // Helper function to revoke biases of all monitors in frames // executing in a particular CodeBlob if UseBiasedLocking is enabled static void revoke_biases_of_monitors(CodeBlob* cb);
--- a/src/share/vm/runtime/sharedRuntime.cpp Mon Nov 17 21:18:29 2014 +0100 +++ b/src/share/vm/runtime/sharedRuntime.cpp Tue Nov 18 10:55:59 2014 +0100 @@ -663,9 +663,7 @@ RegisterMap reg_map(thread); frame runtime_frame = thread->last_frame(); frame caller_frame = runtime_frame.sender(®_map); - assert(caller_frame.is_compiled_frame() && !caller_frame.is_deoptimized_frame(),"should be called by compiled frame"); - Deoptimization::revoke_biases_of_monitors(thread, caller_frame, ®_map); - + Deoptimization::deoptimize_frame(thread, caller_frame.id(), Deoptimization::Reason_not_compiled_exception_handler); return SharedRuntime::deopt_blob()->unpack_with_exception_in_tls(); } }