- Add placeholder value in `apphost` for .NET install search options. Format:
- `<search_location_flags> /0 <app_relative_dotnet_path>`
- Make `apphost` conditionally look at app-local, app-relative, environment variables, and global locations based on configured behaviour
- Default (placeholder not changed) is to look at app-local, environment variables, and global locations.
- Update error and tracing messages to include information about any configured search options
- Allow specifying search options in `HostWriter.CreateAppHost`
- Add unit/integration tests
Part of https://github.com/dotnet/designs/blob/main/proposed/apphost-embed-install-location.md.
There still needs to be a corresponding change on the SDK side to allow configuration via `AppHostDotNetSearch` and `AppHostRelativeDotNet` properties.
* Generic type support
Instance and static fields on generic types
Re-enable and add to field tests
Generic types with non-generic methods.
Generic static methods
* Native AOT support
* Add design document
Add strict check for precisely matched Generic constraints
* Add an overload of `AllocateObject` that accepts a `GC_ALLOC_FLAGS`.
* Allocate pinned static boxes in the POH.
* Stop tracking pinning handles in `ThreadLocalBlock`.
Now that we don't pin `FixedAddressValueType` fields, this mechanism is unused.
* Support `FixedAddressValueTypeAttribute` in unloadable assemblies.
We remove the check that blocked it, enable a test and update a design document.
* Fix compile errors.
* Remove another check.
* Calendar WIP.
* Genitive months.
* Short pattern.
* NativeCalendarName does not exist on WebAPI - use EnglishCalendarName.
* Fix failures in Locales caused by calendars data removal.
* Fix to previous commit.
* Whitespace.
* Implemented Eras.
* Populate NativeName with EnglishName.
* Fix tests.
* Typos + comments removal + block failing test.
* AM/PM designators are not in ICU anymore.
* ShortTimePattern is ready.
* Fix some failing tests.
* LongTimePatterns is ready.
* Ask about all culture info from JS at once.
* Fix remaining tests.
* Calendar Globalization tests fixed.
* Adding test files to projects.
* Build fix.
* Fix the fix.
* .
* Fix tests.
* Load locale info on request + fix Browser scenario tests.
* Fix test on v8.
* Forgotten clean-up.
* Small cleanup in ts.
* V8 11 is behaves more like browser.
* Fixed skipped failing tests.
* Syntax
* V8 returns the same as Browser.
* This API is not affected, no need to test. + Add documentation.
* Revert unintentional change.
* Feedback.
* @radical's feedback + fix after removing unnecessary set.
* Fix.
* Feedback.
* Fix tests.
* Initial change.
* Filename update.
* WBT for WASM.
* Updated docs.
* Run Hybrid wbt on CI.
* Feedback + hierarchy compatible with #86255.
* Feedback. Test program code to assets.
* A bit faster version of indexing. WIP
* Tiny speedup.
* Fixed IndexOf, ToDo: LastIndexOf.
* All tests pass.
* Updated docs.
* Update docs.
* Slicing + saving previous absolute index instead of pushing the iterator to the start position.
* Refactored.
* Fixed tests on browser.
* Str1 and str2 was confusing.
* Fix CI- correctly trimming Hybrid properties.
* Previous commit should target only Browser.
* Applied @mkhamoyan's suggestion to avoid code duplication.
* Applied @pavelsavara's review.
* Get rid of build errors.
* Revert.
* Implementation.
* HG does not belong to legacy code.
* No need to create new instance when existing one is exported.
* TextEncoder's behavior varies between hosts.
* Nit
* Cutting prevents us from using IgnoreSymbols.
* Fixed asserts.
* Fix.
* Match platform with behavior.
* Missing changes to prev commit.
* Throw on SortKey.
* Fix NLS tests.
* Do not add these files for WASI.
* Removed WASI from targets.
* Run tests with HG only on browser, rename.
* Missing WASI removal.
* General docs fix.
* Storing exception text as resource string.
* Remove WASI targets from HybridGlobalization.
* Update docs.
* Run tests only on browser.
* Do not add these files for WASI.
* Tests run only on browser.
* Missing removal.
Add an config option to use a "scalable" profile helper for edge counters,
where we try and avoid contention by probablistic updates once the counter
value exceeds some threshold (currently 8192). Using the current xorshift
RNG this gives the counter a two-sigma accuracy of around +/- 2%.
The idea is loosely based on "Scalable Statistics Counters" by Dice, Lev,
and Moir (SPAA’13).
Also allow the scalable and interlocked profile modes to operate at the same
time, recording two sets of counts per probe, so we can verify that this new mode
is sufficiently accurate.
* Added support for hybrid globalization comparison.
* Clean-up. Added exception test cases to docs.
* Nit changes from @kg's review.
* Applied @kg's review.
* Revert unintentional change.
* Refactor: all hybrid globalization js methods in one file.
* Color the syntax.
* Undeline the fact that this PR is only for WASM.
* Move interop functions to proper location.
* Enabled `HybridGlobalization` mode.
* Enabled non-icu change case.
* Tests.
* Revert not connected changes.
* Fix: Add the new file to the project.
* Fix: this PR is for Browser, so add it to condition.
* Fixed calls to js.
* Trying to fix CI.
* False is default, redundant lines.
* Trying to fix the CI.
* Remove redundant code.
* This PR is partial solution, this file will be added in a follow-up.
* Fix for EAT lib tests.
* We do not trim anything for Hybrid currently.
* Check if functions invoked only in specific modes.
* Change confusing name + move the common property to the main part of the class.
* Applied @mkhamoyan's suggestion.
* Fix previous commit: missing directive.
* Fix previous commit: missing directive.
* It's not IOS-connected.
* Move hybrid tests to correct dir + separate ios and wasm + update sln.
* Invariant and hybrid cannot be both true.
* Remove old version of hybrid tests proj.
* Applied @kg's review.
* User can set `GlobalizationShard`.
* Sample for sharding, might be transformed into a test.
* Option of custom shard file upload.
* Replaced sample with WBT.
* Remove unnecessary change.
* Fixed invariantMode + full custom path + nit.
* Draft of documentation.
* Rename to reflect usage better.
* Fix full path file loading to the Browser.
* Fixed WBT build errors.
* Docs: only one ICU file can be used.
* Fixed NodeJs: `navigator` is not defined.
* Paritial fix of sharding tests.
* RuntimePack can differ for AOT and Release.
* Fix `ja-JP` culture not found in CheckDateTimeLocale.
* Fixedculture not found in SatelliteAssemblyTests.
* Fixed culture not found in System.Runtime tests.
* `icudt.dat` should not be loaded when <IcuFileName> empty + EFIGS contains only some specific locales + `IsIcuFilePredefined` is not necessary.
* Improved doc readability using @radical's suggestions.
* Forgot to remove comments.
* Missing change for 5df3c9ccc851c45fbdbc3acfd96162c3237973c1.
* WBT: Applied review.
* Applied @pavelsavara's suggestion.
* Added `WasmIncludeFullIcuData` to work like Blazor.
* Another missing change for 5df3c9ccc851c45fbdbc3acfd96162c3237973c1.
* Missing change for b5a1308372ed00f1dea08dadd647e97dffe57e27.
* Fix debugger failures for real, previous flag was in the wrong place.
* Fixed most libraries that require full ICU.
* WBT should load full icu only when invariant off.
* Applied @radical's idea.
* Missing change for the last commit.
* Build args should not be edited inside of `BuildProject()` + Identity on a property does not exist.
* One flag for all lib tests instead of multiple changes.
* Revert comments for the prev commit.
* Fix for trimming tests.
* Rename + throwing when file not found.
* Fixed NoopNativeRebuildTest WBT.
* Forgotten logging.
* Tests with custom shard.
* Added more complex tests.
* Should fix wasm tests on helix.
* Fix WBT.
* [wasm] Update eng/testing/scenarios/BuildWasmAppsJobsList.txt
* [wasm] fix testassets path
* Default mode for tests should be the same as default mode for template apps.
* Checking preferred icu when assets are still not populated was incorrect.
* DataTimeFormat does not work well for browser + wrong condition.
* Removed empty space changes.
* WBT for automatic icu selection based on locale.
* Moved the full icu flag from libs to lib tests.
* Flag in tests.wasm.targets should be enough for trimming tests.
* Debugger tests in default globalization mode unless CJK needed. Firefox does not respect UILocale.
* Removing forgotten comment.
* Fixed sharding wbt.
* This should not be commented out.
* Sharding WBT do not make sense on v8 + fixed debugger tests on Linux + fixed WBT on Chrome on Windows.
* Fix test to have sense.
* Fixed tests to reflect expected behavior after removing predefinedCulturesOnly=true from WASM + added en-US to custom ICU.
* Fixed merge errors, removed redundant comment.
* Update docs, disable NodeJS in tests.
* @radical's review part 1: embedded comments.
* Test clean-up by @radical.
* Fix arg order in debugger + revert wasi sharding.
---------
Co-authored-by: Ankit Jain <radical@gmail.com>
Update linker wording to disambiguate the term from native linker, switched to illink
Deleted illink steps-explained document since is no longer accurate
This change did not change attribute justification messages
Add changes to use same wording between shared files
Doc for proposed hosting API for loading an assembly - two new delegate types:
- `hdt_load_assembly`: load assembly from path
- `hdt_load_assembly_bytes`: load assembly from byte array