Age | Commit message (Collapse) | Author | Files | Lines |
|
* Corrected some typos and grammar as per English language guidelines.
* Reverted some of the changes
* Reverted back some changes Phase 2
|
|
precomppiled -> precompiled
|
|
Visual Studio Code is also broadly known as VSCode. But since this document already contained a typo
and Visual Studio Code is not referred as VSCode elsewhere in the CoreCLR documentation I figured it could
be nice to _clean_ this documentation page.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* Remove old reference to Rotor in documentation.
All remaining references relate to rotor's role in CoreCLR history.
* Remove rotor comment from enummem.cpp.
I can find no evidence that the presence of g_pStressLog is conditional
on FEATURE_PAL being defined.
* Remove old todo, DbgDllMain looks for thread detach.
* Update nativepipeline.h comment refernce to rotor.
All unix-like systems except android have FEATURE_DBGIPC_TRANSPORT_DI
defined, hence "most unix-like platforms".
* Update some comments to not refer to Rotor.
* Remove some more references to Rotor from comments.
* Remove old comment.
Though maybe this macro should be removed and everywhere use the & operator.
It appears there are only two places that use this macro.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Correct pdf link
|
|
|
|
(#19773)
* Add short guide for using tiered compilation and how to provide feedback
* Suggested changes
* Update to say that it's enabled by default
* Add info about target framework/runtime
|
|
|
|
|
|
* testsing -> testing
* reclaming -> reclaiming
* oppurtunity -> opportunity
* implemenation -> implementation
* indicaates -> indicates
* enregisterd -> enregistered
* compuations -> computations
* convinient -> convenient
* intution -> intuition
* Communicaton -> Communication
|
|
Change build-test.sh to always build the xunit wrappers. Before it would drop a token and check the existence of the token.
Unify x64 linux/OSX/Windows excludes into one file, issues.targets. Includes different locations in the file which show where to put excludes.
Remove all target specific aspects of issues.targets, all tests are excluded now via wildcard, this allows expanding to .cmd and .sh based on the built platform.
Unify path separators to forward slash(/) in issues.targets to support both platforms
Clean up issues.targets by removing long standing exclude tests, specifically tests that have been excluded due to missing features like rva_statics.
Add DisableProjectBuild to tests which have been removed from issues.targets
Conditionally add DisableProjectBuild to tests which have been marked as unsupported on unix. This is mostly a port of the unsupportedOnUnix.txt list. Instead of excluding the tests, unix will simply not build them. If tests are built on windows, they will be run but they will return pass, the test wrapper will check return instantly.
All exclusions ported to issues.targets for linux targets.
Expand runtest.py, this includes simple issues that made it past the original CR. In addition it adds more optional features to help with inner loop dev work such as: creating a repro folder under bin/repro/.. which sets up the env and calls the failing test. In addition a launch.json will now be created under bin/repro/.. which can be used to easily debug using vscode. More logging, such as printing failures, longest running tests ect.
Initial excludes ported for arm64 windows
Arm64 linux, armhf unix excludes and enables running runtest.sh for these targets.
arm64 windows and arm32 windows excludes and enables running runtest.cmd on arm64 targets
init-tools.sh changes to pull armhf and aarch64 dotnetcli
init-tools.cmd changes to pull x86 packages for dotnetcli for arm64 windows
runtest.cmd for almost all scenarios will call runtest.py
runtest.sh for almsot all scenarios will call runtest.py
Removes all logic for running tests using runtest.sh
|
|
|
|
|
|
Enable Tiered Compilation by default
1) Changes the default state of the tiered compilation feature check to be ON BY DEFAULT
2) Removed comments about the source about this being a work in progress. Although it will surely continue to evolve and improve, remaining issues would be better tracked in our issue tracking system with the same default presumption as other runtime features - assume it works unless noted otherwise.
3) Adjusts a number of tests and automated scripts that made assumptions that the default setting of this feature is off.
4) Stop accepting the deprecated env var COMPLUS_EXPERIMENTAL_TieredCompilation. I'm not aware it has any remaining usage but if so we're going to find out.
5) Adjust config names for JitBench
|
|
|
|
|
|
|
|
|
|
Add a spec for tiered compilation
|
|
* Update CoreFX documentation
* Add test binary refresh and parallelization sections
* Add test exclusion information
|
|
* Remove CallNeedsHostHook() API
* Remove IsHostHookEnabled() API and with it related dead code
* Remove code enabling host hooks (i.e. COMPlus_GenerateStubForHost)
Remove function declarations for creating host hooks
Update comments
|
|
* Update documentation for testing
|
|
|
|
* Full Unix test support
* Remove Test helper build from build-test
Add msg prefix
Change if condition
* Change Linux URL
* Syntax error
* Fix Merge Conflict
* Address PR Feedback
* Remove duplicate generate_testhost call
* Address PR comments
* Clean up exclusion list
* Disable Client_ReadWriteCancelledToken_Throws_OperationCanceledException
* Disable all flavors of CancelledToken_Throws_OperationCanceledException
* Disable X509StoreTests.Constructor_DefaultStoreName - flaky on OSX
* Update documentation with Linux instructions and workflow
* Disable EventWaitHandleTests.Ctor_InvalidMode - failing on OSX
* Disable Server_ReadWriteCancelledToken_Throws_OperationCanceledException
|
|
|
|
|
|
Passing CompAllocator objects by value is advantageous because it no longer needs to be dynamically allocated and cached. CompAllocator instances can now be freely created, copied and stored, which makes adding new CompMemKind values easier.
Together with other cleanup this also improves memory allocation performance by removing some extra levels of indirection that were previously required - jitstd::allocator had a pointer to CompAllocator, CompAllocator had a pointer to Compiler and Compiler finally had a pointer to ArenaAllocator. Without MEASURE_MEM_ALLOC enabled, both jitstd::allocator and CompAllocator now just contain a pointer to ArenaAllocator. When MEASURE_MEM_ALLOC is enabled CompAllocator also contains a pointer but to a MemStatsAllocator object that holds the relevant memory kind. This way CompAllocator is always pointer sized so that enabling MEASURE_MEM_ALLOC does not result in increased memory usage due to objects that store a CompAllocator instance.
In order to implement this, 2 additional signficant changes have been made:
* MemStats has been moved to ArenaAllocator, it's after all the allocator's job to maintain statistics. This also fixes some issues related to memory statistics, such as not tracking the memory allocated by the inlinee compiler (since that one used its own MemStats instance).
* Extract the arena page pooling logic out of the allocator. It doesn't make sense to pool an allocator, it has very little state that can actually be reused and everyting else (including MemStats) needs to be reset on reuse. What really needs to be pooled is just a page of memory.
Since this was touching allocation code the opportunity has been used to perform additional cleanup:
* Remove unnecessary LSRA ListElementAllocator
* Remove compGetMem and compGetMemArray
* Make CompAllocator and HostAllocator more like the std allocator
* Update HashTable to use CompAllocator
* Update ArrayStack to use CompAllocator
* Move CompAllocator & friends to alloc.h
|
|
Update ARM/Linux build directions
|
|
|
|
* Add test list CL switch
* End-To-End Test Run on Windows
* Cleanup
* MAX_PATH Workaround
* Set Execution directory for CoreFX tests
* Add All CoreFX PR Tests
* Add test dependencies
* Add extra dependencies
* Add parallel test execution
* Disable OuterLoop tests and System.Data.SqlClient.* tests
* Initialize maximum degree of parallelization to Environment.ProcessCount
* Remove unnecessary cli option
* Update Dependencies
* Add "enabled" property to tests
* Remove exclusions due to TestUtilities mismatch
* Add capability to run all tests for running Helix test lists directly
* Refactor build script to build testhost when skipping managed tests
* Disable failing System.Threading.Tests.EventWaitHandleTests.Ctor_InvalidMode
* Add switch to skip native test build
* Add testing documentation
* Don't run tests marked as "disabled" when running all available tests
* Add switch to build only testhost and remove Core_Root_Stage
* Clean up TopN.CoreFX.Windows.issues.json
* Refactor build-test.cmd
* PR feedback - build pipeline and documentation
* PR Feedback - Test Helper headers and comments
* Fix buildtesthost option for only building CoreFX test dependencies
* Disable intermittently failing test DrawBezier_PointFs
|
|
Contributes to https://github.com/dotnet/coreclr/issues/18643
|
|
Start moving testing documentation into a single location
Update `test-configuration.md` with more details on creating a test and requirements
|
|
* accesible -> accessible
* acheive -> achieve
* addtional -> additional
* affars -> affairs
* approch -> approach
* archtecture -> architecture
* aritmetic -> arithmetic
* arquired -> acquired
* assigments -> assignments
* assmblies -> assemblies
|
|
* Enable Alpine cross build for arm and arm64
This change enables cross build and rootfs creation for
Alpine Linux ARM / ARM64 targets.
Besides that, I've cleaned up the toolchain.cmake and got rid
of the explicit specification of GCC version specific include
and lib folders for all targets except of Tizen. Clang is able
to figure that out on its own the same way as it does when doing
regular non-cross builds, but it needed one more option for that.
I've also fixed a bug in the `add_compile_param` macro that caused
ignoring of parameters in cases where another parameter that was
a substring of the one being added was already present. So for example
if an option `-L${CMAKE_SYSROOT}/usr/lib/gcc` was already added,
attempt to add option `-L${CMAKE_SYSROOT}/usr/lib` would do nothing.
* Fix to make it work with cmake 2.8 too
The older cmake that is still in use on Ubuntu 14.04 doesn't have
support for specifying sysroot and target via cmake variables.
So I've replaced those by explicit setting of the compiler / linker
options instead.
|
|
Design doc for struct passing
|
|
|
|
* BOTR: Ensure generic params/args are rendered properly
* Use inline code formatting for managed code
* Use inline code formatting for unmanaged code
|