Commit 3cb47d8
authored
[mono] Use
Backport of dotnet/runtime#83273 to mono/mono `2020-02`
The C standard does not specify whether `char` is signed or unsigned, it is implementation defined.
Apparently Android aarch64 makes a different choice than other platforms (at least macOS arm64 and Windows x64 give different results).
Mono uses `mono_metadata_str_hash` in the AOT compiler and AOT runtime to optimize class name lookup. As a result, classes whose names include UTF-8 continuation bytes (with the high bit = 1) will hash differently in the AOT compiler and on the device.
Contributes to dotnet/runtime#82187
Contributes to dotnet/runtime#78638unsigned char when computing UTF8 string hashes (#21633)1 parent a102a35 commit 3cb47d8
2 files changed
+3
-2
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
673 | 673 | | |
674 | 674 | | |
675 | 675 | | |
676 | | - | |
| 676 | + | |
677 | 677 | | |
678 | 678 | | |
679 | 679 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
5532 | 5532 | | |
5533 | 5533 | | |
5534 | 5534 | | |
5535 | | - | |
| 5535 | + | |
| 5536 | + | |
5536 | 5537 | | |
5537 | 5538 | | |
5538 | 5539 | | |
| |||
0 commit comments