Variable ownership
- sgs_Acquire - increment reference count of a variable if the type implements reference counting
- sgs_AcquireArray - acquire an array of variables
- sgs_Release - decrement reference count and possibly destroy a variable if the type implements ref.counting
- sgs_ReleaseArray - release an array of variables
- sgs_GCMark - mark a variable as available to prevent GC from removing it
- sgs_GCMarkArray - mark an array of variables as available
- sgs_ObjAcquire - acquire an object variable by its sgs_VarObj pointer
- sgs_ObjRelease - release an object variable by its sgs_VarObj pointer
- sgs_ObjGCMark - mark an object variable by its sgs_VarObj pointer
- sgs_ObjAssign - assign object pointer, handling acquisition/release properly
- sgs_ObjCallDtor - call the destruction function of an object variable if it's defined
- sgs_ObjSetMetaObj - set meta-object of an object
- sgs_ObjGetMetaObj - retrieve meta-object of an object
- sgs_ObjSetMetaMethodEnable - enable or disable metamethod support for an object
- sgs_ObjGetMetaMethodEnable - check if metamethod support is enabled for an object