diff truffle/com.oracle.truffle.api.profiles/src/com/oracle/truffle/api/profiles/ValueProfile.java @ 22504:d80a5ff56f51

Storing the profiling enabled information in a static field; checking it only once; shielding against missing method in the TruffleRuntime interface
author Jaroslav Tulach <jaroslav.tulach@oracle.com>
date Thu, 17 Dec 2015 13:45:37 +0100
parents 828c67903db2
children
line wrap: on
line diff
--- a/truffle/com.oracle.truffle.api.profiles/src/com/oracle/truffle/api/profiles/ValueProfile.java	Thu Dec 17 10:01:38 2015 +0100
+++ b/truffle/com.oracle.truffle.api.profiles/src/com/oracle/truffle/api/profiles/ValueProfile.java	Thu Dec 17 13:45:37 2015 +0100
@@ -28,7 +28,6 @@
 
 import com.oracle.truffle.api.CompilerDirectives;
 import com.oracle.truffle.api.CompilerDirectives.CompilationFinal;
-import com.oracle.truffle.api.Truffle;
 
 /**
  * <p>
@@ -92,7 +91,7 @@
      * @see ValueProfile usage example
      */
     public static ValueProfile createClassProfile() {
-        if (Truffle.getRuntime().isProfilingEnabled()) {
+        if (Profile.isProfilingEnabled()) {
             return ExactClass.create();
         } else {
             return Disabled.INSTANCE;
@@ -112,7 +111,7 @@
      * </p>
      */
     public static ValueProfile createIdentityProfile() {
-        if (Truffle.getRuntime().isProfilingEnabled()) {
+        if (Profile.isProfilingEnabled()) {
             return Identity.create();
         } else {
             return Disabled.INSTANCE;
@@ -135,7 +134,7 @@
      * </p>
      */
     public static ValueProfile createEqualityProfile() {
-        if (Truffle.getRuntime().isProfilingEnabled()) {
+        if (Profile.isProfilingEnabled()) {
             return Equality.create();
         } else {
             return Disabled.INSTANCE;