JRE-469 Console with emoji output becomes slow
The fix consists of two parts:
* Making CCharToGlyphMapper remember that a particular character
cannot be displayed (isn't mapped to glyph with given font). Checking
this repeatedly in native code is very slow.
* Make CCompositeGlyphMapper remember the results of char-to-glyph
mapping, this was missing in previous implementation. This reuses
caching code in CompositeGlyphMapper, extending the range of
characters for which the results are cached to include Supplementary
Multilingual Plane (most emoji characters belong to it).
3 files changed