public abstract class com.oracle.truffle.api.impl.Accessor$RuntimeSupport
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: com.oracle.truffle.api.impl.Accessor$RuntimeSupport
  super_class: java.lang.Object
{
  static final java.lang.Object PERMISSION;
    descriptor: Ljava/lang/Object;
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 846
            new java.lang.Object
            dup
            invokespecial java.lang.Object.<init>:()V
            putstatic com.oracle.truffle.api.impl.Accessor$RuntimeSupport.PERMISSION:Ljava/lang/Object;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  protected void <init>(java.lang.Object);
    descriptor: (Ljava/lang/Object;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.oracle.truffle.api.impl.Accessor$RuntimeSupport this
        start local 1 // java.lang.Object permission
         0: .line 848
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 849
            aload 1 /* permission */
            getstatic com.oracle.truffle.api.impl.Accessor$RuntimeSupport.PERMISSION:Ljava/lang/Object;
            if_acmpeq 3
         2: .line 850
            new java.lang.AssertionError
            dup
            ldc "Invalid permission to create runtime support."
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         3: .line 852
      StackMap locals: com.oracle.truffle.api.impl.Accessor$RuntimeSupport java.lang.Object
      StackMap stack:
            return
        end local 1 // java.lang.Object permission
        end local 0 // com.oracle.truffle.api.impl.Accessor$RuntimeSupport this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    4     0        this  Lcom/oracle/truffle/api/impl/Accessor$RuntimeSupport;
            0    4     1  permission  Ljava/lang/Object;
    MethodParameters:
            Name  Flags
      permission  

  public abstract void onLoopCount(com.oracle.truffle.api.nodes.Node, int);
    descriptor: (Lcom/oracle/truffle/api/nodes/Node;I)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
            Name  Flags
      source      
      iterations  

  public abstract org.graalvm.options.OptionDescriptors getEngineOptionDescriptors();
    descriptor: ()Lorg/graalvm/options/OptionDescriptors;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract boolean isGuestCallStackFrame(java.lang.StackTraceElement);
    descriptor: (Ljava/lang/StackTraceElement;)Z
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
      Name  Flags
      e     

  public abstract void initializeProfile(com.oracle.truffle.api.CallTarget, java.lang.Class<?>[]);
    descriptor: (Lcom/oracle/truffle/api/CallTarget;[Ljava/lang/Class;)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (Lcom/oracle/truffle/api/CallTarget;[Ljava/lang/Class<*>;)V
    MethodParameters:
               Name  Flags
      target         
      argumentTypes  

  public abstract <T extends com.oracle.truffle.api.nodes.Node> com.oracle.truffle.api.nodes.BlockNode<T> createBlockNode(T[], com.oracle.truffle.api.nodes.BlockNode$ElementExecutor<T>);
    descriptor: ([Lcom/oracle/truffle/api/nodes/Node;Lcom/oracle/truffle/api/nodes/BlockNode$ElementExecutor;)Lcom/oracle/truffle/api/nodes/BlockNode;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: <T:Lcom/oracle/truffle/api/nodes/Node;>([TT;Lcom/oracle/truffle/api/nodes/BlockNode$ElementExecutor<TT;>;)Lcom/oracle/truffle/api/nodes/BlockNode<TT;>;
    MethodParameters:
          Name  Flags
      elements  
      executor  

  public abstract java.lang.String getSavedProperty(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
      Name  Flags
      key   

  public abstract void reportPolymorphicSpecialize(com.oracle.truffle.api.nodes.Node);
    descriptor: (Lcom/oracle/truffle/api/nodes/Node;)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
        Name  Flags
      source  

  public abstract java.lang.Object callInlined(com.oracle.truffle.api.nodes.Node, com.oracle.truffle.api.CallTarget, java.lang.Object[]);
    descriptor: (Lcom/oracle/truffle/api/nodes/Node;Lcom/oracle/truffle/api/CallTarget;[Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0481) ACC_PUBLIC, ACC_VARARGS, ACC_ABSTRACT
    MethodParameters:
           Name  Flags
      callNode   
      target     
      arguments  

  public abstract java.lang.Object callProfiled(com.oracle.truffle.api.CallTarget, java.lang.Object[]);
    descriptor: (Lcom/oracle/truffle/api/CallTarget;[Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0481) ACC_PUBLIC, ACC_VARARGS, ACC_ABSTRACT
    MethodParameters:
           Name  Flags
      target     
      arguments  

  public abstract java.lang.Object[] castArrayFixedLength(java.lang.Object[], int);
    descriptor: ([Ljava/lang/Object;I)[Ljava/lang/Object;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
        Name  Flags
      args    
      length  

  public abstract <T> T unsafeCast(, java.lang.Class<T>, boolean, boolean, );
    descriptor: (Ljava/lang/Object;Ljava/lang/Class;ZZZ)Ljava/lang/Object;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: <T:Ljava/lang/Object;>(Ljava/lang/Object;Ljava/lang/Class<TT;>;ZZZ)TT;
    MethodParameters:
           Name  Flags
      value      
      type       
      condition  
      nonNull    
      exact      

  public abstract boolean inFirstTier();
    descriptor: ()Z
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract void flushCompileQueue(java.lang.Object);
    descriptor: (Ljava/lang/Object;)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
             Name  Flags
      runtimeData  

  public abstract  createRuntimeData(org.graalvm.options.OptionValues, java.util.function.Function<java.lang.String, com.oracle.truffle.api.TruffleLogger>);
    descriptor: (Lorg/graalvm/options/OptionValues;Ljava/util/function/Function;)Ljava/lang/Object;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (Lorg/graalvm/options/OptionValues;Ljava/util/function/Function<Ljava/lang/String;Lcom/oracle/truffle/api/TruffleLogger;>;)Ljava/lang/Object;
    MethodParameters:
               Name  Flags
      options        
      loggerFactory  

  public abstract  tryLoadCachedEngine(org.graalvm.options.OptionValues, java.util.function.Function<java.lang.String, com.oracle.truffle.api.TruffleLogger>);
    descriptor: (Lorg/graalvm/options/OptionValues;Ljava/util/function/Function;)Ljava/lang/Object;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (Lorg/graalvm/options/OptionValues;Ljava/util/function/Function<Ljava/lang/String;Lcom/oracle/truffle/api/TruffleLogger;>;)Ljava/lang/Object;
    MethodParameters:
             Name  Flags
      runtimeData  
      logger       

  public abstract void onEngineCreate(java.lang.Object, java.lang.Object);
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
             Name  Flags
      engine       
      runtimeData  

  public abstract boolean isStoreEnabled(org.graalvm.options.OptionValues);
    descriptor: (Lorg/graalvm/options/OptionValues;)Z
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
         Name  Flags
      options  

  public abstract void onEnginePatch(, org.graalvm.options.OptionValues, java.util.function.Function<java.lang.String, com.oracle.truffle.api.TruffleLogger>);
    descriptor: (Ljava/lang/Object;Lorg/graalvm/options/OptionValues;Ljava/util/function/Function;)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (Ljava/lang/Object;Lorg/graalvm/options/OptionValues;Ljava/util/function/Function<Ljava/lang/String;Lcom/oracle/truffle/api/TruffleLogger;>;)V
    MethodParameters:
             Name  Flags
      runtimeData  
      options      
      logSupplier  

  public abstract boolean onEngineClosing(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
             Name  Flags
      runtimeData  

  public abstract void onEngineClosed(java.lang.Object);
    descriptor: (Ljava/lang/Object;)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
             Name  Flags
      runtimeData  

  public abstract boolean isOSRRootNode(com.oracle.truffle.api.nodes.RootNode);
    descriptor: (Lcom/oracle/truffle/api/nodes/RootNode;)Z
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
          Name  Flags
      rootNode  
}
SourceFile: "Accessor.java"
NestHost: com.oracle.truffle.api.impl.Accessor
InnerClasses:
  public abstract RuntimeSupport = com.oracle.truffle.api.impl.Accessor$RuntimeSupport of com.oracle.truffle.api.impl.Accessor
  public abstract ElementExecutor = com.oracle.truffle.api.nodes.BlockNode$ElementExecutor of com.oracle.truffle.api.nodes.BlockNode