-
Notifications
You must be signed in to change notification settings - Fork 4.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Convert System.Globalization unix calls to QCalls into coreclr #32132
Conversation
I think it would be better to compile this separately from vm, without including PAL headers, to avoid collisions with PAL headers. Dealing with the PAL and system headers collisions is a losing battle. |
Do you mean defining new headers for the functions that are going to be qcalls directly in the vm? Or could you provide an example? |
I see, so you actually mean compiling in another partition of the runtime, which one would you suggest? |
Yep. It can be the I think you should be able to keep the shim implementation intact, and just add
And then have a registration in
|
Thanks, I will try that! |
cee3479
to
3ca2688
Compare
src/libraries/Common/tests/CoreFx.Private.TestUtilities/System/PlatformDetection.Unix.cs
Outdated
Show resolved
Hide resolved
src/libraries/Native/Unix/System.Globalization.Native/pal_locale.h
Outdated
Show resolved
Hide resolved
Thanks for the reviews 😄 -- I've addressed all feedback. |
src/libraries/Common/tests/CoreFx.Private.TestUtilities/System/PlatformDetection.Unix.cs
Outdated
Show resolved
Hide resolved
src/libraries/Native/Unix/System.Globalization.Native/pal_icushim.h
Outdated
Show resolved
Hide resolved
src/libraries/Common/tests/CoreFx.Private.TestUtilities/System/PlatformDetection.Unix.cs
Outdated
Show resolved
Hide resolved
bbb53e7
to
f21f84e
Compare
The test failures seems to be related to this change. Do not merge before fixing them. |
Yes I saw that, will investigate later. It seems to be related to getting the version. Thanks for all your reviews @jkotas! |
Relates to: #826
Since we now need to include the headers as part of mscorlib in order to define the QCall entry points, I had to use
uint16_t
instead ofUChar
. Per ICU's documentationUChar
is an unsigned int of 16bits -- since we don't want to include headers from external libraries into coreclr build.Note: marked as no-merge as since this is touching perf sensitive code paths, to measure perf.
cc: @ericstj