In this case, it's not just a flag. Unless you're going through the Mozilla build system, in which case it kind of is. But what's actually happening is that it compiles the browser once, then runs it against some very small examples while collecting profiling data, then recompiles it while using the profiling data to guide optimization. That part about running the browser in the middle is what makes it complicated. (It can't do that when cross-compiling, for example.)