struct l_lsl_tableent {
/* string table entry */
u32 name;
+ /* reference count for the
+ * current entry.
+ * if rc is 0 this entry should be freed
+ * rc should increase when:
+ * - entry is assigned to a table
+ * - entry is pushed to a function
+ * rc should decrease when
+ * - a function returns where the table is assigned
+ * - a table entry is re-sassigned to a different reference
+ */
+ u32 rc;
enum l_lsl_data_type type;
union l_lsl_tableent_data data;
};