JavaScriptCore has loads of #ifndef NDEBUG guards for helper methods that print the internal representation (bytecode, DFG, JSValue). While this saves some space in release binaries, it also makes it really hard to do meaningful debugging while in release mode. Not to mention it adds more preprocessor noise. It would be better if we just let the various debugging helpers compiled in always, so we can always call them even when in a release build.
Created attachment 125163 [details] the patch No performance impact. 0.8% increase in the size of the JavaScriptCore framework.
Comment on attachment 125163 [details] the patch It would be great at some point if we can harden the code so that that debugOffset cannot be abused in a way that would introduce bugs.
Landed in http://trac.webkit.org/changeset/106590
<rdar://problem/10817157>