8025632: Remove all references to MagicLambdaImpl from Hotspot

Wed, 13 Nov 2013 16:24:33 -0800

author
minqi
date
Wed, 13 Nov 2013 16:24:33 -0800
changeset 6116
cdf20166ec45
parent 6080
fce21ac5968d
child 6117
3edddbff4865

8025632: Remove all references to MagicLambdaImpl from Hotspot
Summary: MagicLambdaImpl was removed from jdk side, this should be done in vm side too
Reviewed-by: coleenp, hseigel, rdurbin

src/share/vm/classfile/systemDictionary.hpp file | annotate | diff | comparison | revisions
src/share/vm/classfile/verifier.cpp file | annotate | diff | comparison | revisions
src/share/vm/classfile/vmSymbols.hpp file | annotate | diff | comparison | revisions
src/share/vm/runtime/globals.hpp file | annotate | diff | comparison | revisions
src/share/vm/runtime/reflection.cpp file | annotate | diff | comparison | revisions
test/compiler/jsr292/ConcurrentClassLoadingTest.java file | annotate | diff | comparison | revisions
     1.1 --- a/src/share/vm/classfile/systemDictionary.hpp	Wed Nov 13 07:31:26 2013 -0800
     1.2 +++ b/src/share/vm/classfile/systemDictionary.hpp	Wed Nov 13 16:24:33 2013 -0800
     1.3 @@ -141,7 +141,6 @@
     1.4    /* NOTE: needed too early in bootstrapping process to have checks based on JDK version */                              \
     1.5    /* Universe::is_gte_jdk14x_version() is not set up by this point. */                                                   \
     1.6    /* It's okay if this turns out to be NULL in non-1.4 JDKs. */                                                          \
     1.7 -  do_klass(lambda_MagicLambdaImpl_klass,                java_lang_invoke_MagicLambdaImpl,          Opt                 ) \
     1.8    do_klass(reflect_MagicAccessorImpl_klass,             sun_reflect_MagicAccessorImpl,             Opt                 ) \
     1.9    do_klass(reflect_MethodAccessorImpl_klass,            sun_reflect_MethodAccessorImpl,            Opt_Only_JDK14NewRef) \
    1.10    do_klass(reflect_ConstructorAccessorImpl_klass,       sun_reflect_ConstructorAccessorImpl,       Opt_Only_JDK14NewRef) \
     2.1 --- a/src/share/vm/classfile/verifier.cpp	Wed Nov 13 07:31:26 2013 -0800
     2.2 +++ b/src/share/vm/classfile/verifier.cpp	Wed Nov 13 16:24:33 2013 -0800
     2.3 @@ -188,10 +188,8 @@
     2.4  bool Verifier::is_eligible_for_verification(instanceKlassHandle klass, bool should_verify_class) {
     2.5    Symbol* name = klass->name();
     2.6    Klass* refl_magic_klass = SystemDictionary::reflect_MagicAccessorImpl_klass();
     2.7 -  Klass* lambda_magic_klass = SystemDictionary::lambda_MagicLambdaImpl_klass();
     2.8  
     2.9    bool is_reflect = refl_magic_klass != NULL && klass->is_subtype_of(refl_magic_klass);
    2.10 -  bool is_lambda = lambda_magic_klass != NULL && klass->is_subtype_of(lambda_magic_klass);
    2.11  
    2.12    return (should_verify_for(klass->class_loader(), should_verify_class) &&
    2.13      // return if the class is a bootstrapping class
    2.14 @@ -215,9 +213,7 @@
    2.15      // NOTE: this is called too early in the bootstrapping process to be
    2.16      // guarded by Universe::is_gte_jdk14x_version()/UseNewReflection.
    2.17      // Also for lambda generated code, gte jdk8
    2.18 -    (!is_reflect || VerifyReflectionBytecodes) &&
    2.19 -    (!is_lambda || VerifyLambdaBytecodes)
    2.20 -  );
    2.21 +    (!is_reflect || VerifyReflectionBytecodes));
    2.22  }
    2.23  
    2.24  Symbol* Verifier::inference_verify(
     3.1 --- a/src/share/vm/classfile/vmSymbols.hpp	Wed Nov 13 07:31:26 2013 -0800
     3.2 +++ b/src/share/vm/classfile/vmSymbols.hpp	Wed Nov 13 16:24:33 2013 -0800
     3.3 @@ -273,7 +273,6 @@
     3.4    template(java_lang_invoke_Stable_signature,         "Ljava/lang/invoke/Stable;")                \
     3.5    template(java_lang_invoke_LambdaForm_Compiled_signature, "Ljava/lang/invoke/LambdaForm$Compiled;") \
     3.6    template(java_lang_invoke_LambdaForm_Hidden_signature, "Ljava/lang/invoke/LambdaForm$Hidden;")  \
     3.7 -  template(java_lang_invoke_MagicLambdaImpl,          "java/lang/invoke/MagicLambdaImpl")         \
     3.8    /* internal up-calls made only by the JVM, via class sun.invoke.MethodHandleNatives: */         \
     3.9    template(findMethodHandleType_name,                 "findMethodHandleType")                     \
    3.10    template(findMethodHandleType_signature,       "(Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/invoke/MethodType;") \
     4.1 --- a/src/share/vm/runtime/globals.hpp	Wed Nov 13 07:31:26 2013 -0800
     4.2 +++ b/src/share/vm/runtime/globals.hpp	Wed Nov 13 16:24:33 2013 -0800
     4.3 @@ -3622,9 +3622,6 @@
     4.4            "Temporary flag for transition to AbstractMethodError wrapped "   \
     4.5            "in InvocationTargetException. See 6531596")                      \
     4.6                                                                              \
     4.7 -  develop(bool, VerifyLambdaBytecodes, false,                               \
     4.8 -          "Force verification of jdk 8 lambda metafactory bytecodes")       \
     4.9 -                                                                            \
    4.10    develop(intx, FastSuperclassLimit, 8,                                     \
    4.11            "Depth of hardwired instanceof accelerator array")                \
    4.12                                                                              \
     5.1 --- a/src/share/vm/runtime/reflection.cpp	Wed Nov 13 07:31:26 2013 -0800
     5.2 +++ b/src/share/vm/runtime/reflection.cpp	Wed Nov 13 16:24:33 2013 -0800
     5.3 @@ -470,12 +470,6 @@
     5.4      return true;
     5.5    }
     5.6  
     5.7 -  // Also allow all accesses from
     5.8 -  // java/lang/invoke/MagicLambdaImpl subclasses to succeed trivially.
     5.9 -  if (current_class->is_subclass_of(SystemDictionary::lambda_MagicLambdaImpl_klass())) {
    5.10 -    return true;
    5.11 -  }
    5.12 -
    5.13    return can_relax_access_check_for(current_class, new_class, classloader_only);
    5.14  }
    5.15  
    5.16 @@ -570,12 +564,6 @@
    5.17      return true;
    5.18    }
    5.19  
    5.20 -  // Also allow all accesses from
    5.21 -  // java/lang/invoke/MagicLambdaImpl subclasses to succeed trivially.
    5.22 -  if (current_class->is_subclass_of(SystemDictionary::lambda_MagicLambdaImpl_klass())) {
    5.23 -    return true;
    5.24 -  }
    5.25 -
    5.26    return can_relax_access_check_for(
    5.27      current_class, field_class, classloader_only);
    5.28  }
     6.1 --- a/test/compiler/jsr292/ConcurrentClassLoadingTest.java	Wed Nov 13 07:31:26 2013 -0800
     6.2 +++ b/test/compiler/jsr292/ConcurrentClassLoadingTest.java	Wed Nov 13 16:24:33 2013 -0800
     6.3 @@ -172,7 +172,6 @@
     6.4              "java.lang.invoke.LambdaConversionException",
     6.5              "java.lang.invoke.LambdaForm",
     6.6              "java.lang.invoke.LambdaMetafactory",
     6.7 -            "java.lang.invoke.MagicLambdaImpl",
     6.8              "java.lang.invoke.MemberName",
     6.9              "java.lang.invoke.MethodHandle",
    6.10              "java.lang.invoke.MethodHandleImpl",

mercurial