public abstract class com.oracle.truffle.sl.builtins.SLNewObjectBuiltin extends com.oracle.truffle.sl.builtins.SLBuiltinNode
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: com.oracle.truffle.sl.builtins.SLNewObjectBuiltin
  super_class: com.oracle.truffle.sl.builtins.SLBuiltinNode
{
  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.truffle.sl.builtins.SLNewObjectBuiltin this
         0: .line 64
            aload 0 /* this */
            invokespecial com.oracle.truffle.sl.builtins.SLBuiltinNode.<init>:()V
            return
        end local 0 // com.oracle.truffle.sl.builtins.SLNewObjectBuiltin this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/sl/builtins/SLNewObjectBuiltin;

  public  newObject(com.oracle.truffle.sl.runtime.SLNull, com.oracle.truffle.sl.SLLanguage, com.oracle.truffle.api.TruffleLanguage$ContextReference<com.oracle.truffle.sl.runtime.SLContext>, com.oracle.truffle.api.instrumentation.AllocationReporter);
    descriptor: (Lcom/oracle/truffle/sl/runtime/SLNull;Lcom/oracle/truffle/sl/SLLanguage;Lcom/oracle/truffle/api/TruffleLanguage$ContextReference;Lcom/oracle/truffle/api/instrumentation/AllocationReporter;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=5, args_size=5
        start local 0 // com.oracle.truffle.sl.builtins.SLNewObjectBuiltin this
        start local 1 // com.oracle.truffle.sl.runtime.SLNull o
        start local 2 // com.oracle.truffle.sl.SLLanguage language
        start local 3 // com.oracle.truffle.api.TruffleLanguage$ContextReference contextRef
        start local 4 // com.oracle.truffle.api.instrumentation.AllocationReporter reporter
         0: .line 72
            aload 2 /* language */
            aload 4 /* reporter */
            invokevirtual com.oracle.truffle.sl.SLLanguage.createObject:(Lcom/oracle/truffle/api/instrumentation/AllocationReporter;)Lcom/oracle/truffle/sl/runtime/SLObject;
            areturn
        end local 4 // com.oracle.truffle.api.instrumentation.AllocationReporter reporter
        end local 3 // com.oracle.truffle.api.TruffleLanguage$ContextReference contextRef
        end local 2 // com.oracle.truffle.sl.SLLanguage language
        end local 1 // com.oracle.truffle.sl.runtime.SLNull o
        end local 0 // com.oracle.truffle.sl.builtins.SLNewObjectBuiltin this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Lcom/oracle/truffle/sl/builtins/SLNewObjectBuiltin;
            0    1     1           o  Lcom/oracle/truffle/sl/runtime/SLNull;
            0    1     2    language  Lcom/oracle/truffle/sl/SLLanguage;
            0    1     3  contextRef  Lcom/oracle/truffle/api/TruffleLanguage$ContextReference<Lcom/oracle/truffle/sl/runtime/SLContext;>;
            0    1     4    reporter  Lcom/oracle/truffle/api/instrumentation/AllocationReporter;
    Signature: (Lcom/oracle/truffle/sl/runtime/SLNull;Lcom/oracle/truffle/sl/SLLanguage;Lcom/oracle/truffle/api/TruffleLanguage$ContextReference<Lcom/oracle/truffle/sl/runtime/SLContext;>;Lcom/oracle/truffle/api/instrumentation/AllocationReporter;)Ljava/lang/Object;
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.dsl.Specialization()
    RuntimeInvisibleParameterAnnotations: 
      0:
      1:
        com.oracle.truffle.api.dsl.CachedLanguage()
      2:
        com.oracle.truffle.api.dsl.CachedContext(value = Lcom/oracle/truffle/sl/SLLanguage;)
      3:
        com.oracle.truffle.api.dsl.Cached(value = "contextRef.get().getAllocationReporter()")
    MethodParameters:
            Name  Flags
      o           
      language    
      contextRef  
      reporter    

  public java.lang.Object newObject(java.lang.Object, com.oracle.truffle.api.interop.InteropLibrary);
    descriptor: (Ljava/lang/Object;Lcom/oracle/truffle/api/interop/InteropLibrary;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.oracle.truffle.sl.builtins.SLNewObjectBuiltin this
        start local 1 // java.lang.Object obj
        start local 2 // com.oracle.truffle.api.interop.InteropLibrary values
         0: .line 78
            aload 2 /* values */
            aload 1 /* obj */
            iconst_0
            anewarray java.lang.Object
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.instantiate:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
         1: areturn
         2: .line 79
      StackMap locals:
      StackMap stack: com.oracle.truffle.api.interop.InteropException
            pop
         3: .line 81
            aload 0 /* this */
            aload 1 /* obj */
            invokestatic com.oracle.truffle.sl.runtime.SLUndefinedNameException.undefinedFunction:(Lcom/oracle/truffle/api/nodes/Node;Ljava/lang/Object;)Lcom/oracle/truffle/sl/runtime/SLUndefinedNameException;
            athrow
        end local 2 // com.oracle.truffle.api.interop.InteropLibrary values
        end local 1 // java.lang.Object obj
        end local 0 // com.oracle.truffle.sl.builtins.SLNewObjectBuiltin this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0    this  Lcom/oracle/truffle/sl/builtins/SLNewObjectBuiltin;
            0    4     1     obj  Ljava/lang/Object;
            0    4     2  values  Lcom/oracle/truffle/api/interop/InteropLibrary;
      Exception table:
        from    to  target  type
           0     1       2  Class com.oracle.truffle.api.interop.UnsupportedTypeException
           0     1       2  Class com.oracle.truffle.api.interop.ArityException
           0     1       2  Class com.oracle.truffle.api.interop.UnsupportedMessageException
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.dsl.Specialization(guards = {"!values.isNull(obj)"}, limit = "3")
    RuntimeInvisibleParameterAnnotations: 
      0:
      1:
        com.oracle.truffle.api.library.CachedLibrary(value = "obj")
    MethodParameters:
        Name  Flags
      obj     
      values  
}
SourceFile: "SLNewObjectBuiltin.java"
InnerClasses:
  public abstract ContextReference = com.oracle.truffle.api.TruffleLanguage$ContextReference of com.oracle.truffle.api.TruffleLanguage
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.nodes.NodeInfo(shortName = "new")