I was reading clojure.lang.MultiFn
and noticed the use of Util#ret1
(e.g here: https://github.com/clojure/clojure/blob/master/src/jvm/clojure/lang/MultiFn.java#L242-L248)
is the intent to play with the GC?
it is replicating locals clearing
ah, gotcha, thanks
the clojure compiler will generate jvm bytecode that loads a local on to the stack, then nulls out the local, then does whatever with the value on the stack, which means the local isn't keeping a reference around anymore, but you cannot directly replicate that bytecode as java source code