{"$schema": "https://docs.oasis-open.org/sarif/sarif/v2.1.0/errata01/os/schemas/sarif-schema-2.1.0.json",
 "version": "2.1.0",
 "runs": [{"tool": {"driver": {"name": "GNU C23",
                               "fullName": "GNU C23 (GCC) version 16.1.1 20260703 (Red Hat 16.1.1-4) (x86_64-redhat-linux)",
                               "version": "16.1.1 20260703 (Red Hat 16.1.1-4)",
                               "informationUri": "https://gcc.gnu.org/gcc-16/",
                               "rules": [{"id": "-Wanalyzer-null-dereference",
                                          "helpUri": "https://gcc.gnu.org/onlinedocs/gcc-16.1.0/gcc/Static-Analyzer-Options.html#index-Wanalyzer-null-dereference"}]}},
           "taxonomies": [{"name": "CWE",
                           "version": "4.7",
                           "organization": "MITRE",
                           "shortDescription": {"text": "The MITRE Common Weakness Enumeration"},
                           "taxa": [{"id": "476",
                                     "helpUri": "https://cwe.mitre.org/data/definitions/476.html"}]}],
           "invocations": [{"arguments": ["/usr/libexec/gcc/x86_64-redhat-linux/16/cc1",
                                          "-quiet",
                                          "-I",
                                          ".",
                                          "-I",
                                          "..",
                                          "-D",
                                          "HAVE_CONFIG_H",
                                          "-D",
                                          "PIC",
                                          "lgc.c",
                                          "-quiet",
                                          "-dumpbase",
                                          "lgc.c",
                                          "-dumpbase-ext",
                                          ".c",
                                          "-m64",
                                          "-mtune=generic",
                                          "-march=x86-64",
                                          "-mtls-dialect=gnu2",
                                          "-O2",
                                          "-Wno-unknown-pragmas",
                                          "-flto=auto",
                                          "-ffat-lto-objects",
                                          "-fexceptions",
                                          "-fstack-protector-strong",
                                          "-fasynchronous-unwind-tables",
                                          "-fstack-clash-protection",
                                          "-fcf-protection=full",
                                          "-fno-omit-frame-pointer",
                                          "-fPIC",
                                          "-fanalyzer",
                                          "-fdiagnostics-path-format=separate-events",
                                          "-fno-diagnostics-show-caret",
                                          "-fno-lto",
                                          "-fanalyzer-assume-nothrow",
                                          "-fdiagnostics-text-art-charset=none",
                                          "-fdiagnostics-set-output=sarif:file=/builddir/gcc-results/2428-bIwJ.sarif",
                                          "-o",
                                          "/tmp/ccNFURAG.s"],
                            "workingDirectory": {"uri": "/builddir/build/BUILD/lua-5.4.8-build/lua-5.4.8/src"},
                            "startTimeUtc": "2026-08-03T18:20:16Z",
                            "executionSuccessful": true,
                            "toolExecutionNotifications": [],
                            "endTimeUtc": "2026-08-03T18:20:24Z"}],
           "originalUriBaseIds": {"PWD": {"uri": "file:///builddir/build/BUILD/lua-5.4.8-build/lua-5.4.8/src/"}},
           "artifacts": [{"location": {"uri": "lgc.c",
                                       "uriBaseId": "PWD"},
                          "sourceLanguage": "c",
                          "contents": {"text": "/*\n** $Id: lgc.c $\n** Garbage Collector\n** See Copyright Notice in lua.h\n*/\n\n#define lgc_c\n#define LUA_CORE\n\n#include \"lprefix.h\"\n\n#include <stdio.h>\n#include <string.h>\n\n\n#include \"lua.h\"\n\n#include \"ldebug.h\"\n#include \"ldo.h\"\n#include \"lfunc.h\"\n#include \"lgc.h\"\n#include \"lmem.h\"\n#include \"lobject.h\"\n#include \"lstate.h\"\n#include \"lstring.h\"\n#include \"ltable.h\"\n#include \"ltm.h\"\n\n\n/*\n** Maximum number of elements to sweep in each single step.\n** (Large enough to dissipate fixed overheads but small enough\n** to allow small steps for the collector.)\n*/\n#define GCSWEEPMAX\t100\n\n/*\n** Maximum number of finalizers to call in each single step.\n*/\n#define GCFINMAX\t10\n\n\n/*\n** Cost of calling one finalizer.\n*/\n#define GCFINALIZECOST\t50\n\n\n/*\n** The equivalent, in bytes, of one unit of \"work\" (visiting a slot,\n** sweeping an object, etc.)\n*/\n#define WORK2MEM\tsizeof(TValue)\n\n\n/*\n** macro to adjust 'pause': 'pause' is actually used like\n** 'pause / PAUSEADJ' (value chosen by tests)\n*/\n#define PAUSEADJ\t\t100\n\n\n/* mask with all color bits */\n#define maskcolors\t(bitmask(BLACKBIT) | WHITEBITS)\n\n/* mask with all GC bits */\n#define maskgcbits      (maskcolors | AGEBITS)\n\n\n/* macro to erase all color bits then set only the current white bit */\n#define makewhite(g,x)\t\\\n  (x->marked = cast_byte((x->marked & ~maskcolors) | luaC_white(g)))\n\n/* make an object gray (neither white nor black) */\n#define set2gray(x)\tresetbits(x->marked, maskcolors)\n\n\n/* make an object black (coming from any color) */\n#define set2black(x)  \\\n  (x->marked = cast_byte((x->marked & ~WHITEBITS) | bitmask(BLACKBIT)))\n\n\n#define valiswhite(x)   (iscollectable(x) && iswhite(gcvalue(x)))\n\n#define keyiswhite(n)   (keyiscollectable(n) && iswhite(gckey(n)))\n\n\n/*\n** Protected access to objects in values\n*/\n#define gcvalueN(o)     (iscollectable(o) ? gcvalue(o) : NULL)\n\n\n#define markvalue(g,o) { checkliveness(g->mainthread,o); \\\n  if (valiswhite(o)) reallymarkobject(g,gcvalue(o)); }\n\n#define markkey(g, n)\t{ if keyiswhite(n) reallymarkobject(g,gckey(n)); }\n\n#define markobject(g,t)\t{ if (iswhite(t)) reallymarkobject(g, obj2gco(t)); }\n\n/*\n** mark an object that can be NULL (either because it is really optional,\n** or it was stripped as debug info, or inside an uncompleted structure)\n*/\n#define markobjectN(g,t)\t{ if (t) markobject(g,t); }\n\nstatic void reallymarkobject (global_State *g, GCObject *o);\nstatic lu_mem atomic (lua_State *L);\nstatic void entersweep (lua_State *L);\n\n\n/*\n** {======================================================\n** Generic functions\n** =======================================================\n*/\n\n\n/*\n** one after last element in a hash array\n*/\n#define gnodelast(h)\tgnode(h, cast_sizet(sizenode(h)))\n\n\nstatic GCObject **getgclist (GCObject *o) {\n  switch (o->tt) {\n    case LUA_VTABLE: return &gco2t(o)->gclist;\n    case LUA_VLCL: return &gco2lcl(o)->gclist;\n    case LUA_VCCL: return &gco2ccl(o)->gclist;\n    case LUA_VTHREAD: return &gco2th(o)->gclist;\n    case LUA_VPROTO: return &gco2p(o)->gclist;\n    case LUA_VUSERDATA: {\n      Udata *u = gco2u(o);\n      lua_assert(u->nuvalue > 0);\n      return &u->gclist;\n    }\n    default: lua_assert(0); return 0;\n  }\n}\n\n\n/*\n** Link a collectable object 'o' with a known type into the list 'p'.\n** (Must be a macro to access the 'gclist' field in different types.)\n*/\n#define linkgclist(o,p)\tlinkgclist_(obj2gco(o), &(o)->gclist, &(p))\n\nstatic void linkgclist_ (GCObject *o, GCObject **pnext, GCObject **list) {\n  lua_assert(!isgray(o));  /* cannot be in a gray list */\n  *pnext = *list;\n  *list = o;\n  set2gray(o);  /* now it is */\n}\n\n\n/*\n** Link a generic collectable object 'o' into the list 'p'.\n*/\n#define linkobjgclist(o,p) linkgclist_(obj2gco(o), getgclist(o), &(p))\n\n\n\n/*\n** Clear keys for empty entries in tables. If entry is empty, mark its\n** entry as dead. This allows the collection of the key, but keeps its\n** entry in the table: its removal could break a chain and could break\n** a table traversal.  Other places never manipulate dead keys, because\n** its associated empty value is enough to signal that the entry is\n** logically empty.\n*/\nstatic void clearkey (Node *n) {\n  lua_assert(isempty(gval(n)));\n  if (keyiscollectable(n))\n    setdeadkey(n);  /* unused key; remove it */\n}\n\n\n/*\n** tells whether a key or value can be cleared from a weak\n** table. Non-collectable objects are never removed from weak\n** tables. Strings behave as 'values', so are never removed too. for\n** other objects: if really collected, cannot keep them; for objects\n** being finalized, keep them in keys, but not in values\n*/\nstatic int iscleared (global_State *g, const GCObject *o) {\n  if (o == NULL) return 0;  /* non-collectable value */\n  else if (novariant(o->tt) == LUA_TSTRING) {\n    markobject(g, o);  /* strings are 'values', so are never weak */\n    return 0;\n  }\n  else return iswhite(o);\n}\n\n\n/*\n** Barrier that moves collector forward, that is, marks the white object\n** 'v' being pointed by the black object 'o'.  In the generational\n** mode, 'v' must also become old, if 'o' is old; however, it cannot\n** be changed directly to OLD, because it may still point to non-old\n** objects. So, it is marked as OLD0. In the next cycle it will become\n** OLD1, and in the next it will finally become OLD (regular old). By\n** then, any object it points to will also be old.  If called in the\n** incremental sweep phase, it clears the black object to white (sweep\n** it) to avoid other barrier calls for this same object. (That cannot\n** be done is generational mode, as its sweep does not distinguish\n** whites from deads.)\n*/\nvoid luaC_barrier_ (lua_State *L, GCObject *o, GCObject *v) {\n  global_State *g = G(L);\n  lua_assert(isblack(o) && iswhite(v) && !isdead(g, v) && !isdead(g, o));\n  if (keepinvariant(g)) {  /* must keep invariant? */\n    reallymarkobject(g, v);  /* restore invariant */\n    if (isold(o)) {\n      lua_assert(!isold(v));  /* white object could not be old */\n      setage(v, G_OLD0);  /* restore generational invariant */\n    }\n  }\n  else {  /* sweep phase */\n    lua_assert(issweepphase(g));\n    if (g->gckind == KGC_INC)  /* incremental mode? */\n      makewhite(g, o);  /* mark 'o' as white to avoid other barriers */\n  }\n}\n\n\n/*\n** barrier that moves collector backward, that is, mark the black object\n** pointing to a white object as gray again.\n*/\nvoid luaC_barrierback_ (lua_State *L, GCObject *o) {\n  global_State *g = G(L);\n  lua_assert(isblack(o) && !isdead(g, o));\n  lua_assert((g->gckind == KGC_GEN) == (isold(o) && getage(o) != G_TOUCHED1));\n  if (getage(o) == G_TOUCHED2)  /* already in gray list? */\n    set2gray(o);  /* make it gray to become touched1 */\n  else  /* link it in 'grayagain' and paint it gray */\n    linkobjgclist(o, g->grayagain);\n  if (isold(o))  /* generational mode? */\n    setage(o, G_TOUCHED1);  /* touched in current cycle */\n}\n\n\nvoid luaC_fix (lua_State *L, GCObject *o) {\n  global_State *g = G(L);\n  lua_assert(g->allgc == o);  /* object must be 1st in 'allgc' list! */\n  set2gray(o);  /* they will be gray forever */\n  setage(o, G_OLD);  /* and old forever */\n  g->allgc = o->next;  /* remove object from 'allgc' list */\n  o->next = g->fixedgc;  /* link it to 'fixedgc' list */\n  g->fixedgc = o;\n}\n\n\n/*\n** create a new collectable object (with given type, size, and offset)\n** and link it to 'allgc' list.\n*/\nGCObject *luaC_newobjdt (lua_State *L, int tt, size_t sz, size_t offset) {\n  global_State *g = G(L);\n  char *p = cast_charp(luaM_newobject(L, novariant(tt), sz));\n  GCObject *o = cast(GCObject *, p + offset);\n  o->marked = luaC_white(g);\n  o->tt = tt;\n  o->next = g->allgc;\n  g->allgc = o;\n  return o;\n}\n\n\nGCObject *luaC_newobj (lua_State *L, int tt, size_t sz) {\n  return luaC_newobjdt(L, tt, sz, 0);\n}\n\n/* }====================================================== */\n\n\n\n/*\n** {======================================================\n** Mark functions\n** =======================================================\n*/\n\n\n/*\n** Mark an object.  Userdata with no user values, strings, and closed\n** upvalues are visited and turned black here.  Open upvalues are\n** already indirectly linked through their respective threads in the\n** 'twups' list, so they don't go to the gray list; nevertheless, they\n** are kept gray to avoid barriers, as their values will be revisited\n** by the thread or by 'remarkupvals'.  Other objects are added to the\n** gray list to be visited (and turned black) later.  Both userdata and\n** upvalues can call this function recursively, but this recursion goes\n** for at most two levels: An upvalue cannot refer to another upvalue\n** (only closures can), and a userdata's metatable must be a table.\n*/\nstatic void reallymarkobject (global_State *g, GCObject *o) {\n  switch (o->tt) {\n    case LUA_VSHRSTR:\n    case LUA_VLNGSTR: {\n      set2black(o);  /* nothing to visit */\n      break;\n    }\n    case LUA_VUPVAL: {\n      UpVal *uv = gco2upv(o);\n      if (upisopen(uv))\n        set2gray(uv);  /* open upvalues are kept gray */\n      else\n        set2black(uv);  /* closed upvalues are visited here */\n      markvalue(g, uv->v.p);  /* mark its content */\n      break;\n    }\n    case LUA_VUSERDATA: {\n      Udata *u = gco2u(o);\n      if (u->nuvalue == 0) {  /* no user values? */\n        markobjectN(g, u->metatable);  /* mark its metatable */\n        set2black(u);  /* nothing else to mark */\n        break;\n      }\n      /* else... */\n    }  /* FALLTHROUGH */\n    case LUA_VLCL: case LUA_VCCL: case LUA_VTABLE:\n    case LUA_VTHREAD: case LUA_VPROTO: {\n      linkobjgclist(o, g->gray);  /* to be visited later */\n      break;\n    }\n    default: lua_assert(0); break;\n  }\n}\n\n\n/*\n** mark metamethods for basic types\n*/\nstatic void markmt (global_State *g) {\n  int i;\n  for (i=0; i < LUA_NUMTAGS; i++)\n    markobjectN(g, g->mt[i]);\n}\n\n\n/*\n** mark all objects in list of being-finalized\n*/\nstatic lu_mem markbeingfnz (global_State *g) {\n  GCObject *o;\n  lu_mem count = 0;\n  for (o = g->tobefnz; o != NULL; o = o->next) {\n    count++;\n    markobject(g, o);\n  }\n  return count;\n}\n\n\n/*\n** For each non-marked thread, simulates a barrier between each open\n** upvalue and its value. (If the thread is collected, the value will be\n** assigned to the upvalue, but then it can be too late for the barrier\n** to act. The \"barrier\" does not need to check colors: A non-marked\n** thread must be young; upvalues cannot be older than their threads; so\n** any visited upvalue must be young too.) Also removes the thread from\n** the list, as it was already visited. Removes also threads with no\n** upvalues, as they have nothing to be checked. (If the thread gets an\n** upvalue later, it will be linked in the list again.)\n*/\nstatic int remarkupvals (global_State *g) {\n  lua_State *thread;\n  lua_State **p = &g->twups;\n  int work = 0;  /* estimate of how much work was done here */\n  while ((thread = *p) != NULL) {\n    work++;\n    if (!iswhite(thread) && thread->openupval != NULL)\n      p = &thread->twups;  /* keep marked thread with upvalues in the list */\n    else {  /* thread is not marked or without upvalues */\n      UpVal *uv;\n      lua_assert(!isold(thread) || thread->openupval == NULL);\n      *p = thread->twups;  /* remove thread from the list */\n      thread->twups = thread;  /* mark that it is out of list */\n      for (uv = thread->openupval; uv != NULL; uv = uv->u.open.next) {\n        lua_assert(getage(uv) <= getage(thread));\n        work++;\n        if (!iswhite(uv)) {  /* upvalue already visited? */\n          lua_assert(upisopen(uv) && isgray(uv));\n          markvalue(g, uv->v.p);  /* mark its value */\n        }\n      }\n    }\n  }\n  return work;\n}\n\n\nstatic void cleargraylists (global_State *g) {\n  g->gray = g->grayagain = NULL;\n  g->weak = g->allweak = g->ephemeron = NULL;\n}\n\n\n/*\n** mark root set and reset all gray lists, to start a new collection\n*/\nstatic void restartcollection (global_State *g) {\n  cleargraylists(g);\n  markobject(g, g->mainthread);\n  markvalue(g, &g->l_registry);\n  markmt(g);\n  markbeingfnz(g);  /* mark any finalizing object left from previous cycle */\n}\n\n/* }====================================================== */\n\n\n/*\n** {======================================================\n** Traverse functions\n** =======================================================\n*/\n\n\n/*\n** Check whether object 'o' should be kept in the 'grayagain' list for\n** post-processing by 'correctgraylist'. (It could put all old objects\n** in the list and leave all the work to 'correctgraylist', but it is\n** more efficient to avoid adding elements that will be removed.) Only\n** TOUCHED1 objects need to be in the list. TOUCHED2 doesn't need to go\n** back to a gray list, but then it must become OLD. (That is what\n** 'correctgraylist' does when it finds a TOUCHED2 object.)\n*/\nstatic void genlink (global_State *g, GCObject *o) {\n  lua_assert(isblack(o));\n  if (getage(o) == G_TOUCHED1) {  /* touched in this cycle? */\n    linkobjgclist(o, g->grayagain);  /* link it back in 'grayagain' */\n  }  /* everything else do not need to be linked back */\n  else if (getage(o) == G_TOUCHED2)\n    changeage(o, G_TOUCHED2, G_OLD);  /* advance age */\n}\n\n\n/*\n** Traverse a table with weak values and link it to proper list. During\n** propagate phase, keep it in 'grayagain' list, to be revisited in the\n** atomic phase. In the atomic phase, if table has any white value,\n** put it in 'weak' list, to be cleared.\n*/\nstatic void traverseweakvalue (global_State *g, Table *h) {\n  Node *n, *limit = gnodelast(h);\n  /* if there is array part, assume it may have white values (it is not\n     worth traversing it now just to check) */\n  int hasclears = (h->alimit > 0);\n  for (n = gnode(h, 0); n < limit; n++) {  /* traverse hash part */\n    if (isempty(gval(n)))  /* entry is empty? */\n      clearkey(n);  /* clear its key */\n    else {\n      lua_assert(!keyisnil(n));\n      markkey(g, n);\n      if (!hasclears && iscleared(g, gcvalueN(gval(n))))  /* a white value? */\n        hasclears = 1;  /* table will have to be cleared */\n    }\n  }\n  if (g->gcstate == GCSatomic && hasclears)\n    linkgclist(h, g->weak);  /* has to be cleared later */\n  else\n    linkgclist(h, g->grayagain);  /* must retraverse it in atomic phase */\n}\n\n\n/*\n** Traverse an ephemeron table and link it to proper list. Returns true\n** iff any object was marked during this traversal (which implies that\n** convergence has to continue). During propagation phase, keep table\n** in 'grayagain' list, to be visited again in the atomic phase. In\n** the atomic phase, if table has any white->white entry, it has to\n** be revisited during ephemeron convergence (as that key may turn\n** black). Otherwise, if it has any white key, table has to be cleared\n** (in the atomic phase). In generational mode, some tables\n** must be kept in some gray list for post-processing; this is done\n** by 'genlink'.\n*/\nstatic int traverseephemeron (global_State *g, Table *h, int inv) {\n  int marked = 0;  /* true if an object is marked in this traversal */\n  int hasclears = 0;  /* true if table has white keys */\n  int hasww = 0;  /* true if table has entry \"white-key -> white-value\" */\n  unsigned int i;\n  unsigned int asize = luaH_realasize(h);\n  unsigned int nsize = sizenode(h);\n  /* traverse array part */\n  for (i = 0; i < asize; i++) {\n    if (valiswhite(&h->array[i])) {\n      marked = 1;\n      reallymarkobject(g, gcvalue(&h->array[i]));\n    }\n  }\n  /* traverse hash part; if 'inv', traverse descending\n     (see 'convergeephemerons') */\n  for (i = 0; i < nsize; i++) {\n    Node *n = inv ? gnode(h, nsize - 1 - i) : gnode(h, i);\n    if (isempty(gval(n)))  /* entry is empty? */\n      clearkey(n);  /* clear its key */\n    else if (iscleared(g, gckeyN(n))) {  /* key is not marked (yet)? */\n      hasclears = 1;  /* table must be cleared */\n      if (valiswhite(gval(n)))  /* value not marked yet? */\n        hasww = 1;  /* white-white entry */\n    }\n    else if (valiswhite(gval(n))) {  /* value not marked yet? */\n      marked = 1;\n      reallymarkobject(g, gcvalue(gval(n)));  /* mark it now */\n    }\n  }\n  /* link table into proper list */\n  if (g->gcstate == GCSpropagate)\n    linkgclist(h, g->grayagain);  /* must retraverse it in atomic phase */\n  else if (hasww)  /* table has white->white entries? */\n    linkgclist(h, g->ephemeron);  /* have to propagate again */\n  else if (hasclears)  /* table has white keys? */\n    linkgclist(h, g->allweak);  /* may have to clean white keys */\n  else\n    genlink(g, obj2gco(h));  /* check whether collector still needs to see it */\n  return marked;\n}\n\n\nstatic void traversestrongtable (global_State *g, Table *h) {\n  Node *n, *limit = gnodelast(h);\n  unsigned int i;\n  unsigned int asize = luaH_realasize(h);\n  for (i = 0; i < asize; i++)  /* traverse array part */\n    markvalue(g, &h->array[i]);\n  for (n = gnode(h, 0); n < limit; n++) {  /* traverse hash part */\n    if (isempty(gval(n)))  /* entry is empty? */\n      clearkey(n);  /* clear its key */\n    else {\n      lua_assert(!keyisnil(n));\n      markkey(g, n);\n      markvalue(g, gval(n));\n    }\n  }\n  genlink(g, obj2gco(h));\n}\n\n\nstatic lu_mem traversetable (global_State *g, Table *h) {\n  const char *weakkey, *weakvalue;\n  const TValue *mode = gfasttm(g, h->metatable, TM_MODE);\n  TString *smode;\n  markobjectN(g, h->metatable);\n  if (mode && ttisshrstring(mode) &&  /* is there a weak mode? */\n      (cast_void(smode = tsvalue(mode)),\n       cast_void(weakkey = strchr(getshrstr(smode), 'k')),\n       cast_void(weakvalue = strchr(getshrstr(smode), 'v')),\n       (weakkey || weakvalue))) {  /* is really weak? */\n    if (!weakkey)  /* strong keys? */\n      traverseweakvalue(g, h);\n    else if (!weakvalue)  /* strong values? */\n      traverseephemeron(g, h, 0);\n    else {  /* all weak */\n      if (g->gcstate == GCSpropagate)\n        linkgclist(h, g->grayagain);  /* must visit again its metatable */\n      else\n        linkgclist(h, g->allweak);  /* must clear collected entries */\n    }\n  }\n  else  /* not weak */\n    traversestrongtable(g, h);\n  return 1 + h->alimit + 2 * allocsizenode(h);\n}\n\n\nstatic int traverseudata (global_State *g, Udata *u) {\n  int i;\n  markobjectN(g, u->metatable);  /* mark its metatable */\n  for (i = 0; i < u->nuvalue; i++)\n    markvalue(g, &u->uv[i].uv);\n  genlink(g, obj2gco(u));\n  return 1 + u->nuvalue;\n}\n\n\n/*\n** Traverse a prototype. (While a prototype is being build, its\n** arrays can be larger than needed; the extra slots are filled with\n** NULL, so the use of 'markobjectN')\n*/\nstatic int traverseproto (global_State *g, Proto *f) {\n  int i;\n  markobjectN(g, f->source);\n  for (i = 0; i < f->sizek; i++)  /* mark literals */\n    markvalue(g, &f->k[i]);\n  for (i = 0; i < f->sizeupvalues; i++)  /* mark upvalue names */\n    markobjectN(g, f->upvalues[i].name);\n  for (i = 0; i < f->sizep; i++)  /* mark nested protos */\n    markobjectN(g, f->p[i]);\n  for (i = 0; i < f->sizelocvars; i++)  /* mark local-variable names */\n    markobjectN(g, f->locvars[i].varname);\n  return 1 + f->sizek + f->sizeupvalues + f->sizep + f->sizelocvars;\n}\n\n\nstatic int traverseCclosure (global_State *g, CClosure *cl) {\n  int i;\n  for (i = 0; i < cl->nupvalues; i++)  /* mark its upvalues */\n    markvalue(g, &cl->upvalue[i]);\n  return 1 + cl->nupvalues;\n}\n\n/*\n** Traverse a Lua closure, marking its prototype and its upvalues.\n** (Both can be NULL while closure is being created.)\n*/\nstatic int traverseLclosure (global_State *g, LClosure *cl) {\n  int i;\n  markobjectN(g, cl->p);  /* mark its prototype */\n  for (i = 0; i < cl->nupvalues; i++) {  /* visit its upvalues */\n    UpVal *uv = cl->upvals[i];\n    markobjectN(g, uv);  /* mark upvalue */\n  }\n  return 1 + cl->nupvalues;\n}\n\n\n/*\n** Traverse a thread, marking the elements in the stack up to its top\n** and cleaning the rest of the stack in the final traversal. That\n** ensures that the entire stack have valid (non-dead) objects.\n** Threads have no barriers. In gen. mode, old threads must be visited\n** at every cycle, because they might point to young objects.  In inc.\n** mode, the thread can still be modified before the end of the cycle,\n** and therefore it must be visited again in the atomic phase. To ensure\n** these visits, threads must return to a gray list if they are not new\n** (which can only happen in generational mode) or if the traverse is in\n** the propagate phase (which can only happen in incremental mode).\n*/\nstatic int traversethread (global_State *g, lua_State *th) {\n  UpVal *uv;\n  StkId o = th->stack.p;\n  if (isold(th) || g->gcstate == GCSpropagate)\n    linkgclist(th, g->grayagain);  /* insert into 'grayagain' list */\n  if (o == NULL)\n    return 1;  /* stack not completely built yet */\n  lua_assert(g->gcstate == GCSatomic ||\n             th->openupval == NULL || isintwups(th));\n  for (; o < th->top.p; o++)  /* mark live elements in the stack */\n    markvalue(g, s2v(o));\n  for (uv = th->openupval; uv != NULL; uv = uv->u.open.next)\n    markobject(g, uv);  /* open upvalues cannot be collected */\n  if (g->gcstate == GCSatomic) {  /* final traversal? */\n    if (!g->gcemergency)\n      luaD_shrinkstack(th); /* do not change stack in emergency cycle */\n    for (o = th->top.p; o < th->stack_last.p + EXTRA_STACK; o++)\n      setnilvalue(s2v(o));  /* clear dead stack slice */\n    /* 'remarkupvals' may have removed thread from 'twups' list */\n    if (!isintwups(th) && th->openupval != NULL) {\n      th->twups = g->twups;  /* link it back to the list */\n      g->twups = th;\n    }\n  }\n  return 1 + stacksize(th);\n}\n\n\n/*\n** traverse one gray object, turning it to black.\n*/\nstatic lu_mem propagatemark (global_State *g) {\n  GCObject *o = g->gray;\n  nw2black(o);\n  g->gray = *getgclist(o);  /* remove from 'gray' list */\n  switch (o->tt) {\n    case LUA_VTABLE: return traversetable(g, gco2t(o));\n    case LUA_VUSERDATA: return traverseudata(g, gco2u(o));\n    case LUA_VLCL: return traverseLclosure(g, gco2lcl(o));\n    case LUA_VCCL: return traverseCclosure(g, gco2ccl(o));\n    case LUA_VPROTO: return traverseproto(g, gco2p(o));\n    case LUA_VTHREAD: return traversethread(g, gco2th(o));\n    default: lua_assert(0); return 0;\n  }\n}\n\n\nstatic lu_mem propagateall (global_State *g) {\n  lu_mem tot = 0;\n  while (g->gray)\n    tot += propagatemark(g);\n  return tot;\n}\n\n\n/*\n** Traverse all ephemeron tables propagating marks from keys to values.\n** Repeat until it converges, that is, nothing new is marked. 'dir'\n** inverts the direction of the traversals, trying to speed up\n** convergence on chains in the same table.\n**\n*/\nstatic void convergeephemerons (global_State *g) {\n  int changed;\n  int dir = 0;\n  do {\n    GCObject *w;\n    GCObject *next = g->ephemeron;  /* get ephemeron list */\n    g->ephemeron = NULL;  /* tables may return to this list when traversed */\n    changed = 0;\n    while ((w = next) != NULL) {  /* for each ephemeron table */\n      Table *h = gco2t(w);\n      next = h->gclist;  /* list is rebuilt during loop */\n      nw2black(h);  /* out of the list (for now) */\n      if (traverseephemeron(g, h, dir)) {  /* marked some value? */\n        propagateall(g);  /* propagate changes */\n        changed = 1;  /* will have to revisit all ephemeron tables */\n      }\n    }\n    dir = !dir;  /* invert direction next time */\n  } while (changed);  /* repeat until no more changes */\n}\n\n/* }====================================================== */\n\n\n/*\n** {======================================================\n** Sweep Functions\n** =======================================================\n*/\n\n\n/*\n** clear entries with unmarked keys from all weaktables in list 'l'\n*/\nstatic void clearbykeys (global_State *g, GCObject *l) {\n  for (; l; l = gco2t(l)->gclist) {\n    Table *h = gco2t(l);\n    Node *limit = gnodelast(h);\n    Node *n;\n    for (n = gnode(h, 0); n < limit; n++) {\n      if (iscleared(g, gckeyN(n)))  /* unmarked key? */\n        setempty(gval(n));  /* remove entry */\n      if (isempty(gval(n)))  /* is entry empty? */\n        clearkey(n);  /* clear its key */\n    }\n  }\n}\n\n\n/*\n** clear entries with unmarked values from all weaktables in list 'l' up\n** to element 'f'\n*/\nstatic void clearbyvalues (global_State *g, GCObject *l, GCObject *f) {\n  for (; l != f; l = gco2t(l)->gclist) {\n    Table *h = gco2t(l);\n    Node *n, *limit = gnodelast(h);\n    unsigned int i;\n    unsigned int asize = luaH_realasize(h);\n    for (i = 0; i < asize; i++) {\n      TValue *o = &h->array[i];\n      if (iscleared(g, gcvalueN(o)))  /* value was collected? */\n        setempty(o);  /* remove entry */\n    }\n    for (n = gnode(h, 0); n < limit; n++) {\n      if (iscleared(g, gcvalueN(gval(n))))  /* unmarked value? */\n        setempty(gval(n));  /* remove entry */\n      if (isempty(gval(n)))  /* is entry empty? */\n        clearkey(n);  /* clear its key */\n    }\n  }\n}\n\n\nstatic void freeupval (lua_State *L, UpVal *uv) {\n  if (upisopen(uv))\n    luaF_unlinkupval(uv);\n  luaM_free(L, uv);\n}\n\n\nstatic void freeobj (lua_State *L, GCObject *o) {\n  switch (o->tt) {\n    case LUA_VPROTO:\n      luaF_freeproto(L, gco2p(o));\n      break;\n    case LUA_VUPVAL:\n      freeupval(L, gco2upv(o));\n      break;\n    case LUA_VLCL: {\n      LClosure *cl = gco2lcl(o);\n      luaM_freemem(L, cl, sizeLclosure(cl->nupvalues));\n      break;\n    }\n    case LUA_VCCL: {\n      CClosure *cl = gco2ccl(o);\n      luaM_freemem(L, cl, sizeCclosure(cl->nupvalues));\n      break;\n    }\n    case LUA_VTABLE:\n      luaH_free(L, gco2t(o));\n      break;\n    case LUA_VTHREAD:\n      luaE_freethread(L, gco2th(o));\n      break;\n    case LUA_VUSERDATA: {\n      Udata *u = gco2u(o);\n      luaM_freemem(L, o, sizeudata(u->nuvalue, u->len));\n      break;\n    }\n    case LUA_VSHRSTR: {\n      TString *ts = gco2ts(o);\n      luaS_remove(L, ts);  /* remove it from hash table */\n      luaM_freemem(L, ts, sizelstring(ts->shrlen));\n      break;\n    }\n    case LUA_VLNGSTR: {\n      TString *ts = gco2ts(o);\n      luaM_freemem(L, ts, sizelstring(ts->u.lnglen));\n      break;\n    }\n    default: lua_assert(0);\n  }\n}\n\n\n/*\n** sweep at most 'countin' elements from a list of GCObjects erasing dead\n** objects, where a dead object is one marked with the old (non current)\n** white; change all non-dead objects back to white, preparing for next\n** collection cycle. Return where to continue the traversal or NULL if\n** list is finished. ('*countout' gets the number of elements traversed.)\n*/\nstatic GCObject **sweeplist (lua_State *L, GCObject **p, int countin,\n                             int *countout) {\n  global_State *g = G(L);\n  int ow = otherwhite(g);\n  int i;\n  int white = luaC_white(g);  /* current white */\n  for (i = 0; *p != NULL && i < countin; i++) {\n    GCObject *curr = *p;\n    int marked = curr->marked;\n    if (isdeadm(ow, marked)) {  /* is 'curr' dead? */\n      *p = curr->next;  /* remove 'curr' from list */\n      freeobj(L, curr);  /* erase 'curr' */\n    }\n    else {  /* change mark to 'white' */\n      curr->marked = cast_byte((marked & ~maskgcbits) | white);\n      p = &curr->next;  /* go to next element */\n    }\n  }\n  if (countout)\n    *countout = i;  /* number of elements traversed */\n  return (*p == NULL) ? NULL : p;\n}\n\n\n/*\n** sweep a list until a live object (or end of list)\n*/\nstatic GCObject **sweeptolive (lua_State *L, GCObject **p) {\n  GCObject **old = p;\n  do {\n    p = sweeplist(L, p, 1, NULL);\n  } while (p == old);\n  return p;\n}\n\n/* }====================================================== */\n\n\n/*\n** {======================================================\n** Finalization\n** =======================================================\n*/\n\n/*\n** If possible, shrink string table.\n*/\nstatic void checkSizes (lua_State *L, global_State *g) {\n  if (!g->gcemergency) {\n    if (g->strt.nuse < g->strt.size / 4) {  /* string table too big? */\n      l_mem olddebt = g->GCdebt;\n      luaS_resize(L, g->strt.size / 2);\n      g->GCestimate += g->GCdebt - olddebt;  /* correct estimate */\n    }\n  }\n}\n\n\n/*\n** Get the next udata to be finalized from the 'tobefnz' list, and\n** link it back into the 'allgc' list.\n*/\nstatic GCObject *udata2finalize (global_State *g) {\n  GCObject *o = g->tobefnz;  /* get first element */\n  lua_assert(tofinalize(o));\n  g->tobefnz = o->next;  /* remove it from 'tobefnz' list */\n  o->next = g->allgc;  /* return it to 'allgc' list */\n  g->allgc = o;\n  resetbit(o->marked, FINALIZEDBIT);  /* object is \"normal\" again */\n  if (issweepphase(g))\n    makewhite(g, o);  /* \"sweep\" object */\n  else if (getage(o) == G_OLD1)\n    g->firstold1 = o;  /* it is the first OLD1 object in the list */\n  return o;\n}\n\n\nstatic void dothecall (lua_State *L, void *ud) {\n  UNUSED(ud);\n  luaD_callnoyield(L, L->top.p - 2, 0);\n}\n\n\nstatic void GCTM (lua_State *L) {\n  global_State *g = G(L);\n  const TValue *tm;\n  TValue v;\n  lua_assert(!g->gcemergency);\n  setgcovalue(L, &v, udata2finalize(g));\n  tm = luaT_gettmbyobj(L, &v, TM_GC);\n  if (!notm(tm)) {  /* is there a finalizer? */\n    int status;\n    lu_byte oldah = L->allowhook;\n    int oldgcstp  = g->gcstp;\n    g->gcstp |= GCSTPGC;  /* avoid GC steps */\n    L->allowhook = 0;  /* stop debug hooks during GC metamethod */\n    setobj2s(L, L->top.p++, tm);  /* push finalizer... */\n    setobj2s(L, L->top.p++, &v);  /* ... and its argument */\n    L->ci->callstatus |= CIST_FIN;  /* will run a finalizer */\n    status = luaD_pcall(L, dothecall, NULL, savestack(L, L->top.p - 2), 0);\n    L->ci->callstatus &= ~CIST_FIN;  /* not running a finalizer anymore */\n    L->allowhook = oldah;  /* restore hooks */\n    g->gcstp = oldgcstp;  /* restore state */\n    if (l_unlikely(status != LUA_OK)) {  /* error while running __gc? */\n      luaE_warnerror(L, \"__gc\");\n      L->top.p--;  /* pops error object */\n    }\n  }\n}\n\n\n/*\n** Call a few finalizers\n*/\nstatic int runafewfinalizers (lua_State *L, int n) {\n  global_State *g = G(L);\n  int i;\n  for (i = 0; i < n && g->tobefnz; i++)\n    GCTM(L);  /* call one finalizer */\n  return i;\n}\n\n\n/*\n** call all pending finalizers\n*/\nstatic void callallpendingfinalizers (lua_State *L) {\n  global_State *g = G(L);\n  while (g->tobefnz)\n    GCTM(L);\n}\n\n\n/*\n** find last 'next' field in list 'p' list (to add elements in its end)\n*/\nstatic GCObject **findlast (GCObject **p) {\n  while (*p != NULL)\n    p = &(*p)->next;\n  return p;\n}\n\n\n/*\n** Move all unreachable objects (or 'all' objects) that need\n** finalization from list 'finobj' to list 'tobefnz' (to be finalized).\n** (Note that objects after 'finobjold1' cannot be white, so they\n** don't need to be traversed. In incremental mode, 'finobjold1' is NULL,\n** so the whole list is traversed.)\n*/\nstatic void separatetobefnz (global_State *g, int all) {\n  GCObject *curr;\n  GCObject **p = &g->finobj;\n  GCObject **lastnext = findlast(&g->tobefnz);\n  while ((curr = *p) != g->finobjold1) {  /* traverse all finalizable objects */\n    lua_assert(tofinalize(curr));\n    if (!(iswhite(curr) || all))  /* not being collected? */\n      p = &curr->next;  /* don't bother with it */\n    else {\n      if (curr == g->finobjsur)  /* removing 'finobjsur'? */\n        g->finobjsur = curr->next;  /* correct it */\n      *p = curr->next;  /* remove 'curr' from 'finobj' list */\n      curr->next = *lastnext;  /* link at the end of 'tobefnz' list */\n      *lastnext = curr;\n      lastnext = &curr->next;\n    }\n  }\n}\n\n\n/*\n** If pointer 'p' points to 'o', move it to the next element.\n*/\nstatic void checkpointer (GCObject **p, GCObject *o) {\n  if (o == *p)\n    *p = o->next;\n}\n\n\n/*\n** Correct pointers to objects inside 'allgc' list when\n** object 'o' is being removed from the list.\n*/\nstatic void correctpointers (global_State *g, GCObject *o) {\n  checkpointer(&g->survival, o);\n  checkpointer(&g->old1, o);\n  checkpointer(&g->reallyold, o);\n  checkpointer(&g->firstold1, o);\n}\n\n\n/*\n** if object 'o' has a finalizer, remove it from 'allgc' list (must\n** search the list to find it) and link it in 'finobj' list.\n*/\nvoid luaC_checkfinalizer (lua_State *L, GCObject *o, Table *mt) {\n  global_State *g = G(L);\n  if (tofinalize(o) ||                 /* obj. is already marked... */\n      gfasttm(g, mt, TM_GC) == NULL ||    /* or has no finalizer... */\n      (g->gcstp & GCSTPCLS))                   /* or closing state? */\n    return;  /* nothing to be done */\n  else {  /* move 'o' to 'finobj' list */\n    GCObject **p;\n    if (issweepphase(g)) {\n      makewhite(g, o);  /* \"sweep\" object 'o' */\n      if (g->sweepgc == &o->next)  /* should not remove 'sweepgc' object */\n        g->sweepgc = sweeptolive(L, g->sweepgc);  /* change 'sweepgc' */\n    }\n    else\n      correctpointers(g, o);\n    /* search for pointer pointing to 'o' */\n    for (p = &g->allgc; *p != o; p = &(*p)->next) { /* empty */ }\n    *p = o->next;  /* remove 'o' from 'allgc' list */\n    o->next = g->finobj;  /* link it in 'finobj' list */\n    g->finobj = o;\n    l_setbit(o->marked, FINALIZEDBIT);  /* mark it as such */\n  }\n}\n\n/* }====================================================== */\n\n\n/*\n** {======================================================\n** Generational Collector\n** =======================================================\n*/\n\n\n/*\n** Set the \"time\" to wait before starting a new GC cycle; cycle will\n** start when memory use hits the threshold of ('estimate' * pause /\n** PAUSEADJ). (Division by 'estimate' should be OK: it cannot be zero,\n** because Lua cannot even start with less than PAUSEADJ bytes).\n*/\nstatic void setpause (global_State *g) {\n  l_mem threshold, debt;\n  int pause = getgcparam(g->gcpause);\n  l_mem estimate = g->GCestimate / PAUSEADJ;  /* adjust 'estimate' */\n  lua_assert(estimate > 0);\n  threshold = (pause < MAX_LMEM / estimate)  /* overflow? */\n            ? estimate * pause  /* no overflow */\n            : MAX_LMEM;  /* overflow; truncate to maximum */\n  debt = gettotalbytes(g) - threshold;\n  if (debt > 0) debt = 0;\n  luaE_setdebt(g, debt);\n}\n\n\n/*\n** Sweep a list of objects to enter generational mode.  Deletes dead\n** objects and turns the non dead to old. All non-dead threads---which\n** are now old---must be in a gray list. Everything else is not in a\n** gray list. Open upvalues are also kept gray.\n*/\nstatic void sweep2old (lua_State *L, GCObject **p) {\n  GCObject *curr;\n  global_State *g = G(L);\n  while ((curr = *p) != NULL) {\n    if (iswhite(curr)) {  /* is 'curr' dead? */\n      lua_assert(isdead(g, curr));\n      *p = curr->next;  /* remove 'curr' from list */\n      freeobj(L, curr);  /* erase 'curr' */\n    }\n    else {  /* all surviving objects become old */\n      setage(curr, G_OLD);\n      if (curr->tt == LUA_VTHREAD) {  /* threads must be watched */\n        lua_State *th = gco2th(curr);\n        linkgclist(th, g->grayagain);  /* insert into 'grayagain' list */\n      }\n      else if (curr->tt == LUA_VUPVAL && upisopen(gco2upv(curr)))\n        set2gray(curr);  /* open upvalues are always gray */\n      else  /* everything else is black */\n        nw2black(curr);\n      p = &curr->next;  /* go to next element */\n    }\n  }\n}\n\n\n/*\n** Sweep for generational mode. Delete dead objects. (Because the\n** collection is not incremental, there are no \"new white\" objects\n** during the sweep. So, any white object must be dead.) For\n** non-dead objects, advance their ages and clear the color of\n** new objects. (Old objects keep their colors.)\n** The ages of G_TOUCHED1 and G_TOUCHED2 objects cannot be advanced\n** here, because these old-generation objects are usually not swept\n** here.  They will all be advanced in 'correctgraylist'. That function\n** will also remove objects turned white here from any gray list.\n*/\nstatic GCObject **sweepgen (lua_State *L, global_State *g, GCObject **p,\n                            GCObject *limit, GCObject **pfirstold1) {\n  static const lu_byte nextage[] = {\n    G_SURVIVAL,  /* from G_NEW */\n    G_OLD1,      /* from G_SURVIVAL */\n    G_OLD1,      /* from G_OLD0 */\n    G_OLD,       /* from G_OLD1 */\n    G_OLD,       /* from G_OLD (do not change) */\n    G_TOUCHED1,  /* from G_TOUCHED1 (do not change) */\n    G_TOUCHED2   /* from G_TOUCHED2 (do not change) */\n  };\n  int white = luaC_white(g);\n  GCObject *curr;\n  while ((curr = *p) != limit) {\n    if (iswhite(curr)) {  /* is 'curr' dead? */\n      lua_assert(!isold(curr) && isdead(g, curr));\n      *p = curr->next;  /* remove 'curr' from list */\n      freeobj(L, curr);  /* erase 'curr' */\n    }\n    else {  /* correct mark and age */\n      if (getage(curr) == G_NEW) {  /* new objects go back to white */\n        int marked = curr->marked & ~maskgcbits;  /* erase GC bits */\n        curr->marked = cast_byte(marked | G_SURVIVAL | white);\n      }\n      else {  /* all other objects will be old, and so keep their color */\n        setage(curr, nextage[getage(curr)]);\n        if (getage(curr) == G_OLD1 && *pfirstold1 == NULL)\n          *pfirstold1 = curr;  /* first OLD1 object in the list */\n      }\n      p = &curr->next;  /* go to next element */\n    }\n  }\n  return p;\n}\n\n\n/*\n** Traverse a list making all its elements white and clearing their\n** age. In incremental mode, all objects are 'new' all the time,\n** except for fixed strings (which are always old).\n*/\nstatic void whitelist (global_State *g, GCObject *p) {\n  int white = luaC_white(g);\n  for (; p != NULL; p = p->next)\n    p->marked = cast_byte((p->marked & ~maskgcbits) | white);\n}\n\n\n/*\n** Correct a list of gray objects. Return pointer to where rest of the\n** list should be linked.\n** Because this correction is done after sweeping, young objects might\n** be turned white and still be in the list. They are only removed.\n** 'TOUCHED1' objects are advanced to 'TOUCHED2' and remain on the list;\n** Non-white threads also remain on the list; 'TOUCHED2' objects become\n** regular old; they and anything else are removed from the list.\n*/\nstatic GCObject **correctgraylist (GCObject **p) {\n  GCObject *curr;\n  while ((curr = *p) != NULL) {\n    GCObject **next = getgclist(curr);\n    if (iswhite(curr))\n      goto remove;  /* remove all white objects */\n    else if (getage(curr) == G_TOUCHED1) {  /* touched in this cycle? */\n      lua_assert(isgray(curr));\n      nw2black(curr);  /* make it black, for next barrier */\n      changeage(curr, G_TOUCHED1, G_TOUCHED2);\n      goto remain;  /* keep it in the list and go to next element */\n    }\n    else if (curr->tt == LUA_VTHREAD) {\n      lua_assert(isgray(curr));\n      goto remain;  /* keep non-white threads on the list */\n    }\n    else {  /* everything else is removed */\n      lua_assert(isold(curr));  /* young objects should be white here */\n      if (getage(curr) == G_TOUCHED2)  /* advance from TOUCHED2... */\n        changeage(curr, G_TOUCHED2, G_OLD);  /* ... to OLD */\n      nw2black(curr);  /* make object black (to be removed) */\n      goto remove;\n    }\n    remove: *p = *next; continue;\n    remain: p = next; continue;\n  }\n  return p;\n}\n\n\n/*\n** Correct all gray lists, coalescing them into 'grayagain'.\n*/\nstatic void correctgraylists (global_State *g) {\n  GCObject **list = correctgraylist(&g->grayagain);\n  *list = g->weak; g->weak = NULL;\n  list = correctgraylist(list);\n  *list = g->allweak; g->allweak = NULL;\n  list = correctgraylist(list);\n  *list = g->ephemeron; g->ephemeron = NULL;\n  correctgraylist(list);\n}\n\n\n/*\n** Mark black 'OLD1' objects when starting a new young collection.\n** Gray objects are already in some gray list, and so will be visited\n** in the atomic step.\n*/\nstatic void markold (global_State *g, GCObject *from, GCObject *to) {\n  GCObject *p;\n  for (p = from; p != to; p = p->next) {\n    if (getage(p) == G_OLD1) {\n      lua_assert(!iswhite(p));\n      changeage(p, G_OLD1, G_OLD);  /* now they are old */\n      if (isblack(p))\n        reallymarkobject(g, p);\n    }\n  }\n}\n\n\n/*\n** Finish a young-generation collection.\n*/\nstatic void finishgencycle (lua_State *L, global_State *g) {\n  correctgraylists(g);\n  checkSizes(L, g);\n  g->gcstate = GCSpropagate;  /* skip restart */\n  if (!g->gcemergency)\n    callallpendingfinalizers(L);\n}\n\n\n/*\n** Does a young collection. First, mark 'OLD1' objects. Then does the\n** atomic step. Then, sweep all lists and advance pointers. Finally,\n** finish the collection.\n*/\nstatic void youngcollection (lua_State *L, global_State *g) {\n  GCObject **psurvival;  /* to point to first non-dead survival object */\n  GCObject *dummy;  /* dummy out parameter to 'sweepgen' */\n  lua_assert(g->gcstate == GCSpropagate);\n  if (g->firstold1) {  /* are there regular OLD1 objects? */\n    markold(g, g->firstold1, g->reallyold);  /* mark them */\n    g->firstold1 = NULL;  /* no more OLD1 objects (for now) */\n  }\n  markold(g, g->finobj, g->finobjrold);\n  markold(g, g->tobefnz, NULL);\n  atomic(L);\n\n  /* sweep nursery and get a pointer to its last live element */\n  g->gcstate = GCSswpallgc;\n  psurvival = sweepgen(L, g, &g->allgc, g->survival, &g->firstold1);\n  /* sweep 'survival' */\n  sweepgen(L, g, psurvival, g->old1, &g->firstold1);\n  g->reallyold = g->old1;\n  g->old1 = *psurvival;  /* 'survival' survivals are old now */\n  g->survival = g->allgc;  /* all news are survivals */\n\n  /* repeat for 'finobj' lists */\n  dummy = NULL;  /* no 'firstold1' optimization for 'finobj' lists */\n  psurvival = sweepgen(L, g, &g->finobj, g->finobjsur, &dummy);\n  /* sweep 'survival' */\n  sweepgen(L, g, psurvival, g->finobjold1, &dummy);\n  g->finobjrold = g->finobjold1;\n  g->finobjold1 = *psurvival;  /* 'survival' survivals are old now */\n  g->finobjsur = g->finobj;  /* all news are survivals */\n\n  sweepgen(L, g, &g->tobefnz, NULL, &dummy);\n  finishgencycle(L, g);\n}\n\n\n/*\n** Clears all gray lists, sweeps objects, and prepare sublists to enter\n** generational mode. The sweeps remove dead objects and turn all\n** surviving objects to old. Threads go back to 'grayagain'; everything\n** else is turned black (not in any gray list).\n*/\nstatic void atomic2gen (lua_State *L, global_State *g) {\n  cleargraylists(g);\n  /* sweep all elements making them old */\n  g->gcstate = GCSswpallgc;\n  sweep2old(L, &g->allgc);\n  /* everything alive now is old */\n  g->reallyold = g->old1 = g->survival = g->allgc;\n  g->firstold1 = NULL;  /* there are no OLD1 objects anywhere */\n\n  /* repeat for 'finobj' lists */\n  sweep2old(L, &g->finobj);\n  g->finobjrold = g->finobjold1 = g->finobjsur = g->finobj;\n\n  sweep2old(L, &g->tobefnz);\n\n  g->gckind = KGC_GEN;\n  g->lastatomic = 0;\n  g->GCestimate = gettotalbytes(g);  /* base for memory control */\n  finishgencycle(L, g);\n}\n\n\n/*\n** Set debt for the next minor collection, which will happen when\n** memory grows 'genminormul'%.\n*/\nstatic void setminordebt (global_State *g) {\n  luaE_setdebt(g, -(cast(l_mem, (gettotalbytes(g) / 100)) * g->genminormul));\n}\n\n\n/*\n** Enter generational mode. Must go until the end of an atomic cycle\n** to ensure that all objects are correctly marked and weak tables\n** are cleared. Then, turn all objects into old and finishes the\n** collection.\n*/\nstatic lu_mem entergen (lua_State *L, global_State *g) {\n  lu_mem numobjs;\n  luaC_runtilstate(L, bitmask(GCSpause));  /* prepare to start a new cycle */\n  luaC_runtilstate(L, bitmask(GCSpropagate));  /* start new cycle */\n  numobjs = atomic(L);  /* propagates all and then do the atomic stuff */\n  atomic2gen(L, g);\n  setminordebt(g);  /* set debt assuming next cycle will be minor */\n  return numobjs;\n}\n\n\n/*\n** Enter incremental mode. Turn all objects white, make all\n** intermediate lists point to NULL (to avoid invalid pointers),\n** and go to the pause state.\n*/\nstatic void enterinc (global_State *g) {\n  whitelist(g, g->allgc);\n  g->reallyold = g->old1 = g->survival = NULL;\n  whitelist(g, g->finobj);\n  whitelist(g, g->tobefnz);\n  g->finobjrold = g->finobjold1 = g->finobjsur = NULL;\n  g->gcstate = GCSpause;\n  g->gckind = KGC_INC;\n  g->lastatomic = 0;\n}\n\n\n/*\n** Change collector mode to 'newmode'.\n*/\nvoid luaC_changemode (lua_State *L, int newmode) {\n  global_State *g = G(L);\n  if (newmode != g->gckind) {\n    if (newmode == KGC_GEN)  /* entering generational mode? */\n      entergen(L, g);\n    else\n      enterinc(g);  /* entering incremental mode */\n  }\n  g->lastatomic = 0;\n}\n\n\n/*\n** Does a full collection in generational mode.\n*/\nstatic lu_mem fullgen (lua_State *L, global_State *g) {\n  enterinc(g);\n  return entergen(L, g);\n}\n\n\n/*\n** Does a major collection after last collection was a \"bad collection\".\n**\n** When the program is building a big structure, it allocates lots of\n** memory but generates very little garbage. In those scenarios,\n** the generational mode just wastes time doing small collections, and\n** major collections are frequently what we call a \"bad collection\", a\n** collection that frees too few objects. To avoid the cost of switching\n** between generational mode and the incremental mode needed for full\n** (major) collections, the collector tries to stay in incremental mode\n** after a bad collection, and to switch back to generational mode only\n** after a \"good\" collection (one that traverses less than 9/8 objects\n** of the previous one).\n** The collector must choose whether to stay in incremental mode or to\n** switch back to generational mode before sweeping. At this point, it\n** does not know the real memory in use, so it cannot use memory to\n** decide whether to return to generational mode. Instead, it uses the\n** number of objects traversed (returned by 'atomic') as a proxy. The\n** field 'g->lastatomic' keeps this count from the last collection.\n** ('g->lastatomic != 0' also means that the last collection was bad.)\n*/\nstatic void stepgenfull (lua_State *L, global_State *g) {\n  lu_mem newatomic;  /* count of traversed objects */\n  lu_mem lastatomic = g->lastatomic;  /* count from last collection */\n  if (g->gckind == KGC_GEN)  /* still in generational mode? */\n    enterinc(g);  /* enter incremental mode */\n  luaC_runtilstate(L, bitmask(GCSpropagate));  /* start new cycle */\n  newatomic = atomic(L);  /* mark everybody */\n  if (newatomic < lastatomic + (lastatomic >> 3)) {  /* good collection? */\n    atomic2gen(L, g);  /* return to generational mode */\n    setminordebt(g);\n  }\n  else {  /* another bad collection; stay in incremental mode */\n    g->GCestimate = gettotalbytes(g);  /* first estimate */\n    entersweep(L);\n    luaC_runtilstate(L, bitmask(GCSpause));  /* finish collection */\n    setpause(g);\n    g->lastatomic = newatomic;\n  }\n}\n\n\n/*\n** Does a generational \"step\".\n** Usually, this means doing a minor collection and setting the debt to\n** make another collection when memory grows 'genminormul'% larger.\n**\n** However, there are exceptions.  If memory grows 'genmajormul'%\n** larger than it was at the end of the last major collection (kept\n** in 'g->GCestimate'), the function does a major collection. At the\n** end, it checks whether the major collection was able to free a\n** decent amount of memory (at least half the growth in memory since\n** previous major collection). If so, the collector keeps its state,\n** and the next collection will probably be minor again. Otherwise,\n** we have what we call a \"bad collection\". In that case, set the field\n** 'g->lastatomic' to signal that fact, so that the next collection will\n** go to 'stepgenfull'.\n**\n** 'GCdebt <= 0' means an explicit call to GC step with \"size\" zero;\n** in that case, do a minor collection.\n*/\nstatic void genstep (lua_State *L, global_State *g) {\n  if (g->lastatomic != 0)  /* last collection was a bad one? */\n    stepgenfull(L, g);  /* do a full step */\n  else {\n    lu_mem majorbase = g->GCestimate;  /* memory after last major collection */\n    lu_mem majorinc = (majorbase / 100) * getgcparam(g->genmajormul);\n    if (g->GCdebt > 0 && gettotalbytes(g) > majorbase + majorinc) {\n      lu_mem numobjs = fullgen(L, g);  /* do a major collection */\n      if (gettotalbytes(g) < majorbase + (majorinc / 2)) {\n        /* collected at least half of memory growth since last major\n           collection; keep doing minor collections. */\n        lua_assert(g->lastatomic == 0);\n      }\n      else {  /* bad collection */\n        g->lastatomic = numobjs;  /* signal that last collection was bad */\n        setpause(g);  /* do a long wait for next (major) collection */\n      }\n    }\n    else {  /* regular case; do a minor collection */\n      youngcollection(L, g);\n      setminordebt(g);\n      g->GCestimate = majorbase;  /* preserve base value */\n    }\n  }\n  lua_assert(isdecGCmodegen(g));\n}\n\n/* }====================================================== */\n\n\n/*\n** {======================================================\n** GC control\n** =======================================================\n*/\n\n\n/*\n** Enter first sweep phase.\n** The call to 'sweeptolive' makes the pointer point to an object\n** inside the list (instead of to the header), so that the real sweep do\n** not need to skip objects created between \"now\" and the start of the\n** real sweep.\n*/\nstatic void entersweep (lua_State *L) {\n  global_State *g = G(L);\n  g->gcstate = GCSswpallgc;\n  lua_assert(g->sweepgc == NULL);\n  g->sweepgc = sweeptolive(L, &g->allgc);\n}\n\n\n/*\n** Delete all objects in list 'p' until (but not including) object\n** 'limit'.\n*/\nstatic void deletelist (lua_State *L, GCObject *p, GCObject *limit) {\n  while (p != limit) {\n    GCObject *next = p->next;\n    freeobj(L, p);\n    p = next;\n  }\n}\n\n\n/*\n** Call all finalizers of the objects in the given Lua state, and\n** then free all objects, except for the main thread.\n*/\nvoid luaC_freeallobjects (lua_State *L) {\n  global_State *g = G(L);\n  g->gcstp = GCSTPCLS;  /* no extra finalizers after here */\n  luaC_changemode(L, KGC_INC);\n  separatetobefnz(g, 1);  /* separate all objects with finalizers */\n  lua_assert(g->finobj == NULL);\n  callallpendingfinalizers(L);\n  deletelist(L, g->allgc, obj2gco(g->mainthread));\n  lua_assert(g->finobj == NULL);  /* no new finalizers */\n  deletelist(L, g->fixedgc, NULL);  /* collect fixed objects */\n  lua_assert(g->strt.nuse == 0);\n}\n\n\nstatic lu_mem atomic (lua_State *L) {\n  global_State *g = G(L);\n  lu_mem work = 0;\n  GCObject *origweak, *origall;\n  GCObject *grayagain = g->grayagain;  /* save original list */\n  g->grayagain = NULL;\n  lua_assert(g->ephemeron == NULL && g->weak == NULL);\n  lua_assert(!iswhite(g->mainthread));\n  g->gcstate = GCSatomic;\n  markobject(g, L);  /* mark running thread */\n  /* registry and global metatables may be changed by API */\n  markvalue(g, &g->l_registry);\n  markmt(g);  /* mark global metatables */\n  work += propagateall(g);  /* empties 'gray' list */\n  /* remark occasional upvalues of (maybe) dead threads */\n  work += remarkupvals(g);\n  work += propagateall(g);  /* propagate changes */\n  g->gray = grayagain;\n  work += propagateall(g);  /* traverse 'grayagain' list */\n  convergeephemerons(g);\n  /* at this point, all strongly accessible objects are marked. */\n  /* Clear values from weak tables, before checking finalizers */\n  clearbyvalues(g, g->weak, NULL);\n  clearbyvalues(g, g->allweak, NULL);\n  origweak = g->weak; origall = g->allweak;\n  separatetobefnz(g, 0);  /* separate objects to be finalized */\n  work += markbeingfnz(g);  /* mark objects that will be finalized */\n  work += propagateall(g);  /* remark, to propagate 'resurrection' */\n  convergeephemerons(g);\n  /* at this point, all resurrected objects are marked. */\n  /* remove dead objects from weak tables */\n  clearbykeys(g, g->ephemeron);  /* clear keys from all ephemeron tables */\n  clearbykeys(g, g->allweak);  /* clear keys from all 'allweak' tables */\n  /* clear values from resurrected weak tables */\n  clearbyvalues(g, g->weak, origweak);\n  clearbyvalues(g, g->allweak, origall);\n  luaS_clearcache(g);\n  g->currentwhite = cast_byte(otherwhite(g));  /* flip current white */\n  lua_assert(g->gray == NULL);\n  return work;  /* estimate of slots marked by 'atomic' */\n}\n\n\nstatic int sweepstep (lua_State *L, global_State *g,\n                      int nextstate, GCObject **nextlist) {\n  if (g->sweepgc) {\n    l_mem olddebt = g->GCdebt;\n    int count;\n    g->sweepgc = sweeplist(L, g->sweepgc, GCSWEEPMAX, &count);\n    g->GCestimate += g->GCdebt - olddebt;  /* update estimate */\n    return count;\n  }\n  else {  /* enter next state */\n    g->gcstate = nextstate;\n    g->sweepgc = nextlist;\n    return 0;  /* no work done */\n  }\n}\n\n\nstatic lu_mem singlestep (lua_State *L) {\n  global_State *g = G(L);\n  lu_mem work;\n  lua_assert(!g->gcstopem);  /* collector is not reentrant */\n  g->gcstopem = 1;  /* no emergency collections while collecting */\n  switch (g->gcstate) {\n    case GCSpause: {\n      restartcollection(g);\n      g->gcstate = GCSpropagate;\n      work = 1;\n      break;\n    }\n    case GCSpropagate: {\n      if (g->gray == NULL) {  /* no more gray objects? */\n        g->gcstate = GCSenteratomic;  /* finish propagate phase */\n        work = 0;\n      }\n      else\n        work = propagatemark(g);  /* traverse one gray object */\n      break;\n    }\n    case GCSenteratomic: {\n      work = atomic(L);  /* work is what was traversed by 'atomic' */\n      entersweep(L);\n      g->GCestimate = gettotalbytes(g);  /* first estimate */\n      break;\n    }\n    case GCSswpallgc: {  /* sweep \"regular\" objects */\n      work = sweepstep(L, g, GCSswpfinobj, &g->finobj);\n      break;\n    }\n    case GCSswpfinobj: {  /* sweep objects with finalizers */\n      work = sweepstep(L, g, GCSswptobefnz, &g->tobefnz);\n      break;\n    }\n    case GCSswptobefnz: {  /* sweep objects to be finalized */\n      work = sweepstep(L, g, GCSswpend, NULL);\n      break;\n    }\n    case GCSswpend: {  /* finish sweeps */\n      checkSizes(L, g);\n      g->gcstate = GCScallfin;\n      work = 0;\n      break;\n    }\n    case GCScallfin: {  /* call remaining finalizers */\n      if (g->tobefnz && !g->gcemergency) {\n        g->gcstopem = 0;  /* ok collections during finalizers */\n        work = runafewfinalizers(L, GCFINMAX) * GCFINALIZECOST;\n      }\n      else {  /* emergency mode or no more finalizers */\n        g->gcstate = GCSpause;  /* finish collection */\n        work = 0;\n      }\n      break;\n    }\n    default: lua_assert(0); return 0;\n  }\n  g->gcstopem = 0;\n  return work;\n}\n\n\n/*\n** advances the garbage collector until it reaches a state allowed\n** by 'statemask'\n*/\nvoid luaC_runtilstate (lua_State *L, int statesmask) {\n  global_State *g = G(L);\n  while (!testbit(statesmask, g->gcstate))\n    singlestep(L);\n}\n\n\n\n/*\n** Performs a basic incremental step. The debt and step size are\n** converted from bytes to \"units of work\"; then the function loops\n** running single steps until adding that many units of work or\n** finishing a cycle (pause state). Finally, it sets the debt that\n** controls when next step will be performed.\n*/\nstatic void incstep (lua_State *L, global_State *g) {\n  int stepmul = (getgcparam(g->gcstepmul) | 1);  /* avoid division by 0 */\n  l_mem debt = (g->GCdebt / WORK2MEM) * stepmul;\n  l_mem stepsize = (g->gcstepsize <= log2maxs(l_mem))\n                 ? ((cast(l_mem, 1) << g->gcstepsize) / WORK2MEM) * stepmul\n                 : MAX_LMEM;  /* overflow; keep maximum value */\n  do {  /* repeat until pause or enough \"credit\" (negative debt) */\n    lu_mem work = singlestep(L);  /* perform one single step */\n    debt -= work;\n  } while (debt > -stepsize && g->gcstate != GCSpause);\n  if (g->gcstate == GCSpause)\n    setpause(g);  /* pause until next cycle */\n  else {\n    debt = (debt / stepmul) * WORK2MEM;  /* convert 'work units' to bytes */\n    luaE_setdebt(g, debt);\n  }\n}\n\n/*\n** Performs a basic GC step if collector is running. (If collector is\n** not running, set a reasonable debt to avoid it being called at\n** every single check.)\n*/\nvoid luaC_step (lua_State *L) {\n  global_State *g = G(L);\n  if (!gcrunning(g))  /* not running? */\n    luaE_setdebt(g, -2000);\n  else {\n    if(isdecGCmodegen(g))\n      genstep(L, g);\n    else\n      incstep(L, g);\n  }\n}\n\n\n/*\n** Perform a full collection in incremental mode.\n** Before running the collection, check 'keepinvariant'; if it is true,\n** there may be some objects marked as black, so the collector has\n** to sweep all objects to turn them back to white (as white has not\n** changed, nothing will be collected).\n*/\nstatic void fullinc (lua_State *L, global_State *g) {\n  if (keepinvariant(g))  /* black objects? */\n    entersweep(L); /* sweep everything to turn them back to white */\n  /* finish any pending sweep phase to start a new cycle */\n  luaC_runtilstate(L, bitmask(GCSpause));\n  luaC_runtilstate(L, bitmask(GCSpropagate));  /* start new cycle */\n  g->gcstate = GCSenteratomic;  /* go straight to atomic phase */\n  luaC_runtilstate(L, bitmask(GCScallfin));  /* run up to finalizers */\n  /* estimate must be correct after a full GC cycle */\n  lua_assert(g->GCestimate == gettotalbytes(g));\n  luaC_runtilstate(L, bitmask(GCSpause));  /* finish collection */\n  setpause(g);\n}\n\n\n/*\n** Performs a full GC cycle; if 'isemergency', set a flag to avoid\n** some operations which could change the interpreter state in some\n** unexpected ways (running finalizers and shrinking some structures).\n*/\nvoid luaC_fullgc (lua_State *L, int isemergency) {\n  global_State *g = G(L);\n  lua_assert(!g->gcemergency);\n  g->gcemergency = isemergency;  /* set flag */\n  if (g->gckind == KGC_INC)\n    fullinc(L, g);\n  else\n    fullgen(L, g);\n  g->gcemergency = 0;\n}\n\n/* }====================================================== */\n\n\n"},
                          "roles": ["analysisTarget",
                                    "tracedFile"]}],
           "results": [{"ruleId": "-Wanalyzer-null-dereference",
                        "taxa": [{"id": "476",
                                  "toolComponent": {"name": "cwe"}}],
                        "properties": {"gcc/analyzer/saved_diagnostic/sm": "malloc",
                                       "gcc/analyzer/saved_diagnostic/ploc": {"enode": 11407},
                                       "gcc/analyzer/saved_diagnostic/var": "_11",
                                       "gcc/analyzer/saved_diagnostic/sval": "(struct GCObject * *)0B",
                                       "gcc/analyzer/saved_diagnostic/state": "null",
                                       "gcc/analyzer/saved_diagnostic/idx": 85,
                                       "gcc/analyzer/saved_diagnostic/duplicates": [{"properties": {"gcc/analyzer/saved_diagnostic/sm": "malloc",
                                                                                                    "gcc/analyzer/saved_diagnostic/ploc": {"enode": 8498},
                                                                                                    "gcc/analyzer/saved_diagnostic/var": "_11",
                                                                                                    "gcc/analyzer/saved_diagnostic/sval": "(struct GCObject * *)0B",
                                                                                                    "gcc/analyzer/saved_diagnostic/state": "null",
                                                                                                    "gcc/analyzer/saved_diagnostic/idx": 62,
                                                                                                    "gcc/analyzer/pending_diagnostic/kind": "null_deref"}},
                                                                                    {"properties": {"gcc/analyzer/saved_diagnostic/sm": "malloc",
                                                                                                    "gcc/analyzer/saved_diagnostic/ploc": {"enode": 10161},
                                                                                                    "gcc/analyzer/saved_diagnostic/var": "_11",
                                                                                                    "gcc/analyzer/saved_diagnostic/sval": "(struct GCObject * *)0B",
                                                                                                    "gcc/analyzer/saved_diagnostic/state": "null",
                                                                                                    "gcc/analyzer/saved_diagnostic/idx": 75,
                                                                                                    "gcc/analyzer/pending_diagnostic/kind": "null_deref"}}],
                                       "gcc/analyzer/pending_diagnostic/kind": "null_deref"},
                        "level": "warning",
                        "message": {"text": "dereference of NULL '0'"},
                        "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lgc.c",
                                                                                 "uriBaseId": "PWD"},
                                                            "region": {"startLine": 150,
                                                                       "startColumn": 3,
                                                                       "endColumn": 17},
                                                            "contextRegion": {"startLine": 150,
                                                                              "snippet": {"text": "  *pnext = *list;\n"}}},
                                       "logicalLocations": [{"index": 0,
                                                             "fullyQualifiedName": "genlink"}]}],
                        "codeFlows": [{"threadFlows": [{"id": "main",
                                                        "locations": [{"properties": {"gcc/analyzer/checker_event/emission_id": "(1)",
                                                                                      "gcc/analyzer/checker_event/kind": "function_entry"},
                                                                       "location": {"physicalLocation": {"artifactLocation": {"uri": "lgc.c",
                                                                                                                              "uriBaseId": "PWD"},
                                                                                                         "region": {"startLine": 1734,
                                                                                                                    "startColumn": 6,
                                                                                                                    "endColumn": 17},
                                                                                                         "contextRegion": {"startLine": 1734,
                                                                                                                           "snippet": {"text": "void luaC_fullgc (lua_State *L, int isemergency) {\n"}}},
                                                                                    "logicalLocations": [{"index": 1,
                                                                                                          "fullyQualifiedName": "luaC_fullgc"}],
                                                                                    "message": {"text": "entry to 'luaC_fullgc'"}},
                                                                       "kinds": ["enter",
                                                                                 "function"],
                                                                       "nestingLevel": 1,
                                                                       "executionOrder": 1},
                                                                      {"properties": {"gcc/analyzer/checker_event/emission_id": "(2)",
                                                                                      "gcc/analyzer/checker_event/kind": "start_cfg_edge",
                                                                                      "gcc/analyzer/superedge_event/superedge": {"src_id": 41,
                                                                                                                                 "dst_id": 42}},
                                                                       "location": {"physicalLocation": {"artifactLocation": {"uri": "lgc.c",
                                                                                                                              "uriBaseId": "PWD"},
                                                                                                         "region": {"startLine": 1738,
                                                                                                                    "startColumn": 6,
                                                                                                                    "endColumn": 7},
                                                                                                         "contextRegion": {"startLine": 1738,
                                                                                                                           "snippet": {"text": "  if (g->gckind == KGC_INC)\n"}}},
                                                                                    "logicalLocations": [{"index": 1,
                                                                                                          "fullyQualifiedName": "luaC_fullgc"}],
                                                                                    "message": {"text": "following 'true' branch..."}},
                                                                       "kinds": ["branch",
                                                                                 "true"],
                                                                       "nestingLevel": 1,
                                                                       "executionOrder": 2},
                                                                      {"properties": {"gcc/analyzer/checker_event/emission_id": "(3)",
                                                                                      "gcc/analyzer/checker_event/kind": "end_cfg_edge",
                                                                                      "gcc/analyzer/superedge_event/superedge": {"src_id": 41,
                                                                                                                                 "dst_id": 42}},
                                                                       "location": {"physicalLocation": {"artifactLocation": {"uri": "lgc.c",
                                                                                                                              "uriBaseId": "PWD"},
                                                                                                         "region": {"startLine": 1739,
                                                                                                                    "startColumn": 5,
                                                                                                                    "endColumn": 18},
                                                                                                         "contextRegion": {"startLine": 1739,
                                                                                                                           "snippet": {"text": "    fullinc(L, g);\n"}}},
                                                                                    "logicalLocations": [{"index": 1,
                                                                                                          "fullyQualifiedName": "luaC_fullgc"}],
                                                                                    "message": {"text": "...to here"}},
                                                                       "kinds": ["branch",
                                                                                 "true"],
                                                                       "nestingLevel": 1,
                                                                       "executionOrder": 3},
                                                                      {"properties": {"gcc/analyzer/checker_event/emission_id": "(4)",
                                                                                      "gcc/analyzer/checker_event/kind": "call",
                                                                                      "gcc/analyzer/superedge_event/superedge": {"src_id": 42,
                                                                                                                                 "dst_id": 43}},
                                                                       "location": {"physicalLocation": {"artifactLocation": {"uri": "lgc.c",
                                                                                                                              "uriBaseId": "PWD"},
                                                                                                         "region": {"startLine": 1739,
                                                                                                                    "startColumn": 5,
                                                                                                                    "endColumn": 18},
                                                                                                         "contextRegion": {"startLine": 1739,
                                                                                                                           "snippet": {"text": "    fullinc(L, g);\n"}}},
                                                                                    "logicalLocations": [{"index": 1,
                                                                                                          "fullyQualifiedName": "luaC_fullgc"}],
                                                                                    "message": {"text": "calling 'fullinc' from 'luaC_fullgc'"}},
                                                                       "kinds": ["call",
                                                                                 "function"],
                                                                       "nestingLevel": 1,
                                                                       "executionOrder": 4},
                                                                      {"properties": {"gcc/analyzer/checker_event/emission_id": "(5)",
                                                                                      "gcc/analyzer/checker_event/kind": "function_entry"},
                                                                       "location": {"physicalLocation": {"artifactLocation": {"uri": "lgc.c",
                                                                                                                              "uriBaseId": "PWD"},
                                                                                                         "region": {"startLine": 1714,
                                                                                                                    "startColumn": 13,
                                                                                                                    "endColumn": 20},
                                                                                                         "contextRegion": {"startLine": 1714,
                                                                                                                           "snippet": {"text": "static void fullinc (lua_State *L, global_State *g) {\n"}}},
                                                                                    "logicalLocations": [{"index": 2,
                                                                                                          "fullyQualifiedName": "fullinc"}],
                                                                                    "message": {"text": "entry to 'fullinc'"}},
                                                                       "kinds": ["enter",
                                                                                 "function"],
                                                                       "nestingLevel": 2,
                                                                       "executionOrder": 5},
                                                                      {"properties": {"gcc/analyzer/checker_event/emission_id": "(6)",
                                                                                      "gcc/analyzer/checker_event/kind": "start_cfg_edge",
                                                                                      "gcc/analyzer/superedge_event/superedge": {"src_id": 54,
                                                                                                                                 "dst_id": 55}},
                                                                       "location": {"physicalLocation": {"artifactLocation": {"uri": "lgc.c",
                                                                                                                              "uriBaseId": "PWD"},
                                                                                                         "region": {"startLine": 1715,
                                                                                                                    "startColumn": 6,
                                                                                                                    "endColumn": 7},
                                                                                                         "contextRegion": {"startLine": 1715,
                                                                                                                           "snippet": {"text": "  if (keepinvariant(g))  /* black objects? */\n"}}},
                                                                                    "logicalLocations": [{"index": 2,
                                                                                                          "fullyQualifiedName": "fullinc"}],
                                                                                    "message": {"text": "following 'true' branch..."}},
                                                                       "kinds": ["branch",
                                                                                 "true"],
                                                                       "nestingLevel": 2,
                                                                       "executionOrder": 6},
                                                                      {"properties": {"gcc/analyzer/checker_event/emission_id": "(7)",
                                                                                      "gcc/analyzer/checker_event/kind": "end_cfg_edge",
                                                                                      "gcc/analyzer/superedge_event/superedge": {"src_id": 54,
                                                                                                                                 "dst_id": 55}},
                                                                       "location": {"physicalLocation": {"artifactLocation": {"uri": "lgc.c",
                                                                                                                              "uriBaseId": "PWD"},
                                                                                                         "region": {"startLine": 1716,
                                                                                                                    "startColumn": 5,
                                                                                                                    "endColumn": 18},
                                                                                                         "contextRegion": {"startLine": 1716,
                                                                                                                           "snippet": {"text": "    entersweep(L); /* sweep everything to turn them back to white */\n"}}},
                                                                                    "logicalLocations": [{"index": 2,
                                                                                                          "fullyQualifiedName": "fullinc"}],
                                                                                    "message": {"text": "...to here"}},
                                                                       "kinds": ["branch",
                                                                                 "true"],
                                                                       "nestingLevel": 2,
                                                                       "executionOrder": 7},
                                                                      {"properties": {"gcc/analyzer/checker_event/emission_id": "(8)",
                                                                                      "gcc/analyzer/checker_event/kind": "call",
                                                                                      "gcc/analyzer/superedge_event/superedge": {"src_id": 55,
                                                                                                                                 "dst_id": 56}},
                                                                       "location": {"physicalLocation": {"artifactLocation": {"uri": "lgc.c",
                                                                                                                              "uriBaseId": "PWD"},
                                                                                                         "region": {"startLine": 1716,
                                                                                                                    "startColumn": 5,
                                                                                                                    "endColumn": 18},
                                                                                                         "contextRegion": {"startLine": 1716,
                                                                                                                           "snippet": {"text": "    entersweep(L); /* sweep everything to turn them back to white */\n"}}},
                                                                                    "logicalLocations": [{"index": 2,
                                                                                                          "fullyQualifiedName": "fullinc"}],
                                                                                    "message": {"text": "calling 'entersweep' from 'fullinc'"}},
                                                                       "kinds": ["call",
                                                                                 "function"],
                                                                       "nestingLevel": 2,
                                                                       "executionOrder": 8},
                                                                      {"properties": {"gcc/analyzer/checker_event/emission_id": "(9)",
                                                                                      "gcc/analyzer/checker_event/kind": "function_entry"},
                                                                       "location": {"physicalLocation": {"artifactLocation": {"uri": "lgc.c",
                                                                                                                              "uriBaseId": "PWD"},
                                                                                                         "region": {"startLine": 1490,
                                                                                                                    "startColumn": 13,
                                                                                                                    "endColumn": 23},
                                                                                                         "contextRegion": {"startLine": 1490,
                                                                                                                           "snippet": {"text": "static void entersweep (lua_State *L) {\n"}}},
                                                                                    "logicalLocations": [{"index": 3,
                                                                                                          "fullyQualifiedName": "entersweep"}],
                                                                                    "message": {"text": "entry to 'entersweep'"}},
                                                                       "kinds": ["enter",
                                                                                 "function"],
                                                                       "nestingLevel": 3,
                                                                       "executionOrder": 9},
                                                                      {"properties": {"gcc/analyzer/checker_event/emission_id": "(10)",
                                                                                      "gcc/analyzer/checker_event/kind": "call",
                                                                                      "gcc/analyzer/superedge_event/superedge": {"src_id": 352,
                                                                                                                                 "dst_id": 353}},
                                                                       "location": {"physicalLocation": {"artifactLocation": {"uri": "lgc.c",
                                                                                                                              "uriBaseId": "PWD"},
                                                                                                         "region": {"startLine": 1494,
                                                                                                                    "startColumn": 16,
                                                                                                                    "endColumn": 41},
                                                                                                         "contextRegion": {"startLine": 1494,
                                                                                                                           "snippet": {"text": "  g->sweepgc = sweeptolive(L, &g->allgc);\n"}}},
                                                                                    "logicalLocations": [{"index": 3,
                                                                                                          "fullyQualifiedName": "entersweep"}],
                                                                                    "message": {"text": "calling 'sweeptolive' from 'entersweep'"}},
                                                                       "kinds": ["call",
                                                                                 "function"],
                                                                       "nestingLevel": 3,
                                                                       "executionOrder": 10},
                                                                      {"properties": {"gcc/analyzer/checker_event/emission_id": "(11)",
                                                                                      "gcc/analyzer/checker_event/kind": "function_entry"},
                                                                       "location": {"physicalLocation": {"artifactLocation": {"uri": "lgc.c",
                                                                                                                              "uriBaseId": "PWD"},
                                                                                                         "region": {"startLine": 855,
                                                                                                                    "startColumn": 19,
                                                                                                                    "endColumn": 30},
                                                                                                         "contextRegion": {"startLine": 855,
                                                                                                                           "snippet": {"text": "static GCObject **sweeptolive (lua_State *L, GCObject **p) {\n"}}},
                                                                                    "logicalLocations": [{"index": 4,
                                                                                                          "fullyQualifiedName": "sweeptolive"}],
                                                                                    "message": {"text": "entry to 'sweeptolive'"}},
                                                                       "kinds": ["enter",
                                                                                 "function"],
                                                                       "nestingLevel": 4,
                                                                       "executionOrder": 11},
                                                                      {"properties": {"gcc/analyzer/checker_event/emission_id": "(12)",
                                                                                      "gcc/analyzer/checker_event/kind": "call",
                                                                                      "gcc/analyzer/superedge_event/superedge": {"src_id": 1092,
                                                                                                                                 "dst_id": 1093}},
                                                                       "location": {"physicalLocation": {"artifactLocation": {"uri": "lgc.c",
                                                                                                                              "uriBaseId": "PWD"},
                                                                                                         "region": {"startLine": 858,
                                                                                                                    "startColumn": 9,
                                                                                                                    "endColumn": 33},
                                                                                                         "contextRegion": {"startLine": 858,
                                                                                                                           "snippet": {"text": "    p = sweeplist(L, p, 1, NULL);\n"}}},
                                                                                    "logicalLocations": [{"index": 4,
                                                                                                          "fullyQualifiedName": "sweeptolive"}],
                                                                                    "message": {"text": "calling 'sweeplist' from 'sweeptolive'"}},
                                                                       "kinds": ["call",
                                                                                 "function"],
                                                                       "nestingLevel": 4,
                                                                       "executionOrder": 12},
                                                                      {"properties": {"gcc/analyzer/checker_event/emission_id": "(13)",
                                                                                      "gcc/analyzer/checker_event/kind": "function_entry"},
                                                                       "location": {"physicalLocation": {"artifactLocation": {"uri": "lgc.c",
                                                                                                                              "uriBaseId": "PWD"},
                                                                                                         "region": {"startLine": 828,
                                                                                                                    "startColumn": 19,
                                                                                                                    "endColumn": 28},
                                                                                                         "contextRegion": {"startLine": 828,
                                                                                                                           "snippet": {"text": "static GCObject **sweeplist (lua_State *L, GCObject **p, int countin,\n"}}},
                                                                                    "logicalLocations": [{"index": 5,
                                                                                                          "fullyQualifiedName": "sweeplist"}],
                                                                                    "message": {"text": "entry to 'sweeplist'"}},
                                                                       "kinds": ["enter",
                                                                                 "function"],
                                                                       "nestingLevel": 5,
                                                                       "executionOrder": 13},
                                                                      {"properties": {"gcc/analyzer/checker_event/emission_id": "(14)",
                                                                                      "gcc/analyzer/checker_event/kind": "start_cfg_edge",
                                                                                      "gcc/analyzer/superedge_event/superedge": {"src_id": 1130,
                                                                                                                                 "dst_id": 1133}},
                                                                       "location": {"physicalLocation": {"artifactLocation": {"uri": "lgc.c",
                                                                                                                              "uriBaseId": "PWD"},
                                                                                                         "region": {"startLine": 846,
                                                                                                                    "startColumn": 6,
                                                                                                                    "endColumn": 7},
                                                                                                         "contextRegion": {"startLine": 846,
                                                                                                                           "snippet": {"text": "  if (countout)\n"}}},
                                                                                    "logicalLocations": [{"index": 5,
                                                                                                          "fullyQualifiedName": "sweeplist"}],
                                                                                    "message": {"text": "following 'false' branch (when 'countout' is NULL)..."}},
                                                                       "kinds": ["branch",
                                                                                 "false"],
                                                                       "nestingLevel": 5,
                                                                       "executionOrder": 14},
                                                                      {"properties": {"gcc/analyzer/checker_event/emission_id": "(15)",
                                                                                      "gcc/analyzer/checker_event/kind": "end_cfg_edge",
                                                                                      "gcc/analyzer/superedge_event/superedge": {"src_id": 1130,
                                                                                                                                 "dst_id": 1133}},
                                                                       "location": {"physicalLocation": {"artifactLocation": {"uri": "lgc.c",
                                                                                                                              "uriBaseId": "PWD"},
                                                                                                         "region": {"startLine": 848,
                                                                                                                    "startColumn": 10,
                                                                                                                    "endColumn": 33},
                                                                                                         "contextRegion": {"startLine": 848,
                                                                                                                           "snippet": {"text": "  return (*p == NULL) ? NULL : p;\n"}}},
                                                                                    "logicalLocations": [{"index": 5,
                                                                                                          "fullyQualifiedName": "sweeplist"}],
                                                                                    "message": {"text": "...to here"}},
                                                                       "kinds": ["branch",
                                                                                 "false"],
                                                                       "nestingLevel": 5,
                                                                       "executionOrder": 15},
                                                                      {"properties": {"gcc/analyzer/checker_event/emission_id": "(16)",
                                                                                      "gcc/analyzer/checker_event/kind": "start_cfg_edge",
                                                                                      "gcc/analyzer/superedge_event/superedge": {"src_id": 1135,
                                                                                                                                 "dst_id": 1136}},
                                                                       "location": {"physicalLocation": {"artifactLocation": {"uri": "lgc.c",
                                                                                                                              "uriBaseId": "PWD"},
                                                                                                         "region": {"startLine": 848,
                                                                                                                    "startColumn": 10,
                                                                                                                    "endColumn": 33},
                                                                                                         "contextRegion": {"startLine": 848,
                                                                                                                           "snippet": {"text": "  return (*p == NULL) ? NULL : p;\n"}}},
                                                                                    "logicalLocations": [{"index": 5,
                                                                                                          "fullyQualifiedName": "sweeplist"}],
                                                                                    "message": {"text": "following 'false' branch..."}},
                                                                       "kinds": ["branch",
                                                                                 "false"],
                                                                       "nestingLevel": 5,
                                                                       "executionOrder": 16},
                                                                      {"properties": {"gcc/analyzer/checker_event/emission_id": "(17)",
                                                                                      "gcc/analyzer/checker_event/kind": "end_cfg_edge",
                                                                                      "gcc/analyzer/superedge_event/superedge": {"src_id": 1135,
                                                                                                                                 "dst_id": 1136}},
                                                                       "location": {"physicalLocation": {"artifactLocation": {"uri": "lgc.c",
                                                                                                                              "uriBaseId": "PWD"},
                                                                                                         "region": {"startLine": 848,
                                                                                                                    "startColumn": 10,
                                                                                                                    "endColumn": 33},
                                                                                                         "contextRegion": {"startLine": 848,
                                                                                                                           "snippet": {"text": "  return (*p == NULL) ? NULL : p;\n"}}},
                                                                                    "logicalLocations": [{"index": 5,
                                                                                                          "fullyQualifiedName": "sweeplist"}],
                                                                                    "message": {"text": "...to here"}},
                                                                       "kinds": ["branch",
                                                                                 "false"],
                                                                       "nestingLevel": 5,
                                                                       "executionOrder": 17},
                                                                      {"properties": {"gcc/analyzer/checker_event/emission_id": "(18)",
                                                                                      "gcc/analyzer/checker_event/kind": "return"},
                                                                       "location": {"physicalLocation": {"artifactLocation": {"uri": "lgc.c",
                                                                                                                              "uriBaseId": "PWD"},
                                                                                                         "region": {"startLine": 858,
                                                                                                                    "startColumn": 9,
                                                                                                                    "endColumn": 33},
                                                                                                         "contextRegion": {"startLine": 858,
                                                                                                                           "snippet": {"text": "    p = sweeplist(L, p, 1, NULL);\n"}}},
                                                                                    "logicalLocations": [{"index": 4,
                                                                                                          "fullyQualifiedName": "sweeptolive"}],
                                                                                    "message": {"text": "returning to 'sweeptolive' from 'sweeplist'"}},
                                                                       "kinds": ["return",
                                                                                 "function"],
                                                                       "nestingLevel": 4,
                                                                       "executionOrder": 18},
                                                                      {"properties": {"gcc/analyzer/checker_event/emission_id": "(19)",
                                                                                      "gcc/analyzer/checker_event/kind": "start_cfg_edge",
                                                                                      "gcc/analyzer/superedge_event/superedge": {"src_id": 1093,
                                                                                                                                 "dst_id": 1094}},
                                                                       "location": {"physicalLocation": {"artifactLocation": {"uri": "lgc.c",
                                                                                                                              "uriBaseId": "PWD"},
                                                                                                         "region": {"startLine": 859,
                                                                                                                    "startColumn": 12,
                                                                                                                    "endColumn": 20},
                                                                                                         "contextRegion": {"startLine": 859,
                                                                                                                           "snippet": {"text": "  } while (p == old);\n"}}},
                                                                                    "logicalLocations": [{"index": 4,
                                                                                                          "fullyQualifiedName": "sweeptolive"}],
                                                                                    "message": {"text": "following 'false' branch..."}},
                                                                       "kinds": ["branch",
                                                                                 "false"],
                                                                       "nestingLevel": 4,
                                                                       "executionOrder": 19},
                                                                      {"properties": {"gcc/analyzer/checker_event/emission_id": "(20)",
                                                                                      "gcc/analyzer/checker_event/kind": "end_cfg_edge",
                                                                                      "gcc/analyzer/superedge_event/superedge": {"src_id": 1093,
                                                                                                                                 "dst_id": 1094}},
                                                                       "location": {"physicalLocation": {"artifactLocation": {"uri": "lgc.c",
                                                                                                                              "uriBaseId": "PWD"},
                                                                                                         "region": {"startLine": 860,
                                                                                                                    "startColumn": 10,
                                                                                                                    "endColumn": 11},
                                                                                                         "contextRegion": {"startLine": 860,
                                                                                                                           "snippet": {"text": "  return p;\n"}}},
                                                                                    "logicalLocations": [{"index": 4,
                                                                                                          "fullyQualifiedName": "sweeptolive"}],
                                                                                    "message": {"text": "...to here"}},
                                                                       "kinds": ["branch",
                                                                                 "false"],
                                                                       "nestingLevel": 4,
                                                                       "executionOrder": 20},
                                                                      {"properties": {"gcc/analyzer/checker_event/emission_id": "(21)",
                                                                                      "gcc/analyzer/checker_event/kind": "return"},
                                                                       "location": {"physicalLocation": {"artifactLocation": {"uri": "lgc.c",
                                                                                                                              "uriBaseId": "PWD"},
                                                                                                         "region": {"startLine": 1494,
                                                                                                                    "startColumn": 16,
                                                                                                                    "endColumn": 41},
                                                                                                         "contextRegion": {"startLine": 1494,
                                                                                                                           "snippet": {"text": "  g->sweepgc = sweeptolive(L, &g->allgc);\n"}}},
                                                                                    "logicalLocations": [{"index": 3,
                                                                                                          "fullyQualifiedName": "entersweep"}],
                                                                                    "message": {"text": "returning to 'entersweep' from 'sweeptolive'"}},
                                                                       "kinds": ["return",
                                                                                 "function"],
                                                                       "nestingLevel": 3,
                                                                       "executionOrder": 21},
                                                                      {"properties": {"gcc/analyzer/checker_event/emission_id": "(22)",
                                                                                      "gcc/analyzer/checker_event/kind": "return"},
                                                                       "location": {"physicalLocation": {"artifactLocation": {"uri": "lgc.c",
                                                                                                                              "uriBaseId": "PWD"},
                                                                                                         "region": {"startLine": 1716,
                                                                                                                    "startColumn": 5,
                                                                                                                    "endColumn": 18},
                                                                                                         "contextRegion": {"startLine": 1716,
                                                                                                                           "snippet": {"text": "    entersweep(L); /* sweep everything to turn them back to white */\n"}}},
                                                                                    "logicalLocations": [{"index": 2,
                                                                                                          "fullyQualifiedName": "fullinc"}],
                                                                                    "message": {"text": "returning to 'fullinc' from 'entersweep'"}},
                                                                       "kinds": ["return",
                                                                                 "function"],
                                                                       "nestingLevel": 2,
                                                                       "executionOrder": 22},
                                                                      {"properties": {"gcc/analyzer/checker_event/emission_id": "(23)",
                                                                                      "gcc/analyzer/checker_event/kind": "call",
                                                                                      "gcc/analyzer/superedge_event/superedge": {"src_id": 59,
                                                                                                                                 "dst_id": 60}},
                                                                       "location": {"physicalLocation": {"artifactLocation": {"uri": "lgc.c",
                                                                                                                              "uriBaseId": "PWD"},
                                                                                                         "region": {"startLine": 1718,
                                                                                                                    "startColumn": 3,
                                                                                                                    "endColumn": 41},
                                                                                                         "contextRegion": {"startLine": 1718,
                                                                                                                           "snippet": {"text": "  luaC_runtilstate(L, bitmask(GCSpause));\n"}}},
                                                                                    "logicalLocations": [{"index": 2,
                                                                                                          "fullyQualifiedName": "fullinc"}],
                                                                                    "message": {"text": "calling 'luaC_runtilstate' from 'fullinc'"}},
                                                                       "kinds": ["call",
                                                                                 "function"],
                                                                       "nestingLevel": 2,
                                                                       "executionOrder": 23},
                                                                      {"properties": {"gcc/analyzer/checker_event/emission_id": "(24)",
                                                                                      "gcc/analyzer/checker_event/kind": "function_entry"},
                                                                       "location": {"physicalLocation": {"artifactLocation": {"uri": "lgc.c",
                                                                                                                              "uriBaseId": "PWD"},
                                                                                                         "region": {"startLine": 1656,
                                                                                                                    "startColumn": 6,
                                                                                                                    "endColumn": 22},
                                                                                                         "contextRegion": {"startLine": 1656,
                                                                                                                           "snippet": {"text": "void luaC_runtilstate (lua_State *L, int statesmask) {\n"}}},
                                                                                    "logicalLocations": [{"index": 6,
                                                                                                          "fullyQualifiedName": "luaC_runtilstate"}],
                                                                                    "message": {"text": "entry to 'luaC_runtilstate'"}},
                                                                       "kinds": ["enter",
                                                                                 "function"],
                                                                       "nestingLevel": 3,
                                                                       "executionOrder": 24},
                                                                      {"properties": {"gcc/analyzer/checker_event/emission_id": "(25)",
                                                                                      "gcc/analyzer/checker_event/kind": "start_cfg_edge",
                                                                                      "gcc/analyzer/superedge_event/superedge": {"src_id": 151,
                                                                                                                                 "dst_id": 152}},
                                                                       "location": {"physicalLocation": {"artifactLocation": {"uri": "lgc.c",
                                                                                                                              "uriBaseId": "PWD"},
                                                                                                         "region": {"startLine": 1658,
                                                                                                                    "startColumn": 10,
                                                                                                                    "endColumn": 12},
                                                                                                         "contextRegion": {"startLine": 1658,
                                                                                                                           "snippet": {"text": "  while (!testbit(statesmask, g->gcstate))\n"}}},
                                                                                    "logicalLocations": [{"index": 6,
                                                                                                          "fullyQualifiedName": "luaC_runtilstate"}],
                                                                                    "message": {"text": "following 'true' branch..."}},
                                                                       "kinds": ["branch",
                                                                                 "true"],
                                                                       "nestingLevel": 3,
                                                                       "executionOrder": 25},
                                                                      {"properties": {"gcc/analyzer/checker_event/emission_id": "(26)",
                                                                                      "gcc/analyzer/checker_event/kind": "end_cfg_edge",
                                                                                      "gcc/analyzer/superedge_event/superedge": {"src_id": 151,
                                                                                                                                 "dst_id": 152}},
                                                                       "location": {"physicalLocation": {"artifactLocation": {"uri": "lgc.c",
                                                                                                                              "uriBaseId": "PWD"},
                                                                                                         "region": {"startLine": 1659,
                                                                                                                    "startColumn": 5,
                                                                                                                    "endColumn": 18},
                                                                                                         "contextRegion": {"startLine": 1659,
                                                                                                                           "snippet": {"text": "    singlestep(L);\n"}}},
                                                                                    "logicalLocations": [{"index": 6,
                                                                                                          "fullyQualifiedName": "luaC_runtilstate"}],
                                                                                    "message": {"text": "...to here"}},
                                                                       "kinds": ["branch",
                                                                                 "true"],
                                                                       "nestingLevel": 3,
                                                                       "executionOrder": 26},
                                                                      {"properties": {"gcc/analyzer/checker_event/emission_id": "(27)",
                                                                                      "gcc/analyzer/checker_event/kind": "call",
                                                                                      "gcc/analyzer/superedge_event/superedge": {"src_id": 152,
                                                                                                                                 "dst_id": 153}},
                                                                       "location": {"physicalLocation": {"artifactLocation": {"uri": "lgc.c",
                                                                                                                              "uriBaseId": "PWD"},
                                                                                                         "region": {"startLine": 1659,
                                                                                                                    "startColumn": 5,
                                                                                                                    "endColumn": 18},
                                                                                                         "contextRegion": {"startLine": 1659,
                                                                                                                           "snippet": {"text": "    singlestep(L);\n"}}},
                                                                                    "logicalLocations": [{"index": 6,
                                                                                                          "fullyQualifiedName": "luaC_runtilstate"}],
                                                                                    "message": {"text": "calling 'singlestep' from 'luaC_runtilstate'"}},
                                                                       "kinds": ["call",
                                                                                 "function"],
                                                                       "nestingLevel": 3,
                                                                       "executionOrder": 27},
                                                                      {"properties": {"gcc/analyzer/checker_event/emission_id": "(28)",
                                                                                      "gcc/analyzer/checker_event/kind": "function_entry"},
                                                                       "location": {"physicalLocation": {"artifactLocation": {"uri": "lgc.c",
                                                                                                                              "uriBaseId": "PWD"},
                                                                                                         "region": {"startLine": 1589,
                                                                                                                    "startColumn": 15,
                                                                                                                    "endColumn": 25},
                                                                                                         "contextRegion": {"startLine": 1589,
                                                                                                                           "snippet": {"text": "static lu_mem singlestep (lua_State *L) {\n"}}},
                                                                                    "logicalLocations": [{"index": 7,
                                                                                                          "fullyQualifiedName": "singlestep"}],
                                                                                    "message": {"text": "entry to 'singlestep'"}},
                                                                       "kinds": ["enter",
                                                                                 "function"],
                                                                       "nestingLevel": 4,
                                                                       "executionOrder": 28},
                                                                      {"properties": {"gcc/analyzer/checker_event/emission_id": "(29)",
                                                                                      "gcc/analyzer/checker_event/kind": "start_cfg_edge",
                                                                                      "gcc/analyzer/superedge_event/superedge": {"src_id": 162,
                                                                                                                                 "dst_id": 168}},
                                                                       "location": {"physicalLocation": {"artifactLocation": {"uri": "lgc.c",
                                                                                                                              "uriBaseId": "PWD"},
                                                                                                         "region": {"startLine": 1594,
                                                                                                                    "startColumn": 3,
                                                                                                                    "endColumn": 9},
                                                                                                         "contextRegion": {"startLine": 1594,
                                                                                                                           "snippet": {"text": "  switch (g->gcstate) {\n"}}},
                                                                                    "logicalLocations": [{"index": 7,
                                                                                                          "fullyQualifiedName": "singlestep"}],
                                                                                    "message": {"text": "following 'case 0:' branch..."}},
                                                                       "nestingLevel": 4,
                                                                       "executionOrder": 29},
                                                                      {"properties": {"gcc/analyzer/checker_event/emission_id": "(30)",
                                                                                      "gcc/analyzer/checker_event/kind": "end_cfg_edge",
                                                                                      "gcc/analyzer/superedge_event/superedge": {"src_id": 162,
                                                                                                                                 "dst_id": 168}},
                                                                       "location": {"physicalLocation": {"artifactLocation": {"uri": "lgc.c",
                                                                                                                              "uriBaseId": "PWD"},
                                                                                                         "region": {"startLine": 1601,
                                                                                                                    "startColumn": 5,
                                                                                                                    "endColumn": 9},
                                                                                                         "contextRegion": {"startLine": 1601,
                                                                                                                           "snippet": {"text": "    case GCSpropagate: {\n"}}},
                                                                                    "logicalLocations": [{"index": 7,
                                                                                                          "fullyQualifiedName": "singlestep"}],
                                                                                    "message": {"text": "...to here"}},
                                                                       "nestingLevel": 4,
                                                                       "executionOrder": 30},
                                                                      {"properties": {"gcc/analyzer/checker_event/emission_id": "(31)",
                                                                                      "gcc/analyzer/checker_event/kind": "start_cfg_edge",
                                                                                      "gcc/analyzer/superedge_event/superedge": {"src_id": 170,
                                                                                                                                 "dst_id": 173}},
                                                                       "location": {"physicalLocation": {"artifactLocation": {"uri": "lgc.c",
                                                                                                                              "uriBaseId": "PWD"},
                                                                                                         "region": {"startLine": 1602,
                                                                                                                    "startColumn": 10,
                                                                                                                    "endColumn": 11},
                                                                                                         "contextRegion": {"startLine": 1602,
                                                                                                                           "snippet": {"text": "      if (g->gray == NULL) {  /* no more gray objects? */\n"}}},
                                                                                    "logicalLocations": [{"index": 7,
                                                                                                          "fullyQualifiedName": "singlestep"}],
                                                                                    "message": {"text": "following 'false' branch..."}},
                                                                       "kinds": ["branch",
                                                                                 "false"],
                                                                       "nestingLevel": 4,
                                                                       "executionOrder": 31},
                                                                      {"properties": {"gcc/analyzer/checker_event/emission_id": "(32)",
                                                                                      "gcc/analyzer/checker_event/kind": "end_cfg_edge",
                                                                                      "gcc/analyzer/superedge_event/superedge": {"src_id": 170,
                                                                                                                                 "dst_id": 173}},
                                                                       "location": {"physicalLocation": {"artifactLocation": {"uri": "lgc.c",
                                                                                                                              "uriBaseId": "PWD"},
                                                                                                         "region": {"startLine": 1607,
                                                                                                                    "startColumn": 16,
                                                                                                                    "endColumn": 32},
                                                                                                         "contextRegion": {"startLine": 1607,
                                                                                                                           "snippet": {"text": "        work = propagatemark(g);  /* traverse one gray object */\n"}}},
                                                                                    "logicalLocations": [{"index": 7,
                                                                                                          "fullyQualifiedName": "singlestep"}],
                                                                                    "message": {"text": "...to here"}},
                                                                       "kinds": ["branch",
                                                                                 "false"],
                                                                       "nestingLevel": 4,
                                                                       "executionOrder": 32},
                                                                      {"properties": {"gcc/analyzer/checker_event/emission_id": "(33)",
                                                                                      "gcc/analyzer/checker_event/kind": "call",
                                                                                      "gcc/analyzer/superedge_event/superedge": {"src_id": 173,
                                                                                                                                 "dst_id": 174}},
                                                                       "location": {"physicalLocation": {"artifactLocation": {"uri": "lgc.c",
                                                                                                                              "uriBaseId": "PWD"},
                                                                                                         "region": {"startLine": 1607,
                                                                                                                    "startColumn": 16,
                                                                                                                    "endColumn": 32},
                                                                                                         "contextRegion": {"startLine": 1607,
                                                                                                                           "snippet": {"text": "        work = propagatemark(g);  /* traverse one gray object */\n"}}},
                                                                                    "logicalLocations": [{"index": 7,
                                                                                                          "fullyQualifiedName": "singlestep"}],
                                                                                    "message": {"text": "calling 'propagatemark' from 'singlestep'"}},
                                                                       "kinds": ["call",
                                                                                 "function"],
                                                                       "nestingLevel": 4,
                                                                       "executionOrder": 33},
                                                                      {"properties": {"gcc/analyzer/checker_event/emission_id": "(34)",
                                                                                      "gcc/analyzer/checker_event/kind": "function_entry"},
                                                                       "location": {"physicalLocation": {"artifactLocation": {"uri": "lgc.c",
                                                                                                                              "uriBaseId": "PWD"},
                                                                                                         "region": {"startLine": 664,
                                                                                                                    "startColumn": 15,
                                                                                                                    "endColumn": 28},
                                                                                                         "contextRegion": {"startLine": 664,
                                                                                                                           "snippet": {"text": "static lu_mem propagatemark (global_State *g) {\n"}}},
                                                                                    "logicalLocations": [{"index": 8,
                                                                                                          "fullyQualifiedName": "propagatemark"}],
                                                                                    "message": {"text": "entry to 'propagatemark'"}},
                                                                       "kinds": ["enter",
                                                                                 "function"],
                                                                       "nestingLevel": 5,
                                                                       "executionOrder": 34},
                                                                      {"properties": {"gcc/analyzer/checker_event/emission_id": "(35)",
                                                                                      "gcc/analyzer/checker_event/kind": "start_cfg_edge",
                                                                                      "gcc/analyzer/superedge_event/superedge": {"src_id": 1407,
                                                                                                                                 "dst_id": 1413}},
                                                                       "location": {"physicalLocation": {"artifactLocation": {"uri": "lgc.c",
                                                                                                                              "uriBaseId": "PWD"},
                                                                                                         "region": {"startLine": 668,
                                                                                                                    "startColumn": 3,
                                                                                                                    "endColumn": 9},
                                                                                                         "contextRegion": {"startLine": 668,
                                                                                                                           "snippet": {"text": "  switch (o->tt) {\n"}}},
                                                                                    "logicalLocations": [{"index": 8,
                                                                                                          "fullyQualifiedName": "propagatemark"}],
                                                                                    "message": {"text": "following 'case 7:' branch..."}},
                                                                       "nestingLevel": 5,
                                                                       "executionOrder": 35},
                                                                      {"properties": {"gcc/analyzer/checker_event/emission_id": "(36)",
                                                                                      "gcc/analyzer/checker_event/kind": "end_cfg_edge",
                                                                                      "gcc/analyzer/superedge_event/superedge": {"src_id": 1407,
                                                                                                                                 "dst_id": 1413}},
                                                                       "location": {"physicalLocation": {"artifactLocation": {"uri": "lgc.c",
                                                                                                                              "uriBaseId": "PWD"},
                                                                                                         "region": {"startLine": 670,
                                                                                                                    "startColumn": 5,
                                                                                                                    "endColumn": 9},
                                                                                                         "contextRegion": {"startLine": 670,
                                                                                                                           "snippet": {"text": "    case LUA_VUSERDATA: return traverseudata(g, gco2u(o));\n"}}},
                                                                                    "logicalLocations": [{"index": 8,
                                                                                                          "fullyQualifiedName": "propagatemark"}],
                                                                                    "message": {"text": "...to here"}},
                                                                       "nestingLevel": 5,
                                                                       "executionOrder": 36},
                                                                      {"properties": {"gcc/analyzer/checker_event/emission_id": "(37)",
                                                                                      "gcc/analyzer/checker_event/kind": "call",
                                                                                      "gcc/analyzer/superedge_event/superedge": {"src_id": 1415,
                                                                                                                                 "dst_id": 1416}},
                                                                       "location": {"physicalLocation": {"artifactLocation": {"uri": "lgc.c",
                                                                                                                              "uriBaseId": "PWD"},
                                                                                                         "region": {"startLine": 670,
                                                                                                                    "startColumn": 32,
                                                                                                                    "endColumn": 58},
                                                                                                         "contextRegion": {"startLine": 670,
                                                                                                                           "snippet": {"text": "    case LUA_VUSERDATA: return traverseudata(g, gco2u(o));\n"}}},
                                                                                    "logicalLocations": [{"index": 8,
                                                                                                          "fullyQualifiedName": "propagatemark"}],
                                                                                    "message": {"text": "calling 'traverseudata' from 'propagatemark'"}},
                                                                       "kinds": ["call",
                                                                                 "function"],
                                                                       "nestingLevel": 5,
                                                                       "executionOrder": 37},
                                                                      {"properties": {"gcc/analyzer/checker_event/emission_id": "(38)",
                                                                                      "gcc/analyzer/checker_event/kind": "function_entry"},
                                                                       "location": {"physicalLocation": {"artifactLocation": {"uri": "lgc.c",
                                                                                                                              "uriBaseId": "PWD"},
                                                                                                         "region": {"startLine": 569,
                                                                                                                    "startColumn": 12,
                                                                                                                    "endColumn": 25},
                                                                                                         "contextRegion": {"startLine": 569,
                                                                                                                           "snippet": {"text": "static int traverseudata (global_State *g, Udata *u) {\n"}}},
                                                                                    "logicalLocations": [{"index": 9,
                                                                                                          "fullyQualifiedName": "traverseudata"}],
                                                                                    "message": {"text": "entry to 'traverseudata'"}},
                                                                       "kinds": ["enter",
                                                                                 "function"],
                                                                       "nestingLevel": 6,
                                                                       "executionOrder": 38},
                                                                      {"properties": {"gcc/analyzer/checker_event/emission_id": "(39)",
                                                                                      "gcc/analyzer/checker_event/kind": "call",
                                                                                      "gcc/analyzer/superedge_event/superedge": {"src_id": 1743,
                                                                                                                                 "dst_id": 1744}},
                                                                       "location": {"physicalLocation": {"artifactLocation": {"uri": "lgc.c",
                                                                                                                              "uriBaseId": "PWD"},
                                                                                                         "region": {"startLine": 574,
                                                                                                                    "startColumn": 3,
                                                                                                                    "endColumn": 25},
                                                                                                         "contextRegion": {"startLine": 574,
                                                                                                                           "snippet": {"text": "  genlink(g, obj2gco(u));\n"}}},
                                                                                    "logicalLocations": [{"index": 9,
                                                                                                          "fullyQualifiedName": "traverseudata"}],
                                                                                    "message": {"text": "calling 'genlink' from 'traverseudata'"}},
                                                                       "kinds": ["call",
                                                                                 "function"],
                                                                       "nestingLevel": 6,
                                                                       "executionOrder": 39},
                                                                      {"properties": {"gcc/analyzer/checker_event/emission_id": "(40)",
                                                                                      "gcc/analyzer/checker_event/kind": "function_entry"},
                                                                       "location": {"physicalLocation": {"artifactLocation": {"uri": "lgc.c",
                                                                                                                              "uriBaseId": "PWD"},
                                                                                                         "region": {"startLine": 430,
                                                                                                                    "startColumn": 13,
                                                                                                                    "endColumn": 20},
                                                                                                         "contextRegion": {"startLine": 430,
                                                                                                                           "snippet": {"text": "static void genlink (global_State *g, GCObject *o) {\n"}}},
                                                                                    "logicalLocations": [{"index": 0,
                                                                                                          "fullyQualifiedName": "genlink"}],
                                                                                    "message": {"text": "entry to 'genlink'"}},
                                                                       "kinds": ["enter",
                                                                                 "function"],
                                                                       "nestingLevel": 7,
                                                                       "executionOrder": 40},
                                                                      {"properties": {"gcc/analyzer/checker_event/emission_id": "(41)",
                                                                                      "gcc/analyzer/checker_event/kind": "start_cfg_edge",
                                                                                      "gcc/analyzer/superedge_event/superedge": {"src_id": 2135,
                                                                                                                                 "dst_id": 2136}},
                                                                       "location": {"physicalLocation": {"artifactLocation": {"uri": "lgc.c",
                                                                                                                              "uriBaseId": "PWD"},
                                                                                                         "region": {"startLine": 432,
                                                                                                                    "startColumn": 6,
                                                                                                                    "endColumn": 7},
                                                                                                         "contextRegion": {"startLine": 432,
                                                                                                                           "snippet": {"text": "  if (getage(o) == G_TOUCHED1) {  /* touched in this cycle? */\n"}}},
                                                                                    "logicalLocations": [{"index": 0,
                                                                                                          "fullyQualifiedName": "genlink"}],
                                                                                    "message": {"text": "following 'true' branch..."}},
                                                                       "kinds": ["branch",
                                                                                 "true"],
                                                                       "nestingLevel": 7,
                                                                       "executionOrder": 41},
                                                                      {"properties": {"gcc/analyzer/checker_event/emission_id": "(42)",
                                                                                      "gcc/analyzer/checker_event/kind": "end_cfg_edge",
                                                                                      "gcc/analyzer/superedge_event/superedge": {"src_id": 2135,
                                                                                                                                 "dst_id": 2136}},
                                                                       "location": {"physicalLocation": {"artifactLocation": {"uri": "lgc.c",
                                                                                                                              "uriBaseId": "PWD"},
                                                                                                         "region": {"startLine": 433,
                                                                                                                    "startColumn": 5,
                                                                                                                    "endColumn": 6},
                                                                                                         "contextRegion": {"startLine": 433,
                                                                                                                           "snippet": {"text": "    linkobjgclist(o, g->grayagain);  /* link it back in 'grayagain' */\n"}}},
                                                                                    "logicalLocations": [{"index": 0,
                                                                                                          "fullyQualifiedName": "genlink"}],
                                                                                    "message": {"text": "...to here"}},
                                                                       "kinds": ["branch",
                                                                                 "true"],
                                                                       "nestingLevel": 7,
                                                                       "executionOrder": 42},
                                                                      {"properties": {"gcc/analyzer/checker_event/emission_id": "(43)",
                                                                                      "gcc/analyzer/checker_event/kind": "call",
                                                                                      "gcc/analyzer/superedge_event/superedge": {"src_id": 2136,
                                                                                                                                 "dst_id": 2137}},
                                                                       "location": {"physicalLocation": {"artifactLocation": {"uri": "lgc.c",
                                                                                                                              "uriBaseId": "PWD"},
                                                                                                         "region": {"startLine": 433,
                                                                                                                    "startColumn": 5,
                                                                                                                    "endColumn": 6},
                                                                                                         "contextRegion": {"startLine": 433,
                                                                                                                           "snippet": {"text": "    linkobjgclist(o, g->grayagain);  /* link it back in 'grayagain' */\n"}}},
                                                                                    "logicalLocations": [{"index": 0,
                                                                                                          "fullyQualifiedName": "genlink"}],
                                                                                    "message": {"text": "calling 'getgclist' from 'genlink'"}},
                                                                       "kinds": ["call",
                                                                                 "function"],
                                                                       "nestingLevel": 7,
                                                                       "executionOrder": 43},
                                                                      {"properties": {"gcc/analyzer/checker_event/emission_id": "(44)",
                                                                                      "gcc/analyzer/checker_event/kind": "function_entry"},
                                                                       "location": {"physicalLocation": {"artifactLocation": {"uri": "lgc.c",
                                                                                                                              "uriBaseId": "PWD"},
                                                                                                         "region": {"startLine": 125,
                                                                                                                    "startColumn": 19,
                                                                                                                    "endColumn": 28},
                                                                                                         "contextRegion": {"startLine": 125,
                                                                                                                           "snippet": {"text": "static GCObject **getgclist (GCObject *o) {\n"}}},
                                                                                    "logicalLocations": [{"index": 10,
                                                                                                          "fullyQualifiedName": "getgclist"}],
                                                                                    "message": {"text": "entry to 'getgclist'"}},
                                                                       "kinds": ["enter",
                                                                                 "function"],
                                                                       "nestingLevel": 8,
                                                                       "executionOrder": 44},
                                                                      {"properties": {"gcc/analyzer/checker_event/emission_id": "(45)",
                                                                                      "gcc/analyzer/checker_event/kind": "start_cfg_edge",
                                                                                      "gcc/analyzer/superedge_event/superedge": {"src_id": 2464,
                                                                                                                                 "dst_id": 2465}},
                                                                       "location": {"physicalLocation": {"artifactLocation": {"uri": "lgc.c",
                                                                                                                              "uriBaseId": "PWD"},
                                                                                                         "region": {"startLine": 126,
                                                                                                                    "startColumn": 3,
                                                                                                                    "endColumn": 9},
                                                                                                         "contextRegion": {"startLine": 126,
                                                                                                                           "snippet": {"text": "  switch (o->tt) {\n"}}},
                                                                                    "logicalLocations": [{"index": 10,
                                                                                                          "fullyQualifiedName": "getgclist"}],
                                                                                    "message": {"text": "following 'default:' branch..."}},
                                                                       "nestingLevel": 8,
                                                                       "executionOrder": 45},
                                                                      {"properties": {"gcc/analyzer/checker_event/emission_id": "(46)",
                                                                                      "gcc/analyzer/checker_event/kind": "end_cfg_edge",
                                                                                      "gcc/analyzer/superedge_event/superedge": {"src_id": 2464,
                                                                                                                                 "dst_id": 2465}},
                                                                       "location": {"physicalLocation": {"artifactLocation": {"uri": "lgc.c",
                                                                                                                              "uriBaseId": "PWD"},
                                                                                                         "region": {"startLine": 126,
                                                                                                                    "startColumn": 3,
                                                                                                                    "endColumn": 9},
                                                                                                         "contextRegion": {"startLine": 126,
                                                                                                                           "snippet": {"text": "  switch (o->tt) {\n"}}},
                                                                                    "logicalLocations": [{"index": 10,
                                                                                                          "fullyQualifiedName": "getgclist"}],
                                                                                    "message": {"text": "...to here"}},
                                                                       "nestingLevel": 8,
                                                                       "executionOrder": 46},
                                                                      {"properties": {"gcc/analyzer/checker_event/emission_id": "(47)",
                                                                                      "gcc/analyzer/checker_event/kind": "return"},
                                                                       "location": {"physicalLocation": {"artifactLocation": {"uri": "lgc.c",
                                                                                                                              "uriBaseId": "PWD"},
                                                                                                         "region": {"startLine": 433,
                                                                                                                    "startColumn": 5,
                                                                                                                    "endColumn": 6},
                                                                                                         "contextRegion": {"startLine": 433,
                                                                                                                           "snippet": {"text": "    linkobjgclist(o, g->grayagain);  /* link it back in 'grayagain' */\n"}}},
                                                                                    "logicalLocations": [{"index": 0,
                                                                                                          "fullyQualifiedName": "genlink"}],
                                                                                    "message": {"text": "returning to 'genlink' from 'getgclist'"}},
                                                                       "kinds": ["return",
                                                                                 "function"],
                                                                       "nestingLevel": 7,
                                                                       "executionOrder": 47},
                                                                      {"properties": {"gcc/analyzer/checker_event/emission_id": "(48)",
                                                                                      "gcc/analyzer/checker_event/kind": "inlined_call"},
                                                                       "location": {"physicalLocation": {"artifactLocation": {"uri": "lgc.c",
                                                                                                                              "uriBaseId": "PWD"},
                                                                                                         "region": {"startLine": 433,
                                                                                                                    "startColumn": 5,
                                                                                                                    "endColumn": 6},
                                                                                                         "contextRegion": {"startLine": 433,
                                                                                                                           "snippet": {"text": "    linkobjgclist(o, g->grayagain);  /* link it back in 'grayagain' */\n"}}},
                                                                                    "logicalLocations": [{"index": 0,
                                                                                                          "fullyQualifiedName": "genlink"}],
                                                                                    "message": {"text": "inlined call to 'linkgclist_' from 'genlink'"}},
                                                                       "kinds": ["call",
                                                                                 "function"],
                                                                       "nestingLevel": 7,
                                                                       "executionOrder": 48},
                                                                      {"properties": {"gcc/analyzer/checker_event/emission_id": "(49)",
                                                                                      "gcc/analyzer/checker_event/kind": "warning",
                                                                                      "gcc/analyzer/checker_event/original_fndecl": {"index": 0,
                                                                                                                                     "fullyQualifiedName": "genlink"},
                                                                                      "gcc/analyzer/checker_event/original_depth": 7},
                                                                       "location": {"physicalLocation": {"artifactLocation": {"uri": "lgc.c",
                                                                                                                              "uriBaseId": "PWD"},
                                                                                                         "region": {"startLine": 150,
                                                                                                                    "startColumn": 3,
                                                                                                                    "endColumn": 17},
                                                                                                         "contextRegion": {"startLine": 150,
                                                                                                                           "snippet": {"text": "  *pnext = *list;\n"}}},
                                                                                    "logicalLocations": [{"index": 11,
                                                                                                          "fullyQualifiedName": "linkgclist_"}],
                                                                                    "message": {"text": "dereference of NULL 'getgclist(o)'"}},
                                                                       "kinds": ["danger"],
                                                                       "nestingLevel": 8,
                                                                       "executionOrder": 49}]}]}]},
                       {"ruleId": "-Wanalyzer-null-dereference",
                        "taxa": [{"id": "476",
                                  "toolComponent": {"name": "cwe"}}],
                        "properties": {"gcc/analyzer/saved_diagnostic/sm": "malloc",
                                       "gcc/analyzer/saved_diagnostic/ploc": {"enode": 3823},
                                       "gcc/analyzer/saved_diagnostic/var": "_17",
                                       "gcc/analyzer/saved_diagnostic/sval": "(struct GCObject * *)0B",
                                       "gcc/analyzer/saved_diagnostic/state": "null",
                                       "gcc/analyzer/saved_diagnostic/idx": 28,
                                       "gcc/analyzer/pending_diagnostic/kind": "null_deref"},
                        "level": "warning",
                        "message": {"text": "dereference of NULL '0'"},
                        "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lgc.c",
                                                                                 "uriBaseId": "PWD"},
                                                            "region": {"startLine": 667,
                                                                       "startColumn": 13,
                                                                       "endColumn": 26},
                                                            "contextRegion": {"startLine": 667,
                                                                              "snippet": {"text": "  g->gray = *getgclist(o);  /* remove from 'gray' list */\n"}}},
                                       "logicalLocations": [{"index": 8,
                                                             "fullyQualifiedName": "propagatemark"}]}],
                        "codeFlows": [{"threadFlows": [{"id": "main",
                                                        "locations": [{"properties": {"gcc/analyzer/checker_event/emission_id": "(1)",
                                                                                      "gcc/analyzer/checker_event/kind": "function_entry"},
                                                                       "location": {"physicalLocation": {"artifactLocation": {"uri": "lgc.c",
                                                                                                                              "uriBaseId": "PWD"},
                                                                                                         "region": {"startLine": 1734,
                                                                                                                    "startColumn": 6,
                                                                                                                    "endColumn": 17},
                                                                                                         "contextRegion": {"startLine": 1734,
                                                                                                                           "snippet": {"text": "void luaC_fullgc (lua_State *L, int isemergency) {\n"}}},
                                                                                    "logicalLocations": [{"index": 1,
                                                                                                          "fullyQualifiedName": "luaC_fullgc"}],
                                                                                    "message": {"text": "entry to 'luaC_fullgc'"}},
                                                                       "kinds": ["enter",
                                                                                 "function"],
                                                                       "nestingLevel": 1,
                                                                       "executionOrder": 1},
                                                                      {"properties": {"gcc/analyzer/checker_event/emission_id": "(2)",
                                                                                      "gcc/analyzer/checker_event/kind": "start_cfg_edge",
                                                                                      "gcc/analyzer/superedge_event/superedge": {"src_id": 41,
                                                                                                                                 "dst_id": 42}},
                                                                       "location": {"physicalLocation": {"artifactLocation": {"uri": "lgc.c",
                                                                                                                              "uriBaseId": "PWD"},
                                                                                                         "region": {"startLine": 1738,
                                                                                                                    "startColumn": 6,
                                                                                                                    "endColumn": 7},
                                                                                                         "contextRegion": {"startLine": 1738,
                                                                                                                           "snippet": {"text": "  if (g->gckind == KGC_INC)\n"}}},
                                                                                    "logicalLocations": [{"index": 1,
                                                                                                          "fullyQualifiedName": "luaC_fullgc"}],
                                                                                    "message": {"text": "following 'true' branch..."}},
                                                                       "kinds": ["branch",
                                                                                 "true"],
                                                                       "nestingLevel": 1,
                                                                       "executionOrder": 2},
                                                                      {"properties": {"gcc/analyzer/checker_event/emission_id": "(3)",
                                                                                      "gcc/analyzer/checker_event/kind": "end_cfg_edge",
                                                                                      "gcc/analyzer/superedge_event/superedge": {"src_id": 41,
                                                                                                                                 "dst_id": 42}},
                                                                       "location": {"physicalLocation": {"artifactLocation": {"uri": "lgc.c",
                                                                                                                              "uriBaseId": "PWD"},
                                                                                                         "region": {"startLine": 1739,
                                                                                                                    "startColumn": 5,
                                                                                                                    "endColumn": 18},
                                                                                                         "contextRegion": {"startLine": 1739,
                                                                                                                           "snippet": {"text": "    fullinc(L, g);\n"}}},
                                                                                    "logicalLocations": [{"index": 1,
                                                                                                          "fullyQualifiedName": "luaC_fullgc"}],
                                                                                    "message": {"text": "...to here"}},
                                                                       "kinds": ["branch",
                                                                                 "true"],
                                                                       "nestingLevel": 1,
                                                                       "executionOrder": 3},
                                                                      {"properties": {"gcc/analyzer/checker_event/emission_id": "(4)",
                                                                                      "gcc/analyzer/checker_event/kind": "call",
                                                                                      "gcc/analyzer/superedge_event/superedge": {"src_id": 42,
                                                                                                                                 "dst_id": 43}},
                                                                       "location": {"physicalLocation": {"artifactLocation": {"uri": "lgc.c",
                                                                                                                              "uriBaseId": "PWD"},
                                                                                                         "region": {"startLine": 1739,
                                                                                                                    "startColumn": 5,
                                                                                                                    "endColumn": 18},
                                                                                                         "contextRegion": {"startLine": 1739,
                                                                                                                           "snippet": {"text": "    fullinc(L, g);\n"}}},
                                                                                    "logicalLocations": [{"index": 1,
                                                                                                          "fullyQualifiedName": "luaC_fullgc"}],
                                                                                    "message": {"text": "calling 'fullinc' from 'luaC_fullgc'"}},
                                                                       "kinds": ["call",
                                                                                 "function"],
                                                                       "nestingLevel": 1,
                                                                       "executionOrder": 4},
                                                                      {"properties": {"gcc/analyzer/checker_event/emission_id": "(5)",
                                                                                      "gcc/analyzer/checker_event/kind": "function_entry"},
                                                                       "location": {"physicalLocation": {"artifactLocation": {"uri": "lgc.c",
                                                                                                                              "uriBaseId": "PWD"},
                                                                                                         "region": {"startLine": 1714,
                                                                                                                    "startColumn": 13,
                                                                                                                    "endColumn": 20},
                                                                                                         "contextRegion": {"startLine": 1714,
                                                                                                                           "snippet": {"text": "static void fullinc (lua_State *L, global_State *g) {\n"}}},
                                                                                    "logicalLocations": [{"index": 2,
                                                                                                          "fullyQualifiedName": "fullinc"}],
                                                                                    "message": {"text": "entry to 'fullinc'"}},
                                                                       "kinds": ["enter",
                                                                                 "function"],
                                                                       "nestingLevel": 2,
                                                                       "executionOrder": 5},
                                                                      {"properties": {"gcc/analyzer/checker_event/emission_id": "(6)",
                                                                                      "gcc/analyzer/checker_event/kind": "start_cfg_edge",
                                                                                      "gcc/analyzer/superedge_event/superedge": {"src_id": 54,
                                                                                                                                 "dst_id": 55}},
                                                                       "location": {"physicalLocation": {"artifactLocation": {"uri": "lgc.c",
                                                                                                                              "uriBaseId": "PWD"},
                                                                                                         "region": {"startLine": 1715,
                                                                                                                    "startColumn": 6,
                                                                                                                    "endColumn": 7},
                                                                                                         "contextRegion": {"startLine": 1715,
                                                                                                                           "snippet": {"text": "  if (keepinvariant(g))  /* black objects? */\n"}}},
                                                                                    "logicalLocations": [{"index": 2,
                                                                                                          "fullyQualifiedName": "fullinc"}],
                                                                                    "message": {"text": "following 'true' branch..."}},
                                                                       "kinds": ["branch",
                                                                                 "true"],
                                                                       "nestingLevel": 2,
                                                                       "executionOrder": 6},
                                                                      {"properties": {"gcc/analyzer/checker_event/emission_id": "(7)",
                                                                                      "gcc/analyzer/checker_event/kind": "end_cfg_edge",
                                                                                      "gcc/analyzer/superedge_event/superedge": {"src_id": 54,
                                                                                                                                 "dst_id": 55}},
                                                                       "location": {"physicalLocation": {"artifactLocation": {"uri": "lgc.c",
                                                                                                                              "uriBaseId": "PWD"},
                                                                                                         "region": {"startLine": 1716,
                                                                                                                    "startColumn": 5,
                                                                                                                    "endColumn": 18},
                                                                                                         "contextRegion": {"startLine": 1716,
                                                                                                                           "snippet": {"text": "    entersweep(L); /* sweep everything to turn them back to white */\n"}}},
                                                                                    "logicalLocations": [{"index": 2,
                                                                                                          "fullyQualifiedName": "fullinc"}],
                                                                                    "message": {"text": "...to here"}},
                                                                       "kinds": ["branch",
                                                                                 "true"],
                                                                       "nestingLevel": 2,
                                                                       "executionOrder": 7},
                                                                      {"properties": {"gcc/analyzer/checker_event/emission_id": "(8)",
                                                                                      "gcc/analyzer/checker_event/kind": "call",
                                                                                      "gcc/analyzer/superedge_event/superedge": {"src_id": 55,
                                                                                                                                 "dst_id": 56}},
                                                                       "location": {"physicalLocation": {"artifactLocation": {"uri": "lgc.c",
                                                                                                                              "uriBaseId": "PWD"},
                                                                                                         "region": {"startLine": 1716,
                                                                                                                    "startColumn": 5,
                                                                                                                    "endColumn": 18},
                                                                                                         "contextRegion": {"startLine": 1716,
                                                                                                                           "snippet": {"text": "    entersweep(L); /* sweep everything to turn them back to white */\n"}}},
                                                                                    "logicalLocations": [{"index": 2,
                                                                                                          "fullyQualifiedName": "fullinc"}],
                                                                                    "message": {"text": "calling 'entersweep' from 'fullinc'"}},
                                                                       "kinds": ["call",
                                                                                 "function"],
                                                                       "nestingLevel": 2,
                                                                       "executionOrder": 8},
                                                                      {"properties": {"gcc/analyzer/checker_event/emission_id": "(9)",
                                                                                      "gcc/analyzer/checker_event/kind": "function_entry"},
                                                                       "location": {"physicalLocation": {"artifactLocation": {"uri": "lgc.c",
                                                                                                                              "uriBaseId": "PWD"},
                                                                                                         "region": {"startLine": 1490,
                                                                                                                    "startColumn": 13,
                                                                                                                    "endColumn": 23},
                                                                                                         "contextRegion": {"startLine": 1490,
                                                                                                                           "snippet": {"text": "static void entersweep (lua_State *L) {\n"}}},
                                                                                    "logicalLocations": [{"index": 3,
                                                                                                          "fullyQualifiedName": "entersweep"}],
                                                                                    "message": {"text": "entry to 'entersweep'"}},
                                                                       "kinds": ["enter",
                                                                                 "function"],
                                                                       "nestingLevel": 3,
                                                                       "executionOrder": 9},
                                                                      {"properties": {"gcc/analyzer/checker_event/emission_id": "(10)",
                                                                                      "gcc/analyzer/checker_event/kind": "call",
                                                                                      "gcc/analyzer/superedge_event/superedge": {"src_id": 352,
                                                                                                                                 "dst_id": 353}},
                                                                       "location": {"physicalLocation": {"artifactLocation": {"uri": "lgc.c",
                                                                                                                              "uriBaseId": "PWD"},
                                                                                                         "region": {"startLine": 1494,
                                                                                                                    "startColumn": 16,
                                                                                                                    "endColumn": 41},
                                                                                                         "contextRegion": {"startLine": 1494,
                                                                                                                           "snippet": {"text": "  g->sweepgc = sweeptolive(L, &g->allgc);\n"}}},
                                                                                    "logicalLocations": [{"index": 3,
                                                                                                          "fullyQualifiedName": "entersweep"}],
                                                                                    "message": {"text": "calling 'sweeptolive' from 'entersweep'"}},
                                                                       "kinds": ["call",
                                                                                 "function"],
                                                                       "nestingLevel": 3,
                                                                       "executionOrder": 10},
                                                                      {"properties": {"gcc/analyzer/checker_event/emission_id": "(11)",
                                                                                      "gcc/analyzer/checker_event/kind": "function_entry"},
                                                                       "location": {"physicalLocation": {"artifactLocation": {"uri": "lgc.c",
                                                                                                                              "uriBaseId": "PWD"},
                                                                                                         "region": {"startLine": 855,
                                                                                                                    "startColumn": 19,
                                                                                                                    "endColumn": 30},
                                                                                                         "contextRegion": {"startLine": 855,
                                                                                                                           "snippet": {"text": "static GCObject **sweeptolive (lua_State *L, GCObject **p) {\n"}}},
                                                                                    "logicalLocations": [{"index": 4,
                                                                                                          "fullyQualifiedName": "sweeptolive"}],
                                                                                    "message": {"text": "entry to 'sweeptolive'"}},
                                                                       "kinds": ["enter",
                                                                                 "function"],
                                                                       "nestingLevel": 4,
                                                                       "executionOrder": 11},
                                                                      {"properties": {"gcc/analyzer/checker_event/emission_id": "(12)",
                                                                                      "gcc/analyzer/checker_event/kind": "call",
                                                                                      "gcc/analyzer/superedge_event/superedge": {"src_id": 1092,
                                                                                                                                 "dst_id": 1093}},
                                                                       "location": {"physicalLocation": {"artifactLocation": {"uri": "lgc.c",
                                                                                                                              "uriBaseId": "PWD"},
                                                                                                         "region": {"startLine": 858,
                                                                                                                    "startColumn": 9,
                                                                                                                    "endColumn": 33},
                                                                                                         "contextRegion": {"startLine": 858,
                                                                                                                           "snippet": {"text": "    p = sweeplist(L, p, 1, NULL);\n"}}},
                                                                                    "logicalLocations": [{"index": 4,
                                                                                                          "fullyQualifiedName": "sweeptolive"}],
                                                                                    "message": {"text": "calling 'sweeplist' from 'sweeptolive'"}},
                                                                       "kinds": ["call",
                                                                                 "function"],
                                                                       "nestingLevel": 4,
                                                                       "executionOrder": 12},
                                                                      {"properties": {"gcc/analyzer/checker_event/emission_id": "(13)",
                                                                                      "gcc/analyzer/checker_event/kind": "function_entry"},
                                                                       "location": {"physicalLocation": {"artifactLocation": {"uri": "lgc.c",
                                                                                                                              "uriBaseId": "PWD"},
                                                                                                         "region": {"startLine": 828,
                                                                                                                    "startColumn": 19,
                                                                                                                    "endColumn": 28},
                                                                                                         "contextRegion": {"startLine": 828,
                                                                                                                           "snippet": {"text": "static GCObject **sweeplist (lua_State *L, GCObject **p, int countin,\n"}}},
                                                                                    "logicalLocations": [{"index": 5,
                                                                                                          "fullyQualifiedName": "sweeplist"}],
                                                                                    "message": {"text": "entry to 'sweeplist'"}},
                                                                       "kinds": ["enter",
                                                                                 "function"],
                                                                       "nestingLevel": 5,
                                                                       "executionOrder": 13},
                                                                      {"properties": {"gcc/analyzer/checker_event/emission_id": "(14)",
                                                                                      "gcc/analyzer/checker_event/kind": "start_cfg_edge",
                                                                                      "gcc/analyzer/superedge_event/superedge": {"src_id": 1130,
                                                                                                                                 "dst_id": 1133}},
                                                                       "location": {"physicalLocation": {"artifactLocation": {"uri": "lgc.c",
                                                                                                                              "uriBaseId": "PWD"},
                                                                                                         "region": {"startLine": 846,
                                                                                                                    "startColumn": 6,
                                                                                                                    "endColumn": 7},
                                                                                                         "contextRegion": {"startLine": 846,
                                                                                                                           "snippet": {"text": "  if (countout)\n"}}},
                                                                                    "logicalLocations": [{"index": 5,
                                                                                                          "fullyQualifiedName": "sweeplist"}],
                                                                                    "message": {"text": "following 'false' branch (when 'countout' is NULL)..."}},
                                                                       "kinds": ["branch",
                                                                                 "false"],
                                                                       "nestingLevel": 5,
                                                                       "executionOrder": 14},
                                                                      {"properties": {"gcc/analyzer/checker_event/emission_id": "(15)",
                                                                                      "gcc/analyzer/checker_event/kind": "end_cfg_edge",
                                                                                      "gcc/analyzer/superedge_event/superedge": {"src_id": 1130,
                                                                                                                                 "dst_id": 1133}},
                                                                       "location": {"physicalLocation": {"artifactLocation": {"uri": "lgc.c",
                                                                                                                              "uriBaseId": "PWD"},
                                                                                                         "region": {"startLine": 848,
                                                                                                                    "startColumn": 10,
                                                                                                                    "endColumn": 33},
                                                                                                         "contextRegion": {"startLine": 848,
                                                                                                                           "snippet": {"text": "  return (*p == NULL) ? NULL : p;\n"}}},
                                                                                    "logicalLocations": [{"index": 5,
                                                                                                          "fullyQualifiedName": "sweeplist"}],
                                                                                    "message": {"text": "...to here"}},
                                                                       "kinds": ["branch",
                                                                                 "false"],
                                                                       "nestingLevel": 5,
                                                                       "executionOrder": 15},
                                                                      {"properties": {"gcc/analyzer/checker_event/emission_id": "(16)",
                                                                                      "gcc/analyzer/checker_event/kind": "start_cfg_edge",
                                                                                      "gcc/analyzer/superedge_event/superedge": {"src_id": 1135,
                                                                                                                                 "dst_id": 1136}},
                                                                       "location": {"physicalLocation": {"artifactLocation": {"uri": "lgc.c",
                                                                                                                              "uriBaseId": "PWD"},
                                                                                                         "region": {"startLine": 848,
                                                                                                                    "startColumn": 10,
                                                                                                                    "endColumn": 33},
                                                                                                         "contextRegion": {"startLine": 848,
                                                                                                                           "snippet": {"text": "  return (*p == NULL) ? NULL : p;\n"}}},
                                                                                    "logicalLocations": [{"index": 5,
                                                                                                          "fullyQualifiedName": "sweeplist"}],
                                                                                    "message": {"text": "following 'false' branch..."}},
                                                                       "kinds": ["branch",
                                                                                 "false"],
                                                                       "nestingLevel": 5,
                                                                       "executionOrder": 16},
                                                                      {"properties": {"gcc/analyzer/checker_event/emission_id": "(17)",
                                                                                      "gcc/analyzer/checker_event/kind": "end_cfg_edge",
                                                                                      "gcc/analyzer/superedge_event/superedge": {"src_id": 1135,
                                                                                                                                 "dst_id": 1136}},
                                                                       "location": {"physicalLocation": {"artifactLocation": {"uri": "lgc.c",
                                                                                                                              "uriBaseId": "PWD"},
                                                                                                         "region": {"startLine": 848,
                                                                                                                    "startColumn": 10,
                                                                                                                    "endColumn": 33},
                                                                                                         "contextRegion": {"startLine": 848,
                                                                                                                           "snippet": {"text": "  return (*p == NULL) ? NULL : p;\n"}}},
                                                                                    "logicalLocations": [{"index": 5,
                                                                                                          "fullyQualifiedName": "sweeplist"}],
                                                                                    "message": {"text": "...to here"}},
                                                                       "kinds": ["branch",
                                                                                 "false"],
                                                                       "nestingLevel": 5,
                                                                       "executionOrder": 17},
                                                                      {"properties": {"gcc/analyzer/checker_event/emission_id": "(18)",
                                                                                      "gcc/analyzer/checker_event/kind": "return"},
                                                                       "location": {"physicalLocation": {"artifactLocation": {"uri": "lgc.c",
                                                                                                                              "uriBaseId": "PWD"},
                                                                                                         "region": {"startLine": 858,
                                                                                                                    "startColumn": 9,
                                                                                                                    "endColumn": 33},
                                                                                                         "contextRegion": {"startLine": 858,
                                                                                                                           "snippet": {"text": "    p = sweeplist(L, p, 1, NULL);\n"}}},
                                                                                    "logicalLocations": [{"index": 4,
                                                                                                          "fullyQualifiedName": "sweeptolive"}],
                                                                                    "message": {"text": "returning to 'sweeptolive' from 'sweeplist'"}},
                                                                       "kinds": ["return",
                                                                                 "function"],
                                                                       "nestingLevel": 4,
                                                                       "executionOrder": 18},
                                                                      {"properties": {"gcc/analyzer/checker_event/emission_id": "(19)",
                                                                                      "gcc/analyzer/checker_event/kind": "start_cfg_edge",
                                                                                      "gcc/analyzer/superedge_event/superedge": {"src_id": 1093,
                                                                                                                                 "dst_id": 1094}},
                                                                       "location": {"physicalLocation": {"artifactLocation": {"uri": "lgc.c",
                                                                                                                              "uriBaseId": "PWD"},
                                                                                                         "region": {"startLine": 859,
                                                                                                                    "startColumn": 12,
                                                                                                                    "endColumn": 20},
                                                                                                         "contextRegion": {"startLine": 859,
                                                                                                                           "snippet": {"text": "  } while (p == old);\n"}}},
                                                                                    "logicalLocations": [{"index": 4,
                                                                                                          "fullyQualifiedName": "sweeptolive"}],
                                                                                    "message": {"text": "following 'false' branch..."}},
                                                                       "kinds": ["branch",
                                                                                 "false"],
                                                                       "nestingLevel": 4,
                                                                       "executionOrder": 19},
                                                                      {"properties": {"gcc/analyzer/checker_event/emission_id": "(20)",
                                                                                      "gcc/analyzer/checker_event/kind": "end_cfg_edge",
                                                                                      "gcc/analyzer/superedge_event/superedge": {"src_id": 1093,
                                                                                                                                 "dst_id": 1094}},
                                                                       "location": {"physicalLocation": {"artifactLocation": {"uri": "lgc.c",
                                                                                                                              "uriBaseId": "PWD"},
                                                                                                         "region": {"startLine": 860,
                                                                                                                    "startColumn": 10,
                                                                                                                    "endColumn": 11},
                                                                                                         "contextRegion": {"startLine": 860,
                                                                                                                           "snippet": {"text": "  return p;\n"}}},
                                                                                    "logicalLocations": [{"index": 4,
                                                                                                          "fullyQualifiedName": "sweeptolive"}],
                                                                                    "message": {"text": "...to here"}},
                                                                       "kinds": ["branch",
                                                                                 "false"],
                                                                       "nestingLevel": 4,
                                                                       "executionOrder": 20},
                                                                      {"properties": {"gcc/analyzer/checker_event/emission_id": "(21)",
                                                                                      "gcc/analyzer/checker_event/kind": "return"},
                                                                       "location": {"physicalLocation": {"artifactLocation": {"uri": "lgc.c",
                                                                                                                              "uriBaseId": "PWD"},
                                                                                                         "region": {"startLine": 1494,
                                                                                                                    "startColumn": 16,
                                                                                                                    "endColumn": 41},
                                                                                                         "contextRegion": {"startLine": 1494,
                                                                                                                           "snippet": {"text": "  g->sweepgc = sweeptolive(L, &g->allgc);\n"}}},
                                                                                    "logicalLocations": [{"index": 3,
                                                                                                          "fullyQualifiedName": "entersweep"}],
                                                                                    "message": {"text": "returning to 'entersweep' from 'sweeptolive'"}},
                                                                       "kinds": ["return",
                                                                                 "function"],
                                                                       "nestingLevel": 3,
                                                                       "executionOrder": 21},
                                                                      {"properties": {"gcc/analyzer/checker_event/emission_id": "(22)",
                                                                                      "gcc/analyzer/checker_event/kind": "return"},
                                                                       "location": {"physicalLocation": {"artifactLocation": {"uri": "lgc.c",
                                                                                                                              "uriBaseId": "PWD"},
                                                                                                         "region": {"startLine": 1716,
                                                                                                                    "startColumn": 5,
                                                                                                                    "endColumn": 18},
                                                                                                         "contextRegion": {"startLine": 1716,
                                                                                                                           "snippet": {"text": "    entersweep(L); /* sweep everything to turn them back to white */\n"}}},
                                                                                    "logicalLocations": [{"index": 2,
                                                                                                          "fullyQualifiedName": "fullinc"}],
                                                                                    "message": {"text": "returning to 'fullinc' from 'entersweep'"}},
                                                                       "kinds": ["return",
                                                                                 "function"],
                                                                       "nestingLevel": 2,
                                                                       "executionOrder": 22},
                                                                      {"properties": {"gcc/analyzer/checker_event/emission_id": "(23)",
                                                                                      "gcc/analyzer/checker_event/kind": "call",
                                                                                      "gcc/analyzer/superedge_event/superedge": {"src_id": 59,
                                                                                                                                 "dst_id": 60}},
                                                                       "location": {"physicalLocation": {"artifactLocation": {"uri": "lgc.c",
                                                                                                                              "uriBaseId": "PWD"},
                                                                                                         "region": {"startLine": 1718,
                                                                                                                    "startColumn": 3,
                                                                                                                    "endColumn": 41},
                                                                                                         "contextRegion": {"startLine": 1718,
                                                                                                                           "snippet": {"text": "  luaC_runtilstate(L, bitmask(GCSpause));\n"}}},
                                                                                    "logicalLocations": [{"index": 2,
                                                                                                          "fullyQualifiedName": "fullinc"}],
                                                                                    "message": {"text": "calling 'luaC_runtilstate' from 'fullinc'"}},
                                                                       "kinds": ["call",
                                                                                 "function"],
                                                                       "nestingLevel": 2,
                                                                       "executionOrder": 23},
                                                                      {"properties": {"gcc/analyzer/checker_event/emission_id": "(24)",
                                                                                      "gcc/analyzer/checker_event/kind": "function_entry"},
                                                                       "location": {"physicalLocation": {"artifactLocation": {"uri": "lgc.c",
                                                                                                                              "uriBaseId": "PWD"},
                                                                                                         "region": {"startLine": 1656,
                                                                                                                    "startColumn": 6,
                                                                                                                    "endColumn": 22},
                                                                                                         "contextRegion": {"startLine": 1656,
                                                                                                                           "snippet": {"text": "void luaC_runtilstate (lua_State *L, int statesmask) {\n"}}},
                                                                                    "logicalLocations": [{"index": 6,
                                                                                                          "fullyQualifiedName": "luaC_runtilstate"}],
                                                                                    "message": {"text": "entry to 'luaC_runtilstate'"}},
                                                                       "kinds": ["enter",
                                                                                 "function"],
                                                                       "nestingLevel": 3,
                                                                       "executionOrder": 24},
                                                                      {"properties": {"gcc/analyzer/checker_event/emission_id": "(25)",
                                                                                      "gcc/analyzer/checker_event/kind": "start_cfg_edge",
                                                                                      "gcc/analyzer/superedge_event/superedge": {"src_id": 151,
                                                                                                                                 "dst_id": 152}},
                                                                       "location": {"physicalLocation": {"artifactLocation": {"uri": "lgc.c",
                                                                                                                              "uriBaseId": "PWD"},
                                                                                                         "region": {"startLine": 1658,
                                                                                                                    "startColumn": 10,
                                                                                                                    "endColumn": 12},
                                                                                                         "contextRegion": {"startLine": 1658,
                                                                                                                           "snippet": {"text": "  while (!testbit(statesmask, g->gcstate))\n"}}},
                                                                                    "logicalLocations": [{"index": 6,
                                                                                                          "fullyQualifiedName": "luaC_runtilstate"}],
                                                                                    "message": {"text": "following 'true' branch..."}},
                                                                       "kinds": ["branch",
                                                                                 "true"],
                                                                       "nestingLevel": 3,
                                                                       "executionOrder": 25},
                                                                      {"properties": {"gcc/analyzer/checker_event/emission_id": "(26)",
                                                                                      "gcc/analyzer/checker_event/kind": "end_cfg_edge",
                                                                                      "gcc/analyzer/superedge_event/superedge": {"src_id": 151,
                                                                                                                                 "dst_id": 152}},
                                                                       "location": {"physicalLocation": {"artifactLocation": {"uri": "lgc.c",
                                                                                                                              "uriBaseId": "PWD"},
                                                                                                         "region": {"startLine": 1659,
                                                                                                                    "startColumn": 5,
                                                                                                                    "endColumn": 18},
                                                                                                         "contextRegion": {"startLine": 1659,
                                                                                                                           "snippet": {"text": "    singlestep(L);\n"}}},
                                                                                    "logicalLocations": [{"index": 6,
                                                                                                          "fullyQualifiedName": "luaC_runtilstate"}],
                                                                                    "message": {"text": "...to here"}},
                                                                       "kinds": ["branch",
                                                                                 "true"],
                                                                       "nestingLevel": 3,
                                                                       "executionOrder": 26},
                                                                      {"properties": {"gcc/analyzer/checker_event/emission_id": "(27)",
                                                                                      "gcc/analyzer/checker_event/kind": "call",
                                                                                      "gcc/analyzer/superedge_event/superedge": {"src_id": 152,
                                                                                                                                 "dst_id": 153}},
                                                                       "location": {"physicalLocation": {"artifactLocation": {"uri": "lgc.c",
                                                                                                                              "uriBaseId": "PWD"},
                                                                                                         "region": {"startLine": 1659,
                                                                                                                    "startColumn": 5,
                                                                                                                    "endColumn": 18},
                                                                                                         "contextRegion": {"startLine": 1659,
                                                                                                                           "snippet": {"text": "    singlestep(L);\n"}}},
                                                                                    "logicalLocations": [{"index": 6,
                                                                                                          "fullyQualifiedName": "luaC_runtilstate"}],
                                                                                    "message": {"text": "calling 'singlestep' from 'luaC_runtilstate'"}},
                                                                       "kinds": ["call",
                                                                                 "function"],
                                                                       "nestingLevel": 3,
                                                                       "executionOrder": 27},
                                                                      {"properties": {"gcc/analyzer/checker_event/emission_id": "(28)",
                                                                                      "gcc/analyzer/checker_event/kind": "function_entry"},
                                                                       "location": {"physicalLocation": {"artifactLocation": {"uri": "lgc.c",
                                                                                                                              "uriBaseId": "PWD"},
                                                                                                         "region": {"startLine": 1589,
                                                                                                                    "startColumn": 15,
                                                                                                                    "endColumn": 25},
                                                                                                         "contextRegion": {"startLine": 1589,
                                                                                                                           "snippet": {"text": "static lu_mem singlestep (lua_State *L) {\n"}}},
                                                                                    "logicalLocations": [{"index": 7,
                                                                                                          "fullyQualifiedName": "singlestep"}],
                                                                                    "message": {"text": "entry to 'singlestep'"}},
                                                                       "kinds": ["enter",
                                                                                 "function"],
                                                                       "nestingLevel": 4,
                                                                       "executionOrder": 28},
                                                                      {"properties": {"gcc/analyzer/checker_event/emission_id": "(29)",
                                                                                      "gcc/analyzer/checker_event/kind": "start_cfg_edge",
                                                                                      "gcc/analyzer/superedge_event/superedge": {"src_id": 162,
                                                                                                                                 "dst_id": 168}},
                                                                       "location": {"physicalLocation": {"artifactLocation": {"uri": "lgc.c",
                                                                                                                              "uriBaseId": "PWD"},
                                                                                                         "region": {"startLine": 1594,
                                                                                                                    "startColumn": 3,
                                                                                                                    "endColumn": 9},
                                                                                                         "contextRegion": {"startLine": 1594,
                                                                                                                           "snippet": {"text": "  switch (g->gcstate) {\n"}}},
                                                                                    "logicalLocations": [{"index": 7,
                                                                                                          "fullyQualifiedName": "singlestep"}],
                                                                                    "message": {"text": "following 'case 0:' branch..."}},
                                                                       "nestingLevel": 4,
                                                                       "executionOrder": 29},
                                                                      {"properties": {"gcc/analyzer/checker_event/emission_id": "(30)",
                                                                                      "gcc/analyzer/checker_event/kind": "end_cfg_edge",
                                                                                      "gcc/analyzer/superedge_event/superedge": {"src_id": 162,
                                                                                                                                 "dst_id": 168}},
                                                                       "location": {"physicalLocation": {"artifactLocation": {"uri": "lgc.c",
                                                                                                                              "uriBaseId": "PWD"},
                                                                                                         "region": {"startLine": 1601,
                                                                                                                    "startColumn": 5,
                                                                                                                    "endColumn": 9},
                                                                                                         "contextRegion": {"startLine": 1601,
                                                                                                                           "snippet": {"text": "    case GCSpropagate: {\n"}}},
                                                                                    "logicalLocations": [{"index": 7,
                                                                                                          "fullyQualifiedName": "singlestep"}],
                                                                                    "message": {"text": "...to here"}},
                                                                       "nestingLevel": 4,
                                                                       "executionOrder": 30},
                                                                      {"properties": {"gcc/analyzer/checker_event/emission_id": "(31)",
                                                                                      "gcc/analyzer/checker_event/kind": "start_cfg_edge",
                                                                                      "gcc/analyzer/superedge_event/superedge": {"src_id": 170,
                                                                                                                                 "dst_id": 173}},
                                                                       "location": {"physicalLocation": {"artifactLocation": {"uri": "lgc.c",
                                                                                                                              "uriBaseId": "PWD"},
                                                                                                         "region": {"startLine": 1602,
                                                                                                                    "startColumn": 10,
                                                                                                                    "endColumn": 11},
                                                                                                         "contextRegion": {"startLine": 1602,
                                                                                                                           "snippet": {"text": "      if (g->gray == NULL) {  /* no more gray objects? */\n"}}},
                                                                                    "logicalLocations": [{"index": 7,
                                                                                                          "fullyQualifiedName": "singlestep"}],
                                                                                    "message": {"text": "following 'false' branch..."}},
                                                                       "kinds": ["branch",
                                                                                 "false"],
                                                                       "nestingLevel": 4,
                                                                       "executionOrder": 31},
                                                                      {"properties": {"gcc/analyzer/checker_event/emission_id": "(32)",
                                                                                      "gcc/analyzer/checker_event/kind": "end_cfg_edge",
                                                                                      "gcc/analyzer/superedge_event/superedge": {"src_id": 170,
                                                                                                                                 "dst_id": 173}},
                                                                       "location": {"physicalLocation": {"artifactLocation": {"uri": "lgc.c",
                                                                                                                              "uriBaseId": "PWD"},
                                                                                                         "region": {"startLine": 1607,
                                                                                                                    "startColumn": 16,
                                                                                                                    "endColumn": 32},
                                                                                                         "contextRegion": {"startLine": 1607,
                                                                                                                           "snippet": {"text": "        work = propagatemark(g);  /* traverse one gray object */\n"}}},
                                                                                    "logicalLocations": [{"index": 7,
                                                                                                          "fullyQualifiedName": "singlestep"}],
                                                                                    "message": {"text": "...to here"}},
                                                                       "kinds": ["branch",
                                                                                 "false"],
                                                                       "nestingLevel": 4,
                                                                       "executionOrder": 32},
                                                                      {"properties": {"gcc/analyzer/checker_event/emission_id": "(33)",
                                                                                      "gcc/analyzer/checker_event/kind": "call",
                                                                                      "gcc/analyzer/superedge_event/superedge": {"src_id": 173,
                                                                                                                                 "dst_id": 174}},
                                                                       "location": {"physicalLocation": {"artifactLocation": {"uri": "lgc.c",
                                                                                                                              "uriBaseId": "PWD"},
                                                                                                         "region": {"startLine": 1607,
                                                                                                                    "startColumn": 16,
                                                                                                                    "endColumn": 32},
                                                                                                         "contextRegion": {"startLine": 1607,
                                                                                                                           "snippet": {"text": "        work = propagatemark(g);  /* traverse one gray object */\n"}}},
                                                                                    "logicalLocations": [{"index": 7,
                                                                                                          "fullyQualifiedName": "singlestep"}],
                                                                                    "message": {"text": "calling 'propagatemark' from 'singlestep'"}},
                                                                       "kinds": ["call",
                                                                                 "function"],
                                                                       "nestingLevel": 4,
                                                                       "executionOrder": 33},
                                                                      {"properties": {"gcc/analyzer/checker_event/emission_id": "(34)",
                                                                                      "gcc/analyzer/checker_event/kind": "function_entry"},
                                                                       "location": {"physicalLocation": {"artifactLocation": {"uri": "lgc.c",
                                                                                                                              "uriBaseId": "PWD"},
                                                                                                         "region": {"startLine": 664,
                                                                                                                    "startColumn": 15,
                                                                                                                    "endColumn": 28},
                                                                                                         "contextRegion": {"startLine": 664,
                                                                                                                           "snippet": {"text": "static lu_mem propagatemark (global_State *g) {\n"}}},
                                                                                    "logicalLocations": [{"index": 8,
                                                                                                          "fullyQualifiedName": "propagatemark"}],
                                                                                    "message": {"text": "entry to 'propagatemark'"}},
                                                                       "kinds": ["enter",
                                                                                 "function"],
                                                                       "nestingLevel": 5,
                                                                       "executionOrder": 34},
                                                                      {"properties": {"gcc/analyzer/checker_event/emission_id": "(35)",
                                                                                      "gcc/analyzer/checker_event/kind": "call",
                                                                                      "gcc/analyzer/superedge_event/superedge": {"src_id": 1403,
                                                                                                                                 "dst_id": 1404}},
                                                                       "location": {"physicalLocation": {"artifactLocation": {"uri": "lgc.c",
                                                                                                                              "uriBaseId": "PWD"},
                                                                                                         "region": {"startLine": 667,
                                                                                                                    "startColumn": 14,
                                                                                                                    "endColumn": 26},
                                                                                                         "contextRegion": {"startLine": 667,
                                                                                                                           "snippet": {"text": "  g->gray = *getgclist(o);  /* remove from 'gray' list */\n"}}},
                                                                                    "logicalLocations": [{"index": 8,
                                                                                                          "fullyQualifiedName": "propagatemark"}],
                                                                                    "message": {"text": "calling 'getgclist' from 'propagatemark'"}},
                                                                       "kinds": ["call",
                                                                                 "function"],
                                                                       "nestingLevel": 5,
                                                                       "executionOrder": 35},
                                                                      {"properties": {"gcc/analyzer/checker_event/emission_id": "(36)",
                                                                                      "gcc/analyzer/checker_event/kind": "function_entry"},
                                                                       "location": {"physicalLocation": {"artifactLocation": {"uri": "lgc.c",
                                                                                                                              "uriBaseId": "PWD"},
                                                                                                         "region": {"startLine": 125,
                                                                                                                    "startColumn": 19,
                                                                                                                    "endColumn": 28},
                                                                                                         "contextRegion": {"startLine": 125,
                                                                                                                           "snippet": {"text": "static GCObject **getgclist (GCObject *o) {\n"}}},
                                                                                    "logicalLocations": [{"index": 10,
                                                                                                          "fullyQualifiedName": "getgclist"}],
                                                                                    "message": {"text": "entry to 'getgclist'"}},
                                                                       "kinds": ["enter",
                                                                                 "function"],
                                                                       "nestingLevel": 6,
                                                                       "executionOrder": 36},
                                                                      {"properties": {"gcc/analyzer/checker_event/emission_id": "(37)",
                                                                                      "gcc/analyzer/checker_event/kind": "start_cfg_edge",
                                                                                      "gcc/analyzer/superedge_event/superedge": {"src_id": 2464,
                                                                                                                                 "dst_id": 2465}},
                                                                       "location": {"physicalLocation": {"artifactLocation": {"uri": "lgc.c",
                                                                                                                              "uriBaseId": "PWD"},
                                                                                                         "region": {"startLine": 126,
                                                                                                                    "startColumn": 3,
                                                                                                                    "endColumn": 9},
                                                                                                         "contextRegion": {"startLine": 126,
                                                                                                                           "snippet": {"text": "  switch (o->tt) {\n"}}},
                                                                                    "logicalLocations": [{"index": 10,
                                                                                                          "fullyQualifiedName": "getgclist"}],
                                                                                    "message": {"text": "following 'default:' branch..."}},
                                                                       "nestingLevel": 6,
                                                                       "executionOrder": 37},
                                                                      {"properties": {"gcc/analyzer/checker_event/emission_id": "(38)",
                                                                                      "gcc/analyzer/checker_event/kind": "end_cfg_edge",
                                                                                      "gcc/analyzer/superedge_event/superedge": {"src_id": 2464,
                                                                                                                                 "dst_id": 2465}},
                                                                       "location": {"physicalLocation": {"artifactLocation": {"uri": "lgc.c",
                                                                                                                              "uriBaseId": "PWD"},
                                                                                                         "region": {"startLine": 126,
                                                                                                                    "startColumn": 3,
                                                                                                                    "endColumn": 9},
                                                                                                         "contextRegion": {"startLine": 126,
                                                                                                                           "snippet": {"text": "  switch (o->tt) {\n"}}},
                                                                                    "logicalLocations": [{"index": 10,
                                                                                                          "fullyQualifiedName": "getgclist"}],
                                                                                    "message": {"text": "...to here"}},
                                                                       "nestingLevel": 6,
                                                                       "executionOrder": 38},
                                                                      {"properties": {"gcc/analyzer/checker_event/emission_id": "(39)",
                                                                                      "gcc/analyzer/checker_event/kind": "return"},
                                                                       "location": {"physicalLocation": {"artifactLocation": {"uri": "lgc.c",
                                                                                                                              "uriBaseId": "PWD"},
                                                                                                         "region": {"startLine": 667,
                                                                                                                    "startColumn": 14,
                                                                                                                    "endColumn": 26},
                                                                                                         "contextRegion": {"startLine": 667,
                                                                                                                           "snippet": {"text": "  g->gray = *getgclist(o);  /* remove from 'gray' list */\n"}}},
                                                                                    "logicalLocations": [{"index": 8,
                                                                                                          "fullyQualifiedName": "propagatemark"}],
                                                                                    "message": {"text": "returning to 'propagatemark' from 'getgclist'"}},
                                                                       "kinds": ["return",
                                                                                 "function"],
                                                                       "nestingLevel": 5,
                                                                       "executionOrder": 39},
                                                                      {"properties": {"gcc/analyzer/checker_event/emission_id": "(40)",
                                                                                      "gcc/analyzer/checker_event/kind": "warning"},
                                                                       "location": {"physicalLocation": {"artifactLocation": {"uri": "lgc.c",
                                                                                                                              "uriBaseId": "PWD"},
                                                                                                         "region": {"startLine": 667,
                                                                                                                    "startColumn": 13,
                                                                                                                    "endColumn": 26},
                                                                                                         "contextRegion": {"startLine": 667,
                                                                                                                           "snippet": {"text": "  g->gray = *getgclist(o);  /* remove from 'gray' list */\n"}}},
                                                                                    "logicalLocations": [{"index": 8,
                                                                                                          "fullyQualifiedName": "propagatemark"}],
                                                                                    "message": {"text": "dereference of NULL 'getgclist(o)'"}},
                                                                       "kinds": ["danger"],
                                                                       "nestingLevel": 5,
                                                                       "executionOrder": 40}]}]}]}],
           "logicalLocations": [{"name": "genlink",
                                 "fullyQualifiedName": "genlink",
                                 "decoratedName": "genlink",
                                 "kind": "function",
                                 "index": 0},
                                {"name": "luaC_fullgc",
                                 "fullyQualifiedName": "luaC_fullgc",
                                 "decoratedName": "luaC_fullgc",
                                 "kind": "function",
                                 "index": 1},
                                {"name": "fullinc",
                                 "fullyQualifiedName": "fullinc",
                                 "decoratedName": "fullinc",
                                 "kind": "function",
                                 "index": 2},
                                {"name": "entersweep",
                                 "fullyQualifiedName": "entersweep",
                                 "decoratedName": "entersweep",
                                 "kind": "function",
                                 "index": 3},
                                {"name": "sweeptolive",
                                 "fullyQualifiedName": "sweeptolive",
                                 "decoratedName": "sweeptolive",
                                 "kind": "function",
                                 "index": 4},
                                {"name": "sweeplist",
                                 "fullyQualifiedName": "sweeplist",
                                 "decoratedName": "sweeplist",
                                 "kind": "function",
                                 "index": 5},
                                {"name": "luaC_runtilstate",
                                 "fullyQualifiedName": "luaC_runtilstate",
                                 "decoratedName": "luaC_runtilstate",
                                 "kind": "function",
                                 "index": 6},
                                {"name": "singlestep",
                                 "fullyQualifiedName": "singlestep",
                                 "decoratedName": "singlestep",
                                 "kind": "function",
                                 "index": 7},
                                {"name": "propagatemark",
                                 "fullyQualifiedName": "propagatemark",
                                 "decoratedName": "propagatemark",
                                 "kind": "function",
                                 "index": 8},
                                {"name": "traverseudata",
                                 "fullyQualifiedName": "traverseudata",
                                 "decoratedName": "traverseudata",
                                 "kind": "function",
                                 "index": 9},
                                {"name": "getgclist",
                                 "fullyQualifiedName": "getgclist",
                                 "decoratedName": "getgclist",
                                 "kind": "function",
                                 "index": 10},
                                {"name": "linkgclist_",
                                 "fullyQualifiedName": "linkgclist_",
                                 "decoratedName": "linkgclist_",
                                 "kind": "function",
                                 "index": 11}]}]}
