1
0
Fork 0
mirror of https://github.com/VSadov/Satori.git synced 2025-06-09 09:34:49 +09:00
Commit graph

2854 commits

Author SHA1 Message Date
Meri Khamoyan
c83324d393
[iOS][non-icu] HybridGlobalization implement calendar data (#90004)
Implement calendar info for hybrid mode on iOS
2023-08-08 19:53:11 +04:00
Ilona Tomkowicz
a9363bf0b8
[browser][non-icu] HybridGlobalization calendar data (#89255)
* 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.
2023-08-07 22:51:42 +02:00
Jan Kotas
4aa77dfb06
Add note about creating arrays using newobj (#90070)
Contributes to #90038
2023-08-06 08:05:28 -07:00
Mark Plesko
88c4b87221
Clarifications in botr gc section (#89888) 2023-08-02 17:16:34 -07:00
Jackson Schuster
531ad9596f
Add Info warning for int return values (#89601)
Adds an 'info' level diagnostic if a GeneratedComInterface method returns int, enum, or a type name "HR" or "HResult" to tell the user that the generated code will put the managed return value as an 'out' parameter on the COM definition.

Co-authored-by: Jeremy Koritzinsky <jkoritzinsky@gmail.com>
2023-08-01 16:15:21 -07:00
Wasiim Hosenbocus
bd83e17052
Update Workflow instruction for codespace (#89368) 2023-07-30 11:12:59 +02:00
Michal Strehovský
1138b247ec
Remove AssemblyMetadata(".NETFrameworkAssembly", "") attributes (#89490)
* Remove `AssemblyMetadata(".NETFrameworkAssembly", "")` attributes

This is likely a .NET Native leftover that is currently (ironically) breaking .NET Native. This attribute indicates to the .NET Native compiler that the assembly can be trimmed.

We're currently setting this on assemblies that no longer carry RD.XML to make this safe. Without this attribute, the assembly will be treated like any other and not trimmed.

Fixes #44697.

* Delete mention of the attribute in docs

Co-authored-by: Jan Kotas <jkotas@microsoft.com>
2023-07-27 07:55:19 -07:00
Eirik Tsarpalis
84873e6c4e
Ensure System.Text.Json SG diagnostics don't use Location values from referenced assemblies. (#89518) 2023-07-27 13:13:27 +01:00
Jan Vorlicek
4fbd7c5827
Set the CORINFO_EH_CLAUSE_SAMETRY on CORINFO_EH_CLAUSE (#88072)
* Set the CORINFO_EH_CLAUSE_SAMETRY on CORINFO_EH_CLAUSE

This change makes setting the `CORINFO_EH_CLAUSE_SAMETRY` on
`CORINFO_EH_CLAUSE` to happen for coreclr to. It is a prerequisity for the
port of exception handling from nativeaot to coreclr and it is a noop on
coreclr with the old exception handling.

* Fix comments

* Add clr-abi note and r2rdump support for the flag

* Fix markdown LINT error

* Update docs/design/coreclr/botr/clr-abi.md

* Update docs/design/coreclr/botr/clr-abi.md

* Update the ABI doc

---------

Co-authored-by: Jan Kotas <jkotas@microsoft.com>
2023-07-26 18:48:32 +02:00
Eirik Tsarpalis
5bc100ed64
Emit a diagnostic when attributes deriving from JsonConverterAttribute are being used. (#89199)
* Emit a diagnostic when attributes deriving from JsonConverterAttribute are being used.

* Address feedback.
2023-07-21 17:23:44 +01:00
Jeremy Koritzinsky
9efa9cd261
Update UserTypeMarshallingV2.md (#89222) 2023-07-19 16:49:40 -07:00
Jeremy Koritzinsky
4a8a0eea8b
Fix the default behavior to trim the RCW interop by default (#89128) 2023-07-19 15:59:34 -07:00
Jeremy Koritzinsky
1dedddef7b
Add opt-in support for GeneratedComInterface/ComImport RCW interop (#87583)
Co-authored-by: Jan Kotas <jkotas@microsoft.com>
2023-07-18 13:27:37 -07:00
Jeremy Koritzinsky
2811e7c755
Address Sanitizer support in CoreCLR (#74623)
* Enable AddressSanitizer in CoreCLR, Libs, and Host and update runtime-sanitized to run tests with ASAN on Linux and Mac

* Unify on HAS_ADDRESS_SANITIZER define name

Centralize setting up sanitizer flags.

Remove last usage of CLR_CMAKE_ENABLE_ASAN outside of eng/native

Remove unnecessary diffs

Use the cpuid intrinsic and enable ASAN on InitJitHelpers1.

Add comments for the places where we have ASAN disabled

Undo changes to src/coreclr/jit/CMakeLists.txt

Add docs and fix the docs in the build script.

Add docs for the SkipVCEnvInit hook

* Remove CRT runtime changes. We won't need this when we finally onboard to Windows with some changes they have coming down the pipeline, so remove them for now to reduce the diff of this PR.

* Remove suppression now that we've fixed the underlying issue.

* Remove some Windows-only sanitizer CMake that we won't need when ASAN is ready for us to consume on Windows.

* Set schedule for runtime-sanitized pipeline

* Remove workaround in JIT memory set/copy helpers now that the JIT bug has been fixed.

* Add missing helix queues setup template.

* Fix missing command to build nativeaot runtime tests as nativeaot.

* Add a scenario name to trigger the extended timeout in the libraries test helix configuration.

* Remove extraneous whitespace.

* Fix using the cross-targetting ILC when sanitizers are enabled. Also pass through our TargetOS and TargetArchitecture variables to the publish command for our native sanitizers targets to correctly do their extra logic.

* Disable LSAN on the CustomMain test.

* Disable some tests on sanitized runtimes.

* Copy the sanitizer runtime for OSX NativeAOT runtime tests.

* A little cleanup to try to get the build right now that we are always doing cross-builds on Linux.

* Fix crossgen-corelib.proj syntax.

* Fix cross-os dac builds to not include the host architecture in the output path.

* Split the debugger components into a separate component and make the "unsanitized cross components" build into an "unsanitized debugger components" build as it can't be part of the regular cross-components build

* Always write out the host-arch path on Windows and update the cross-dac build script to expect that.

* Change to use the dynamic runtime on Windows, as ASAN in VS is moving to a dynamic-only model.

* Update docker images to include the sanitizer runtimes in the crossrootfs images.

* Fix explicit image tags

* The unsanitized build should be of the target architecture, not the host architecture. As a result, we still need a cross-arch build for the cross-arch use cases when sanitized, as well as an unsanitized target arch build for the debugger tools.

* Turn off using the sigaltstack for NativeAOT tests that don't use the asansupport.cpp default options

* Make sure the shared ASAN runtime is present for the nativeaot/SmokeTests/SharedLibrary test.

* Disable crossgen2 tests with sanitizers as they don't get us interesting coverage.

* Fix custom default options and disable some more crossgen2-based tests.

* Simplify lookup of asan runtime on mac and fix copying the shared runtime for the SharedLibrary NativeAOT test.

* Disable test that's failing for weird reasons.

* Fix one more alloc-dealloc mismatch that only started to show up after test merging increased allocations in the runtime

* Disable the System.Text.Json test suite on sanitized builds as it causes SO failures on Mac

* Fix test exclusion

* PR feedback.

* Fix mac build

* Do review changes

* Add libbootstrapper object files to the platform manifest now that NativeAOT has

* Disable tests that check size on sanitized builds

* Use the built-in `include_guard` option

* Disable use-after-return checking in ASAN. CoreCLR doesn't do well with parallel stacks.

* Only pass the no UAR flag on C and CXX with Clang (not AppleClang).
2023-07-17 20:32:03 -07:00
Tarek Mahmoud Sayed
24150b3a6d
Fix options source gen with non-accessible validation attributes (#88613) 2023-07-11 16:55:43 -07:00
skyoxZ
7edc4f2ba6
Fix example of building a library. (#87398) 2023-07-10 15:34:06 +02:00
Eirik Tsarpalis
24d7f5a58a
Extend JsonIncludeAttribute and JsonConstructorAttribute support to internal and private members (#88452)
* Relax JsonIncludeAttribute to also support private or internal members.

* Relax JsonConstructorAttribute to include internal or private constructors (where applicable).
2023-07-07 12:40:29 +01:00
Dan Moseley
fc83305389
Update testing.md (#88364) 2023-07-06 19:34:21 -05:00
Eric StJohn
94aed3242e
Add consultants for some extensions areas (#88430)
* Add consultants for some extensions areas

* Update area-owners.md

---------

Co-authored-by: Dan Moseley <danmose@microsoft.com>
2023-07-05 20:31:01 -04:00
Meri Khamoyan
f8cb3c7600
[OSX] HybridGlobalization Workaround for insufficiently sized destination buffer (#88184)
Workaround for insufficiently sized dest buffer
2023-07-04 10:20:43 +04:00
Ivan Diaz Sanchez
cd26e63274
Up Minimum CMake Version to 3.20 (#86530)
* Let's see what happens :)

* CMake 3.20 works on my machine???

* Upped the llibraries CMake version to 3.20

* Upped native libs CMake version to 3.20, and updated the requirements docs.

* Add CMake Policy to 3.17.0 for native libs because of wasm.

* Downgraded native libs CMake to 3.17.0 temporarily, while we figure out the funny troublemaker wasm.

* Added a couple notes regarding CMake on Linux and Windows, and upped the corehost and libunwind CMake versions to 3.20

* Reverted external native components CMake versions, and upped tests to 3.20. Only Mono remains now.

* Added mono to the 3.20 gang. Also, changed the condition for wasm.

* Had to condition mono's CMake version as well because of wasm.

* DEBUG-ONLY COMMIT: Added some CMake logging to help me figure out what is set for wasm to think of the appropriate conditional.

* DEBUG-ONLY COMMIT: I think I have the answer for wasm now/

* Restored the DEBUG-ONLY changes and set 3.20 as the universal CMake, as the missing machines have now been updated.

* Updated requirements doc with notes for Debian 11 and lower.
2023-07-03 19:03:12 -07:00
Nikita Balabaev
779d53611e
Fix OptionsValidator source-gen to skip static and const members (#88254)
Co-authored-by: Nikita Balabaev <nbalabaev@microsoft.com>
2023-07-02 11:37:07 -07:00
Pavel Savara
d388585aa4
[wasm] Introduce <InvariantTimezone> build flag (#87284) 2023-07-01 09:50:21 +02:00
Jeremy Koritzinsky
2eaa57c45c
Add NFloat as an interop intrinsic for the source generator (#88257) 2023-06-30 11:30:22 -07:00
Jeremy Koritzinsky
cdd7566751
Specially consider CLong, CULong and Guid strictly blittable (#88213) 2023-06-29 19:58:29 -07:00
Adam Sitnik
1b37389af6
Introduction to vectorization with Vector128 and Vector256 (#84115)
Co-authored-by: Günther Foidl <gue@korporal.at>
Co-authored-by: Dan Moseley <danmose@microsoft.com>
Co-authored-by: Rob Hague <rob.hague00@gmail.com>
Co-authored-by: Tanner Gooding <tagoo@outlook.com>
Co-authored-by: Stephen Toub <stoub@microsoft.com>
Co-authored-by: Jeff Handley <jeffhandley@users.noreply.github.com>
2023-06-29 11:00:07 +02:00
Meri Khamoyan
67b1ede8cb
[OSX] HybridGlobalization Implement casing functions (#87919)
Implement GlobalizationNative_ChangeCaseNative , GlobalizationNative_ChangeCaseInvariantNative for OSX
2023-06-29 12:23:59 +04:00
Milos Kotlar
f0b4bb9c62
[mono][infra] Remove iossimulator runtime-staging pipeline (#88036)
* Remove iossimulator runtime-staging pipeline
2023-06-26 20:30:56 +02:00
Eirik Tsarpalis
dbf3a16dba
Document new STJ diagnostics and fix diagnostic id conflicts. (#87980) 2023-06-26 16:38:12 +01:00
Meri Khamoyan
eccc410253
Implement collation native functions functions (#86895)
Implemented IndexOf, LastIndexOf, IsSuffix, IsPrefix functions
2023-06-21 12:19:06 +04:00
Tarek Mahmoud Sayed
de6f07edd2
Options validation source generator (#87587) 2023-06-20 14:56:21 -07:00
Viktor Hofer
07ae197db5
Use analyzers from targeting pack for NetCoreAppCurrent (#87726)
* Use analyzers from targeting pack for NetCoreAppCurrent

Fixes that analyzer failures didn't show-up in #74897

Add analyzers to the frameworklist that OOB projects in src/libraries
use, and only auto ProjectReference the analyzers in generators.targets
when not using the analyzers from the targeting pack.

Also move the generator projects related code into a separate file.

Continuation of https://github.com/dotnet/runtime/pull/75093

* Fix project build

* Add missing reference to Regex tests

* Add missing generators for netfx build

* Fix paht in test project

* Fix typo

* Disable runtime marshalling for SharedTypes.csproj

* Disable runtime marshalling for NativeExports.csproj
2023-06-19 23:27:38 +02:00
Eric Mutta
0570583829
Fix broken link in editing-and-debugging.md (#87681) 2023-06-16 06:00:16 -07:00
Aaron Robinson
5649739953
UnsafeAccessorAttribute non-generic support (#86932)
* CoreCLR and NativeAOT

* Add UnsafeAccessorAttribute API

* Implement IL generation for all accessor paths

* Implement static/instance field lookup - non-generic

* Implement static/instance method lookup - non-generic

* Defined ambiguity logic with respect to
custom modifiers.
- First pass ignore custom modifiers
- If ambiguity detected, rerun algorithm but
  require precise matching of custom modifiers.
- If there is no clear match throw AmbiguousImplementationException.

* Cleanup memory management confusion
with ILStubResolver.

* Fix non-standard C++

* Remove CORINFO_MODULE_ALLACCESS scope

* Remove enum METHOD_TYPE.

* Update BOTR on TypeDesc
2023-06-15 06:59:49 -07:00
Fan Yang
625edd9ff2
[Mono] Update Mono build README.md (#87517)
Added one more useful switch `-p:KeepNativeSymbols=true`
2023-06-14 15:58:14 -04:00
David Wrighton
8042facb42
Improve the performance of the type loader through various tweaks (#85743)
* Skip type validation by default in ReadyToRun images
- Technically, this is a breaking change, so I've provided a means for disabling the type validation skip
- The model is that the C# compile won't get these details wrong, so disable the checks when run through crossgen2. The idea is that we'll get these things checked during normal, non-R2R usage of the app, and publish won't check these details.

* Replace expensive lookups of generic parameter and nested class data with R2R optimized forms

* Store index of MethodDesc as well as ChunkIndex. Makes MethodDesc::GetTemporaryEntryPoint *much* faster

* Optimize the path for computing if a method is eligible for tiered compilation

* Remove CanShareVtableChunksFrom concept
- it was only needed to support NGen

* Fix up some more issues

* Bring back late virtual propagation in the presence of covariant overrides only

* Check correct flag on EEClass

* Drive by fix for GetRestoredSlot. We don't need the handling of unrestored slots anymore

* Fix composite build with new tables

* Uniquify the mangled names

* Add more __

* Initial pass at type skip verifation checker

* Fix logging and some correctness issues

* Enable the more of type checking
- Notably, the recursive stuff now works
- Also fix a bug in constraint checking involving open types in the type system

* Fix build breaks involving new feature of GenericParameterDesc

* Add documentation for R2R format changes
Fix command line parameter to be more reasonable, and allow logging on command
Fix the rest of issues noted in crossgen2 testing

* Fix implementation of CompareMethodContraints. instead of using IsGeneric map, check to see if the method is generic in the first place. It turns out we have an efficient way to check in every place that matters

* Fix nits noticed by Aaron

* Add some const correctness to the world

* Fix issues noted by Michal, as well as remaining constrain checking issues

* Code review details

* Code review from trylek
2023-06-13 15:25:50 -07:00
Dan Moseley
a0bff0ef92
Update debugging-vscode.md (#87338) 2023-06-13 14:01:37 -07:00
Jeff Handley
eb4959424c
The CLA bot can now be rerun with a comment. Fix broken CLA links. (#86825) 2023-06-12 22:55:57 -07:00
Dan Moseley
8d0b619038
Disable StressTestDeepNestingOfLoops for NonBacktracking engine (#87369)
* Disable hanging RE test

* feedback

* Oops

* Apply suggestions from code review

Co-authored-by: Stephen Toub <stoub@microsoft.com>

* Update testing.md

---------

Co-authored-by: Stephen Toub <stoub@microsoft.com>
2023-06-12 22:05:13 -04:00
Milos Kotlar
7b25983451
[mono][aot] Add @kotlarmilos as code owner for Mono AOT and iOS (#87396)
Co-authored-by: Marek Safar <marek.safar@gmail.com>
2023-06-12 14:47:15 +02:00
Alexander Soldatov
224927519c
[RISC-V] Fix Stubs for Generics (#87316)
Fix register saving before passing generic instantiation parameter.
2023-06-09 17:43:48 -07:00
Jackson Schuster
6ea11b5578
Add marshalling tests and warn if interface is not partial (#87146)
Adds tests that marshal different types to and from native, and adds a warning if the interface or any containing types are not marked partial.
2023-06-09 15:25:44 -07:00
Jeremy Koritzinsky
4d52032d95
Add analyzers and code-fixes to help adoption of source-generated COM (#87223)
* Add first pass of the "convert to generated COM interface" analyzer and add tests for the various other analyzers we are going to introduce.

* Get all analyzer-specific components of the "convert" tests passing.

* Implement all interface-attribute-level changes in the code fixer.

* Add bool marshalling insertion logic to the fixer.

* Add support for removing shadowing members from interfaces.

* Rename fixer

* ActiveIssue the new tests

* Implement basic AddGeneratedComClass analyzer/fixer

* Add ComHosting + GeneratedComInterface analyzer implementation.

* Implement the "runtime COM APIs with source-generated COM types" analyzer.

* Factor out a base class from the ConvertToLibraryImportFixer so we can share it with the ComInterfaceGenerator-family of fixers.

* Move more of the ConvertToLibraryImportFixer to use SyntaxGenerator APIs instead of dropping to C#-specific syntax APIs (improves consistency throughout our code fixes)

* Move support for specifying explicit boolean marshalling rules up to the base class.

* Move the code fixes in ComInterfaceGenerator over to using the ConvertToSourceGeneratedInteropFixer base type.

* Remove use of multicasted delegates and use a more traditional "array of delegates" model.

* Do some refactoring to move more into the new fixer base class.

* Remove custom CodeAction-derived types now that we have a record type to represent fixes from the subclasses.

* Make sure we make types and containing types partial

* Fix negative test.

* Add tests for transitive interface inheritance and add iids.

* Change bool parsing for internal parsing and add warning annotation text. Update diagnostics list md.
2023-06-08 20:36:25 -07:00
t-mustafin
d88f9a0ed3
Fix typo in dac-notes.md (#87295) 2023-06-08 17:04:21 -07:00
Sven Boemer
56c427bb4d
Don't enable ILLink analyzers for unsupported TFMs (#87071)
* Don't enable ILLink analyzers for unsupported TFMs

This adds a condition to EnableSingleFileAnalyzer to prevent it from requiring
the ILLink pack that is only supported on netcoreapp3.0 and above.

Adding a condition on the TFM requires moving the setting into a targets file.

Also consolidates more of the analyzer logic into this file.

---------

Co-authored-by: Viktor Hofer <viktor.hofer@microsoft.com>
2023-06-08 10:10:58 -07:00
Jeff Handley
0d398755bc
Update area-owners.json to reflect change in area-owners.md (#87144) 2023-06-06 10:14:04 +02:00
Andrew Au
f20292493e
Documentation for the HotColdMap section (#87023) 2023-06-05 13:45:51 -07:00
Ilona Tomkowicz
71dd370b7e
[browser][non-icu] HybridGlobalization set flag in SDK (#85245)
* 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.
2023-06-05 16:02:32 +02:00
Marek Safar
b2992ea7ce
Update area-owners.md (#87121) 2023-06-05 07:47:28 -04:00
Layomi Akinrinade
ac5febd6b7
Update binder gen parser to issue diagnostics for invalid input types (#86856)
* Update binder gen parser to issue diagnostics for invalid input types

* Address feedback; tests for more invalid types; fix failing CI test
2023-06-01 09:33:36 -07:00