summaryrefslogtreecommitdiff
path: root/src/classlibnative
AgeCommit message (Collapse)AuthorFilesLines
2019-03-03Cleanup more GCC warnings (#22872)Sinan Kaya1-2/+2
* Add parenthesis src/vm/sha1.cpp: In function ‘void SHA1_block(SHA1_CTX*)’: src/vm/sha1.cpp:93:29: warning: suggest parentheses around arithmetic in operand of ‘|’ [-Wparentheses] #define ROUND3(B, C, D) ((C & (B | D) | (B & D)) + sha1_round3) ^ src/vm/sha1.cpp:139:32: note: in expansion of macro ‘ROUND3’ e += ROTATE32L(a, 5) + ROUND3(b, c, d) + msg80[i]; * Move declaration into same file as one was defined Extern the other one was static * Remove hr=hr undefined assignment * Fix mutli-line comment warning * Convert multi-character literal * Remove null check for stack local variables rc/vm/invokeutil.cpp: In static member function ‘static void InvokeUtil::SetValidField(CorElementType, TypeHandle, FieldDesc*, OBJECTREF*, OBJECTREF*, TypeHandle, CLR_BOOL*)’: src/vm/invokeutil.cpp:978:29: warning: the address of ‘Throwable’ will never be NULL [-Waddress] EX_CATCH_THROWABLE(&Throwable); ^ src/inc/ex.h:1087:21: note: in definition of macro ‘EX_CATCH_THROWABLE’ if (NULL != ppThrowable) ^
2019-02-21Remove unused perfcounter code (#22742)Sung Yoon Whang1-4/+0
* removing references to COUNTER_ONLY, ENABLE_PERF_COUNTERS in src/vm directory * removing perfcounters* files * Fix build * Remove PerfCounterSupportedBuild * Some more cleanup on the GC side
2019-02-07Fix race condition in g_pfnGetSystemTimeAsFileTime initialization (#22466)Jan Kotas1-4/+9
Multiple threads initializing g_pfnGetSystemTimeAsFileTime at the same time can end up with different conclusions. Make the result consistent.
2019-01-23Remove all traces of FEATURE_STACK_PROBE. (#22149)Filip Navara3-10/+0
2019-01-20Cleanup array related FCalls (#22097)Jan Kotas2-5/+14
* Cleanup Array FCalls * Disable outdated CoreFX tests https://github.com/dotnet/corefx/pull/34700
2019-01-03Adds portable version of EncodingTable (#21735)Marek Safar7-297/+0
* Adds portable version of EncodingTable Most of the implementation is extracted from CoreRT * Use string comparer directly * Remove no longer used COMNlsInfo * Adds localization support * Removes FeatureCoreFxGlobalization configuration * Remove redudant encodings look up from GetEncoding * Keep Hashtable for nameToCodePage as it does not lock on read * Replace locked dictionary lookup with short switch * Include comment with msbuild task link used to generate the data file
2018-12-08Leap Seconds Support (#21420)Tarek Mahmoud Sayed2-27/+117
* Leap Seconds Support * Address Feedback * More feedback addressing
2018-11-22Delete System.AppDomainSetup (#21157)Jan Kotas2-83/+6
* Delete System.AppDomainSetup Contributes to #21028 * Add test hook for null entry assembly * Validate that the binder paths are absolute
2018-11-12Some cleanup of the Math functions from #20788 (#20912)Tanner Gooding4-4/+4
* Fixing Max, MaxMagnitude, Min, and MinMagnitude for Math/MathF to be IEEE compliant * Disabling the System.Math.Max/Min tests * Adding the new c_runtime PAL tests to the CMakeLists to ensure they actually get run. * Fixing the casing of IlogB to ILogB * Fixing the new PAL tests to match the correct/expected outputs * Fixing up PAL_ilogb to correctly handle 0 and NaN
2018-11-05Adding some new functions to System.Math and System.MathF (#20788)Tanner Gooding4-0/+80
* Adding BitIncrement, BitDecrement, CopySign, MaxMagnitude, and MinMagnitude to Math and MathF * Adding FusedMultiplyAdd, IlogB, Log2, and ScaleB to Math and MathF * Adding some basic PAL tests for fma, ilogb, log2, and scalbn * Fixing a couple typos and adding clarifying comments * Fixing the MSVC _VVV FCALL declarations
2018-10-04Remove AppDomain unload (#20250)Jan Vorlicek1-1/+1
* Remove AppDomain unload This change removes all code in AppDomain that's related to AppDomain unloading which is obsolete in CoreCLR. It also removes all calls to the removed methods. In few places, I have made the change simpler by taking into account the fact that there is always just one AppDomain.
2018-09-28Enable BSTR Marshaling Support for x-plat PInvoke (#19766)Luqun Lou2-6/+0
2018-09-22Porting NumberToDouble to managed code. (#20080)Tanner Gooding3-489/+0
* Porting NumberToDouble to managed code. * Deleting bcltype/number.cpp and bcltype/number.h * Fixing NumberToDouble to call Int64BitsToDouble, rather than DoubleToInt64Bits * Some minor code cleanup in NumberToDouble for better readability. * Some additional code cleanup in the Number.NumberToDouble.cs code
2018-09-20Fixing some naming conventions and removing dead code.Tanner Gooding1-3/+0
2018-09-20Removing bcltype/fp.h from native code.Tanner Gooding2-68/+0
2018-09-20Removing the Grisu3 native implementation.Tanner Gooding6-718/+0
2018-09-20Removing the Dragon4 and DoubleToNumber native implementation.Tanner Gooding5-1059/+0
2018-09-06Removing i386/fptext.asm in favor of using the shared implementation in ↵Tanner Gooding1-9/+0
number.cpp
2018-09-06Updating Number.Formatting to properly print -0Tanner Gooding4-9/+22
2018-08-29Update floatdouble and floatsingle to use `floatcontrol(precise, value ↵Tanner Gooding2-8/+16
push)` and `floatcontrol(precise, pop)`
2018-08-29Updating floatdouble and floatsingle to work around an incorrect result ↵Tanner Gooding2-0/+27
under /fp:fast
2018-07-17Clean-up number.cpp (#18964)Pent Ploompuu2-1231/+0
2018-07-17Move Decimal to shared (#18948)Pent Ploompuu7-2678/+3
* Move Decimal to shared * Remove DecimalCanonicalize{Internal}
2018-06-09Avoid NativeOverlapped pinning by allocating unmanaged memory for it (#18360)Jan Kotas3-72/+0
It makes PinnableBufferCache unnecessary
2018-06-07Fixed and optimized Decimal.GetHashCode (#18288)Pent Ploompuu2-28/+0
2018-06-04Fix error during compilation with /permissive- (#18272)Andrey Kurdyumov1-2/+2
2018-06-03Warnings cleanup (#18260)Robin Sue1-4/+0
* Cleanup all disabled warnings that do not trigger * Fix warning about line continuation in single line comment * Eliminiate all unreferenced local variables and reenable warning
2018-05-24Optimize Array.Clear using SpanHelpers (#18101)Jan Kotas2-33/+11
Reimplement most of Array.Clear in managed code using Span Clear helpers. Fixes dotnet/corefx#29848
2018-04-17Convert native StringBuilder methods to managed (#17472)mikedn4-88/+0
2018-04-04[x86/Linux] Fix COMNumber::DoubleToNumberFC arguments order (#17412)Konstantin Baladurin2-2/+2
We should use FCDECL3_VII/FCIMPL3_VII instead of FCDECL3/FCIMPL3 otherwise we got incorrect order of arguments that leads to crashes.
2018-03-27Failfast windows event log (#16875)Sung Yoon Whang1-1/+1
* Add FailFast error log to Windows Event Log * change const wchar * to lpcwstr * Enable sending unhandled exception info to Windows Event Log * Change log format to match console output and address PR comments * Remove more comments * Change the order DoReportForUnhandledException to do a safety check first before calling managed code * Fix parameter name in header file * Add Windows Event logging in DefaultCatchHandler and remove DoReportForUnhandledException * Add back event reporting for ignored unhandled exception cases, fix broken UNIX builds * Fix more broken unix builds * Fix typo * Address PR comments
2018-03-27Vectorized SequenceCompareTo for Span<char> (#17237)Jan Kotas1-38/+0
- This change makes the compare for very short Span strings a bit slower and for longer Span strings many times faster. - Switch several places where it was a clear benefit to use it. `String.CompareOrdinal(string,string)` is notable exception that I have left intact for now. It is fine tuned for current string layout, and replacing with a call of vectorized SequenceCompareTo gives mixed results.
2018-03-19Switch over to managed Marvin implementation for string hashing (#17029)Jan Kotas3-94/+0
2018-03-19Delete unused downlevel globalization support (#17022)Jan Kotas2-47/+2
Delete ENABLE_DOWNLEVEL_FOR_NLS and everything under it
2018-03-09Log inner exceptions for Environment.Failfast (#16622)Sung Yoon Whang1-1/+9
* Add inner exception log to failfast * cleanup * Address PR comments * Address more GC hole issue * address more PR comments
2018-03-08Move String to shared corelib partition (#16749)Jan Kotas2-118/+0
2018-02-28Add Thread.GetCurrentProcessorId() API (#16650)Jan Kotas2-10/+0
Contributes to https://github.com/dotnet/corefx/issues/16767
2018-02-17delete unused mirror files (#16423)Sergey Andreenko5-5/+0
2018-02-05Reimplement string.Replace in managed code (#16214)Jan Kotas2-140/+0
2018-02-03Fix failfast stacktrace (#15895)Sung Yoon Whang2-6/+43
* attempt to fix stacktrace getting printed twice * Fix some default parameter issues, and wrong commit from last commit * Fix build errors, switch call from Debug.Assert to new FailFast FCall * Fix signature to allow more types of exception title * cleanup * Addressing comments from PR * More PR comments * remove useless using * Address comments on GC hole and few naming changes
2018-01-29Added Grisu3 algorithm support for double.ToString(). (#14646)Jingyu Ma7-64/+817
* Added Grisu3 algorithm support for double.ToString(). - Implemented Grisu3 algorithm. - When calling double.ToString(), try Grisu3 first, if it fails, fall back to Dragon4. Fix #14478 * Added comments. Fixed a minor bug. * Optimized the performance in DigitGen. * Added shortcut for numbers without fraction. * Updated according to the review comments. Added more comments. Changed the value of D_1_LOG2_10
2017-12-13Adding support for Acosh, Asinh, Atanh, and Cbrt to Math and MathFTanner Gooding4-0/+80
2017-12-02Delete sortversioning.cpp/h (#15345)Jan Kotas1-3/+0
Fixes #8403
2017-11-28Address PR feedbackStephen Toub2-9/+11
- Simplify FCALL signatures - Simplify mantissa logic copied from corert
2017-11-28Move FormatDouble/Single to managed codeStephen Toub2-231/+6
Instead of making fcalls to FormatDouble and FormatSingle, move them to managed, and use fcalls for the DoubleToNumber and NumberToDouble they call, shifting down the layer that's implemented in native. This allows us to then much more easily add TryFormat methods for double and float while also sharing more code between coreclr and corert, from which the managed implementations were taken (they're a direct port of these native implementations from coreclr). In the process, I also eliminated one fcall that can be implemented in managed easily. The remaining fcalls are more substantial and will eventually require more effort to bring to managed.
2017-11-22Add Decimal.TryFormat span-based method (#15145)Stephen Toub4-68/+0
* Move decimal formatting to managed code - Move decimal formatting to shared (decimal itself is still not shared) - Delete VM's decimal formatting code * Add Decimal.TryFormat span-based method * Workaround ProjectN compiler bug Apply the same attribution that's applied to the code in corert. * Address PR feedback * Temporarily undo explicit layout change Seeing whether it's the cause of these failures on Unix (Ubuntu, CentOS, and OSX): ``` JIT.Directed.coverage.oldtests.lclfldadd_cs_r.lclfldadd_cs_r JIT.Directed.perffix.primitivevt.mixed1_cs_ro.mixed1_cs_ro JIT.Methodical.fp.exgen.1000w1d_cs_r.1000w1d_cs_r JIT.Methodical.fp.exgen.1000w1d_cs_ro.1000w1d_cs_ro JIT.Methodical.fp.exgen.1000w1d_cs_do.1000w1d_cs_do JIT.Methodical.fp.exgen.1000w1d_cs_d.1000w1d_cs_d JIT.Methodical.fp.exgen.10w5d_cs_d.10w5d_cs_d JIT.Methodical.fp.exgen.10w5d_cs_do.10w5d_cs_do JIT.Methodical.fp.exgen.10w5d_cs_ro.10w5d_cs_ro JIT.Methodical.fp.exgen.200w1d-02_cs_do.200w1d-02_cs_do JIT.Methodical.fp.exgen.10w5d_cs_r.10w5d_cs_r JIT.Methodical.fp.exgen.200w1d-02_cs_ro.200w1d-02_cs_ro JIT.Directed.perffix.primitivevt.mixed1_cs_do.mixed1_cs_do ``` Example failure: ``` FAILED - JIT/Methodical/fp/exgen/200w1d-02_cs_ro/200w1d-02_cs_ro.sh BEGIN EXECUTION /mnt/j/workspace/dotnet_coreclr/master/checked_ubuntu_tst_prtest/bin/tests/Windows_NT.x64.Checked/Tests/coreoverlay/corerun 200w1d-02_cs_ro.exe Unhandled Exception: System.OverflowException: Value was either too large or too small for an Int32. at System.Convert.ThrowInt32OverflowException() at System.Convert.ToInt32(Int64 value) at testout1.Func_0() at testout1.Main() ./200w1d-02_cs_ro.sh: line 243: 101339 Aborted (core dumped) $_DebuggerFullPath "$CORE_ROOT/corerun" $ExePath $CLRTestExecutionArguments Expected: 100 Actual: 134 END EXECUTION - FAILED ```
2017-11-18Remove now dead code from managed parsing/formatting.Stephen Toub2-562/+0
- Remove dead "bigNumber" code. - Remove custom wcslen function. Use String's. - Delete dead fcalls from runtime. FormatInt32, FormatUInt32, FormatInt64, and FormatUInt64 are no longer needed. Delete them and many of the helpers used only by them.
2017-10-24Delete dead code (#14673)Jan Kotas2-45/+0
- assemblyusagelog - compatibilityflags - xmlparser
2017-10-18Use ascii * instead of Chinese * character. (#14584)Jim Ma1-3/+3
Currently we have Chinese `*` characters at `src\classlibnative\bcltype\number.cpp` L289-294. That would cause a `C4819: Non-ASCII character in source` warning when building on Windows via Visual Studio (version: 15.4.0 (msvc 19.11.25547)). This PR replaces the Chinese * characters with ascii *. Fix #14556
2017-10-06Delete dead code (#14365)Jan Kotas1-10/+0
Delete some dead code related to Windows Phone and code access security