changeset 13389:438fe38c63c8

Merge
author mgronlun
date Fri, 15 Nov 2013 21:39:27 +0100
parents 5280822ddfcd (diff) 854a42db7069 (current diff)
children d61a1a166f44
files src/share/vm/runtime/globals.hpp
diffstat 8 files changed, 39 insertions(+), 40 deletions(-) [+]
line wrap: on
line diff
--- a/agent/src/share/classes/sun/jvm/hotspot/tools/JInfo.java	Fri Nov 15 07:58:06 2013 -0800
+++ b/agent/src/share/classes/sun/jvm/hotspot/tools/JInfo.java	Fri Nov 15 21:39:27 2013 +0100
@@ -24,8 +24,9 @@
 
 package sun.jvm.hotspot.tools;
 
-import sun.jvm.hotspot.runtime.*;
 import sun.jvm.hotspot.debugger.JVMDebugger;
+import sun.jvm.hotspot.runtime.Arguments;
+import sun.jvm.hotspot.runtime.VM;
 
 public class JInfo extends Tool {
     public JInfo() {
@@ -138,14 +139,33 @@
     }
 
     private void printVMFlags() {
+        VM.Flag[] flags = VM.getVM().getCommandLineFlags();
+        System.out.print("Non-default VM flags: ");
+        for (VM.Flag flag : flags) {
+            if (flag.getOrigin() == 0) {
+                // only print flags which aren't their defaults
+                continue;
+            }
+            if (flag.isBool()) {
+                String onoff = flag.getBool() ? "+" : "-";
+                System.out.print("-XX:" + onoff + flag.getName() + " ");
+            } else {
+                System.out.print("-XX:" + flag.getName() + "="
+                        + flag.getValue() + " ");
+            }
+        }
+        System.out.println();
+
+        System.out.print("Command line: ");
         String str = Arguments.getJVMFlags();
         if (str != null) {
-            System.out.println(str);
+            System.out.print(str + " ");
         }
         str = Arguments.getJVMArgs();
         if (str != null) {
-            System.out.println(str);
+            System.out.print(str);
         }
+        System.out.println();
     }
 
     private int mode;
--- a/agent/src/share/classes/sun/jvm/hotspot/tools/Tool.java	Fri Nov 15 07:58:06 2013 -0800
+++ b/agent/src/share/classes/sun/jvm/hotspot/tools/Tool.java	Fri Nov 15 21:39:27 2013 +0100
@@ -25,11 +25,11 @@
 package sun.jvm.hotspot.tools;
 
 import java.io.PrintStream;
-import java.util.Hashtable;
 
-import sun.jvm.hotspot.*;
-import sun.jvm.hotspot.runtime.*;
-import sun.jvm.hotspot.debugger.*;
+import sun.jvm.hotspot.HotSpotAgent;
+import sun.jvm.hotspot.debugger.DebuggerException;
+import sun.jvm.hotspot.debugger.JVMDebugger;
+import sun.jvm.hotspot.runtime.VM;
 
 // generic command line or GUI tool.
 // override run & code main as shown below.
@@ -147,6 +147,7 @@
       }
 
       PrintStream err = System.err;
+      PrintStream out = System.out;
 
       int pid = 0;
       String coreFileName   = null;
@@ -180,18 +181,18 @@
       try {
         switch (debugeeType) {
           case DEBUGEE_PID:
-             err.println("Attaching to process ID " + pid + ", please wait...");
+             out.println("Attaching to process ID " + pid + ", please wait...");
              agent.attach(pid);
              break;
 
           case DEBUGEE_CORE:
-             err.println("Attaching to core " + coreFileName +
+             out.println("Attaching to core " + coreFileName +
                          " from executable " + executableName + ", please wait...");
              agent.attach(executableName, coreFileName);
              break;
 
           case DEBUGEE_REMOTE:
-             err.println("Attaching to remote server " + remoteServer + ", please wait...");
+             out.println("Attaching to remote server " + remoteServer + ", please wait...");
              agent.attach(remoteServer);
              break;
         }
@@ -218,7 +219,7 @@
         return 1;
       }
 
-      err.println("Debugger attached successfully.");
+      out.println("Debugger attached successfully.");
       startInternal();
       return 0;
    }
@@ -237,14 +238,14 @@
    // Remains of the start mechanism, common to both start methods.
    private void startInternal() {
 
-      PrintStream err = System.err;
+      PrintStream out = System.out;
       VM vm = VM.getVM();
       if (vm.isCore()) {
-        err.println("Core build detected.");
+        out.println("Core build detected.");
       } else if (vm.isClientCompiler()) {
-        err.println("Client compiler detected.");
+        out.println("Client compiler detected.");
       } else if (vm.isServerCompiler()) {
-        err.println("Server compiler detected.");
+        out.println("Server compiler detected.");
       } else {
         throw new RuntimeException("Fatal error: "
             + "should have been able to detect core/C1/C2 build");
@@ -252,8 +253,8 @@
 
       String version = vm.getVMRelease();
       if (version != null) {
-        err.print("JVM version is ");
-        err.println(version);
+        out.print("JVM version is ");
+        out.println(version);
       }
 
       run();
--- a/src/share/vm/classfile/systemDictionary.hpp	Fri Nov 15 07:58:06 2013 -0800
+++ b/src/share/vm/classfile/systemDictionary.hpp	Fri Nov 15 21:39:27 2013 +0100
@@ -141,7 +141,6 @@
   /* NOTE: needed too early in bootstrapping process to have checks based on JDK version */                              \
   /* Universe::is_gte_jdk14x_version() is not set up by this point. */                                                   \
   /* It's okay if this turns out to be NULL in non-1.4 JDKs. */                                                          \
-  do_klass(lambda_MagicLambdaImpl_klass,                java_lang_invoke_MagicLambdaImpl,          Opt                 ) \
   do_klass(reflect_MagicAccessorImpl_klass,             sun_reflect_MagicAccessorImpl,             Opt                 ) \
   do_klass(reflect_MethodAccessorImpl_klass,            sun_reflect_MethodAccessorImpl,            Opt_Only_JDK14NewRef) \
   do_klass(reflect_ConstructorAccessorImpl_klass,       sun_reflect_ConstructorAccessorImpl,       Opt_Only_JDK14NewRef) \
--- a/src/share/vm/classfile/verifier.cpp	Fri Nov 15 07:58:06 2013 -0800
+++ b/src/share/vm/classfile/verifier.cpp	Fri Nov 15 21:39:27 2013 +0100
@@ -188,10 +188,8 @@
 bool Verifier::is_eligible_for_verification(instanceKlassHandle klass, bool should_verify_class) {
   Symbol* name = klass->name();
   Klass* refl_magic_klass = SystemDictionary::reflect_MagicAccessorImpl_klass();
-  Klass* lambda_magic_klass = SystemDictionary::lambda_MagicLambdaImpl_klass();
 
   bool is_reflect = refl_magic_klass != NULL && klass->is_subtype_of(refl_magic_klass);
-  bool is_lambda = lambda_magic_klass != NULL && klass->is_subtype_of(lambda_magic_klass);
 
   return (should_verify_for(klass->class_loader(), should_verify_class) &&
     // return if the class is a bootstrapping class
@@ -215,9 +213,7 @@
     // NOTE: this is called too early in the bootstrapping process to be
     // guarded by Universe::is_gte_jdk14x_version()/UseNewReflection.
     // Also for lambda generated code, gte jdk8
-    (!is_reflect || VerifyReflectionBytecodes) &&
-    (!is_lambda || VerifyLambdaBytecodes)
-  );
+    (!is_reflect || VerifyReflectionBytecodes));
 }
 
 Symbol* Verifier::inference_verify(
--- a/src/share/vm/classfile/vmSymbols.hpp	Fri Nov 15 07:58:06 2013 -0800
+++ b/src/share/vm/classfile/vmSymbols.hpp	Fri Nov 15 21:39:27 2013 +0100
@@ -273,7 +273,6 @@
   template(java_lang_invoke_Stable_signature,         "Ljava/lang/invoke/Stable;")                \
   template(java_lang_invoke_LambdaForm_Compiled_signature, "Ljava/lang/invoke/LambdaForm$Compiled;") \
   template(java_lang_invoke_LambdaForm_Hidden_signature, "Ljava/lang/invoke/LambdaForm$Hidden;")  \
-  template(java_lang_invoke_MagicLambdaImpl,          "java/lang/invoke/MagicLambdaImpl")         \
   /* internal up-calls made only by the JVM, via class sun.invoke.MethodHandleNatives: */         \
   template(findMethodHandleType_name,                 "findMethodHandleType")                     \
   template(findMethodHandleType_signature,       "(Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/invoke/MethodType;") \
--- a/src/share/vm/runtime/globals.hpp	Fri Nov 15 07:58:06 2013 -0800
+++ b/src/share/vm/runtime/globals.hpp	Fri Nov 15 21:39:27 2013 +0100
@@ -3622,9 +3622,6 @@
           "Temporary flag for transition to AbstractMethodError wrapped "   \
           "in InvocationTargetException. See 6531596")                      \
                                                                             \
-  develop(bool, VerifyLambdaBytecodes, false,                               \
-          "Force verification of jdk 8 lambda metafactory bytecodes")       \
-                                                                            \
   develop(intx, FastSuperclassLimit, 8,                                     \
           "Depth of hardwired instanceof accelerator array")                \
                                                                             \
--- a/src/share/vm/runtime/reflection.cpp	Fri Nov 15 07:58:06 2013 -0800
+++ b/src/share/vm/runtime/reflection.cpp	Fri Nov 15 21:39:27 2013 +0100
@@ -470,12 +470,6 @@
     return true;
   }
 
-  // Also allow all accesses from
-  // java/lang/invoke/MagicLambdaImpl subclasses to succeed trivially.
-  if (current_class->is_subclass_of(SystemDictionary::lambda_MagicLambdaImpl_klass())) {
-    return true;
-  }
-
   return can_relax_access_check_for(current_class, new_class, classloader_only);
 }
 
@@ -570,12 +564,6 @@
     return true;
   }
 
-  // Also allow all accesses from
-  // java/lang/invoke/MagicLambdaImpl subclasses to succeed trivially.
-  if (current_class->is_subclass_of(SystemDictionary::lambda_MagicLambdaImpl_klass())) {
-    return true;
-  }
-
   return can_relax_access_check_for(
     current_class, field_class, classloader_only);
 }
--- a/test/compiler/jsr292/ConcurrentClassLoadingTest.java	Fri Nov 15 07:58:06 2013 -0800
+++ b/test/compiler/jsr292/ConcurrentClassLoadingTest.java	Fri Nov 15 21:39:27 2013 +0100
@@ -172,7 +172,6 @@
             "java.lang.invoke.LambdaConversionException",
             "java.lang.invoke.LambdaForm",
             "java.lang.invoke.LambdaMetafactory",
-            "java.lang.invoke.MagicLambdaImpl",
             "java.lang.invoke.MemberName",
             "java.lang.invoke.MethodHandle",
             "java.lang.invoke.MethodHandleImpl",