d755f87781
In order of importance: * manually inline putIfAbsent invocation in StringIndexer.put; * manually inline writeList into writeNodeList; * don't create Switch/Label indexers eagerly. Most functions don't need them. Before this change: AstToBinary(RunTimeRaw): 83019.54 us. AstToBinaryP50(RunTimeRaw): 80010 us. AstToBinaryP90(RunTimeRaw): 96234 us. After this change: AstToBinary(RunTimeRaw): 57031.02 us. AstToBinaryP50(RunTimeRaw): 56251 us. AstToBinaryP90(RunTimeRaw): 60861 us. Bug: Change-Id: Ida2365088a51a5095c2ce8aef5f1582bc0b5b99e Reviewed-on: https://dart-review.googlesource.com/19005 Reviewed-by: Jens Johansen <jensj@google.com> Commit-Queue: Vyacheslav Egorov <vegorov@google.com>