comparison src/share/vm/prims/methodHandleWalk.cpp @ 2117:70427f06ea47

7010913: JSR 292 ciMethodHandle does not handle MethodHandleCompiler exceptions properly Reviewed-by: kvn, never
author twisti
date Mon, 10 Jan 2011 03:58:07 -0800
parents f2da85a9b08e
children 3582bf76420e
comparison
equal deleted inserted replaced
2116:d810e9a3fc33 2117:70427f06ea47
1 /* 1 /*
2 * Copyright (c) 2008, 2010, Oracle and/or its affiliates. All rights reserved. 2 * Copyright (c) 2008, 2011, 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.
135 return arg_type; 135 return arg_type;
136 } 136 }
137 137
138 138
139 void MethodHandleChain::lose(const char* msg, TRAPS) { 139 void MethodHandleChain::lose(const char* msg, TRAPS) {
140 assert(false, "lose");
141 _lose_message = msg; 140 _lose_message = msg;
142 if (!THREAD->is_Java_thread() || ((JavaThread*)THREAD)->thread_state() != _thread_in_vm) { 141 if (!THREAD->is_Java_thread() || ((JavaThread*)THREAD)->thread_state() != _thread_in_vm) {
143 // throw a preallocated exception 142 // throw a preallocated exception
144 THROW_OOP(Universe::virtual_machine_error_instance()); 143 THROW_OOP(Universe::virtual_machine_error_instance());
145 } 144 }