Mercurial > hg > truffle
comparison src/share/vm/runtime/vframe.cpp @ 1152:cd37471eaecc
6914206: change way of permission checking for generated MethodHandle adapters
Summary: Put generated MH adapter in InvokeDynamic/MethodHandle classes to be able to indentify them easily in the compiler.
Reviewed-by: kvn, never, jrose
author | twisti |
---|---|
date | Fri, 08 Jan 2010 11:09:46 +0100 |
parents | 4ce7240d622c |
children | 2338d41fbd81 |
comparison
equal
deleted
inserted
replaced
1151:1271af4ec18c | 1152:cd37471eaecc |
---|---|
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. |
430 // This is Method.invoke() -- skip it | 430 // This is Method.invoke() -- skip it |
431 } else if (use_new_reflection && | 431 } else if (use_new_reflection && |
432 Klass::cast(method()->method_holder()) | 432 Klass::cast(method()->method_holder()) |
433 ->is_subclass_of(SystemDictionary::reflect_MethodAccessorImpl_klass())) { | 433 ->is_subclass_of(SystemDictionary::reflect_MethodAccessorImpl_klass())) { |
434 // This is an auxilary frame -- skip it | 434 // This is an auxilary frame -- skip it |
435 } else if (method()->is_method_handle_adapter()) { | |
436 // This is an internal adapter frame from the MethodHandleCompiler -- skip it | |
435 } else { | 437 } else { |
436 // This is non-excluded frame, we need to count it against the depth | 438 // This is non-excluded frame, we need to count it against the depth |
437 if (depth-- <= 0) { | 439 if (depth-- <= 0) { |
438 // we have reached the desired depth, we are done | 440 // we have reached the desired depth, we are done |
439 break; | 441 break; |