< prev index next >

src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/ReplacementsUtil.java

Print this page




  34 
  35 // JaCoCo Exclude
  36 public final class ReplacementsUtil {
  37     private ReplacementsUtil() {
  38         // empty
  39     }
  40 
  41     public static final boolean REPLACEMENTS_ASSERTIONS_ENABLED = Assertions.assertionsEnabled();
  42 
  43     /**
  44      * Asserts that condition evaluates to true by the time compilation is finished. This is
  45      * intended to be used within snippets or stubs, and will lead to a compile error if the
  46      * assertion fails.
  47      */
  48     public static void staticAssert(boolean condition, String message) {
  49         if (REPLACEMENTS_ASSERTIONS_ENABLED) {
  50             AssertionNode.assertion(true, condition, message);
  51         }
  52     }
  53 












  54     /**
  55      * Asserts that condition evaluates to true at runtime. This is intended to be used within
  56      * snippets or stubs, and will lead to a VM error if it fails.
  57      */
  58     public static void runtimeAssert(boolean condition, String message) {
  59         if (REPLACEMENTS_ASSERTIONS_ENABLED) {
  60             AssertionNode.assertion(false, condition, message);
  61         }
  62     }
  63 
  64     @Fold
  65     public static int arrayIndexScale(@InjectedParameter MetaAccessProvider metaAccessProvider, JavaKind elementKind) {
  66         return metaAccessProvider.getArrayIndexScale(elementKind);
  67     }
  68 
  69     @Fold
  70     public static int getArrayBaseOffset(@InjectedParameter MetaAccessProvider metaAccessProvider, JavaKind elementKind) {
  71         return metaAccessProvider.getArrayBaseOffset(elementKind);
  72     }
  73 


  34 
  35 // JaCoCo Exclude
  36 public final class ReplacementsUtil {
  37     private ReplacementsUtil() {
  38         // empty
  39     }
  40 
  41     public static final boolean REPLACEMENTS_ASSERTIONS_ENABLED = Assertions.assertionsEnabled();
  42 
  43     /**
  44      * Asserts that condition evaluates to true by the time compilation is finished. This is
  45      * intended to be used within snippets or stubs, and will lead to a compile error if the
  46      * assertion fails.
  47      */
  48     public static void staticAssert(boolean condition, String message) {
  49         if (REPLACEMENTS_ASSERTIONS_ENABLED) {
  50             AssertionNode.assertion(true, condition, message);
  51         }
  52     }
  53 
  54     public static void staticAssert(boolean condition, String message, Object arg1) {
  55         if (REPLACEMENTS_ASSERTIONS_ENABLED) {
  56             AssertionNode.assertion(true, condition, message, arg1, "");
  57         }
  58     }
  59 
  60     public static void staticAssert(boolean condition, String message, Object arg1, Object arg2) {
  61         if (REPLACEMENTS_ASSERTIONS_ENABLED) {
  62             AssertionNode.assertion(true, condition, message, arg1, arg2);
  63         }
  64     }
  65 
  66     /**
  67      * Asserts that condition evaluates to true at runtime. This is intended to be used within
  68      * snippets or stubs, and will lead to a VM error if it fails.
  69      */
  70     public static void runtimeAssert(boolean condition, String message) {
  71         if (REPLACEMENTS_ASSERTIONS_ENABLED) {
  72             AssertionNode.assertion(false, condition, message);
  73         }
  74     }
  75 
  76     @Fold
  77     public static int arrayIndexScale(@InjectedParameter MetaAccessProvider metaAccessProvider, JavaKind elementKind) {
  78         return metaAccessProvider.getArrayIndexScale(elementKind);
  79     }
  80 
  81     @Fold
  82     public static int getArrayBaseOffset(@InjectedParameter MetaAccessProvider metaAccessProvider, JavaKind elementKind) {
  83         return metaAccessProvider.getArrayBaseOffset(elementKind);
  84     }
  85 
< prev index next >