set_trace_func values which could be frozen or symbols
I have been changing JRuby's tracing support internally and notice we churn through lots of extra Ruby objects per set_trace_func call. It strikes me that a couple of these values do not need to be allocated more than once. I propose:
- event_type becomes a symbol (or could be single frozen string per distinct event type)
- filename becomes a single frozen string per file (frozen per spec and possible single instance as impl-specific detail)
I find the value of these two values being mutable strings to be minimal and tracing speed will have less GC-pressure.