Mercurial > hg > truffle
comparison src/share/vm/opto/runtime.cpp @ 1135:e66fd840cb6b
6893081: method handle & invokedynamic code needs additional cleanup (post 6815692, 6858164)
Summary: During the work for 6829187 we have fixed a number of basic bugs which are logically grouped with 6815692 and 6858164 but which must be reviewed and pushed separately.
Reviewed-by: kvn, never
author | twisti |
---|---|
date | Mon, 04 Jan 2010 18:38:08 +0100 |
parents | 39b01ab7035a |
children | 4ce7240d622c |
comparison
equal
deleted
inserted
replaced
1134:0910903272e5 | 1135:e66fd840cb6b |
---|---|
1 /* | 1 /* |
2 * Copyright 1998-2007 Sun Microsystems, Inc. All Rights Reserved. | 2 * Copyright 1998-2009 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. |
856 } | 856 } |
857 | 857 |
858 thread->set_exception_pc(pc); | 858 thread->set_exception_pc(pc); |
859 thread->set_exception_handler_pc(handler_address); | 859 thread->set_exception_handler_pc(handler_address); |
860 thread->set_exception_stack_size(0); | 860 thread->set_exception_stack_size(0); |
861 | |
862 // Check if the exception PC is a MethodHandle call. | |
863 thread->set_is_method_handle_exception(nm->is_method_handle_return(pc)); | |
861 } | 864 } |
862 | 865 |
863 // Restore correct return pc. Was saved above. | 866 // Restore correct return pc. Was saved above. |
864 thread->set_exception_oop(exception()); | 867 thread->set_exception_oop(exception()); |
865 return handler_address; | 868 return handler_address; |