Make GC'd objects super invisible to help unreference them more.

qdel() and clear contents of things when they themselves are qdel()
Forgot to add the gc_cost to the total cost of the MC.
This commit is contained in:
MrPerson
2014-02-23 18:07:33 -08:00
parent 08a06487c0
commit edc7cfd63a
3 changed files with 5 additions and 1 deletions
+2
View File
@@ -45,6 +45,7 @@ var/list/uncollectable_vars=list(
continue
// testing("GC: Unsetting [vname] in [A.type]")
A.vars[vname] = null
A.invisibility = 101 // Idea by ChuckTheSheep to make the object even more unreferencable
// testing("GC: Pop([A.type]) - destroyed\[\ref[A]\] = [A.gc_destroyed] current time: [world.timeofday]")
destroyed["\ref[A]"] = A.gc_destroyed
queue.Cut(1, 2)
@@ -79,6 +80,7 @@ var/list/uncollectable_vars=list(
// else
// testing("GC: [refID] properly GC'd at [world.timeofday] with timeout [GCd_at_time]")
destroyed.Cut(i, ++i) // also increases i in general
/**
* NEVER USE THIS FOR ANYTHING OTHER THAN /atom/movable
* OTHER TYPES CANNOT BE QDEL'D BECAUSE THEIR LOC IS LOCKED OR THEY DON'T HAVE ONE.