/**
* Reorder function decls to improve compression ratios. Also restructures
* the top level blocks into sub-blocks if they exceed 32767 statements.
*/
Event functionClusterEvent = SpeedTracerLogger.start(CompilerEventType.FUNCTION_CLUSTER);
JsFunctionClusterer clusterer = new JsFunctionClusterer(out.toString(),
v.getStatementRanges());
// only cluster for obfuscated mode
if (options.isAggressivelyOptimize()
&& options.getOutput() == JsOutputOption.OBFUSCATED) {
clusterer.exec();
}
functionClusterEvent.end();
// rewrite top-level blocks to limit the number of statements
JsIEBlockTextTransformer ieXformer = new JsIEBlockTextTransformer(
clusterer);