---
Fuzzer filename: '/src/quickjs/fuzz/fuzz_regexp.c'
All functions:
  Function list name: All functions
  Elements:
    - functionName:    LLVMFuzzerTestOneInput
      functionSourceFile: '/src/quickjs/fuzz/fuzz_regexp.c'
      linkageType:     externalLinkage
      functionLinenumber: 34
      functionLinenumberEnd: 66
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         18
      ICount:          119
      EdgeCount:       23
      CyclomaticComplexity: 7
      functionsReached:
        - lre_compile
        - lre_exec
        - lre_get_capture_count
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'fuzz/fuzz_regexp.c:53,10'
          Dst:             lre_compile
        - Src:             'fuzz/fuzz_regexp.c:59,11'
          Dst:             lre_exec
        - Src:             'fuzz/fuzz_regexp.c:61,9'
          Dst:             lre_get_capture_count
    - functionName:    lre_check_timeout
      functionSourceFile: '/src/quickjs/fuzz/fuzz_regexp.c'
      linkageType:     InternalLinkage
      functionLinenumber: 29
      functionLinenumberEnd: 31
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          13
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lre_realloc
      functionSourceFile: '/src/quickjs/fuzz/fuzz_regexp.c'
      linkageType:     InternalLinkage
      functionLinenumber: 24
      functionLinenumberEnd: 25
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          20
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - realloc
      functionUses:    18
      BranchProfiles:  []
      Callsites:
        - Src:             'fuzz/fuzz_regexp.c:25,12'
          Dst:             realloc
    - functionName:    realloc
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lre_check_stack_overflow
      functionSourceFile: '/src/quickjs/fuzz/fuzz_regexp.c'
      linkageType:     InternalLinkage
      functionLinenumber: 21
      functionLinenumberEnd: 21
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          8
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    is_word_char
      functionSourceFile: '/src/quickjs/libregexp.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2490
      functionLinenumberEnd: 2494
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         15
      ICount:          55
      EdgeCount:       20
      CyclomaticComplexity: 7
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    is_line_terminator
      functionSourceFile: '/src/quickjs/libregexp.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2485
      functionLinenumberEnd: 2486
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         8
      ICount:          33
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lre_poll_timeout
      functionSourceFile: '/src/quickjs/libregexp.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2618
      functionLinenumberEnd: 2625
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          39
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - lre_check_timeout
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'libregexp.c:2621,13'
          Dst:             lre_check_timeout
    - functionName:    stack_realloc
      functionSourceFile: '/src/quickjs/libregexp.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2628
      functionLinenumberEnd: 2648
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         14
      ICount:          69
      EdgeCount:       18
      CyclomaticComplexity: 6
      functionsReached:
        - lre_realloc
      functionUses:    9
      BranchProfiles:  []
      Callsites:
        - Src:             'libregexp.c:2635,21'
          Dst:             lre_realloc
        - Src:             'libregexp.c:2641,21'
          Dst:             lre_realloc
    - functionName:    re_emit_op_u16
      functionSourceFile: '/src/quickjs/libregexp.c'
      linkageType:     InternalLinkage
      functionLinenumber: 630
      functionLinenumberEnd: 633
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          15
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - dbuf_put_u16
        - dbuf_putc
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'libregexp.c:631,5'
          Dst:             dbuf_putc
        - Src:             'libregexp.c:632,5'
          Dst:             dbuf_put_u16
    - functionName:    dbuf_putc
      functionSourceFile: '/src/quickjs/./cutils.h'
      linkageType:     InternalLinkage
      functionLinenumber: 277
      functionLinenumberEnd: 284
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          32
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - __dbuf_putc
      functionUses:    11
      BranchProfiles:  []
      Callsites:
        - Src:             './cutils.h:279,16'
          Dst:             __dbuf_putc
    - functionName:    dbuf_put_u16
      functionSourceFile: '/src/quickjs/./cutils.h'
      linkageType:     InternalLinkage
      functionLinenumber: 287
      functionLinenumberEnd: 295
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - short
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          34
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - __dbuf_put_u16
        - put_u16
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             './cutils.h:289,16'
          Dst:             __dbuf_put_u16
        - Src:             './cutils.h:291,9'
          Dst:             put_u16
    - functionName:    put_u16
      functionSourceFile: '/src/quickjs/./cutils.h'
      linkageType:     InternalLinkage
      functionLinenumber: 205
      functionLinenumberEnd: 207
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - short
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          5
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    re_string_cmp_len
      functionSourceFile: '/src/quickjs/libregexp.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1218
      functionLinenumberEnd: 1221
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          11
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    re_emit_range
      functionSourceFile: '/src/quickjs/libregexp.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1182
      functionLinenumberEnd: 1215
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         26
      ICount:          145
      EdgeCount:       35
      CyclomaticComplexity: 11
      functionsReached:
        - dbuf_put_u16
        - dbuf_put_u32
        - re_emit_op_u16
        - re_emit_op_u32
        - re_parse_error
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'libregexp.c:1188,16'
          Dst:             re_parse_error
        - Src:             'libregexp.c:1190,9'
          Dst:             re_emit_op_u32
        - Src:             'libregexp.c:1198,13'
          Dst:             re_emit_op_u16
        - Src:             'libregexp.c:1200,17'
          Dst:             dbuf_put_u16
        - Src:             'libregexp.c:1204,17'
          Dst:             dbuf_put_u16
        - Src:             'libregexp.c:1207,13'
          Dst:             re_emit_op_u16
        - Src:             'libregexp.c:1209,17'
          Dst:             dbuf_put_u32
        - Src:             'libregexp.c:1210,17'
          Dst:             dbuf_put_u32
    - functionName:    re_parse_error
      functionSourceFile: '/src/quickjs/libregexp.c'
      linkageType:     InternalLinkage
      functionLinenumber: 636
      functionLinenumberEnd: 642
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - vsnprintf
      functionUses:    35
      BranchProfiles:  []
      Callsites:
        - Src:             'libregexp.c:639,5'
          Dst:             vsnprintf
    - functionName:    re_emit_op_u32
      functionSourceFile: '/src/quickjs/libregexp.c'
      linkageType:     InternalLinkage
      functionLinenumber: 596
      functionLinenumberEnd: 601
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          17
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - dbuf_put_u32
        - dbuf_putc
      functionUses:    11
      BranchProfiles:  []
      Callsites:
        - Src:             'libregexp.c:598,5'
          Dst:             dbuf_putc
        - Src:             'libregexp.c:600,5'
          Dst:             dbuf_put_u32
    - functionName:    dbuf_put_u32
      functionSourceFile: '/src/quickjs/./cutils.h'
      linkageType:     InternalLinkage
      functionLinenumber: 298
      functionLinenumberEnd: 306
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          35
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - __dbuf_put_u32
        - put_u32
      functionUses:    8
      BranchProfiles:  []
      Callsites:
        - Src:             './cutils.h:300,16'
          Dst:             __dbuf_put_u32
        - Src:             './cutils.h:302,9'
          Dst:             put_u32
    - functionName:    put_u32
      functionSourceFile: '/src/quickjs/./cutils.h'
      linkageType:     InternalLinkage
      functionLinenumber: 190
      functionLinenumberEnd: 192
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          5
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    12
      BranchProfiles:  []
      Callsites:       []
    - functionName:    vsnprintf
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    re_string_hash
      functionSourceFile: '/src/quickjs/libregexp.c'
      linkageType:     InternalLinkage
      functionLinenumber: 148
      functionLinenumberEnd: 154
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         16
      ICount:          90
      EdgeCount:       20
      CyclomaticComplexity: 6
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    re_string_find
      functionSourceFile: '/src/quickjs/libregexp.c'
      linkageType:     InternalLinkage
      functionLinenumber: 282
      functionLinenumberEnd: 285
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          13
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - re_string_find2
        - re_string_hash
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libregexp.c:284,10'
          Dst:             re_string_hash
        - Src:             'libregexp.c:285,12'
          Dst:             re_string_find2
    - functionName:    re_string_find2
      functionSourceFile: '/src/quickjs/libregexp.c'
      linkageType:     InternalLinkage
      functionLinenumber: 226
      functionLinenumberEnd: 278
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         40
      ICount:          217
      EdgeCount:       54
      CyclomaticComplexity: 16
      functionsReached:
        - lre_realloc
        - max_int
        - memcmp
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'libregexp.c:233,18'
          Dst:             memcmp
        - Src:             'libregexp.c:246,25'
          Dst:             max_int
        - Src:             'libregexp.c:248,26'
          Dst:             lre_realloc
        - Src:             'libregexp.c:261,9'
          Dst:             lre_realloc
        - Src:             'libregexp.c:268,9'
          Dst:             lre_realloc
    - functionName:    memcmp
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    max_int
      functionSourceFile: '/src/quickjs/./cutils.h'
      linkageType:     InternalLinkage
      functionLinenumber: 81
      functionLinenumberEnd: 86
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         4
      ICount:          16
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    re_string_add
      functionSourceFile: '/src/quickjs/libregexp.c'
      linkageType:     InternalLinkage
      functionLinenumber: 290
      functionLinenumberEnd: 297
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          33
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - cr_union_interval
        - re_string_find
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'libregexp.c:292,16'
          Dst:             cr_union_interval
        - Src:             'libregexp.c:294,9'
          Dst:             re_string_find
    - functionName:    cr_union_interval
      functionSourceFile: '/src/quickjs/./libunicode.h'
      linkageType:     InternalLinkage
      functionLinenumber: 82
      functionLinenumberEnd: 87
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          19
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - cr_op1
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             './libunicode.h:86,12'
          Dst:             cr_op1
    - functionName:    re_string_list_canonicalize
      functionSourceFile: '/src/quickjs/libregexp.c'
      linkageType:     InternalLinkage
      functionLinenumber: 350
      functionLinenumberEnd: 385
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         25
      ICount:          125
      EdgeCount:       33
      CyclomaticComplexity: 10
      functionsReached:
        - cr_regexp_canonicalize
        - lre_canonicalize
        - re_string_add
        - re_string_list_free
        - re_string_list_init
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'libregexp.c:351,9'
          Dst:             cr_regexp_canonicalize
        - Src:             'libregexp.c:359,9'
          Dst:             re_string_list_init
        - Src:             'libregexp.c:374,33'
          Dst:             lre_canonicalize
        - Src:             'libregexp.c:376,21'
          Dst:             re_string_add
        - Src:             'libregexp.c:0,0'
          Dst:             re_string_list_free
    - functionName:    re_string_list_init
      functionSourceFile: '/src/quickjs/libregexp.c'
      linkageType:     InternalLinkage
      functionLinenumber: 158
      functionLinenumberEnd: 164
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          22
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - cr_init
        - lre_realloc
      functionUses:    8
      BranchProfiles:  []
      Callsites:
        - Src:             'libregexp.c:159,5'
          Dst:             cr_init
        - Src:             'libregexp.c:159,5'
          Dst:             lre_realloc
    - functionName:    re_string_list_free
      functionSourceFile: '/src/quickjs/libregexp.c'
      linkageType:     InternalLinkage
      functionLinenumber: 167
      functionLinenumberEnd: 179
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         15
      ICount:          69
      EdgeCount:       19
      CyclomaticComplexity: 6
      functionsReached:
        - cr_free
        - lre_realloc
      functionUses:    20
      BranchProfiles:  []
      Callsites:
        - Src:             'libregexp.c:173,13'
          Dst:             lre_realloc
        - Src:             'libregexp.c:176,5'
          Dst:             lre_realloc
        - Src:             'libregexp.c:178,5'
          Dst:             cr_free
    - functionName:    seq_prop_cb
      functionSourceFile: '/src/quickjs/libregexp.c'
      linkageType:     InternalLinkage
      functionLinenumber: 820
      functionLinenumberEnd: 823
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          12
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - re_string_add
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libregexp.c:822,5'
          Dst:             re_string_add
    - functionName:    is_unicode_char
      functionSourceFile: '/src/quickjs/libregexp.c'
      linkageType:     InternalLinkage
      functionLinenumber: 811
      functionLinenumberEnd: 815
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         15
      ICount:          55
      EdgeCount:       20
      CyclomaticComplexity: 7
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    cr_add_point
      functionSourceFile: '/src/quickjs/./libunicode.h'
      linkageType:     InternalLinkage
      functionLinenumber: 57
      functionLinenumberEnd: 64
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          45
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - cr_realloc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './libunicode.h:59,13'
          Dst:             cr_realloc
    - functionName:    parse_class_string_disjunction
      functionSourceFile: '/src/quickjs/libregexp.c'
      linkageType:     InternalLinkage
      functionLinenumber: 951
      functionLinenumberEnd: 995
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         28
      ICount:          123
      EdgeCount:       37
      CyclomaticComplexity: 11
      functionsReached:
        - dbuf_free
        - dbuf_init2
        - dbuf_put_u32
        - get_class_atom
        - lre_realloc
        - re_parse_error
        - re_parse_out_of_memory
        - re_string_add
        - re_string_list_canonicalize
        - re_string_list_free
        - re_string_list_init
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libregexp.c:958,16'
          Dst:             re_parse_error
        - Src:             'libregexp.c:960,5'
          Dst:             dbuf_init2
        - Src:             'libregexp.c:960,5'
          Dst:             lre_realloc
        - Src:             'libregexp.c:961,5'
          Dst:             re_string_list_init
        - Src:             'libregexp.c:967,17'
          Dst:             get_class_atom
        - Src:             'libregexp.c:970,17'
          Dst:             dbuf_put_u32
        - Src:             'libregexp.c:975,13'
          Dst:             re_string_add
        - Src:             'libregexp.c:984,13'
          Dst:             re_string_list_canonicalize
        - Src:             'libregexp.c:988,5'
          Dst:             dbuf_free
        - Src:             'libregexp.c:0,0'
          Dst:             re_parse_out_of_memory
        - Src:             'libregexp.c:992,5'
          Dst:             dbuf_free
        - Src:             'libregexp.c:993,5'
          Dst:             re_string_list_free
    - functionName:    get_class_atom
      functionSourceFile: '/src/quickjs/libregexp.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1002
      functionLinenumberEnd: 1179
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         138
      ICount:          567
      EdgeCount:       167
      CyclomaticComplexity: 31
      functionsReached:
        - cr_init_char_range
        - lre_parse_escape
        - parse_class_string_disjunction
        - parse_unicode_property
        - re_parse_error
        - unicode_from_utf8
      functionUses:    5
      BranchProfiles:
        - Branch String:   'libregexp.c:1010,5'
          Branch Sides:    []
        - Branch String:   'libregexp.c:1016,9'
          Branch Sides:    []
      Callsites:
        - Src:             'libregexp.c:1037,17'
          Dst:             cr_init_char_range
        - Src:             'libregexp.c:1082,21'
          Dst:             parse_unicode_property
        - Src:             'libregexp.c:1091,21'
          Dst:             parse_class_string_disjunction
        - Src:             'libregexp.c:1100,19'
          Dst:             lre_parse_escape
        - Src:             'libregexp.c:1106,28'
          Dst:             re_parse_error
        - Src:             'libregexp.c:1118,20'
          Dst:             re_parse_error
        - Src:             'libregexp.c:1144,20'
          Dst:             re_parse_error
        - Src:             'libregexp.c:1159,20'
          Dst:             re_parse_error
        - Src:             'libregexp.c:1167,17'
          Dst:             unicode_from_utf8
        - Src:             'libregexp.c:1170,24'
          Dst:             re_parse_error
    - functionName:    re_parse_out_of_memory
      functionSourceFile: '/src/quickjs/libregexp.c'
      linkageType:     InternalLinkage
      functionLinenumber: 645
      functionLinenumberEnd: 646
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          12
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - re_parse_error
      functionUses:    7
      BranchProfiles:  []
      Callsites:
        - Src:             'libregexp.c:646,12'
          Dst:             re_parse_error
    - functionName:    cr_init_char_range
      functionSourceFile: '/src/quickjs/libregexp.c'
      linkageType:     InternalLinkage
      functionLinenumber: 436
      functionLinenumberEnd: 457
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         17
      ICount:          74
      EdgeCount:       22
      CyclomaticComplexity: 7
      functionsReached:
        - cr_add_point
        - cr_invert
        - re_string_list_free
        - re_string_list_init
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libregexp.c:444,5'
          Dst:             re_string_list_init
        - Src:             'libregexp.c:446,13'
          Dst:             cr_add_point
        - Src:             'libregexp.c:450,13'
          Dst:             cr_invert
        - Src:             'libregexp.c:455,5'
          Dst:             re_string_list_free
    - functionName:    parse_unicode_property
      functionSourceFile: '/src/quickjs/libregexp.c'
      linkageType:     InternalLinkage
      functionLinenumber: 828
      functionLinenumberEnd: 943
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         88
      ICount:          402
      EdgeCount:       124
      CyclomaticComplexity: 38
      functionsReached:
        - cr_free
        - cr_init
        - cr_invert
        - is_unicode_char
        - lre_realloc
        - re_parse_error
        - re_parse_out_of_memory
        - re_string_list_canonicalize
        - re_string_list_free
        - re_string_list_init
        - seq_prop_cb
        - strcmp
        - unicode_general_category
        - unicode_prop
        - unicode_script
        - unicode_sequence_prop
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libregexp.c:840,12'
          Dst:             is_unicode_char
        - Src:             'libregexp.c:837,16'
          Dst:             re_parse_error
        - Src:             'libregexp.c:840,12'
          Dst:             is_unicode_char
        - Src:             'libregexp.c:849,16'
          Dst:             is_unicode_char
        - Src:             'libregexp.c:851,24'
          Dst:             re_parse_error
        - Src:             'libregexp.c:849,16'
          Dst:             is_unicode_char
        - Src:             'libregexp.c:857,16'
          Dst:             re_parse_error
        - Src:             'libregexp.c:861,10'
          Dst:             strcmp
        - Src:             'libregexp.c:861,37'
          Dst:             strcmp
        - Src:             'libregexp.c:864,17'
          Dst:             strcmp
        - Src:             'libregexp.c:864,55'
          Dst:             strcmp
        - Src:             'libregexp.c:867,9'
          Dst:             re_string_list_init
        - Src:             'libregexp.c:868,15'
          Dst:             unicode_script
        - Src:             'libregexp.c:870,13'
          Dst:             re_string_list_free
        - Src:             'libregexp.c:872,24'
          Dst:             re_parse_error
        - Src:             'libregexp.c:876,17'
          Dst:             strcmp
        - Src:             'libregexp.c:876,54'
          Dst:             strcmp
        - Src:             'libregexp.c:877,9'
          Dst:             re_string_list_init
        - Src:             'libregexp.c:878,15'
          Dst:             unicode_general_category
        - Src:             'libregexp.c:880,13'
          Dst:             re_string_list_free
        - Src:             'libregexp.c:882,24'
          Dst:             re_parse_error
        - Src:             'libregexp.c:887,9'
          Dst:             re_string_list_init
        - Src:             'libregexp.c:888,15'
          Dst:             unicode_general_category
        - Src:             'libregexp.c:890,13'
          Dst:             re_string_list_free
        - Src:             'libregexp.c:894,19'
          Dst:             unicode_prop
        - Src:             'libregexp.c:896,17'
          Dst:             re_string_list_free
        - Src:             'libregexp.c:902,13'
          Dst:             cr_init
        - Src:             'libregexp.c:902,13'
          Dst:             lre_realloc
        - Src:             'libregexp.c:903,19'
          Dst:             unicode_sequence_prop
        - Src:             'libregexp.c:903,19'
          Dst:             seq_prop_cb
        - Src:             'libregexp.c:904,13'
          Dst:             cr_free
        - Src:             'libregexp.c:906,17'
          Dst:             re_string_list_free
        - Src:             'libregexp.c:914,16'
          Dst:             re_parse_error
        - Src:             'libregexp.c:922,13'
          Dst:             re_string_list_canonicalize
        - Src:             'libregexp.c:923,13'
          Dst:             re_string_list_free
        - Src:             'libregexp.c:928,13'
          Dst:             cr_invert
        - Src:             'libregexp.c:929,13'
          Dst:             re_string_list_free
        - Src:             'libregexp.c:934,13'
          Dst:             re_string_list_canonicalize
        - Src:             'libregexp.c:935,13'
          Dst:             re_string_list_free
        - Src:             'libregexp.c:942,12'
          Dst:             re_parse_out_of_memory
    - functionName:    lre_parse_escape
      functionSourceFile: '/src/quickjs/libregexp.c'
      linkageType:     InternalLinkage
      functionLinenumber: 698
      functionLinenumberEnd: 806
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         74
      ICount:          342
      EdgeCount:       96
      CyclomaticComplexity: 24
      functionsReached:
        - from_hex
        - from_surrogate
        - is_digit
        - is_hi_surrogate
        - is_lo_surrogate
      functionUses:    2
      BranchProfiles:
        - Branch String:   'libregexp.c:704,5'
          Branch Sides:    []
      Callsites:
        - Src:             'libregexp.c:733,25'
          Dst:             from_hex
        - Src:             'libregexp.c:752,25'
          Dst:             from_hex
        - Src:             'libregexp.c:758,21'
          Dst:             is_hi_surrogate
        - Src:             'libregexp.c:764,29'
          Dst:             from_hex
        - Src:             'libregexp.c:764,29'
          Dst:             from_hex
        - Src:             'libregexp.c:764,29'
          Dst:             from_hex
        - Src:             'libregexp.c:764,29'
          Dst:             from_hex
        - Src:             'libregexp.c:769,35'
          Dst:             is_lo_surrogate
        - Src:             'libregexp.c:771,29'
          Dst:             from_surrogate
        - Src:             'libregexp.c:782,27'
          Dst:             is_digit
    - functionName:    from_hex
      functionSourceFile: '/src/quickjs/./cutils.h'
      linkageType:     InternalLinkage
      functionLinenumber: 366
      functionLinenumberEnd: 375
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         14
      ICount:          54
      EdgeCount:       19
      CyclomaticComplexity: 7
      functionsReached: []
      functionUses:    6
      BranchProfiles:  []
      Callsites:       []
    - functionName:    is_hi_surrogate
      functionSourceFile: '/src/quickjs/./cutils.h'
      linkageType:     InternalLinkage
      functionLinenumber: 341
      functionLinenumberEnd: 342
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          8
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    17
      BranchProfiles:  []
      Callsites:       []
    - functionName:    is_lo_surrogate
      functionSourceFile: '/src/quickjs/./cutils.h'
      linkageType:     InternalLinkage
      functionLinenumber: 346
      functionLinenumberEnd: 347
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          8
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    17
      BranchProfiles:  []
      Callsites:       []
    - functionName:    from_surrogate
      functionSourceFile: '/src/quickjs/./cutils.h'
      linkageType:     InternalLinkage
      functionLinenumber: 361
      functionLinenumberEnd: 362
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          7
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    14
      BranchProfiles:  []
      Callsites:       []
    - functionName:    is_digit
      functionSourceFile: '/src/quickjs/libregexp.c'
      linkageType:     InternalLinkage
      functionLinenumber: 115
      functionLinenumberEnd: 116
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         4
      ICount:          19
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    6
      BranchProfiles:  []
      Callsites:       []
    - functionName:    strcmp
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    7
      BranchProfiles:  []
      Callsites:       []
    - functionName:    re_parse_class_set_operand
      functionSourceFile: '/src/quickjs/libregexp.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1313
      functionLinenumberEnd: 1336
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         18
      ICount:          76
      EdgeCount:       24
      CyclomaticComplexity: 8
      functionsReached:
        - cr_union_interval
        - get_class_atom
        - lre_canonicalize
        - re_parse_nested_class
        - re_string_list_free
        - re_string_list_init
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'libregexp.c:1318,13'
          Dst:             re_parse_nested_class
        - Src:             'libregexp.c:1321,14'
          Dst:             get_class_atom
        - Src:             'libregexp.c:1326,13'
          Dst:             re_string_list_init
        - Src:             'libregexp.c:1328,22'
          Dst:             lre_canonicalize
        - Src:             'libregexp.c:1329,17'
          Dst:             cr_union_interval
        - Src:             'libregexp.c:1330,17'
          Dst:             re_string_list_free
    - functionName:    re_parse_nested_class
      functionSourceFile: '/src/quickjs/libregexp.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1339
      functionLinenumberEnd: 1493
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         124
      ICount:          522
      EdgeCount:       173
      CyclomaticComplexity: 51
      functionsReached:
        - cr_add_interval
        - cr_free
        - cr_init
        - cr_invert
        - cr_op1
        - cr_regexp_canonicalize
        - cr_union_interval
        - get_class_atom
        - lre_canonicalize
        - lre_check_stack_overflow
        - lre_realloc
        - re_parse_class_set_operand
        - re_parse_error
        - re_parse_nested_class
        - re_parse_out_of_memory
        - re_string_list_free
        - re_string_list_init
        - re_string_list_op
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'libregexp.c:1346,9'
          Dst:             lre_check_stack_overflow
        - Src:             'libregexp.c:1347,16'
          Dst:             re_parse_error
        - Src:             'libregexp.c:1349,5'
          Dst:             re_string_list_init
        - Src:             'libregexp.c:1365,17'
          Dst:             re_parse_nested_class
        - Src:             'libregexp.c:1369,18'
          Dst:             get_class_atom
        - Src:             'libregexp.c:1378,25'
          Dst:             re_string_list_free
        - Src:             'libregexp.c:1384,22'
          Dst:             get_class_atom
        - Src:             'libregexp.c:1388,21'
          Dst:             re_string_list_free
        - Src:             'libregexp.c:1398,21'
          Dst:             re_parse_error
        - Src:             'libregexp.c:1403,21'
          Dst:             cr_init
        - Src:             'libregexp.c:1403,21'
          Dst:             lre_realloc
        - Src:             'libregexp.c:1404,25'
          Dst:             cr_add_interval
        - Src:             'libregexp.c:1405,25'
          Dst:             cr_regexp_canonicalize
        - Src:             'libregexp.c:1406,25'
          Dst:             cr_op1
        - Src:             'libregexp.c:1410,21'
          Dst:             cr_free
        - Src:             'libregexp.c:1407,25'
          Dst:             cr_free
        - Src:             'libregexp.c:1412,25'
          Dst:             cr_union_interval
        - Src:             'libregexp.c:1420,27'
          Dst:             re_string_list_op
        - Src:             'libregexp.c:1421,21'
          Dst:             re_string_list_free
        - Src:             'libregexp.c:1426,30'
          Dst:             lre_canonicalize
        - Src:             'libregexp.c:1427,25'
          Dst:             cr_union_interval
        - Src:             'libregexp.c:1443,25'
          Dst:             re_parse_class_set_operand
        - Src:             'libregexp.c:1445,27'
          Dst:             re_string_list_op
        - Src:             'libregexp.c:1446,21'
          Dst:             re_string_list_free
        - Src:             'libregexp.c:1462,25'
          Dst:             re_parse_class_set_operand
        - Src:             'libregexp.c:1459,25'
          Dst:             re_parse_error
        - Src:             'libregexp.c:1464,27'
          Dst:             re_string_list_op
        - Src:             'libregexp.c:1465,21'
          Dst:             re_string_list_free
        - Src:             'libregexp.c:1481,13'
          Dst:             re_parse_error
        - Src:             'libregexp.c:1484,13'
          Dst:             cr_invert
        - Src:             'libregexp.c:1489,5'
          Dst:             re_parse_out_of_memory
        - Src:             'libregexp.c:1491,5'
          Dst:             re_string_list_free
    - functionName:    cr_add_interval
      functionSourceFile: '/src/quickjs/./libunicode.h'
      linkageType:     InternalLinkage
      functionLinenumber: 67
      functionLinenumberEnd: 75
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          51
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - cr_realloc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './libunicode.h:69,13'
          Dst:             cr_realloc
    - functionName:    re_string_list_op
      functionSourceFile: '/src/quickjs/libregexp.c'
      linkageType:     InternalLinkage
      functionLinenumber: 301
      functionLinenumberEnd: 346
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         41
      ICount:          189
      EdgeCount:       50
      CyclomaticComplexity: 11
      functionsReached:
        - abort
        - cr_op1
        - lre_realloc
        - re_string_find2
      functionUses:    3
      BranchProfiles:
        - Branch String:   'libregexp.c:308,5'
          Branch Sides:    []
      Callsites:
        - Src:             'libregexp.c:305,9'
          Dst:             cr_op1
        - Src:             'libregexp.c:313,25'
          Dst:             re_string_find2
        - Src:             'libregexp.c:327,23'
          Dst:             re_string_find2
        - Src:             'libregexp.c:334,21'
          Dst:             lre_realloc
        - Src:             'libregexp.c:343,9'
          Dst:             abort
    - functionName:    abort
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lre_is_id_continue_byte
      functionSourceFile: '/src/quickjs/./libunicode.h'
      linkageType:     InternalLinkage
      functionLinenumber: 144
      functionLinenumberEnd: 145
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - char
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          9
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lre_is_id_start_byte
      functionSourceFile: '/src/quickjs/./libunicode.h'
      linkageType:     InternalLinkage
      functionLinenumber: 139
      functionLinenumberEnd: 140
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - char
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          9
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lre_js_is_ident_next
      functionSourceFile: '/src/quickjs/./libunicode.h'
      linkageType:     InternalLinkage
      functionLinenumber: 171
      functionLinenumberEnd: 184
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         11
      ICount:          41
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - lre_is_id_continue
        - lre_is_id_continue_byte
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './libunicode.h:173,16'
          Dst:             lre_is_id_continue_byte
        - Src:             './libunicode.h:179,16'
          Dst:             lre_is_id_continue
    - functionName:    lre_js_is_ident_first
      functionSourceFile: '/src/quickjs/./libunicode.h'
      linkageType:     InternalLinkage
      functionLinenumber: 159
      functionLinenumberEnd: 169
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          26
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - lre_is_id_start
        - lre_is_id_start_byte
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './libunicode.h:161,16'
          Dst:             lre_is_id_start_byte
        - Src:             './libunicode.h:164,16'
          Dst:             lre_is_id_start
    - functionName:    re_emit_goto_u8
      functionSourceFile: '/src/quickjs/libregexp.c'
      linkageType:     InternalLinkage
      functionLinenumber: 614
      functionLinenumberEnd: 620
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          19
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - dbuf_put_u32
        - dbuf_putc
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'libregexp.c:616,5'
          Dst:             dbuf_putc
        - Src:             'libregexp.c:617,5'
          Dst:             dbuf_putc
        - Src:             'libregexp.c:619,5'
          Dst:             dbuf_put_u32
    - functionName:    re_emit_goto
      functionSourceFile: '/src/quickjs/libregexp.c'
      linkageType:     InternalLinkage
      functionLinenumber: 605
      functionLinenumberEnd: 610
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          19
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - dbuf_put_u32
        - dbuf_putc
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'libregexp.c:607,5'
          Dst:             dbuf_putc
        - Src:             'libregexp.c:609,5'
          Dst:             dbuf_put_u32
    - functionName:    re_need_check_advance
      functionSourceFile: '/src/quickjs/libregexp.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1515
      functionLinenumberEnd: 1573
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         42
      ICount:          170
      EdgeCount:       43
      CyclomaticComplexity: 3
      functionsReached:
        - get_u16
      functionUses:    1
      BranchProfiles:
        - Branch String:   'libregexp.c:1525,9'
          Branch Sides:    []
      Callsites:
        - Src:             'libregexp.c:0,0'
          Dst:             get_u16
    - functionName:    get_u16
      functionSourceFile: '/src/quickjs/./cutils.h'
      linkageType:     InternalLinkage
      functionLinenumber: 195
      functionLinenumberEnd: 196
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          6
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    11
      BranchProfiles:  []
      Callsites:       []
    - functionName:    re_emit_char
      functionSourceFile: '/src/quickjs/libregexp.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1225
      functionLinenumberEnd: 1230
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          34
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - re_emit_op_u16
        - re_emit_op_u32
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'libregexp.c:1227,9'
          Dst:             re_emit_op_u16
        - Src:             'libregexp.c:1229,9'
          Dst:             re_emit_op_u32
    - functionName:    re_emit_string_list
      functionSourceFile: '/src/quickjs/libregexp.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1233
      functionLinenumberEnd: 1308
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         69
      ICount:          318
      EdgeCount:       92
      CyclomaticComplexity: 25
      functionsReached:
        - __assert_fail
        - get_u32
        - lre_realloc
        - put_u32
        - re_emit_char
        - re_emit_op_u32
        - re_emit_range
        - re_parse_out_of_memory
        - re_string_cmp_len
        - rqsort
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'libregexp.c:1241,13'
          Dst:             re_emit_range
        - Src:             'libregexp.c:1246,15'
          Dst:             lre_realloc
        - Src:             'libregexp.c:1248,13'
          Dst:             re_parse_out_of_memory
        - Src:             'libregexp.c:1262,9'
          Dst:             __assert_fail
        - Src:             'libregexp.c:1264,9'
          Dst:             rqsort
        - Src:             'libregexp.c:1264,9'
          Dst:             re_string_cmp_len
        - Src:             'libregexp.c:1271,29'
          Dst:             re_emit_op_u32
        - Src:             'libregexp.c:1275,17'
          Dst:             re_emit_char
        - Src:             'libregexp.c:1278,34'
          Dst:             re_emit_op_u32
        - Src:             'libregexp.c:1279,17'
          Dst:             put_u32
        - Src:             'libregexp.c:1264,9'
          Dst:             rqsort
        - Src:             'libregexp.c:1264,9'
          Dst:             re_string_cmp_len
        - Src:             'libregexp.c:1290,17'
          Dst:             re_emit_range
        - Src:             'libregexp.c:1287,29'
          Dst:             re_emit_op_u32
        - Src:             'libregexp.c:1290,17'
          Dst:             re_emit_range
        - Src:             'libregexp.c:1291,17'
          Dst:             lre_realloc
        - Src:             'libregexp.c:1295,17'
          Dst:             put_u32
        - Src:             'libregexp.c:1300,28'
          Dst:             get_u32
        - Src:             'libregexp.c:1301,13'
          Dst:             put_u32
        - Src:             'libregexp.c:1305,9'
          Dst:             lre_realloc
    - functionName:    __assert_fail
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    15
      BranchProfiles:  []
      Callsites:       []
    - functionName:    get_u32
      functionSourceFile: '/src/quickjs/./cutils.h'
      linkageType:     InternalLinkage
      functionLinenumber: 180
      functionLinenumberEnd: 181
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          5
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    12
      BranchProfiles:  []
      Callsites:       []
    - functionName:    re_parse_char_class
      functionSourceFile: '/src/quickjs/libregexp.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1496
      functionLinenumberEnd: 1508
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          38
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - re_emit_string_list
        - re_parse_nested_class
        - re_string_list_free
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'libregexp.c:1499,9'
          Dst:             re_parse_nested_class
        - Src:             'libregexp.c:1501,9'
          Dst:             re_emit_string_list
        - Src:             'libregexp.c:0,0'
          Dst:             re_string_list_free
    - functionName:    re_count_captures
      functionSourceFile: '/src/quickjs/libregexp.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1685
      functionLinenumberEnd: 1690
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          28
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - re_parse_captures
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'libregexp.c:1687,34'
          Dst:             re_parse_captures
    - functionName:    re_parse_captures
      functionSourceFile: '/src/quickjs/libregexp.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1635
      functionLinenumberEnd: 1682
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         46
      ICount:          201
      EdgeCount:       61
      CyclomaticComplexity: 17
      functionsReached:
        - re_parse_group_name
        - strcmp
      functionUses:    2
      BranchProfiles:
        - Branch String:   'libregexp.c:1643,9'
          Branch Sides:    []
      Callsites:
        - Src:             'libregexp.c:1651,29'
          Dst:             re_parse_group_name
        - Src:             'libregexp.c:1652,34'
          Dst:             strcmp
    - functionName:    re_parse_group_name
      functionSourceFile: '/src/quickjs/libregexp.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1577
      functionLinenumberEnd: 1628
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         35
      ICount:          165
      EdgeCount:       48
      CyclomaticComplexity: 15
      functionsReached:
        - from_surrogate
        - is_hi_surrogate
        - is_lo_surrogate
        - lre_js_is_ident_first
        - lre_js_is_ident_next
        - lre_parse_escape
        - unicode_from_utf8
        - unicode_to_utf8
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'libregexp.c:1590,17'
          Dst:             lre_parse_escape
        - Src:             'libregexp.c:1594,17'
          Dst:             unicode_from_utf8
        - Src:             'libregexp.c:1595,17'
          Dst:             is_hi_surrogate
        - Src:             'libregexp.c:1596,21'
          Dst:             unicode_from_utf8
        - Src:             'libregexp.c:1597,21'
          Dst:             is_lo_surrogate
        - Src:             'libregexp.c:1598,25'
          Dst:             from_surrogate
        - Src:             'libregexp.c:1608,18'
          Dst:             lre_js_is_ident_first
        - Src:             'libregexp.c:1611,18'
          Dst:             lre_js_is_ident_next
        - Src:             'libregexp.c:1619,18'
          Dst:             unicode_to_utf8
    - functionName:    re_has_named_captures
      functionSourceFile: '/src/quickjs/libregexp.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1694
      functionLinenumberEnd: 1697
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          27
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - re_count_captures
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'libregexp.c:1696,9'
          Dst:             re_count_captures
    - functionName:    find_group_name
      functionSourceFile: '/src/quickjs/libregexp.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1701
      functionLinenumberEnd: 1719
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         16
      ICount:          67
      EdgeCount:       21
      CyclomaticComplexity: 7
      functionsReached:
        - memcmp
        - strlen
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'libregexp.c:1709,16'
          Dst:             strlen
        - Src:             'libregexp.c:1712,15'
          Dst:             strlen
        - Src:             'libregexp.c:1713,32'
          Dst:             memcmp
    - functionName:    strlen
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    9
      BranchProfiles:  []
      Callsites:       []
    - functionName:    update_modifier
      functionSourceFile: '/src/quickjs/libregexp.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1750
      functionLinenumberEnd: 1755
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - int
        - int
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         7
      ICount:          30
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    re_parse_modifiers
      functionSourceFile: '/src/quickjs/libregexp.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1724
      functionLinenumberEnd: 1746
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         14
      ICount:          59
      EdgeCount:       18
      CyclomaticComplexity: 6
      functionsReached:
        - re_parse_error
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'libregexp.c:1740,20'
          Dst:             re_parse_error
    - functionName:    re_parse_expect
      functionSourceFile: '/src/quickjs/libregexp.c'
      linkageType:     InternalLinkage
      functionLinenumber: 677
      functionLinenumberEnd: 685
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          29
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - re_parse_error
      functionUses:    6
      BranchProfiles:  []
      Callsites:
        - Src:             'libregexp.c:681,16'
          Dst:             re_parse_error
    - functionName:    parse_digits
      functionSourceFile: '/src/quickjs/libregexp.c'
      linkageType:     InternalLinkage
      functionLinenumber: 652
      functionLinenumberEnd: 674
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         16
      ICount:          68
      EdgeCount:       20
      CyclomaticComplexity: 6
      functionsReached: []
      functionUses:    5
      BranchProfiles:  []
      Callsites:       []
    - functionName:    re_parse_term
      functionSourceFile: '/src/quickjs/libregexp.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1759
      functionLinenumberEnd: 2255
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         287
      ICount:          1523
      EdgeCount:       389
      CyclomaticComplexity: 104
      functionsReached:
        - dbuf_error
        - dbuf_insert
        - dbuf_put
        - dbuf_put_self
        - dbuf_put_u32
        - dbuf_putc
        - find_group_name
        - get_class_atom
        - is_digit
        - lre_canonicalize
        - parse_digits
        - put_u32
        - re_count_captures
        - re_emit_char
        - re_emit_goto
        - re_emit_goto_u8
        - re_emit_op
        - re_emit_op_u32
        - re_emit_op_u8
        - re_emit_string_list
        - re_has_named_captures
        - re_need_check_advance
        - re_parse_captures
        - re_parse_char_class
        - re_parse_disjunction
        - re_parse_error
        - re_parse_expect
        - re_parse_group_name
        - re_parse_modifiers
        - re_parse_out_of_memory
        - re_string_list_free
        - strlen
        - update_modifier
      functionUses:    1
      BranchProfiles:
        - Branch String:   'libregexp.c:1769,5'
          Branch Sides:    []
        - Branch String:   'libregexp.c:1939,9'
          Branch Sides:    []
        - Branch String:   'libregexp.c:2087,9'
          Branch Sides:    []
      Callsites:
        - Src:             'libregexp.c:1772,9'
          Dst:             re_emit_op
        - Src:             'libregexp.c:1776,9'
          Dst:             re_emit_op
        - Src:             'libregexp.c:1783,13'
          Dst:             re_emit_op
        - Src:             'libregexp.c:1784,9'
          Dst:             re_emit_op
        - Src:             'libregexp.c:1786,13'
          Dst:             re_emit_op
        - Src:             'libregexp.c:1790,20'
          Dst:             re_parse_error
        - Src:             'libregexp.c:1791,21'
          Dst:             is_digit
        - Src:             'libregexp.c:1798,13'
          Dst:             parse_digits
        - Src:             'libregexp.c:1801,21'
          Dst:             is_digit
        - Src:             'libregexp.c:1802,21'
          Dst:             parse_digits
        - Src:             'libregexp.c:1813,16'
          Dst:             re_parse_error
        - Src:             'libregexp.c:1821,21'
          Dst:             re_parse_disjunction
        - Src:             'libregexp.c:1824,21'
          Dst:             re_parse_expect
        - Src:             'libregexp.c:1831,28'
          Dst:             re_parse_modifiers
        - Src:             'libregexp.c:1836,35'
          Dst:             re_parse_modifiers
        - Src:             'libregexp.c:1842,28'
          Dst:             re_parse_error
        - Src:             'libregexp.c:1844,21'
          Dst:             re_parse_expect
        - Src:             'libregexp.c:1849,34'
          Dst:             update_modifier
        - Src:             'libregexp.c:1850,33'
          Dst:             update_modifier
        - Src:             'libregexp.c:1851,29'
          Dst:             update_modifier
        - Src:             'libregexp.c:1856,21'
          Dst:             re_parse_disjunction
        - Src:             'libregexp.c:1859,21'
          Dst:             re_parse_expect
        - Src:             'libregexp.c:1883,23'
          Dst:             re_emit_op_u32
        - Src:             'libregexp.c:1885,21'
          Dst:             re_parse_disjunction
        - Src:             'libregexp.c:1888,21'
          Dst:             re_parse_expect
        - Src:             'libregexp.c:1890,17'
          Dst:             re_emit_op
        - Src:             'libregexp.c:1892,21'
          Dst:             dbuf_error
        - Src:             'libregexp.c:1894,17'
          Dst:             put_u32
        - Src:             'libregexp.c:1897,21'
          Dst:             re_parse_group_name
        - Src:             'libregexp.c:1899,28'
          Dst:             re_parse_error
        - Src:             'libregexp.c:1901,21'
          Dst:             find_group_name
        - Src:             'libregexp.c:1902,28'
          Dst:             re_parse_error
        - Src:             'libregexp.c:1906,26'
          Dst:             strlen
        - Src:             'libregexp.c:1905,17'
          Dst:             dbuf_put
        - Src:             'libregexp.c:1910,24'
          Dst:             re_parse_error
        - Src:             'libregexp.c:1916,13'
          Dst:             dbuf_putc
        - Src:             'libregexp.c:1919,24'
          Dst:             re_parse_error
        - Src:             'libregexp.c:1923,13'
          Dst:             re_emit_op_u8
        - Src:             'libregexp.c:1927,17'
          Dst:             re_parse_disjunction
        - Src:             'libregexp.c:1931,13'
          Dst:             re_emit_op_u8
        - Src:             'libregexp.c:1934,17'
          Dst:             re_parse_expect
        - Src:             'libregexp.c:0,0'
          Dst:             re_emit_op
        - Src:             'libregexp.c:1959,42'
          Dst:             re_has_named_captures
        - Src:             'libregexp.c:1965,21'
          Dst:             re_parse_group_name
        - Src:             'libregexp.c:1967,42'
          Dst:             re_has_named_captures
        - Src:             'libregexp.c:1972,21'
          Dst:             find_group_name
        - Src:             'libregexp.c:1976,25'
          Dst:             re_parse_captures
        - Src:             'libregexp.c:1978,46'
          Dst:             re_has_named_captures
        - Src:             'libregexp.c:0,0'
          Dst:             re_parse_error
        - Src:             'libregexp.c:1991,21'
          Dst:             is_digit
        - Src:             'libregexp.c:1992,28'
          Dst:             re_parse_error
        - Src:             'libregexp.c:2010,21'
          Dst:             parse_digits
        - Src:             'libregexp.c:2011,61'
          Dst:             re_count_captures
        - Src:             'libregexp.c:2030,28'
          Dst:             re_parse_error
        - Src:             'libregexp.c:2036,17'
          Dst:             re_emit_op_u8
        - Src:             'libregexp.c:2048,13'
          Dst:             re_parse_char_class
        - Src:             'libregexp.c:2047,13'
          Dst:             re_emit_op
        - Src:             'libregexp.c:2048,13'
          Dst:             re_parse_char_class
        - Src:             'libregexp.c:2051,13'
          Dst:             re_emit_op
        - Src:             'libregexp.c:2056,20'
          Dst:             re_parse_error
        - Src:             'libregexp.c:2060,13'
          Dst:             get_class_atom
        - Src:             'libregexp.c:2067,13'
          Dst:             re_emit_op
        - Src:             'libregexp.c:2070,19'
          Dst:             re_emit_string_list
        - Src:             'libregexp.c:2071,13'
          Dst:             re_string_list_free
        - Src:             'libregexp.c:2076,21'
          Dst:             lre_canonicalize
        - Src:             'libregexp.c:2077,13'
          Dst:             re_emit_char
        - Src:             'libregexp.c:2080,13'
          Dst:             re_emit_op
        - Src:             'libregexp.c:2108,22'
          Dst:             is_digit
        - Src:             'libregexp.c:2114,29'
          Dst:             parse_digits
        - Src:             'libregexp.c:2118,25'
          Dst:             is_digit
        - Src:             'libregexp.c:2119,37'
          Dst:             parse_digits
        - Src:             'libregexp.c:2122,36'
          Dst:             re_parse_error
        - Src:             'libregexp.c:2133,21'
          Dst:             re_parse_expect
        - Src:             'libregexp.c:2149,38'
          Dst:             re_need_check_advance
        - Src:             'libregexp.c:2159,29'
          Dst:             dbuf_insert
        - Src:             'libregexp.c:2169,29'
          Dst:             dbuf_insert
        - Src:             'libregexp.c:2173,25'
          Dst:             put_u32
        - Src:             'libregexp.c:2178,29'
          Dst:             re_emit_op_u8
        - Src:             'libregexp.c:2181,29'
          Dst:             re_emit_goto
        - Src:             'libregexp.c:2183,29'
          Dst:             dbuf_insert
        - Src:             'libregexp.c:2188,25'
          Dst:             put_u32
        - Src:             'libregexp.c:2192,25'
          Dst:             put_u32
        - Src:             'libregexp.c:2197,29'
          Dst:             re_emit_op_u8
        - Src:             'libregexp.c:2199,25'
          Dst:             re_emit_goto_u8
        - Src:             'libregexp.c:2203,21'
          Dst:             re_emit_goto
        - Src:             'libregexp.c:2209,29'
          Dst:             dbuf_insert
        - Src:             'libregexp.c:2213,25'
          Dst:             put_u32
        - Src:             'libregexp.c:2215,25'
          Dst:             re_emit_goto_u8
        - Src:             'libregexp.c:2219,25'
          Dst:             re_emit_op_u32
        - Src:             'libregexp.c:2224,25'
          Dst:             dbuf_put_self
        - Src:             'libregexp.c:2222,29'
          Dst:             re_emit_op_u8
        - Src:             'libregexp.c:2224,25'
          Dst:             dbuf_put_self
        - Src:             'libregexp.c:2226,29'
          Dst:             re_emit_op_u8
        - Src:             'libregexp.c:2227,25'
          Dst:             re_emit_goto
        - Src:             'libregexp.c:2229,25'
          Dst:             re_emit_op_u8
        - Src:             'libregexp.c:2230,25'
          Dst:             dbuf_put_u32
        - Src:             'libregexp.c:2233,25'
          Dst:             re_emit_op_u32
        - Src:             'libregexp.c:2238,25'
          Dst:             dbuf_put_self
        - Src:             'libregexp.c:2236,29'
          Dst:             re_emit_op_u8
        - Src:             'libregexp.c:2238,25'
          Dst:             dbuf_put_self
        - Src:             'libregexp.c:2240,29'
          Dst:             re_emit_op_u8
        - Src:             'libregexp.c:2241,25'
          Dst:             re_emit_goto_u8
        - Src:             'libregexp.c:2254,12'
          Dst:             re_parse_out_of_memory
    - functionName:    re_emit_op
      functionSourceFile: '/src/quickjs/libregexp.c'
      linkageType:     InternalLinkage
      functionLinenumber: 590
      functionLinenumberEnd: 592
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          13
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - dbuf_putc
      functionUses:    13
      BranchProfiles:  []
      Callsites:
        - Src:             'libregexp.c:591,5'
          Dst:             dbuf_putc
    - functionName:    re_parse_disjunction
      functionSourceFile: '/src/quickjs/libregexp.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2292
      functionLinenumberEnd: 2323
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         17
      ICount:          99
      EdgeCount:       23
      CyclomaticComplexity: 8
      functionsReached:
        - dbuf_insert
        - lre_check_stack_overflow
        - put_u32
        - re_emit_op_u32
        - re_parse_alternative
        - re_parse_error
        - re_parse_out_of_memory
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'libregexp.c:2295,9'
          Dst:             lre_check_stack_overflow
        - Src:             'libregexp.c:2296,16'
          Dst:             re_parse_error
        - Src:             'libregexp.c:2299,9'
          Dst:             re_parse_alternative
        - Src:             'libregexp.c:2307,13'
          Dst:             dbuf_insert
        - Src:             'libregexp.c:2308,20'
          Dst:             re_parse_out_of_memory
        - Src:             'libregexp.c:2311,9'
          Dst:             put_u32
        - Src:             'libregexp.c:2313,15'
          Dst:             re_emit_op_u32
        - Src:             'libregexp.c:2315,13'
          Dst:             re_parse_alternative
        - Src:             'libregexp.c:2320,9'
          Dst:             put_u32
    - functionName:    dbuf_error
      functionSourceFile: '/src/quickjs/./cutils.h'
      linkageType:     InternalLinkage
      functionLinenumber: 322
      functionLinenumberEnd: 323
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          6
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    re_emit_op_u8
      functionSourceFile: '/src/quickjs/libregexp.c'
      linkageType:     InternalLinkage
      functionLinenumber: 624
      functionLinenumberEnd: 627
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          15
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - dbuf_putc
      functionUses:    12
      BranchProfiles:  []
      Callsites:
        - Src:             'libregexp.c:625,5'
          Dst:             dbuf_putc
        - Src:             'libregexp.c:626,5'
          Dst:             dbuf_putc
    - functionName:    dbuf_insert
      functionSourceFile: '/src/quickjs/libregexp.c'
      linkageType:     InternalLinkage
      functionLinenumber: 121
      functionLinenumberEnd: 127
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          36
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - dbuf_claim
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'libregexp.c:122,9'
          Dst:             dbuf_claim
    - functionName:    re_parse_alternative
      functionSourceFile: '/src/quickjs/libregexp.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2258
      functionLinenumberEnd: 2289
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         18
      ICount:          88
      EdgeCount:       24
      CyclomaticComplexity: 8
      functionsReached:
        - dbuf_claim
        - re_parse_term
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'libregexp.c:2271,15'
          Dst:             re_parse_term
        - Src:             'libregexp.c:2279,17'
          Dst:             dbuf_claim
    - functionName:    lre_get_groupnames
      functionSourceFile: '/src/quickjs/libregexp.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3200
      functionLinenumberEnd: 3206
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          30
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - get_u32
        - lre_get_flags
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'libregexp.c:3202,10'
          Dst:             lre_get_flags
        - Src:             'libregexp.c:3204,23'
          Dst:             get_u32
    - functionName:    lre_get_flags
      functionSourceFile: '/src/quickjs/libregexp.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3193
      functionLinenumberEnd: 3194
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          12
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - get_u16
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'libregexp.c:3194,12'
          Dst:             get_u16
    - functionName:    lre_get_capture_count
      functionSourceFile: '/src/quickjs/libregexp.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3188
      functionLinenumberEnd: 3189
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          7
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lre_exec_backtrack
      functionSourceFile: '/src/quickjs/libregexp.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2653
      functionLinenumberEnd: 3139
      functionDepth:   0
      returnType:      size_t
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         462
      ICount:          2252
      EdgeCount:       628
      CyclomaticComplexity: 168
      functionsReached:
        - __assert_fail
        - abort
        - from_surrogate
        - get_u16
        - get_u32
        - is_hi_surrogate
        - is_line_terminator
        - is_lo_surrogate
        - is_word_char
        - lre_canonicalize
        - lre_poll_timeout
        - stack_realloc
      functionUses:    1
      BranchProfiles:
        - Branch String:   'libregexp.c:2726,9'
          Branch Sides:    []
      Callsites:
        - Src:             'libregexp.c:2811,19'
          Dst:             get_u32
        - Src:             'libregexp.c:2816,19'
          Dst:             get_u16
        - Src:             'libregexp.c:2821,13'
          Dst:             is_hi_surrogate
        - Src:             'libregexp.c:2821,13'
          Dst:             is_lo_surrogate
        - Src:             'libregexp.c:2821,13'
          Dst:             from_surrogate
        - Src:             'libregexp.c:2823,21'
          Dst:             lre_canonicalize
        - Src:             'libregexp.c:2833,23'
          Dst:             get_u32
        - Src:             'libregexp.c:2841,17'
          Dst:             stack_realloc
        - Src:             'libregexp.c:2852,19'
          Dst:             get_u32
        - Src:             'libregexp.c:2867,13'
          Dst:             stack_realloc
        - Src:             'libregexp.c:2876,19'
          Dst:             get_u32
        - Src:             'libregexp.c:2878,17'
          Dst:             lre_poll_timeout
        - Src:             'libregexp.c:2887,13'
          Dst:             is_lo_surrogate
        - Src:             'libregexp.c:2887,13'
          Dst:             is_hi_surrogate
        - Src:             'libregexp.c:2887,13'
          Dst:             from_surrogate
        - Src:             'libregexp.c:2888,18'
          Dst:             is_line_terminator
        - Src:             'libregexp.c:2897,13'
          Dst:             is_hi_surrogate
        - Src:             'libregexp.c:2897,13'
          Dst:             is_lo_surrogate
        - Src:             'libregexp.c:2897,13'
          Dst:             from_surrogate
        - Src:             'libregexp.c:2898,18'
          Dst:             is_line_terminator
        - Src:             'libregexp.c:2904,13'
          Dst:             is_hi_surrogate
        - Src:             'libregexp.c:2904,13'
          Dst:             is_lo_surrogate
        - Src:             'libregexp.c:2904,13'
          Dst:             from_surrogate
        - Src:             'libregexp.c:2905,17'
          Dst:             is_line_terminator
        - Src:             'libregexp.c:2911,13'
          Dst:             is_hi_surrogate
        - Src:             'libregexp.c:2911,13'
          Dst:             is_lo_surrogate
        - Src:             'libregexp.c:2916,13'
          Dst:             __assert_fail
        - Src:             'libregexp.c:2918,13'
          Dst:             stack_realloc
        - Src:             'libregexp.c:2926,17'
          Dst:             __assert_fail
        - Src:             'libregexp.c:2927,17'
          Dst:             stack_realloc
        - Src:             'libregexp.c:2930,21'
          Dst:             stack_realloc
        - Src:             'libregexp.c:2932,21'
          Dst:             stack_realloc
        - Src:             'libregexp.c:2939,19'
          Dst:             get_u32
        - Src:             'libregexp.c:2941,13'
          Dst:             stack_realloc
        - Src:             'libregexp.c:2947,23'
          Dst:             get_u32
        - Src:             'libregexp.c:2951,17'
          Dst:             stack_realloc
        - Src:             'libregexp.c:2954,25'
          Dst:             lre_poll_timeout
        - Src:             'libregexp.c:2962,13'
          Dst:             stack_realloc
        - Src:             'libregexp.c:2982,21'
          Dst:             is_lo_surrogate
        - Src:             'libregexp.c:2982,21'
          Dst:             is_hi_surrogate
        - Src:             'libregexp.c:2982,21'
          Dst:             from_surrogate
        - Src:             'libregexp.c:2984,29'
          Dst:             lre_canonicalize
        - Src:             'libregexp.c:2985,26'
          Dst:             is_word_char
        - Src:             'libregexp.c:2991,21'
          Dst:             is_hi_surrogate
        - Src:             'libregexp.c:2991,21'
          Dst:             is_lo_surrogate
        - Src:             'libregexp.c:2991,21'
          Dst:             from_surrogate
        - Src:             'libregexp.c:2993,29'
          Dst:             lre_canonicalize
        - Src:             'libregexp.c:2994,26'
          Dst:             is_word_char
        - Src:             'libregexp.c:3021,25'
          Dst:             is_hi_surrogate
        - Src:             'libregexp.c:3021,25'
          Dst:             is_lo_surrogate
        - Src:             'libregexp.c:3021,25'
          Dst:             from_surrogate
        - Src:             'libregexp.c:3022,25'
          Dst:             is_hi_surrogate
        - Src:             'libregexp.c:3022,25'
          Dst:             is_lo_surrogate
        - Src:             'libregexp.c:3022,25'
          Dst:             from_surrogate
        - Src:             'libregexp.c:3024,34'
          Dst:             lre_canonicalize
        - Src:             'libregexp.c:3025,34'
          Dst:             lre_canonicalize
        - Src:             'libregexp.c:3035,25'
          Dst:             is_lo_surrogate
        - Src:             'libregexp.c:3035,25'
          Dst:             is_hi_surrogate
        - Src:             'libregexp.c:3035,25'
          Dst:             from_surrogate
        - Src:             'libregexp.c:3036,25'
          Dst:             is_lo_surrogate
        - Src:             'libregexp.c:3036,25'
          Dst:             is_hi_surrogate
        - Src:             'libregexp.c:3036,25'
          Dst:             from_surrogate
        - Src:             'libregexp.c:3038,34'
          Dst:             lre_canonicalize
        - Src:             'libregexp.c:3039,34'
          Dst:             lre_canonicalize
        - Src:             'libregexp.c:3053,21'
          Dst:             get_u16
        - Src:             'libregexp.c:3057,17'
          Dst:             is_hi_surrogate
        - Src:             'libregexp.c:3057,17'
          Dst:             is_lo_surrogate
        - Src:             'libregexp.c:3057,17'
          Dst:             from_surrogate
        - Src:             'libregexp.c:3059,25'
          Dst:             lre_canonicalize
        - Src:             'libregexp.c:3062,23'
          Dst:             get_u16
        - Src:             'libregexp.c:3066,24'
          Dst:             get_u16
        - Src:             'libregexp.c:3074,27'
          Dst:             get_u16
        - Src:             'libregexp.c:3075,28'
          Dst:             get_u16
        - Src:             'libregexp.c:3094,21'
          Dst:             get_u16
        - Src:             'libregexp.c:3098,17'
          Dst:             is_hi_surrogate
        - Src:             'libregexp.c:3098,17'
          Dst:             is_lo_surrogate
        - Src:             'libregexp.c:3098,17'
          Dst:             from_surrogate
        - Src:             'libregexp.c:3100,25'
          Dst:             lre_canonicalize
        - Src:             'libregexp.c:3103,23'
          Dst:             get_u32
        - Src:             'libregexp.c:3107,24'
          Dst:             get_u32
        - Src:             'libregexp.c:3112,27'
          Dst:             get_u32
        - Src:             'libregexp.c:3113,28'
          Dst:             get_u32
        - Src:             'libregexp.c:3130,13'
          Dst:             is_lo_surrogate
        - Src:             'libregexp.c:3130,13'
          Dst:             is_hi_surrogate
        - Src:             'libregexp.c:3136,13'
          Dst:             abort
    - functionName:    lre_exec
      functionSourceFile: '/src/quickjs/libregexp.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3147
      functionLinenumberEnd: 3185
      functionDepth:   0
      returnType:      int
      argCount:        7
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         25
      ICount:          152
      EdgeCount:       34
      CyclomaticComplexity: 11
      functionsReached:
        - is_hi_surrogate
        - is_lo_surrogate
        - lre_exec_backtrack
        - lre_get_flags
        - lre_realloc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libregexp.c:3153,16'
          Dst:             lre_get_flags
        - Src:             'libregexp.c:3175,13'
          Dst:             is_lo_surrogate
        - Src:             'libregexp.c:3175,36'
          Dst:             is_hi_surrogate
        - Src:             'libregexp.c:3180,11'
          Dst:             lre_exec_backtrack
        - Src:             'libregexp.c:3183,9'
          Dst:             lre_realloc
    - functionName:    compute_stack_size
      functionSourceFile: '/src/quickjs/libregexp.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2328
      functionLinenumberEnd: 2373
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         33
      ICount:          150
      EdgeCount:       36
      CyclomaticComplexity: 5
      functionsReached:
        - __assert_fail
        - get_u16
      functionUses:    1
      BranchProfiles:
        - Branch String:   'libregexp.c:2342,9'
          Branch Sides:    []
      Callsites:
        - Src:             'libregexp.c:2340,9'
          Dst:             __assert_fail
        - Src:             'libregexp.c:2341,9'
          Dst:             __assert_fail
        - Src:             'libregexp.c:2355,13'
          Dst:             __assert_fail
        - Src:             'libregexp.c:2361,19'
          Dst:             get_u16
        - Src:             'libregexp.c:2366,19'
          Dst:             get_u16
    - functionName:    lre_bytecode_realloc
      functionSourceFile: '/src/quickjs/libregexp.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2376
      functionLinenumberEnd: 2384
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          24
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - lre_realloc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libregexp.c:2382,16'
          Dst:             lre_realloc
    - functionName:    lre_compile
      functionSourceFile: '/src/quickjs/libregexp.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2393
      functionLinenumberEnd: 2482
      functionDepth:   0
      returnType:      'N/A'
      argCount:        7
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - size_t
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         19
      ICount:          172
      EdgeCount:       25
      CyclomaticComplexity: 8
      functionsReached:
        - compute_stack_size
        - dbuf_error
        - dbuf_free
        - dbuf_init2
        - dbuf_put
        - dbuf_put_u16
        - dbuf_put_u32
        - dbuf_putc
        - lre_bytecode_realloc
        - lre_get_flags
        - lre_realloc
        - pstrcpy
        - put_u16
        - put_u32
        - re_emit_op
        - re_emit_op_u32
        - re_emit_op_u8
        - re_parse_disjunction
        - re_parse_error
        - re_parse_out_of_memory
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libregexp.c:2414,5'
          Dst:             dbuf_init2
        - Src:             'libregexp.c:2414,5'
          Dst:             lre_bytecode_realloc
        - Src:             'libregexp.c:2415,5'
          Dst:             dbuf_init2
        - Src:             'libregexp.c:2415,5'
          Dst:             lre_realloc
        - Src:             'libregexp.c:2417,5'
          Dst:             dbuf_put_u16
        - Src:             'libregexp.c:2418,5'
          Dst:             dbuf_putc
        - Src:             'libregexp.c:2419,5'
          Dst:             dbuf_putc
        - Src:             'libregexp.c:2420,5'
          Dst:             dbuf_put_u32
        - Src:             'libregexp.c:2427,9'
          Dst:             re_emit_op_u32
        - Src:             'libregexp.c:2428,9'
          Dst:             re_emit_op
        - Src:             'libregexp.c:2429,9'
          Dst:             re_emit_op_u32
        - Src:             'libregexp.c:2431,5'
          Dst:             re_emit_op_u8
        - Src:             'libregexp.c:2433,9'
          Dst:             re_parse_disjunction
        - Src:             'libregexp.c:2435,9'
          Dst:             dbuf_free
        - Src:             'libregexp.c:2436,9'
          Dst:             dbuf_free
        - Src:             'libregexp.c:2437,9'
          Dst:             pstrcpy
        - Src:             'libregexp.c:2442,5'
          Dst:             re_emit_op_u8
        - Src:             'libregexp.c:2444,5'
          Dst:             re_emit_op
        - Src:             'libregexp.c:2447,9'
          Dst:             re_parse_error
        - Src:             'libregexp.c:2451,9'
          Dst:             dbuf_error
        - Src:             'libregexp.c:2452,9'
          Dst:             re_parse_out_of_memory
        - Src:             'libregexp.c:2456,18'
          Dst:             compute_stack_size
        - Src:             'libregexp.c:2458,9'
          Dst:             re_parse_error
        - Src:             'libregexp.c:2464,5'
          Dst:             put_u32
        - Src:             'libregexp.c:2469,9'
          Dst:             dbuf_put
        - Src:             'libregexp.c:2471,17'
          Dst:             lre_get_flags
        - Src:             'libregexp.c:2470,9'
          Dst:             put_u16
        - Src:             'libregexp.c:2473,5'
          Dst:             dbuf_free
    - functionName:    exchange_bytes
      functionSourceFile: '/src/quickjs/cutils.c'
      linkageType:     InternalLinkage
      functionLinenumber: 345
      functionLinenumberEnd: 354
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         35
      ICount:          194
      EdgeCount:       47
      CyclomaticComplexity: 14
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    exchange_one_byte
      functionSourceFile: '/src/quickjs/cutils.c'
      linkageType:     InternalLinkage
      functionLinenumber: 356
      functionLinenumberEnd: 362
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          8
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    exchange_int16s
      functionSourceFile: '/src/quickjs/cutils.c'
      linkageType:     InternalLinkage
      functionLinenumber: 364
      functionLinenumberEnd: 373
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         35
      ICount:          204
      EdgeCount:       47
      CyclomaticComplexity: 14
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    exchange_one_int16
      functionSourceFile: '/src/quickjs/cutils.c'
      linkageType:     InternalLinkage
      functionLinenumber: 375
      functionLinenumberEnd: 381
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          8
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    exchange_int32s
      functionSourceFile: '/src/quickjs/cutils.c'
      linkageType:     InternalLinkage
      functionLinenumber: 383
      functionLinenumberEnd: 392
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         25
      ICount:          154
      EdgeCount:       33
      CyclomaticComplexity: 10
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    exchange_one_int32
      functionSourceFile: '/src/quickjs/cutils.c'
      linkageType:     InternalLinkage
      functionLinenumber: 394
      functionLinenumberEnd: 400
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          8
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    exchange_int64s
      functionSourceFile: '/src/quickjs/cutils.c'
      linkageType:     InternalLinkage
      functionLinenumber: 402
      functionLinenumberEnd: 411
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         25
      ICount:          154
      EdgeCount:       33
      CyclomaticComplexity: 10
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    exchange_one_int64
      functionSourceFile: '/src/quickjs/cutils.c'
      linkageType:     InternalLinkage
      functionLinenumber: 413
      functionLinenumberEnd: 419
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          8
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    exchange_int128s
      functionSourceFile: '/src/quickjs/cutils.c'
      linkageType:     InternalLinkage
      functionLinenumber: 421
      functionLinenumberEnd: 433
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         12
      ICount:          80
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    exchange_one_int128
      functionSourceFile: '/src/quickjs/cutils.c'
      linkageType:     InternalLinkage
      functionLinenumber: 435
      functionLinenumberEnd: 444
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          12
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    med3
      functionSourceFile: '/src/quickjs/cutils.c'
      linkageType:     InternalLinkage
      functionLinenumber: 515
      functionLinenumberEnd: 518
      functionDepth:   0
      returnType:      'N/A'
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         14
      ICount:          66
      EdgeCount:       19
      CyclomaticComplexity: 7
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    heapsortx
      functionSourceFile: '/src/quickjs/cutils.c'
      linkageType:     InternalLinkage
      functionLinenumber: 481
      functionLinenumberEnd: 512
      functionDepth:   0
      returnType:      void
      argCount:        5
      argTypes:
        - 'N/A'
        - size_t
        - size_t
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         41
      ICount:          190
      EdgeCount:       55
      CyclomaticComplexity: 16
      functionsReached:
        - exchange_func
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'cutils.c:484,23'
          Dst:             exchange_func
    - functionName:    exchange_func
      functionSourceFile: '/src/quickjs/cutils.c'
      linkageType:     InternalLinkage
      functionLinenumber: 446
      functionLinenumberEnd: 478
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         23
      ICount:          89
      EdgeCount:       26
      CyclomaticComplexity: 5
      functionsReached: []
      functionUses:    3
      BranchProfiles:
        - Branch String:   'cutils.c:447,5'
          Branch Sides:    []
      Callsites:       []
    - functionName:    rqsort
      functionSourceFile: '/src/quickjs/cutils.c'
      linkageType:     InternalLinkage
      functionLinenumber: 523
      functionLinenumberEnd: 639
      functionDepth:   0
      returnType:      void
      argCount:        5
      argTypes:
        - 'N/A'
        - size_t
        - size_t
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         65
      ICount:          347
      EdgeCount:       87
      CyclomaticComplexity: 24
      functionsReached:
        - exchange_func
        - heapsortx
        - med3
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'cutils.c:528,23'
          Dst:             exchange_func
        - Src:             'cutils.c:529,29'
          Dst:             exchange_func
        - Src:             'cutils.c:548,17'
          Dst:             heapsortx
        - Src:             'cutils.c:555,17'
          Dst:             med3
    - functionName:    unicode_from_utf8
      functionSourceFile: '/src/quickjs/cutils.c'
      linkageType:     InternalLinkage
      functionLinenumber: 262
      functionLinenumberEnd: 314
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         18
      ICount:          90
      EdgeCount:       24
      CyclomaticComplexity: 8
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    unicode_to_utf8
      functionSourceFile: '/src/quickjs/cutils.c'
      linkageType:     InternalLinkage
      functionLinenumber: 217
      functionLinenumberEnd: 249
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         19
      ICount:          120
      EdgeCount:       24
      CyclomaticComplexity: 7
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    dbuf_free
      functionSourceFile: '/src/quickjs/cutils.c'
      linkageType:     InternalLinkage
      functionLinenumber: 205
      functionLinenumberEnd: 212
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          30
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    5
      BranchProfiles:  []
      Callsites:       []
    - functionName:    dbuf_printf
      functionSourceFile: '/src/quickjs/cutils.c'
      linkageType:     InternalLinkage
      functionLinenumber: 179
      functionLinenumberEnd: 202
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         10
      ICount:          64
      EdgeCount:       13
      CyclomaticComplexity: 5
      functionsReached:
        - dbuf_claim
        - dbuf_put
        - vsnprintf
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'cutils.c:185,11'
          Dst:             vsnprintf
        - Src:             'cutils.c:191,16'
          Dst:             dbuf_put
        - Src:             'cutils.c:193,13'
          Dst:             dbuf_claim
        - Src:             'cutils.c:196,9'
          Dst:             vsnprintf
    - functionName:    dbuf_put
      functionSourceFile: '/src/quickjs/cutils.c'
      linkageType:     InternalLinkage
      functionLinenumber: 131
      functionLinenumberEnd: 139
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          45
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - dbuf_claim
        - memcpy_no_ub
      functionUses:    8
      BranchProfiles:  []
      Callsites:
        - Src:             'cutils.c:133,13'
          Dst:             dbuf_claim
        - Src:             'cutils.c:136,5'
          Dst:             memcpy_no_ub
    - functionName:    dbuf_claim
      functionSourceFile: '/src/quickjs/cutils.c'
      linkageType:     InternalLinkage
      functionLinenumber: 105
      functionLinenumberEnd: 128
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         17
      ICount:          82
      EdgeCount:       23
      CyclomaticComplexity: 8
      functionsReached: []
      functionUses:    6
      BranchProfiles:  []
      Callsites:       []
    - functionName:    memcpy_no_ub
      functionSourceFile: '/src/quickjs/./cutils.h'
      linkageType:     InternalLinkage
      functionLinenumber: 75
      functionLinenumberEnd: 78
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         4
      ICount:          16
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    dbuf_putstr
      functionSourceFile: '/src/quickjs/cutils.c'
      linkageType:     InternalLinkage
      functionLinenumber: 173
      functionLinenumberEnd: 174
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          13
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - dbuf_put
        - strlen
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'cutils.c:174,46'
          Dst:             strlen
        - Src:             'cutils.c:174,12'
          Dst:             dbuf_put
    - functionName:    __dbuf_put_u64
      functionSourceFile: '/src/quickjs/cutils.c'
      linkageType:     InternalLinkage
      functionLinenumber: 168
      functionLinenumberEnd: 169
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          14
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - dbuf_put
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'cutils.c:169,12'
          Dst:             dbuf_put
    - functionName:    __dbuf_put_u32
      functionSourceFile: '/src/quickjs/cutils.c'
      linkageType:     InternalLinkage
      functionLinenumber: 163
      functionLinenumberEnd: 164
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          14
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - dbuf_put
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'cutils.c:164,12'
          Dst:             dbuf_put
    - functionName:    __dbuf_put_u16
      functionSourceFile: '/src/quickjs/cutils.c'
      linkageType:     InternalLinkage
      functionLinenumber: 158
      functionLinenumberEnd: 159
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - short
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          14
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - dbuf_put
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'cutils.c:159,12'
          Dst:             dbuf_put
    - functionName:    __dbuf_putc
      functionSourceFile: '/src/quickjs/cutils.c'
      linkageType:     InternalLinkage
      functionLinenumber: 153
      functionLinenumberEnd: 154
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          14
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - dbuf_put
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'cutils.c:154,12'
          Dst:             dbuf_put
    - functionName:    dbuf_put_self
      functionSourceFile: '/src/quickjs/cutils.c'
      linkageType:     InternalLinkage
      functionLinenumber: 142
      functionLinenumberEnd: 150
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          46
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - dbuf_claim
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'cutils.c:144,13'
          Dst:             dbuf_claim
    - functionName:    dbuf_init
      functionSourceFile: '/src/quickjs/cutils.c'
      linkageType:     InternalLinkage
      functionLinenumber: 99
      functionLinenumberEnd: 101
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          12
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - dbuf_init2
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'cutils.c:100,5'
          Dst:             dbuf_init2
    - functionName:    dbuf_init2
      functionSourceFile: '/src/quickjs/cutils.c'
      linkageType:     InternalLinkage
      functionLinenumber: 90
      functionLinenumberEnd: 96
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         4
      ICount:          20
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    5
      BranchProfiles:  []
      Callsites:       []
    - functionName:    dbuf_default_realloc
      functionSourceFile: '/src/quickjs/cutils.c'
      linkageType:     InternalLinkage
      functionLinenumber: 85
      functionLinenumberEnd: 86
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          12
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - realloc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'cutils.c:86,12'
          Dst:             realloc
    - functionName:    has_suffix
      functionSourceFile: '/src/quickjs/cutils.c'
      linkageType:     InternalLinkage
      functionLinenumber: 76
      functionLinenumberEnd: 79
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          32
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - memcmp
        - strlen
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'cutils.c:77,18'
          Dst:             strlen
        - Src:             'cutils.c:78,19'
          Dst:             strlen
        - Src:             'cutils.c:79,29'
          Dst:             memcmp
    - functionName:    strstart
      functionSourceFile: '/src/quickjs/cutils.c'
      linkageType:     InternalLinkage
      functionLinenumber: 60
      functionLinenumberEnd: 73
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         12
      ICount:          50
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    pstrcat
      functionSourceFile: '/src/quickjs/cutils.c'
      linkageType:     InternalLinkage
      functionLinenumber: 51
      functionLinenumberEnd: 56
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          29
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - pstrcpy
        - strlen
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'cutils.c:53,11'
          Dst:             strlen
        - Src:             'cutils.c:55,9'
          Dst:             pstrcpy
    - functionName:    pstrcpy
      functionSourceFile: '/src/quickjs/cutils.c'
      linkageType:     InternalLinkage
      functionLinenumber: 33
      functionLinenumberEnd: 47
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         10
      ICount:          49
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    unicode_compose_pair
      functionSourceFile: '/src/quickjs/libunicode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 998
      functionLinenumberEnd: 1030
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         15
      ICount:          85
      EdgeCount:       19
      CyclomaticComplexity: 6
      functionsReached:
        - unicode_decomp_entry
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libunicode.c:1017,9'
          Dst:             unicode_decomp_entry
    - functionName:    unicode_decomp_entry
      functionSourceFile: '/src/quickjs/libunicode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 830
      functionLinenumberEnd: 963
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - int
        - int
        - int
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         105
      ICount:          574
      EdgeCount:       126
      CyclomaticComplexity: 23
      functionsReached:
        - unicode_get16
        - unicode_get_lower_simple
        - unicode_get_short_code
      functionUses:    2
      BranchProfiles:
        - Branch String:   'libunicode.c:840,9'
          Branch Sides:    []
      Callsites:
        - Src:             'libunicode.c:851,31'
          Dst:             unicode_get16
        - Src:             'libunicode.c:863,26'
          Dst:             unicode_get16
        - Src:             'libunicode.c:880,31'
          Dst:             unicode_get_short_code
        - Src:             'libunicode.c:898,22'
          Dst:             unicode_get16
        - Src:             'libunicode.c:919,25'
          Dst:             unicode_get16
        - Src:             'libunicode.c:933,28'
          Dst:             unicode_get16
        - Src:             'libunicode.c:935,22'
          Dst:             unicode_get_short_code
        - Src:             'libunicode.c:938,22'
          Dst:             unicode_get16
        - Src:             'libunicode.c:939,22'
          Dst:             unicode_get16
        - Src:             'libunicode.c:941,22'
          Dst:             unicode_get16
        - Src:             'libunicode.c:948,21'
          Dst:             unicode_get_short_code
        - Src:             'libunicode.c:952,21'
          Dst:             unicode_get16
        - Src:             'libunicode.c:956,21'
          Dst:             unicode_get_lower_simple
        - Src:             'libunicode.c:958,22'
          Dst:             unicode_get_short_code
    - functionName:    unicode_get16
      functionSourceFile: '/src/quickjs/libunicode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 823
      functionLinenumberEnd: 824
      functionDepth:   0
      returnType:      short
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          5
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    9
      BranchProfiles:  []
      Callsites:       []
    - functionName:    unicode_get_short_code
      functionSourceFile: '/src/quickjs/libunicode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 802
      functionLinenumberEnd: 811
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          29
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    unicode_get_lower_simple
      functionSourceFile: '/src/quickjs/libunicode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 814
      functionLinenumberEnd: 819
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          32
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    put_u32
      functionSourceFile: '/src/quickjs/./cutils.h'
      linkageType:     InternalLinkage
      functionLinenumber: 190
      functionLinenumberEnd: 192
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          5
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    unicode_decomp_char
      functionSourceFile: '/src/quickjs/libunicode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 969
      functionLinenumberEnd: 994
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         14
      ICount:          67
      EdgeCount:       18
      CyclomaticComplexity: 6
      functionsReached:
        - unicode_decomp_entry
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libunicode.c:990,20'
          Dst:             unicode_decomp_entry
    - functionName:    dbuf_put_u32
      functionSourceFile: '/src/quickjs/./cutils.h'
      linkageType:     InternalLinkage
      functionLinenumber: 298
      functionLinenumberEnd: 306
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          34
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - __dbuf_put_u32
        - put_u32
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             './cutils.h:300,16'
          Dst:             __dbuf_put_u32
        - Src:             './cutils.h:302,9'
          Dst:             put_u32
    - functionName:    point_cmp
      functionSourceFile: '/src/quickjs/libunicode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 616
      functionLinenumberEnd: 619
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          7
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    get_le24
      functionSourceFile: '/src/quickjs/libunicode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 264
      functionLinenumberEnd: 265
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          11
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    get_index_pos
      functionSourceFile: '/src/quickjs/libunicode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 273
      functionLinenumberEnd: 302
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         14
      ICount:          78
      EdgeCount:       18
      CyclomaticComplexity: 6
      functionsReached:
        - get_le24
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'libunicode.c:278,9'
          Dst:             get_le24
        - Src:             'libunicode.c:285,12'
          Dst:             get_le24
        - Src:             'libunicode.c:291,13'
          Dst:             get_le24
        - Src:             'libunicode.c:299,9'
          Dst:             get_le24
    - functionName:    lre_case_conv1
      functionSourceFile: '/src/quickjs/libunicode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 52
      functionLinenumberEnd: 56
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          16
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - lre_case_conv
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'libunicode.c:54,5'
          Dst:             lre_case_conv
    - functionName:    lre_case_conv
      functionSourceFile: '/src/quickjs/libunicode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 157
      functionLinenumberEnd: 190
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         25
      ICount:          104
      EdgeCount:       34
      CyclomaticComplexity: 11
      functionsReached:
        - lre_case_conv_entry
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libunicode.c:184,24'
          Dst:             lre_case_conv_entry
    - functionName:    lre_case_conv_entry
      functionSourceFile: '/src/quickjs/libunicode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 60
      functionLinenumberEnd: 149
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - int
        - int
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         52
      ICount:          307
      EdgeCount:       66
      CyclomaticComplexity: 16
      functionsReached:
        - lre_case_conv1
      functionUses:    3
      BranchProfiles:
        - Branch String:   'libunicode.c:66,5'
          Branch Sides:    []
      Callsites:
        - Src:             'libunicode.c:128,22'
          Dst:             lre_case_conv1
        - Src:             'libunicode.c:129,22'
          Dst:             lre_case_conv1
        - Src:             'libunicode.c:141,22'
          Dst:             lre_case_conv1
        - Src:             'libunicode.c:142,22'
          Dst:             lre_case_conv1
        - Src:             'libunicode.c:143,22'
          Dst:             lre_case_conv1
    - functionName:    unicode_sequence_prop1
      functionSourceFile: '/src/quickjs/libunicode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1922
      functionLinenumberEnd: 2111
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         147
      ICount:          778
      EdgeCount:       192
      CyclomaticComplexity: 47
      functionsReached:
        - __assert_fail
        - unicode_prop1
        - unicode_sequence_prop1
      functionUses:    7
      BranchProfiles:
        - Branch String:   'libunicode.c:1926,5'
          Branch Sides:    []
        - Branch String:   'libunicode.c:2041,25'
          Branch Sides:    []
      Callsites:
        - Src:             'libunicode.c:2101,19'
          Dst:             unicode_sequence_prop1
        - Src:             'libunicode.c:1928,13'
          Dst:             unicode_prop1
        - Src:             'libunicode.c:1939,13'
          Dst:             unicode_prop1
        - Src:             'libunicode.c:1951,13'
          Dst:             unicode_prop1
        - Src:             'libunicode.c:1964,13'
          Dst:             unicode_prop1
        - Src:             'libunicode.c:2004,25'
          Dst:             __assert_fail
        - Src:             'libunicode.c:2086,13'
          Dst:             unicode_prop1
        - Src:             'libunicode.c:2101,19'
          Dst:             unicode_sequence_prop1
        - Src:             'libunicode.c:2101,19'
          Dst:             unicode_sequence_prop1
        - Src:             'libunicode.c:2101,19'
          Dst:             unicode_sequence_prop1
        - Src:             'libunicode.c:2101,19'
          Dst:             unicode_sequence_prop1
        - Src:             'libunicode.c:2101,19'
          Dst:             unicode_sequence_prop1
    - functionName:    unicode_prop1
      functionSourceFile: '/src/quickjs/libunicode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1459
      functionLinenumberEnd: 1503
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         24
      ICount:          129
      EdgeCount:       32
      CyclomaticComplexity: 10
      functionsReached:
        - cr_add_interval
      functionUses:    7
      BranchProfiles:  []
      Callsites:
        - Src:             'libunicode.c:1481,21'
          Dst:             cr_add_interval
        - Src:             'libunicode.c:1497,17'
          Dst:             cr_add_interval
    - functionName:    cr_add_interval
      functionSourceFile: '/src/quickjs/./libunicode.h'
      linkageType:     InternalLinkage
      functionLinenumber: 67
      functionLinenumberEnd: 75
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          51
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - cr_realloc
      functionUses:    17
      BranchProfiles:  []
      Callsites:
        - Src:             './libunicode.h:69,13'
          Dst:             cr_realloc
    - functionName:    cr_realloc
      functionSourceFile: '/src/quickjs/libunicode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 407
      functionLinenumberEnd: 421
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         8
      ICount:          47
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - max_int
      functionUses:    6
      BranchProfiles:  []
      Callsites:
        - Src:             'libunicode.c:412,20'
          Dst:             max_int
    - functionName:    max_int
      functionSourceFile: '/src/quickjs/./cutils.h'
      linkageType:     InternalLinkage
      functionLinenumber: 81
      functionLinenumberEnd: 86
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         4
      ICount:          16
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    unicode_sequence_prop
      functionSourceFile: '/src/quickjs/libunicode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2117
      functionLinenumberEnd: 2123
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          25
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - unicode_find_name
        - unicode_sequence_prop1
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libunicode.c:2119,20'
          Dst:             unicode_find_name
        - Src:             'libunicode.c:2122,12'
          Dst:             unicode_sequence_prop1
    - functionName:    unicode_find_name
      functionSourceFile: '/src/quickjs/libunicode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1247
      functionLinenumberEnd: 1271
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         20
      ICount:          80
      EdgeCount:       26
      CyclomaticComplexity: 8
      functionsReached:
        - memcmp
        - strchr
        - strlen
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'libunicode.c:1254,16'
          Dst:             strlen
        - Src:             'libunicode.c:1257,17'
          Dst:             strchr
        - Src:             'libunicode.c:1259,23'
          Dst:             strlen
        - Src:             'libunicode.c:1262,37'
          Dst:             memcmp
    - functionName:    strchr
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    lre_is_space_non_ascii
      functionSourceFile: '/src/quickjs/libunicode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1903
      functionLinenumberEnd: 1916
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         34
      ICount:          121
      EdgeCount:       49
      CyclomaticComplexity: 17
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    unicode_prop_ops
      functionSourceFile: '/src/quickjs/libunicode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1519
      functionLinenumberEnd: 1592
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         60
      ICount:          327
      EdgeCount:       69
      CyclomaticComplexity: 11
      functionsReached:
        - __assert_fail
        - abort
        - cr_copy
        - cr_free
        - cr_init
        - cr_invert
        - cr_op
        - unicode_case1
        - unicode_general_category1
        - unicode_prop1
      functionUses:    14
      BranchProfiles:
        - Branch String:   'libunicode.c:1529,9'
          Branch Sides:    []
      Callsites:
        - Src:             'libunicode.c:1531,13'
          Dst:             __assert_fail
        - Src:             'libunicode.c:1533,13'
          Dst:             cr_init
        - Src:             'libunicode.c:1534,17'
          Dst:             unicode_general_category1
        - Src:             'libunicode.c:1538,13'
          Dst:             __assert_fail
        - Src:             'libunicode.c:1540,13'
          Dst:             cr_init
        - Src:             'libunicode.c:1541,17'
          Dst:             unicode_prop1
        - Src:             'libunicode.c:1545,13'
          Dst:             __assert_fail
        - Src:             'libunicode.c:1547,13'
          Dst:             cr_init
        - Src:             'libunicode.c:1548,17'
          Dst:             unicode_case1
        - Src:             'libunicode.c:1556,17'
          Dst:             __assert_fail
        - Src:             'libunicode.c:1557,17'
          Dst:             __assert_fail
        - Src:             'libunicode.c:1561,17'
          Dst:             cr_init
        - Src:             'libunicode.c:1563,21'
          Dst:             cr_op
        - Src:             'libunicode.c:1566,17'
          Dst:             cr_free
        - Src:             'libunicode.c:1567,17'
          Dst:             cr_free
        - Src:             'libunicode.c:1573,13'
          Dst:             __assert_fail
        - Src:             'libunicode.c:1574,17'
          Dst:             cr_invert
        - Src:             'libunicode.c:1580,13'
          Dst:             abort
        - Src:             'libunicode.c:1584,5'
          Dst:             __assert_fail
        - Src:             'libunicode.c:1585,11'
          Dst:             cr_copy
        - Src:             'libunicode.c:1586,5'
          Dst:             cr_free
        - Src:             'libunicode.c:1590,9'
          Dst:             cr_free
    - functionName:    cr_init
      functionSourceFile: '/src/quickjs/libunicode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 394
      functionLinenumberEnd: 399
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         4
      ICount:          20
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    13
      BranchProfiles:  []
      Callsites:       []
    - functionName:    unicode_general_category1
      functionSourceFile: '/src/quickjs/libunicode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1398
      functionLinenumberEnd: 1456
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         33
      ICount:          158
      EdgeCount:       45
      CyclomaticComplexity: 14
      functionsReached:
        - cr_add_interval
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'libunicode.c:1444,29'
          Dst:             cr_add_interval
        - Src:             'libunicode.c:1451,17'
          Dst:             cr_add_interval
    - functionName:    unicode_case1
      functionSourceFile: '/src/quickjs/libunicode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 553
      functionLinenumberEnd: 613
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         51
      ICount:          208
      EdgeCount:       68
      CyclomaticComplexity: 19
      functionsReached:
        - cr_add_interval
      functionUses:    5
      BranchProfiles:
        - Branch String:   'libunicode.c:580,13'
          Branch Sides:    []
      Callsites:
        - Src:             'libunicode.c:586,25'
          Dst:             cr_add_interval
        - Src:             'libunicode.c:594,25'
          Dst:             cr_add_interval
        - Src:             'libunicode.c:597,21'
          Dst:             cr_add_interval
        - Src:             'libunicode.c:597,21'
          Dst:             cr_add_interval
        - Src:             'libunicode.c:600,25'
          Dst:             cr_add_interval
        - Src:             'libunicode.c:606,21'
          Dst:             cr_add_interval
    - functionName:    cr_op
      functionSourceFile: '/src/quickjs/libunicode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 464
      functionLinenumberEnd: 515
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         29
      ICount:          134
      EdgeCount:       34
      CyclomaticComplexity: 7
      functionsReached:
        - abort
        - cr_add_point
        - cr_compress
      functionUses:    7
      BranchProfiles:
        - Branch String:   'libunicode.c:492,9'
          Branch Sides:    []
      Callsites:
        - Src:             'libunicode.c:506,13'
          Dst:             abort
        - Src:             'libunicode.c:509,17'
          Dst:             cr_add_point
        - Src:             'libunicode.c:513,5'
          Dst:             cr_compress
    - functionName:    cr_free
      functionSourceFile: '/src/quickjs/libunicode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 402
      functionLinenumberEnd: 404
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          20
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    17
      BranchProfiles:  []
      Callsites:       []
    - functionName:    cr_invert
      functionSourceFile: '/src/quickjs/libunicode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 530
      functionLinenumberEnd: 541
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          40
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - cr_compress
        - cr_realloc
      functionUses:    7
      BranchProfiles:  []
      Callsites:
        - Src:             'libunicode.c:533,9'
          Dst:             cr_realloc
        - Src:             'libunicode.c:539,5'
          Dst:             cr_compress
    - functionName:    cr_copy
      functionSourceFile: '/src/quickjs/libunicode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 424
      functionLinenumberEnd: 430
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          35
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - cr_realloc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libunicode.c:425,9'
          Dst:             cr_realloc
    - functionName:    cr_compress
      functionSourceFile: '/src/quickjs/libunicode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 434
      functionLinenumberEnd: 459
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         18
      ICount:          97
      EdgeCount:       23
      CyclomaticComplexity: 7
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    cr_add_point
      functionSourceFile: '/src/quickjs/./libunicode.h'
      linkageType:     InternalLinkage
      functionLinenumber: 57
      functionLinenumberEnd: 64
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          45
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - cr_realloc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             './libunicode.h:59,13'
          Dst:             cr_realloc
    - functionName:    cr_default_realloc
      functionSourceFile: '/src/quickjs/libunicode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 389
      functionLinenumberEnd: 390
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          12
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - realloc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libunicode.c:390,12'
          Dst:             realloc
    - functionName:    unicode_prop
      functionSourceFile: '/src/quickjs/libunicode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1627
      functionLinenumberEnd: 1820
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         33
      ICount:          147
      EdgeCount:       36
      CyclomaticComplexity: 5
      functionsReached:
        - cr_add_interval
        - unicode_case1
        - unicode_find_name
        - unicode_prop1
        - unicode_prop_ops
      functionUses:    1
      BranchProfiles:
        - Branch String:   'libunicode.c:1636,5'
          Branch Sides:    []
      Callsites:
        - Src:             'libunicode.c:1630,16'
          Dst:             unicode_find_name
        - Src:             'libunicode.c:1638,13'
          Dst:             cr_add_interval
        - Src:             'libunicode.c:1642,13'
          Dst:             cr_add_interval
        - Src:             'libunicode.c:1646,15'
          Dst:             unicode_prop_ops
        - Src:             'libunicode.c:1652,15'
          Dst:             unicode_prop_ops
        - Src:             'libunicode.c:1659,15'
          Dst:             unicode_prop_ops
        - Src:             'libunicode.c:1666,15'
          Dst:             unicode_prop_ops
        - Src:             'libunicode.c:1673,15'
          Dst:             unicode_prop_ops
        - Src:             'libunicode.c:1682,15'
          Dst:             unicode_prop_ops
        - Src:             'libunicode.c:1693,15'
          Dst:             unicode_prop_ops
        - Src:             'libunicode.c:1701,15'
          Dst:             unicode_prop_ops
        - Src:             'libunicode.c:1708,15'
          Dst:             unicode_prop_ops
        - Src:             'libunicode.c:1722,15'
          Dst:             unicode_prop_ops
        - Src:             'libunicode.c:1739,15'
          Dst:             unicode_case1
        - Src:             'libunicode.c:1742,15'
          Dst:             unicode_case1
        - Src:             'libunicode.c:1745,15'
          Dst:             unicode_case1
        - Src:             'libunicode.c:1748,15'
          Dst:             unicode_prop_ops
        - Src:             'libunicode.c:1755,15'
          Dst:             unicode_prop_ops
        - Src:             'libunicode.c:1762,15'
          Dst:             unicode_prop_ops
        - Src:             'libunicode.c:1806,15'
          Dst:             unicode_prop_ops
        - Src:             'libunicode.c:1816,15'
          Dst:             unicode_prop1
    - functionName:    unicode_general_category
      functionSourceFile: '/src/quickjs/libunicode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1608
      functionLinenumberEnd: 1621
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          41
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - unicode_find_name
        - unicode_general_category1
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'libunicode.c:1612,14'
          Dst:             unicode_find_name
        - Src:             'libunicode.c:1620,12'
          Dst:             unicode_general_category1
    - functionName:    unicode_script
      functionSourceFile: '/src/quickjs/libunicode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1277
      functionLinenumberEnd: 1393
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         82
      ICount:          383
      EdgeCount:       112
      CyclomaticComplexity: 32
      functionsReached:
        - cr_add_interval
        - cr_free
        - cr_init
        - cr_invert
        - cr_op
        - unicode_find_name
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libunicode.c:1285,18'
          Dst:             unicode_find_name
        - Src:             'libunicode.c:1293,9'
          Dst:             cr_init
        - Src:             'libunicode.c:1294,9'
          Dst:             cr_init
        - Src:             'libunicode.c:1321,21'
          Dst:             cr_add_interval
        - Src:             'libunicode.c:1329,13'
          Dst:             cr_invert
        - Src:             'libunicode.c:1356,25'
          Dst:             cr_add_interval
        - Src:             'libunicode.c:1362,29'
          Dst:             cr_add_interval
        - Src:             'libunicode.c:1373,17'
          Dst:             cr_invert
        - Src:             'libunicode.c:1375,17'
          Dst:             cr_op
        - Src:             'libunicode.c:1379,17'
          Dst:             cr_op
        - Src:             'libunicode.c:1383,9'
          Dst:             cr_free
        - Src:             'libunicode.c:1384,9'
          Dst:             cr_free
        - Src:             'libunicode.c:1389,9'
          Dst:             cr_free
        - Src:             'libunicode.c:1390,9'
          Dst:             cr_free
    - functionName:    compose_pair
      functionSourceFile: '/src/quickjs/libunicode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1157
      functionLinenumberEnd: 1169
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         23
      ICount:          90
      EdgeCount:       32
      CyclomaticComplexity: 11
      functionsReached:
        - unicode_compose_pair
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libunicode.c:1167,16'
          Dst:             unicode_compose_pair
    - functionName:    unicode_get_cc
      functionSourceFile: '/src/quickjs/libunicode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1034
      functionLinenumberEnd: 1089
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         22
      ICount:          120
      EdgeCount:       25
      CyclomaticComplexity: 5
      functionsReached:
        - get_index_pos
      functionUses:    6
      BranchProfiles:
        - Branch String:   'libunicode.c:1070,13'
          Branch Sides:    []
      Callsites:
        - Src:             'libunicode.c:1039,11'
          Dst:             get_index_pos
    - functionName:    sort_cc
      functionSourceFile: '/src/quickjs/libunicode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1092
      functionLinenumberEnd: 1125
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         27
      ICount:          118
      EdgeCount:       36
      CyclomaticComplexity: 11
      functionsReached:
        - unicode_get_cc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libunicode.c:1096,14'
          Dst:             unicode_get_cc
        - Src:             'libunicode.c:1102,23'
          Dst:             unicode_get_cc
        - Src:             'libunicode.c:1107,25'
          Dst:             unicode_get_cc
    - functionName:    dbuf_error
      functionSourceFile: '/src/quickjs/./cutils.h'
      linkageType:     InternalLinkage
      functionLinenumber: 322
      functionLinenumberEnd: 323
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          6
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    to_nfd_rec
      functionSourceFile: '/src/quickjs/libunicode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1129
      functionLinenumberEnd: 1153
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         19
      ICount:          91
      EdgeCount:       25
      CyclomaticComplexity: 8
      functionsReached:
        - dbuf_put_u32
        - to_nfd_rec
        - unicode_decomp_char
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'libunicode.c:1139,13'
          Dst:             dbuf_put_u32
        - Src:             'libunicode.c:1140,13'
          Dst:             dbuf_put_u32
        - Src:             'libunicode.c:1143,17'
          Dst:             dbuf_put_u32
        - Src:             'libunicode.c:1145,17'
          Dst:             unicode_decomp_char
        - Src:             'libunicode.c:1147,17'
          Dst:             to_nfd_rec
        - Src:             'libunicode.c:1149,17'
          Dst:             dbuf_put_u32
    - functionName:    unicode_normalize
      functionSourceFile: '/src/quickjs/libunicode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1174
      functionLinenumberEnd: 1242
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         44
      ICount:          199
      EdgeCount:       60
      CyclomaticComplexity: 18
      functionsReached:
        - compose_pair
        - dbuf_claim
        - dbuf_error
        - dbuf_init2
        - sort_cc
        - to_nfd_rec
        - unicode_get_cc
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'libunicode.c:1181,5'
          Dst:             dbuf_init2
        - Src:             'libunicode.c:1182,9'
          Dst:             dbuf_claim
        - Src:             'libunicode.c:1198,5'
          Dst:             to_nfd_rec
        - Src:             'libunicode.c:1199,9'
          Dst:             dbuf_error
        - Src:             'libunicode.c:1207,5'
          Dst:             sort_cc
        - Src:             'libunicode.c:1220,19'
          Dst:             unicode_get_cc
        - Src:             'libunicode.c:1223,18'
          Dst:             unicode_get_cc
        - Src:             'libunicode.c:1223,18'
          Dst:             unicode_get_cc
        - Src:             'libunicode.c:1232,18'
          Dst:             compose_pair
    - functionName:    lre_is_id_continue
      functionSourceFile: '/src/quickjs/libunicode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 754
      functionLinenumberEnd: 756
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          25
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - lre_is_id_start
        - lre_is_in_table
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libunicode.c:755,12'
          Dst:             lre_is_id_start
        - Src:             'libunicode.c:756,9'
          Dst:             lre_is_in_table
    - functionName:    lre_is_id_start
      functionSourceFile: '/src/quickjs/libunicode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 747
      functionLinenumberEnd: 748
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          12
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - lre_is_in_table
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'libunicode.c:748,12'
          Dst:             lre_is_in_table
    - functionName:    lre_is_in_table
      functionSourceFile: '/src/quickjs/libunicode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 306
      functionLinenumberEnd: 345
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         18
      ICount:          111
      EdgeCount:       24
      CyclomaticComplexity: 8
      functionsReached:
        - get_index_pos
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'libunicode.c:311,11'
          Dst:             get_index_pos
    - functionName:    cr_sort_and_remove_overlap
      functionSourceFile: '/src/quickjs/libunicode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 623
      functionLinenumberEnd: 656
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         20
      ICount:          109
      EdgeCount:       26
      CyclomaticComplexity: 8
      functionsReached:
        - point_cmp
        - rqsort
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libunicode.c:627,5'
          Dst:             rqsort
        - Src:             'libunicode.c:627,5'
          Dst:             point_cmp
    - functionName:    cr_regexp_canonicalize
      functionSourceFile: '/src/quickjs/libunicode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 661
      functionLinenumberEnd: 742
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         44
      ICount:          252
      EdgeCount:       59
      CyclomaticComplexity: 17
      functionsReached:
        - __assert_fail
        - cr_add_interval
        - cr_free
        - cr_init
        - cr_invert
        - cr_op
        - cr_sort_and_remove_overlap
        - lre_case_folding_entry
        - unicode_case1
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'libunicode.c:665,5'
          Dst:             cr_init
        - Src:             'libunicode.c:666,5'
          Dst:             cr_init
        - Src:             'libunicode.c:667,5'
          Dst:             cr_init
        - Src:             'libunicode.c:668,5'
          Dst:             cr_init
        - Src:             'libunicode.c:670,9'
          Dst:             unicode_case1
        - Src:             'libunicode.c:672,9'
          Dst:             cr_op
        - Src:             'libunicode.c:675,9'
          Dst:             cr_invert
        - Src:             'libunicode.c:677,9'
          Dst:             cr_op
        - Src:             'libunicode.c:699,17'
          Dst:             __assert_fail
        - Src:             'libunicode.c:704,17'
          Dst:             lre_case_folding_entry
        - Src:             'libunicode.c:712,17'
          Dst:             cr_add_interval
        - Src:             'libunicode.c:719,13'
          Dst:             cr_add_interval
        - Src:             'libunicode.c:724,5'
          Dst:             cr_sort_and_remove_overlap
        - Src:             'libunicode.c:728,9'
          Dst:             cr_op
        - Src:             'libunicode.c:0,0'
          Dst:             cr_free
        - Src:             'libunicode.c:0,0'
          Dst:             cr_free
        - Src:             'libunicode.c:0,0'
          Dst:             cr_free
        - Src:             'libunicode.c:0,0'
          Dst:             cr_free
    - functionName:    lre_case_folding_entry
      functionSourceFile: '/src/quickjs/libunicode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 193
      functionLinenumberEnd: 224
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - int
        - int
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         24
      ICount:          94
      EdgeCount:       34
      CyclomaticComplexity: 12
      functionsReached:
        - lre_case_conv_entry
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'libunicode.c:198,15'
          Dst:             lre_case_conv_entry
        - Src:             'libunicode.c:218,19'
          Dst:             lre_case_conv_entry
    - functionName:    cr_op1
      functionSourceFile: '/src/quickjs/libunicode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 518
      functionLinenumberEnd: 527
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          21
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - cr_free
        - cr_op
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'libunicode.c:524,11'
          Dst:             cr_op
        - Src:             'libunicode.c:525,5'
          Dst:             cr_free
    - functionName:    lre_is_case_ignorable
      functionSourceFile: '/src/quickjs/libunicode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 373
      functionLinenumberEnd: 374
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          12
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - lre_is_in_table
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'libunicode.c:374,12'
          Dst:             lre_is_in_table
    - functionName:    lre_is_cased
      functionSourceFile: '/src/quickjs/libunicode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 348
      functionLinenumberEnd: 370
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         12
      ICount:          57
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - lre_is_in_table
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'libunicode.c:367,12'
          Dst:             lre_is_in_table
    - functionName:    lre_canonicalize
      functionSourceFile: '/src/quickjs/libunicode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 228
      functionLinenumberEnd: 261
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         24
      ICount:          101
      EdgeCount:       33
      CyclomaticComplexity: 11
      functionsReached:
        - lre_case_folding_entry
      functionUses:    13
      BranchProfiles:  []
      Callsites:
        - Src:             'libunicode.c:256,24'
          Dst:             lre_case_folding_entry
...
