changeset 24230:b9b116e02a3f

HotSpotResolvedJavaMethod.setNotInlineable() should be renamed to represent actual behavior (JDK-8180487)
author Doug Simon <doug.simon@oracle.com>
date Thu, 14 Sep 2017 13:00:31 +0200
parents 190f5f33b7d3
children 18ae50e05080
files jvmci/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/CompilerToVM.java jvmci/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/HotSpotResolvedJavaMethod.java jvmci/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/HotSpotResolvedJavaMethodImpl.java mx.jvmci/.project mx.jvmci/.pydevproject src/share/vm/jvmci/jvmciCompilerToVM.cpp
diffstat 6 files changed, 18 insertions(+), 41 deletions(-) [+]
line wrap: on
line diff
--- a/jvmci/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/CompilerToVM.java	Thu Sep 07 15:17:51 2017 +0200
+++ b/jvmci/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/CompilerToVM.java	Thu Sep 14 13:00:31 2017 +0200
@@ -454,9 +454,9 @@
     native Object readUncompressedOop(long address);
 
     /**
-     * Determines if {@code method} should not be inlined or compiled.
+     * Sets flags on {@code method} indicating that it should never be inlined or compiled.
      */
-    native void doNotInlineOrCompile(HotSpotResolvedJavaMethodImpl method);
+    native void setNotInlineableOrCompileable(HotSpotResolvedJavaMethodImpl method);
 
     /**
      * Invalidates the profiling information for {@code method} and (re)initializes it such that
--- a/jvmci/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/HotSpotResolvedJavaMethod.java	Thu Sep 07 15:17:51 2017 +0200
+++ b/jvmci/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/HotSpotResolvedJavaMethod.java	Thu Sep 14 13:00:31 2017 +0200
@@ -57,9 +57,18 @@
     boolean hasReservedStackAccess();
 
     /**
-     * Manually adds a DontInline annotation to this method.
+     * Sets flags on {@code method} indicating that it should never be inlined or compiled.
      */
-    void setNotInlineable();
+    void setNotInlineableOrCompileable();
+
+    /**
+     * Use {@link #setNotInlineableOrCompileable()} instead as its name better reflect the semantics
+     * this method has always had.
+     */
+    @Deprecated
+    default void setNotInlineable() {
+        setNotInlineableOrCompileable();
+    }
 
     /**
      * Returns true if this method is one of the special methods that is ignored by security stack
--- a/jvmci/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/HotSpotResolvedJavaMethodImpl.java	Thu Sep 07 15:17:51 2017 +0200
+++ b/jvmci/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/HotSpotResolvedJavaMethodImpl.java	Thu Sep 14 13:00:31 2017 +0200
@@ -319,10 +319,10 @@
     }
 
     /**
-     * Manually adds a DontInline annotation to this method.
+     * Sets flags on {@code method} indicating that it should never be inlined or compiled.
      */
-    public void setNotInlineable() {
-        compilerToVM().doNotInlineOrCompile(this);
+    public void setNotInlineableOrCompileable() {
+        compilerToVM().setNotInlineableOrCompileable(this);
     }
 
     /**
--- a/mx.jvmci/.project	Thu Sep 07 15:17:51 2017 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,18 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>mx.jvmci</name>
-	<comment></comment>
-	<projects>
-		<project>mx</project>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.python.pydev.PyDevBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.python.pydev.pythonNature</nature>
-	</natures>
-</projectDescription>
--- a/mx.jvmci/.pydevproject	Thu Sep 07 15:17:51 2017 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<?eclipse-pydev version="1.0"?>
-
-<pydev_project>
-<pydev_property name="org.python.pydev.PYTHON_PROJECT_INTERPRETER">Default</pydev_property>
-<pydev_property name="org.python.pydev.PYTHON_PROJECT_VERSION">python 2.7</pydev_property>
-<pydev_pathproperty name="org.python.pydev.PROJECT_SOURCE_PATH">
-<path>/mx.jvmci</path>
-</pydev_pathproperty>
-<pydev_pathproperty name="org.python.pydev.PROJECT_SOURCE_PATH">
-<path>/mxtool2</path>
-</pydev_pathproperty>
-
-</pydev_project>
--- a/src/share/vm/jvmci/jvmciCompilerToVM.cpp	Thu Sep 07 15:17:51 2017 +0200
+++ b/src/share/vm/jvmci/jvmciCompilerToVM.cpp	Thu Sep 14 13:00:31 2017 +0200
@@ -985,7 +985,7 @@
   return -1;
 C2V_END
 
-C2V_VMENTRY(void, doNotInlineOrCompile,(JNIEnv *, jobject,  jobject jvmci_method))
+C2V_VMENTRY(void, setNotInlineableOrCompileable,(JNIEnv *, jobject,  jobject jvmci_method))
   methodHandle method = CompilerToVM::asMethod(jvmci_method);
   method->set_not_c1_compilable();
   method->set_not_c2_compilable();
@@ -1680,7 +1680,7 @@
   {CC"getImplementor",                               CC"("HS_RESOLVED_KLASS")"HS_RESOLVED_KLASS,                                       FN_PTR(getImplementor)},
   {CC"getStackTraceElement",                         CC"("HS_RESOLVED_METHOD"I)"STACK_TRACE_ELEMENT,                                   FN_PTR(getStackTraceElement)},
   {CC"methodIsIgnoredBySecurityStackWalk",           CC"("HS_RESOLVED_METHOD")Z",                                                      FN_PTR(methodIsIgnoredBySecurityStackWalk)},
-  {CC"doNotInlineOrCompile",                         CC"("HS_RESOLVED_METHOD")V",                                                      FN_PTR(doNotInlineOrCompile)},
+  {CC"setNotInlineableOrCompileable",                CC"("HS_RESOLVED_METHOD")V",                                                      FN_PTR(setNotInlineableOrCompileable)},
   {CC"isCompilable",                                 CC"("HS_RESOLVED_METHOD")Z",                                                      FN_PTR(isCompilable)},
   {CC"hasNeverInlineDirective",                      CC"("HS_RESOLVED_METHOD")Z",                                                      FN_PTR(hasNeverInlineDirective)},
   {CC"shouldInlineMethod",                           CC"("HS_RESOLVED_METHOD")Z",                                                      FN_PTR(shouldInlineMethod)},