comparison src/share/vm/oops/methodOop.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 cf0685d550f1
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.
819 OrderAccess::release_store(&pchase[0], step0); 819 OrderAccess::release_store(&pchase[0], step0);
820 } 820 }
821 return pchase; 821 return pchase;
822 } 822 }
823 823
824 //------------------------------------------------------------------------------
825 // methodOopDesc::is_method_handle_adapter
826 //
827 // Tests if this method is an internal adapter frame from the
828 // MethodHandleCompiler.
829 bool methodOopDesc::is_method_handle_adapter() const {
830 return ((name() == vmSymbols::invoke_name() &&
831 method_holder() == SystemDictionary::MethodHandle_klass())
832 ||
833 method_holder() == SystemDictionary::InvokeDynamic_klass());
834 }
835
824 methodHandle methodOopDesc::make_invoke_method(KlassHandle holder, 836 methodHandle methodOopDesc::make_invoke_method(KlassHandle holder,
825 symbolHandle signature, 837 symbolHandle signature,
826 Handle method_type, TRAPS) { 838 Handle method_type, TRAPS) {
827 methodHandle empty; 839 methodHandle empty;
828 840