mirror of
https://github.com/openjdk/jdk.git
synced 2025-09-20 02:54:35 +02:00
6655638: dynamic languages need method handles
Initial implementation, with known omissions (x86/64, sparc, compiler optim., c-oops, C++ interp.) Reviewed-by: kvn, twisti, never
This commit is contained in:
parent
318da3f68c
commit
ce0c084720
63 changed files with 5815 additions and 70 deletions
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright 1997-2006 Sun Microsystems, Inc. All Rights Reserved.
|
||||
* Copyright 1997-2009 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
|
||||
|
@ -78,6 +78,7 @@ char* NativeLookup::long_jni_name(methodHandle method) {
|
|||
|
||||
extern "C" {
|
||||
void JNICALL JVM_RegisterUnsafeMethods(JNIEnv *env, jclass unsafecls);
|
||||
void JNICALL JVM_RegisterMethodHandleMethods(JNIEnv *env, jclass unsafecls);
|
||||
void JNICALL JVM_RegisterPerfMethods(JNIEnv *env, jclass perfclass);
|
||||
}
|
||||
|
||||
|
@ -97,6 +98,9 @@ static address lookup_special_native(char* jni_name) {
|
|||
if (strstr(jni_name, "Java_sun_misc_Unsafe_registerNatives") != NULL) {
|
||||
return CAST_FROM_FN_PTR(address, JVM_RegisterUnsafeMethods);
|
||||
}
|
||||
if (strstr(jni_name, "Java_sun_dyn_MethodHandleNatives_registerNatives") != NULL) {
|
||||
return CAST_FROM_FN_PTR(address, JVM_RegisterMethodHandleMethods);
|
||||
}
|
||||
if (strstr(jni_name, "Java_sun_misc_Perf_registerNatives") != NULL) {
|
||||
return CAST_FROM_FN_PTR(address, JVM_RegisterPerfMethods);
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue