6914206: change way of permission checking for generated MethodHandle adapters

Put generated MH adapter in InvokeDynamic/MethodHandle classes to be able to indentify them easily in the compiler.

Reviewed-by: kvn, never, jrose
This commit is contained in:
Christian Thalinger 2010-01-08 11:09:46 +01:00
parent 8da8433a6f
commit e5fb2ad1c4
11 changed files with 66 additions and 16 deletions

View file

@ -1,5 +1,5 @@
/*
* Copyright 1997-2009 Sun Microsystems, Inc. All Rights Reserved.
* Copyright 1997-2010 Sun Microsystems, Inc. All Rights Reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@ -821,6 +821,18 @@ jint* methodOopDesc::method_type_offsets_chain() {
return pchase;
}
//------------------------------------------------------------------------------
// methodOopDesc::is_method_handle_adapter
//
// Tests if this method is an internal adapter frame from the
// MethodHandleCompiler.
bool methodOopDesc::is_method_handle_adapter() const {
return ((name() == vmSymbols::invoke_name() &&
method_holder() == SystemDictionary::MethodHandle_klass())
||
method_holder() == SystemDictionary::InvokeDynamic_klass());
}
methodHandle methodOopDesc::make_invoke_method(KlassHandle holder,
symbolHandle signature,
Handle method_type, TRAPS) {