public abstract class com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructRegExpNode extends com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructWithNewTargetNode
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructRegExpNode
  super_class: com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructWithNewTargetNode
{
  private final boolean isCall;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private com.oracle.truffle.js.nodes.cast.JSToStringNode patternToStringNode;
    descriptor: Lcom/oracle/truffle/js/nodes/cast/JSToStringNode;
    flags: (0x0002) ACC_PRIVATE
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.nodes.Node$Child()

  private com.oracle.truffle.js.nodes.cast.JSToStringNode flagsToStringNode;
    descriptor: Lcom/oracle/truffle/js/nodes/cast/JSToStringNode;
    flags: (0x0002) ACC_PRIVATE
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.nodes.Node$Child()

  private com.oracle.truffle.js.nodes.CompileRegexNode compileRegexNode;
    descriptor: Lcom/oracle/truffle/js/nodes/CompileRegexNode;
    flags: (0x0002) ACC_PRIVATE
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.nodes.Node$Child()

  private com.oracle.truffle.js.nodes.intl.CreateRegExpNode createRegExpNode;
    descriptor: Lcom/oracle/truffle/js/nodes/intl/CreateRegExpNode;
    flags: (0x0002) ACC_PRIVATE
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.nodes.Node$Child()

  private com.oracle.truffle.js.nodes.access.PropertyGetNode getConstructorNode;
    descriptor: Lcom/oracle/truffle/js/nodes/access/PropertyGetNode;
    flags: (0x0002) ACC_PRIVATE
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.nodes.Node$Child()

  private com.oracle.truffle.js.nodes.access.PropertyGetNode getSourceNode;
    descriptor: Lcom/oracle/truffle/js/nodes/access/PropertyGetNode;
    flags: (0x0002) ACC_PRIVATE
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.nodes.Node$Child()

  private com.oracle.truffle.js.nodes.access.PropertyGetNode getFlagsNode;
    descriptor: Lcom/oracle/truffle/js/nodes/access/PropertyGetNode;
    flags: (0x0002) ACC_PRIVATE
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.nodes.Node$Child()

  private com.oracle.truffle.js.runtime.util.TRegexUtil$InteropReadStringMemberNode interopReadPatternNode;
    descriptor: Lcom/oracle/truffle/js/runtime/util/TRegexUtil$InteropReadStringMemberNode;
    flags: (0x0002) ACC_PRIVATE
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.nodes.Node$Child()

  private final com.oracle.truffle.api.profiles.BranchProfile regexpObject;
    descriptor: Lcom/oracle/truffle/api/profiles/BranchProfile;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final com.oracle.truffle.api.profiles.BranchProfile regexpMatcherObject;
    descriptor: Lcom/oracle/truffle/api/profiles/BranchProfile;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final com.oracle.truffle.api.profiles.BranchProfile regexpNonObject;
    descriptor: Lcom/oracle/truffle/api/profiles/BranchProfile;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final com.oracle.truffle.api.profiles.BranchProfile regexpObjectNewFlagsBranch;
    descriptor: Lcom/oracle/truffle/api/profiles/BranchProfile;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final com.oracle.truffle.api.profiles.ConditionProfile callIsRegExpProfile;
    descriptor: Lcom/oracle/truffle/api/profiles/ConditionProfile;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final com.oracle.truffle.api.profiles.ConditionProfile constructorEquivalentProfile;
    descriptor: Lcom/oracle/truffle/api/profiles/ConditionProfile;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  public void <init>(com.oracle.truffle.js.runtime.JSContext, com.oracle.truffle.js.nodes.function.JSBuiltin, boolean, boolean);
    descriptor: (Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/function/JSBuiltin;ZZ)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=5
        start local 0 // com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructRegExpNode this
        start local 1 // com.oracle.truffle.js.runtime.JSContext context
        start local 2 // com.oracle.truffle.js.nodes.function.JSBuiltin builtin
        start local 3 // boolean isCall
        start local 4 // boolean isNewTargetCase
         0: .line 924
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* builtin */
            iload 4 /* isNewTargetCase */
            invokespecial com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructWithNewTargetNode.<init>:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/function/JSBuiltin;Z)V
         1: .line 936
            aload 0 /* this */
            invokestatic com.oracle.truffle.api.profiles.BranchProfile.create:()Lcom/oracle/truffle/api/profiles/BranchProfile;
            putfield com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructRegExpNode.regexpObject:Lcom/oracle/truffle/api/profiles/BranchProfile;
         2: .line 937
            aload 0 /* this */
            invokestatic com.oracle.truffle.api.profiles.BranchProfile.create:()Lcom/oracle/truffle/api/profiles/BranchProfile;
            putfield com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructRegExpNode.regexpMatcherObject:Lcom/oracle/truffle/api/profiles/BranchProfile;
         3: .line 938
            aload 0 /* this */
            invokestatic com.oracle.truffle.api.profiles.BranchProfile.create:()Lcom/oracle/truffle/api/profiles/BranchProfile;
            putfield com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructRegExpNode.regexpNonObject:Lcom/oracle/truffle/api/profiles/BranchProfile;
         4: .line 939
            aload 0 /* this */
            invokestatic com.oracle.truffle.api.profiles.BranchProfile.create:()Lcom/oracle/truffle/api/profiles/BranchProfile;
            putfield com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructRegExpNode.regexpObjectNewFlagsBranch:Lcom/oracle/truffle/api/profiles/BranchProfile;
         5: .line 940
            aload 0 /* this */
            invokestatic com.oracle.truffle.api.profiles.ConditionProfile.createBinaryProfile:()Lcom/oracle/truffle/api/profiles/ConditionProfile;
            putfield com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructRegExpNode.callIsRegExpProfile:Lcom/oracle/truffle/api/profiles/ConditionProfile;
         6: .line 941
            aload 0 /* this */
            invokestatic com.oracle.truffle.api.profiles.ConditionProfile.createBinaryProfile:()Lcom/oracle/truffle/api/profiles/ConditionProfile;
            putfield com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructRegExpNode.constructorEquivalentProfile:Lcom/oracle/truffle/api/profiles/ConditionProfile;
         7: .line 925
            aload 0 /* this */
            iload 3 /* isCall */
            putfield com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructRegExpNode.isCall:Z
         8: .line 926
            return
        end local 4 // boolean isNewTargetCase
        end local 3 // boolean isCall
        end local 2 // com.oracle.truffle.js.nodes.function.JSBuiltin builtin
        end local 1 // com.oracle.truffle.js.runtime.JSContext context
        end local 0 // com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructRegExpNode this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    9     0             this  Lcom/oracle/truffle/js/builtins/ConstructorBuiltins$ConstructRegExpNode;
            0    9     1          context  Lcom/oracle/truffle/js/runtime/JSContext;
            0    9     2          builtin  Lcom/oracle/truffle/js/nodes/function/JSBuiltin;
            0    9     3           isCall  Z
            0    9     4  isNewTargetCase  Z
    MethodParameters:
                 Name  Flags
      context          
      builtin          
      isCall           
      isNewTargetCase  

  protected com.oracle.truffle.api.object.DynamicObject constructRegExp(com.oracle.truffle.api.object.DynamicObject, java.lang.Object, java.lang.Object, com.oracle.truffle.js.nodes.access.IsRegExpNode);
    descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;Lcom/oracle/truffle/js/nodes/access/IsRegExpNode;)Lcom/oracle/truffle/api/object/DynamicObject;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=7, locals=8, args_size=5
        start local 0 // com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructRegExpNode this
        start local 1 // com.oracle.truffle.api.object.DynamicObject newTarget
        start local 2 // java.lang.Object pattern
        start local 3 // java.lang.Object flags
        start local 4 // com.oracle.truffle.js.nodes.access.IsRegExpNode isRegExpNode
         0: .line 946
            aload 4 /* isRegExpNode */
            aload 2 /* pattern */
            invokevirtual com.oracle.truffle.js.nodes.access.IsRegExpNode.executeBoolean:(Ljava/lang/Object;)Z
            istore 5 /* hasMatchSymbol */
        start local 5 // boolean hasMatchSymbol
         1: .line 947
            aload 0 /* this */
            getfield com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructRegExpNode.isCall:Z
            ifeq 12
         2: .line 949
            aload 0 /* this */
            getfield com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructRegExpNode.callIsRegExpProfile:Lcom/oracle/truffle/api/profiles/ConditionProfile;
            iload 5 /* hasMatchSymbol */
            ifeq 3
            aload 3 /* flags */
            getstatic com.oracle.truffle.js.runtime.objects.Undefined.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
            if_acmpne 3
            aload 2 /* pattern */
            invokestatic com.oracle.truffle.js.runtime.objects.JSDynamicObject.isJSDynamicObject:(Ljava/lang/Object;)Z
            ifeq 3
            iconst_1
            goto 4
      StackMap locals: com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructRegExpNode com.oracle.truffle.api.object.DynamicObject java.lang.Object java.lang.Object com.oracle.truffle.js.nodes.access.IsRegExpNode int
      StackMap stack: com.oracle.truffle.api.profiles.ConditionProfile
         3: iconst_0
      StackMap locals: com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructRegExpNode com.oracle.truffle.api.object.DynamicObject java.lang.Object java.lang.Object com.oracle.truffle.js.nodes.access.IsRegExpNode int
      StackMap stack: com.oracle.truffle.api.profiles.ConditionProfile int
         4: invokevirtual com.oracle.truffle.api.profiles.ConditionProfile.profile:(Z)Z
            ifeq 11
         5: .line 950
            aload 2 /* pattern */
            checkcast com.oracle.truffle.api.object.DynamicObject
            astore 6 /* patternObj */
        start local 6 // com.oracle.truffle.api.object.DynamicObject patternObj
         6: .line 951
            aload 0 /* this */
            aload 6 /* patternObj */
            invokevirtual com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructRegExpNode.getConstructor:(Lcom/oracle/truffle/api/object/DynamicObject;)Ljava/lang/Object;
            astore 7 /* patternConstructor */
        start local 7 // java.lang.Object patternConstructor
         7: .line 952
            aload 0 /* this */
            getfield com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructRegExpNode.constructorEquivalentProfile:Lcom/oracle/truffle/api/profiles/ConditionProfile;
            aload 7 /* patternConstructor */
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructRegExpNode.getContext:()Lcom/oracle/truffle/js/runtime/JSContext;
            invokevirtual com.oracle.truffle.js.runtime.JSContext.getRealm:()Lcom/oracle/truffle/js/runtime/JSRealm;
            invokevirtual com.oracle.truffle.js.runtime.JSRealm.getRegExpConstructor:()Lcom/oracle/truffle/api/object/DynamicObject;
            if_acmpne 8
            iconst_1
            goto 9
      StackMap locals: com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructRegExpNode com.oracle.truffle.api.object.DynamicObject java.lang.Object java.lang.Object com.oracle.truffle.js.nodes.access.IsRegExpNode int com.oracle.truffle.api.object.DynamicObject java.lang.Object
      StackMap stack: com.oracle.truffle.api.profiles.ConditionProfile
         8: iconst_0
      StackMap locals: com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructRegExpNode com.oracle.truffle.api.object.DynamicObject java.lang.Object java.lang.Object com.oracle.truffle.js.nodes.access.IsRegExpNode int com.oracle.truffle.api.object.DynamicObject java.lang.Object
      StackMap stack: com.oracle.truffle.api.profiles.ConditionProfile int
         9: invokevirtual com.oracle.truffle.api.profiles.ConditionProfile.profile:(Z)Z
            ifeq 11
        10: .line 953
            aload 6 /* patternObj */
            areturn
        end local 7 // java.lang.Object patternConstructor
        end local 6 // com.oracle.truffle.api.object.DynamicObject patternObj
        11: .line 956
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* pattern */
            aload 3 /* flags */
            iload 5 /* hasMatchSymbol */
            iconst_1
            invokevirtual com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructRegExpNode.constructRegExpImpl:(Ljava/lang/Object;Ljava/lang/Object;ZZ)Lcom/oracle/truffle/api/object/DynamicObject;
            areturn
        12: .line 959
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            aload 2 /* pattern */
            aload 3 /* flags */
            iload 5 /* hasMatchSymbol */
            aload 1 /* newTarget */
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructRegExpNode.getContext:()Lcom/oracle/truffle/js/runtime/JSContext;
            invokevirtual com.oracle.truffle.js.runtime.JSContext.getRealm:()Lcom/oracle/truffle/js/runtime/JSRealm;
            invokevirtual com.oracle.truffle.js.runtime.JSRealm.getRegExpConstructor:()Lcom/oracle/truffle/api/object/DynamicObject;
            if_acmpne 13
            iconst_1
            goto 14
      StackMap locals: com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructRegExpNode com.oracle.truffle.api.object.DynamicObject java.lang.Object java.lang.Object com.oracle.truffle.js.nodes.access.IsRegExpNode int
      StackMap stack: com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructRegExpNode com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructRegExpNode java.lang.Object java.lang.Object int
        13: iconst_0
      StackMap locals: com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructRegExpNode com.oracle.truffle.api.object.DynamicObject java.lang.Object java.lang.Object com.oracle.truffle.js.nodes.access.IsRegExpNode int
      StackMap stack: com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructRegExpNode com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructRegExpNode java.lang.Object java.lang.Object int int
        14: invokevirtual com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructRegExpNode.constructRegExpImpl:(Ljava/lang/Object;Ljava/lang/Object;ZZ)Lcom/oracle/truffle/api/object/DynamicObject;
            aload 1 /* newTarget */
            invokevirtual com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructRegExpNode.swapPrototype:(Lcom/oracle/truffle/api/object/DynamicObject;Lcom/oracle/truffle/api/object/DynamicObject;)Lcom/oracle/truffle/api/object/DynamicObject;
            areturn
        end local 5 // boolean hasMatchSymbol
        end local 4 // com.oracle.truffle.js.nodes.access.IsRegExpNode isRegExpNode
        end local 3 // java.lang.Object flags
        end local 2 // java.lang.Object pattern
        end local 1 // com.oracle.truffle.api.object.DynamicObject newTarget
        end local 0 // com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructRegExpNode this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   15     0                this  Lcom/oracle/truffle/js/builtins/ConstructorBuiltins$ConstructRegExpNode;
            0   15     1           newTarget  Lcom/oracle/truffle/api/object/DynamicObject;
            0   15     2             pattern  Ljava/lang/Object;
            0   15     3               flags  Ljava/lang/Object;
            0   15     4        isRegExpNode  Lcom/oracle/truffle/js/nodes/access/IsRegExpNode;
            1   15     5      hasMatchSymbol  Z
            6   11     6          patternObj  Lcom/oracle/truffle/api/object/DynamicObject;
            7   11     7  patternConstructor  Ljava/lang/Object;
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.dsl.Specialization()
    RuntimeInvisibleParameterAnnotations: 
      0:
      1:
      2:
      3:
        com.oracle.truffle.api.dsl.Cached(value = "create(getContext())")
    MethodParameters:
              Name  Flags
      newTarget     
      pattern       
      flags         
      isRegExpNode  

  protected com.oracle.truffle.api.object.DynamicObject constructRegExpImpl(java.lang.Object, java.lang.Object, boolean, boolean);
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;ZZ)Lcom/oracle/truffle/api/object/DynamicObject;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=11, args_size=5
        start local 0 // com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructRegExpNode this
        start local 1 // java.lang.Object patternObj
        start local 2 // java.lang.Object flags
        start local 3 // boolean hasMatchSymbol
        start local 4 // boolean legacyFeaturesEnabled
         0: .line 967
            aload 1 /* patternObj */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSRegExp.isJSRegExp:(Ljava/lang/Object;)Z
            istore 7 /* isJSRegExp */
        start local 7 // boolean isJSRegExp
         1: .line 968
            iload 7 /* isJSRegExp */
            ifeq 12
         2: .line 969
            aload 0 /* this */
            getfield com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructRegExpNode.regexpObject:Lcom/oracle/truffle/api/profiles/BranchProfile;
            invokevirtual com.oracle.truffle.api.profiles.BranchProfile.enter:()V
         3: .line 970
            aload 1 /* patternObj */
            checkcast com.oracle.truffle.api.object.DynamicObject
            invokestatic com.oracle.truffle.js.runtime.builtins.JSRegExp.getCompiledRegex:(Lcom/oracle/truffle/api/object/DynamicObject;)Ljava/lang/Object;
            astore 8 /* compiledRegex */
        start local 8 // java.lang.Object compiledRegex
         4: .line 971
            aload 2 /* flags */
            getstatic com.oracle.truffle.js.runtime.objects.Undefined.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
            if_acmpne 6
         5: .line 972
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructRegExpNode.getCreateRegExpNode:()Lcom/oracle/truffle/js/nodes/intl/CreateRegExpNode;
            aload 8 /* compiledRegex */
            invokevirtual com.oracle.truffle.js.nodes.intl.CreateRegExpNode.createRegExp:(Ljava/lang/Object;)Lcom/oracle/truffle/api/object/DynamicObject;
            areturn
         6: .line 974
      StackMap locals: com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructRegExpNode java.lang.Object java.lang.Object int int top top int java.lang.Object
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructRegExpNode.getContext:()Lcom/oracle/truffle/js/runtime/JSContext;
            invokevirtual com.oracle.truffle.js.runtime.JSContext.getEcmaScriptVersion:()I
            bipush 6
            if_icmpge 8
         7: .line 975
            ldc "Cannot supply flags when constructing one RegExp from another"
            invokestatic com.oracle.truffle.js.runtime.Errors.createTypeError:(Ljava/lang/String;)Lcom/oracle/truffle/js/runtime/JSException;
            athrow
         8: .line 977
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* flags */
            invokevirtual com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructRegExpNode.flagsToString:(Ljava/lang/Object;)Ljava/lang/String;
            astore 9 /* flagsStr */
        start local 9 // java.lang.String flagsStr
         9: .line 978
            aload 0 /* this */
            getfield com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructRegExpNode.regexpObjectNewFlagsBranch:Lcom/oracle/truffle/api/profiles/BranchProfile;
            invokevirtual com.oracle.truffle.api.profiles.BranchProfile.enter:()V
        10: .line 979
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructRegExpNode.getCompileRegexNode:()Lcom/oracle/truffle/js/nodes/CompileRegexNode;
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructRegExpNode.getInteropReadPatternNode:()Lcom/oracle/truffle/js/runtime/util/TRegexUtil$InteropReadStringMemberNode;
            aload 8 /* compiledRegex */
            ldc "pattern"
            invokevirtual com.oracle.truffle.js.runtime.util.TRegexUtil$InteropReadStringMemberNode.execute:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/String;
            aload 9 /* flagsStr */
            invokevirtual com.oracle.truffle.js.nodes.CompileRegexNode.compile:(Ljava/lang/CharSequence;Ljava/lang/String;)Ljava/lang/Object;
            astore 10 /* newCompiledRegex */
        start local 10 // java.lang.Object newCompiledRegex
        11: .line 980
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructRegExpNode.getCreateRegExpNode:()Lcom/oracle/truffle/js/nodes/intl/CreateRegExpNode;
            aload 10 /* newCompiledRegex */
            invokevirtual com.oracle.truffle.js.nodes.intl.CreateRegExpNode.createRegExp:(Ljava/lang/Object;)Lcom/oracle/truffle/api/object/DynamicObject;
            areturn
        end local 10 // java.lang.Object newCompiledRegex
        end local 9 // java.lang.String flagsStr
        end local 8 // java.lang.Object compiledRegex
        12: .line 982
      StackMap locals:
      StackMap stack:
            iload 3 /* hasMatchSymbol */
            ifeq 21
        13: .line 983
            aload 0 /* this */
            getfield com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructRegExpNode.regexpMatcherObject:Lcom/oracle/truffle/api/profiles/BranchProfile;
            invokevirtual com.oracle.truffle.api.profiles.BranchProfile.enter:()V
        14: .line 984
            aload 1 /* patternObj */
            checkcast com.oracle.truffle.api.object.DynamicObject
            astore 8 /* patternJSObj */
        start local 8 // com.oracle.truffle.api.object.DynamicObject patternJSObj
        15: .line 985
            aload 0 /* this */
            aload 8 /* patternJSObj */
            invokevirtual com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructRegExpNode.getSource:(Lcom/oracle/truffle/api/object/DynamicObject;)Ljava/lang/Object;
            astore 5 /* p */
        start local 5 // java.lang.Object p
        16: .line 986
            aload 2 /* flags */
            getstatic com.oracle.truffle.js.runtime.objects.Undefined.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
            if_acmpne 19
        17: .line 987
            aload 0 /* this */
            aload 8 /* patternJSObj */
            invokevirtual com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructRegExpNode.getFlags:(Lcom/oracle/truffle/api/object/DynamicObject;)Ljava/lang/Object;
            astore 6 /* f */
        start local 6 // java.lang.Object f
        18: .line 988
            goto 24
        end local 6 // java.lang.Object f
        19: .line 989
      StackMap locals: com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructRegExpNode java.lang.Object java.lang.Object int int java.lang.Object top int com.oracle.truffle.api.object.DynamicObject
      StackMap stack:
            aload 2 /* flags */
            astore 6 /* f */
        end local 8 // com.oracle.truffle.api.object.DynamicObject patternJSObj
        start local 6 // java.lang.Object f
        20: .line 991
            goto 24
        end local 6 // java.lang.Object f
        end local 5 // java.lang.Object p
        21: .line 992
      StackMap locals: com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructRegExpNode java.lang.Object java.lang.Object int int top top int
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructRegExpNode.regexpNonObject:Lcom/oracle/truffle/api/profiles/BranchProfile;
            invokevirtual com.oracle.truffle.api.profiles.BranchProfile.enter:()V
        22: .line 993
            aload 1 /* patternObj */
            astore 5 /* p */
        start local 5 // java.lang.Object p
        23: .line 994
            aload 2 /* flags */
            astore 6 /* f */
        start local 6 // java.lang.Object f
        24: .line 997
      StackMap locals: com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructRegExpNode java.lang.Object java.lang.Object int int java.lang.Object java.lang.Object int
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructRegExpNode.getPatternToStringNode:()Lcom/oracle/truffle/js/nodes/cast/JSToStringNode;
            aload 5 /* p */
            invokevirtual com.oracle.truffle.js.nodes.cast.JSToStringNode.executeString:(Ljava/lang/Object;)Ljava/lang/String;
            astore 8 /* patternStr */
        start local 8 // java.lang.String patternStr
        25: .line 998
            aload 0 /* this */
            aload 6 /* f */
            invokevirtual com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructRegExpNode.flagsToString:(Ljava/lang/Object;)Ljava/lang/String;
            astore 9 /* flagsStr */
        start local 9 // java.lang.String flagsStr
        26: .line 999
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructRegExpNode.getCompileRegexNode:()Lcom/oracle/truffle/js/nodes/CompileRegexNode;
            aload 8 /* patternStr */
            aload 9 /* flagsStr */
            invokevirtual com.oracle.truffle.js.nodes.CompileRegexNode.compile:(Ljava/lang/CharSequence;Ljava/lang/String;)Ljava/lang/Object;
            astore 10 /* compiledRegex */
        start local 10 // java.lang.Object compiledRegex
        27: .line 1000
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructRegExpNode.getCreateRegExpNode:()Lcom/oracle/truffle/js/nodes/intl/CreateRegExpNode;
            aload 10 /* compiledRegex */
            iload 4 /* legacyFeaturesEnabled */
            invokevirtual com.oracle.truffle.js.nodes.intl.CreateRegExpNode.createRegExp:(Ljava/lang/Object;Z)Lcom/oracle/truffle/api/object/DynamicObject;
            areturn
        end local 10 // java.lang.Object compiledRegex
        end local 9 // java.lang.String flagsStr
        end local 8 // java.lang.String patternStr
        end local 7 // boolean isJSRegExp
        end local 6 // java.lang.Object f
        end local 5 // java.lang.Object p
        end local 4 // boolean legacyFeaturesEnabled
        end local 3 // boolean hasMatchSymbol
        end local 2 // java.lang.Object flags
        end local 1 // java.lang.Object patternObj
        end local 0 // com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructRegExpNode this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0   28     0                   this  Lcom/oracle/truffle/js/builtins/ConstructorBuiltins$ConstructRegExpNode;
            0   28     1             patternObj  Ljava/lang/Object;
            0   28     2                  flags  Ljava/lang/Object;
            0   28     3         hasMatchSymbol  Z
            0   28     4  legacyFeaturesEnabled  Z
           16   21     5                      p  Ljava/lang/Object;
           23   28     5                      p  Ljava/lang/Object;
           18   19     6                      f  Ljava/lang/Object;
           20   21     6                      f  Ljava/lang/Object;
           24   28     6                      f  Ljava/lang/Object;
            1   28     7             isJSRegExp  Z
            4   12     8          compiledRegex  Ljava/lang/Object;
            9   12     9               flagsStr  Ljava/lang/String;
           11   12    10       newCompiledRegex  Ljava/lang/Object;
           15   20     8           patternJSObj  Lcom/oracle/truffle/api/object/DynamicObject;
           25   28     8             patternStr  Ljava/lang/String;
           26   28     9               flagsStr  Ljava/lang/String;
           27   28    10          compiledRegex  Ljava/lang/Object;
    MethodParameters:
                       Name  Flags
      patternObj             
      flags                  
      hasMatchSymbol         
      legacyFeaturesEnabled  

  private com.oracle.truffle.js.nodes.cast.JSToStringNode getPatternToStringNode();
    descriptor: ()Lcom/oracle/truffle/js/nodes/cast/JSToStringNode;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructRegExpNode this
         0: .line 1004
            aload 0 /* this */
            getfield com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructRegExpNode.patternToStringNode:Lcom/oracle/truffle/js/nodes/cast/JSToStringNode;
            ifnonnull 3
         1: .line 1005
            invokestatic com.oracle.truffle.api.CompilerDirectives.transferToInterpreterAndInvalidate:()V
         2: .line 1006
            aload 0 /* this */
            aload 0 /* this */
            invokestatic com.oracle.truffle.js.nodes.cast.JSToStringNode.createUndefinedToEmpty:()Lcom/oracle/truffle/js/nodes/cast/JSToStringNode;
            invokevirtual com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructRegExpNode.insert:(Lcom/oracle/truffle/api/nodes/Node;)Lcom/oracle/truffle/api/nodes/Node;
            checkcast com.oracle.truffle.js.nodes.cast.JSToStringNode
            putfield com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructRegExpNode.patternToStringNode:Lcom/oracle/truffle/js/nodes/cast/JSToStringNode;
         3: .line 1008
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructRegExpNode.patternToStringNode:Lcom/oracle/truffle/js/nodes/cast/JSToStringNode;
            areturn
        end local 0 // com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructRegExpNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lcom/oracle/truffle/js/builtins/ConstructorBuiltins$ConstructRegExpNode;

  private com.oracle.truffle.js.runtime.util.TRegexUtil$InteropReadStringMemberNode getInteropReadPatternNode();
    descriptor: ()Lcom/oracle/truffle/js/runtime/util/TRegexUtil$InteropReadStringMemberNode;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructRegExpNode this
         0: .line 1012
            aload 0 /* this */
            getfield com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructRegExpNode.interopReadPatternNode:Lcom/oracle/truffle/js/runtime/util/TRegexUtil$InteropReadStringMemberNode;
            ifnonnull 3
         1: .line 1013
            invokestatic com.oracle.truffle.api.CompilerDirectives.transferToInterpreterAndInvalidate:()V
         2: .line 1014
            aload 0 /* this */
            aload 0 /* this */
            invokestatic com.oracle.truffle.js.runtime.util.TRegexUtil$InteropReadStringMemberNode.create:()Lcom/oracle/truffle/js/runtime/util/TRegexUtil$InteropReadStringMemberNode;
            invokevirtual com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructRegExpNode.insert:(Lcom/oracle/truffle/api/nodes/Node;)Lcom/oracle/truffle/api/nodes/Node;
            checkcast com.oracle.truffle.js.runtime.util.TRegexUtil$InteropReadStringMemberNode
            putfield com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructRegExpNode.interopReadPatternNode:Lcom/oracle/truffle/js/runtime/util/TRegexUtil$InteropReadStringMemberNode;
         3: .line 1016
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructRegExpNode.interopReadPatternNode:Lcom/oracle/truffle/js/runtime/util/TRegexUtil$InteropReadStringMemberNode;
            areturn
        end local 0 // com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructRegExpNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lcom/oracle/truffle/js/builtins/ConstructorBuiltins$ConstructRegExpNode;

  private com.oracle.truffle.js.nodes.CompileRegexNode getCompileRegexNode();
    descriptor: ()Lcom/oracle/truffle/js/nodes/CompileRegexNode;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructRegExpNode this
         0: .line 1020
            aload 0 /* this */
            getfield com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructRegExpNode.compileRegexNode:Lcom/oracle/truffle/js/nodes/CompileRegexNode;
            ifnonnull 3
         1: .line 1021
            invokestatic com.oracle.truffle.api.CompilerDirectives.transferToInterpreterAndInvalidate:()V
         2: .line 1022
            aload 0 /* this */
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructRegExpNode.getContext:()Lcom/oracle/truffle/js/runtime/JSContext;
            invokestatic com.oracle.truffle.js.nodes.CompileRegexNode.create:(Lcom/oracle/truffle/js/runtime/JSContext;)Lcom/oracle/truffle/js/nodes/CompileRegexNode;
            invokevirtual com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructRegExpNode.insert:(Lcom/oracle/truffle/api/nodes/Node;)Lcom/oracle/truffle/api/nodes/Node;
            checkcast com.oracle.truffle.js.nodes.CompileRegexNode
            putfield com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructRegExpNode.compileRegexNode:Lcom/oracle/truffle/js/nodes/CompileRegexNode;
         3: .line 1024
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructRegExpNode.compileRegexNode:Lcom/oracle/truffle/js/nodes/CompileRegexNode;
            areturn
        end local 0 // com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructRegExpNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lcom/oracle/truffle/js/builtins/ConstructorBuiltins$ConstructRegExpNode;

  private com.oracle.truffle.js.nodes.intl.CreateRegExpNode getCreateRegExpNode();
    descriptor: ()Lcom/oracle/truffle/js/nodes/intl/CreateRegExpNode;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructRegExpNode this
         0: .line 1028
            aload 0 /* this */
            getfield com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructRegExpNode.createRegExpNode:Lcom/oracle/truffle/js/nodes/intl/CreateRegExpNode;
            ifnonnull 3
         1: .line 1029
            invokestatic com.oracle.truffle.api.CompilerDirectives.transferToInterpreterAndInvalidate:()V
         2: .line 1030
            aload 0 /* this */
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructRegExpNode.getContext:()Lcom/oracle/truffle/js/runtime/JSContext;
            invokestatic com.oracle.truffle.js.nodes.intl.CreateRegExpNode.create:(Lcom/oracle/truffle/js/runtime/JSContext;)Lcom/oracle/truffle/js/nodes/intl/CreateRegExpNode;
            invokevirtual com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructRegExpNode.insert:(Lcom/oracle/truffle/api/nodes/Node;)Lcom/oracle/truffle/api/nodes/Node;
            checkcast com.oracle.truffle.js.nodes.intl.CreateRegExpNode
            putfield com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructRegExpNode.createRegExpNode:Lcom/oracle/truffle/js/nodes/intl/CreateRegExpNode;
         3: .line 1032
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructRegExpNode.createRegExpNode:Lcom/oracle/truffle/js/nodes/intl/CreateRegExpNode;
            areturn
        end local 0 // com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructRegExpNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lcom/oracle/truffle/js/builtins/ConstructorBuiltins$ConstructRegExpNode;

  private java.lang.String flagsToString(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructRegExpNode this
        start local 1 // java.lang.Object f
         0: .line 1036
            aload 0 /* this */
            getfield com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructRegExpNode.flagsToStringNode:Lcom/oracle/truffle/js/nodes/cast/JSToStringNode;
            ifnonnull 3
         1: .line 1037
            invokestatic com.oracle.truffle.api.CompilerDirectives.transferToInterpreterAndInvalidate:()V
         2: .line 1038
            aload 0 /* this */
            aload 0 /* this */
            invokestatic com.oracle.truffle.js.nodes.cast.JSToStringNode.createUndefinedToEmpty:()Lcom/oracle/truffle/js/nodes/cast/JSToStringNode;
            invokevirtual com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructRegExpNode.insert:(Lcom/oracle/truffle/api/nodes/Node;)Lcom/oracle/truffle/api/nodes/Node;
            checkcast com.oracle.truffle.js.nodes.cast.JSToStringNode
            putfield com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructRegExpNode.flagsToStringNode:Lcom/oracle/truffle/js/nodes/cast/JSToStringNode;
         3: .line 1040
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructRegExpNode.flagsToStringNode:Lcom/oracle/truffle/js/nodes/cast/JSToStringNode;
            aload 1 /* f */
            invokevirtual com.oracle.truffle.js.nodes.cast.JSToStringNode.executeString:(Ljava/lang/Object;)Ljava/lang/String;
            areturn
        end local 1 // java.lang.Object f
        end local 0 // com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructRegExpNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lcom/oracle/truffle/js/builtins/ConstructorBuiltins$ConstructRegExpNode;
            0    4     1     f  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      f     

  private java.lang.Object getConstructor(com.oracle.truffle.api.object.DynamicObject);
    descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;)Ljava/lang/Object;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructRegExpNode this
        start local 1 // com.oracle.truffle.api.object.DynamicObject obj
         0: .line 1044
            aload 0 /* this */
            getfield com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructRegExpNode.getConstructorNode:Lcom/oracle/truffle/js/nodes/access/PropertyGetNode;
            ifnonnull 3
         1: .line 1045
            invokestatic com.oracle.truffle.api.CompilerDirectives.transferToInterpreterAndInvalidate:()V
         2: .line 1046
            aload 0 /* this */
            aload 0 /* this */
            ldc "constructor"
            iconst_0
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructRegExpNode.getContext:()Lcom/oracle/truffle/js/runtime/JSContext;
            invokestatic com.oracle.truffle.js.nodes.access.PropertyGetNode.create:(Ljava/lang/Object;ZLcom/oracle/truffle/js/runtime/JSContext;)Lcom/oracle/truffle/js/nodes/access/PropertyGetNode;
            invokevirtual com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructRegExpNode.insert:(Lcom/oracle/truffle/api/nodes/Node;)Lcom/oracle/truffle/api/nodes/Node;
            checkcast com.oracle.truffle.js.nodes.access.PropertyGetNode
            putfield com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructRegExpNode.getConstructorNode:Lcom/oracle/truffle/js/nodes/access/PropertyGetNode;
         3: .line 1048
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructRegExpNode.getConstructorNode:Lcom/oracle/truffle/js/nodes/access/PropertyGetNode;
            aload 1 /* obj */
            invokevirtual com.oracle.truffle.js.nodes.access.PropertyGetNode.getValue:(Ljava/lang/Object;)Ljava/lang/Object;
            areturn
        end local 1 // com.oracle.truffle.api.object.DynamicObject obj
        end local 0 // com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructRegExpNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lcom/oracle/truffle/js/builtins/ConstructorBuiltins$ConstructRegExpNode;
            0    4     1   obj  Lcom/oracle/truffle/api/object/DynamicObject;
    MethodParameters:
      Name  Flags
      obj   

  private java.lang.Object getSource(com.oracle.truffle.api.object.DynamicObject);
    descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;)Ljava/lang/Object;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructRegExpNode this
        start local 1 // com.oracle.truffle.api.object.DynamicObject obj
         0: .line 1052
            aload 0 /* this */
            getfield com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructRegExpNode.getSourceNode:Lcom/oracle/truffle/js/nodes/access/PropertyGetNode;
            ifnonnull 3
         1: .line 1053
            invokestatic com.oracle.truffle.api.CompilerDirectives.transferToInterpreterAndInvalidate:()V
         2: .line 1054
            aload 0 /* this */
            aload 0 /* this */
            ldc "source"
            iconst_0
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructRegExpNode.getContext:()Lcom/oracle/truffle/js/runtime/JSContext;
            invokestatic com.oracle.truffle.js.nodes.access.PropertyGetNode.create:(Ljava/lang/Object;ZLcom/oracle/truffle/js/runtime/JSContext;)Lcom/oracle/truffle/js/nodes/access/PropertyGetNode;
            invokevirtual com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructRegExpNode.insert:(Lcom/oracle/truffle/api/nodes/Node;)Lcom/oracle/truffle/api/nodes/Node;
            checkcast com.oracle.truffle.js.nodes.access.PropertyGetNode
            putfield com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructRegExpNode.getSourceNode:Lcom/oracle/truffle/js/nodes/access/PropertyGetNode;
         3: .line 1056
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructRegExpNode.getSourceNode:Lcom/oracle/truffle/js/nodes/access/PropertyGetNode;
            aload 1 /* obj */
            invokevirtual com.oracle.truffle.js.nodes.access.PropertyGetNode.getValue:(Ljava/lang/Object;)Ljava/lang/Object;
            areturn
        end local 1 // com.oracle.truffle.api.object.DynamicObject obj
        end local 0 // com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructRegExpNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lcom/oracle/truffle/js/builtins/ConstructorBuiltins$ConstructRegExpNode;
            0    4     1   obj  Lcom/oracle/truffle/api/object/DynamicObject;
    MethodParameters:
      Name  Flags
      obj   

  private java.lang.Object getFlags(com.oracle.truffle.api.object.DynamicObject);
    descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;)Ljava/lang/Object;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructRegExpNode this
        start local 1 // com.oracle.truffle.api.object.DynamicObject obj
         0: .line 1060
            aload 0 /* this */
            getfield com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructRegExpNode.getFlagsNode:Lcom/oracle/truffle/js/nodes/access/PropertyGetNode;
            ifnonnull 3
         1: .line 1061
            invokestatic com.oracle.truffle.api.CompilerDirectives.transferToInterpreterAndInvalidate:()V
         2: .line 1062
            aload 0 /* this */
            aload 0 /* this */
            ldc "flags"
            iconst_0
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructRegExpNode.getContext:()Lcom/oracle/truffle/js/runtime/JSContext;
            invokestatic com.oracle.truffle.js.nodes.access.PropertyGetNode.create:(Ljava/lang/Object;ZLcom/oracle/truffle/js/runtime/JSContext;)Lcom/oracle/truffle/js/nodes/access/PropertyGetNode;
            invokevirtual com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructRegExpNode.insert:(Lcom/oracle/truffle/api/nodes/Node;)Lcom/oracle/truffle/api/nodes/Node;
            checkcast com.oracle.truffle.js.nodes.access.PropertyGetNode
            putfield com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructRegExpNode.getFlagsNode:Lcom/oracle/truffle/js/nodes/access/PropertyGetNode;
         3: .line 1064
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructRegExpNode.getFlagsNode:Lcom/oracle/truffle/js/nodes/access/PropertyGetNode;
            aload 1 /* obj */
            invokevirtual com.oracle.truffle.js.nodes.access.PropertyGetNode.getValue:(Ljava/lang/Object;)Ljava/lang/Object;
            areturn
        end local 1 // com.oracle.truffle.api.object.DynamicObject obj
        end local 0 // com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructRegExpNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lcom/oracle/truffle/js/builtins/ConstructorBuiltins$ConstructRegExpNode;
            0    4     1   obj  Lcom/oracle/truffle/api/object/DynamicObject;
    MethodParameters:
      Name  Flags
      obj   

  protected com.oracle.truffle.api.object.DynamicObject getIntrinsicDefaultProto(com.oracle.truffle.js.runtime.JSRealm);
    descriptor: (Lcom/oracle/truffle/js/runtime/JSRealm;)Lcom/oracle/truffle/api/object/DynamicObject;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructRegExpNode this
        start local 1 // com.oracle.truffle.js.runtime.JSRealm realm
         0: .line 1069
            aload 1 /* realm */
            invokevirtual com.oracle.truffle.js.runtime.JSRealm.getRegExpPrototype:()Lcom/oracle/truffle/api/object/DynamicObject;
            areturn
        end local 1 // com.oracle.truffle.js.runtime.JSRealm realm
        end local 0 // com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructRegExpNode this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lcom/oracle/truffle/js/builtins/ConstructorBuiltins$ConstructRegExpNode;
            0    1     1  realm  Lcom/oracle/truffle/js/runtime/JSRealm;
    MethodParameters:
       Name  Flags
      realm  
}
SourceFile: "ConstructorBuiltins.java"
NestHost: com.oracle.truffle.js.builtins.ConstructorBuiltins
InnerClasses:
  public abstract Child = com.oracle.truffle.api.nodes.Node$Child of com.oracle.truffle.api.nodes.Node
  public abstract ConstructRegExpNode = com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructRegExpNode of com.oracle.truffle.js.builtins.ConstructorBuiltins
  public abstract ConstructWithNewTargetNode = com.oracle.truffle.js.builtins.ConstructorBuiltins$ConstructWithNewTargetNode of com.oracle.truffle.js.builtins.ConstructorBuiltins
  public abstract InteropReadStringMemberNode = com.oracle.truffle.js.runtime.util.TRegexUtil$InteropReadStringMemberNode of com.oracle.truffle.js.runtime.util.TRegexUtil