Age | Commit message (Collapse) | Author | Files | Lines |
|
GC OS interface refactoring
|
|
This change replaces all calls of OS specific functions in the GC by a call to
a platform agnostic interface. Critical sections were abstracted too.
The logging file access was changed to use CRT functions instead of Windows specific APIs.
A "size" member was added to the card_table_info so that we can pass the right
size to the VirtualRelease method when destroying the card table.
I have also fixed a bug in the gc_heap::make_card_table error path where when VirtualCommit
failed, it called VirtualRelease with size that was not the reserved size, but
the committed size.
Other related changes
- All interlocked operations moved to Interlocked class as static methods
- Removed unused function prototypes
- Shuffled stuff in the root CMakeLists.txt to enable building the GC sample using the
settings inherited from the root CMakeLists.txt and to clean up some things that have
rotted over time, like the FEATURE_xxx macros not being in one alphabetically ordered
block
- Fixed the VOLATILE_MEMORY_BARRIER macro in the gcenv.base.h
- Replaced uint32_t thread id by EEThreadId
- Removed thread handles storage (g_gc_thread) from the GC. The thread handle is closed right after the thread is launched. That allowed me to get rid of the GCThreadHandle
- Renamed the methods of the EEThreadId to be easier to understand
- Moved the gcenv.windows.cpp and gcenv.unix.cpp to the sample folder
|
|
Dictionary: include the key in the "duplicate key" exception message
|
|
Fix for special number handling in ildasm
|
|
During the test bring-up, I noticed that _gcvt_s (CRT call) has slightly different output for special number like NAN/INF in between VS2013 and VS2015.
For instance, the former prints "1.#INF" while the latter prints "inf".
Unfortunately ildasm checks "#" to detect such case.
The fix here is to add an explicit check if string contains "inf"/"nan".
|
|
Port more CoreClr and Desktop JIT Selfhost ILASM tests.
|
|
Add explicit arm64 permissions
|
|
|
|
Delete bogus test
|
|
|
|
Cleanup warnings in native test projects
|
|
Add exclusions for tests that are failing but that
we expect to be able to get working.
|
|
Reduce iterations in SqMtx
|
|
Update readme with arm64 badge
|
|
This test had two nested loops using `Iterations` and so ran for quite a long time. Remove the outer nest and then bump up the `Iterations` value so the test runs for about 1 second from command line and 10 seconds under xunit-performance.
|
|
Add private PR trigger for arm64 windows builds
|
|
Re-add missing FreeBSD PR trigger and reenable PR tests on NT
|
|
|
|
Enable checked builds of CoreCLR.
|
|
Fix for a bug in recursive tail call to loop transformation.
|
|
In checked builds coreclr, mscorlib, and the test are built optimized
but assertion checking is on. This adds additional coverage (the jit is
optimizing and assertion checking is on), speeds up testing compared to debug,
and allows testing JIT stress modes.
This doesn't affect CoreFX.
Several tests are currently failing in checked configuration due to newly
discovered bugs (JIT asserts). We didn't see these asserts in debug mode
because by default JIT is in minopt mode; we didn't see these bugs in release
mode because assertion checking is off. I will file the bugs once checked build
changes are in.
|
|
The bug affects recursive tail calls where there is both a this arg and
an argument passed in outgoing arg space.
I brought over RecursiveTailCall tests and added TestStackParam test
that was a repro for the bug.
|
|
|
|
Trigger is @dotnet-bot test arm64 windows_nt
|
|
Run release not debug
|
|
|
|
|
|
Update doc links
|
|
Disable debug coreclr PR testing on linux/osx to keep job times down
|
|
|
|
Initial support for building on SmartOS
|
|
|
|
Most of the warnings (>10000) are generated by /Wall. It doesn't make much sense to use /Wall but since there's only a small number of warning types that cause issues I left /Wall in and disabled those particular warning types.
A few other warnings were caused by actual code issues (signed/unsigned mismatch, pointer cast to int, unused variables) which I fixed.
|
|
Fix infinite recursion in hostimpl.cpp
|
|
|
|
WaitForSingleObject was calling itself instead of delegating to
WaitForSingleObjectEx.
|
|
Remove the quotes on include for arm64 build.
|
|
|
|
Archive native test bits too for non-windows
|
|
|
|
Switch to using release corefx
|
|
|
|
Revert 29ce4f6
|
|
Set up path for toolset.
|
|
globalParams no longer defined
|
|
|
|
Arm64 CI support and general refactoring of the CI scripting
|
|
Add several more Benchstone BenchF benchmarks.
|
|
|
|
|