Does that mean that the following code…

Actually, no:

function noop () {}
var hash = {o: null}
// Makes hash go slow mode
delete hash.o;
// Tags hash as "prototype". Would have made it go slow as well.
// The delete above was just unnecessary overhead.
noop.prototype = hash;
// Performs a dictionary-store on hash, keeps it in "setup mode"
hash.o = null;
// unsets the prototype, which does not affect the state of hash
noop.prototype = undefined;
// hash stays slow since it was never fast. If you would have done
// e.g., "var a = hash.o" first, hash would have been made fast
// ("use mode"). In that case the following delete would not have
// made the object slow, but it would have stayed in fast mode.
delete hash.o;
Show your support

Clapping shows how much you appreciated Toon Verwaest’s story.