[Mono-bugs] [Bug 480178] System.Globalization.CharUnicodeInfo.GetUnicodeCategory() does not handle surrogate characters appropriately.

bugzilla_noreply at novell.com bugzilla_noreply at novell.com
Mon May 17 14:14:26 EDT 2010



--- Comment #35 from Damien Diederen <dd at crosstwine.com> 2010-05-17 18:14:23 UTC ---
Here is a v4 version of the patches, addressing an important concern
raised by Andreas Nahr: additional complexity in the various Char.Is*
predicates causes them not to be inlined anymore by the current JIT,
and results in an important performance drop.

This version keeps the U+0000–U+FFFF portion of the table purely
linear, so that the various methods dealing with (16-bit) chars are
not touched.  The downsides are:

  - The total amount of embedded data grows by 13.5kB;

  - This technique does not allow efficient page sharing between the
    lower portion of multiple versions of the category database,
    requiring an additional ~75kB per supported variant.

This iteration consequently only supports versions v2.0.50727 and
v3.5.21022 of Microsoft's framework (which share a database), but not
the recent v4.0 releases, whose tables contain substantial changes.

Configure bugmail: http://bugzilla.novell.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.

More information about the mono-bugs mailing list