Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support ByRefLike types as Generic parameters #67783

Merged
merged 27 commits into from
Apr 18, 2022
Merged
Show file tree
Hide file tree
Changes from 22 commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
4aa9901
Add flag for ByRefLike generic constraint
AaronRobinsonMSFT Apr 8, 2022
f7861da
Add SuppressConstraintChecksAttribute for compiler
AaronRobinsonMSFT Apr 8, 2022
85480c5
Update API compat
AaronRobinsonMSFT Apr 8, 2022
1c7bb56
Disable box inlining if resolved type is ByRefLike.
AaronRobinsonMSFT Apr 11, 2022
3b796e8
Update ILAsm/ILDasm to support byreflike keyword
AaronRobinsonMSFT Apr 8, 2022
e6d17a5
Runtime and Libraries tests
AaronRobinsonMSFT Apr 8, 2022
78f3247
Fix build break in generated code.
AaronRobinsonMSFT Apr 8, 2022
f5ac01d
Fix build break in generated code.
AaronRobinsonMSFT Apr 9, 2022
ac38c26
Fix JIT style
AaronRobinsonMSFT Apr 9, 2022
5674100
Use livebuild of IL tools for new IL project
AaronRobinsonMSFT Apr 12, 2022
cdb8316
Properly discover the ILAsm location for AnyOS build leg.
AaronRobinsonMSFT Apr 12, 2022
f5aef98
Don't build for Mono runtime
AaronRobinsonMSFT Apr 12, 2022
e3aad71
Box can throw expcetions other than OOM.
AaronRobinsonMSFT Apr 13, 2022
92bd7af
Update stub on x86.
AaronRobinsonMSFT Apr 13, 2022
877377a
Revert "Update stub on x86."
AaronRobinsonMSFT Apr 13, 2022
8d55448
Create new JITHelper for the slow Box operation.
AaronRobinsonMSFT Apr 13, 2022
662f4e2
Remove VNF for BoxSlow
AaronRobinsonMSFT Apr 13, 2022
8d4511d
Revert "Add SuppressConstraintChecksAttribute for compiler"
AaronRobinsonMSFT Apr 14, 2022
c14aaea
Remove managed API surface area.
AaronRobinsonMSFT Apr 14, 2022
a8670b5
Revert "Update API compat"
AaronRobinsonMSFT Apr 14, 2022
414a4bd
Cast defined int constant until managed API is approved.
AaronRobinsonMSFT Apr 14, 2022
861fe88
Document the fast box as only able to throw OOM.
AaronRobinsonMSFT Apr 14, 2022
15608f0
Review feedback.
AaronRobinsonMSFT Apr 15, 2022
9c849ef
Remove more changes from NativeAOT.
AaronRobinsonMSFT Apr 15, 2022
df9c5e2
JIT style
AaronRobinsonMSFT Apr 15, 2022
4515e23
Review feedback.
AaronRobinsonMSFT Apr 15, 2022
545b8f5
JIT format
AaronRobinsonMSFT Apr 15, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion eng/pipelines/common/templates/runtimes/build-test-job.yml
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,7 @@ jobs:
- ${{ each variable in parameters.variables }}:
- ${{ variable }}
- name: liveRuntimeBuildParams
value: 'libs.sfx+libs.oob /p:RefOnly=true -c Release -ci'
value: 'libs.sfx+libs.oob+clr.iltools /p:RefOnly=true -c Release -ci'
- name: compilerArg
value: ''
- ${{ if and(ne(parameters.osGroup, 'windows'), ne(parameters.compilerName, 'gcc')) }}:
Expand Down
4 changes: 3 additions & 1 deletion src/coreclr/ilasm/asmparse.y
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@
%token UINT_ UINT8_ UINT16_ UINT32_ UINT64_ FLAGS_ CALLCONV_ MDTOKEN_
%token OBJECT_ STRING_ NULLREF_
/* misc keywords */
%token DEFAULT_ CDECL_ VARARG_ STDCALL_ THISCALL_ FASTCALL_ CLASS_
%token DEFAULT_ CDECL_ VARARG_ STDCALL_ THISCALL_ FASTCALL_ CLASS_ BYREFLIKE_
%token TYPEDREF_ UNMANAGED_ FINALLY_ HANDLER_ CATCH_ FILTER_ FAULT_
%token EXTENDS_ IMPLEMENTS_ TO_ AT_ TLS_ TRUE_ FALSE_ _INTERFACEIMPL

Expand Down Expand Up @@ -486,7 +486,9 @@ typarAttrib : '+' { $$ = gpCovariant;
| '-' { $$ = gpContravariant; }
| CLASS_ { $$ = gpReferenceTypeConstraint; }
| VALUETYPE_ { $$ = gpNotNullableValueTypeConstraint; }
| BYREFLIKE_ { $$ = gpAcceptByRefLike; }
| _CTOR { $$ = gpDefaultConstructorConstraint; }
| FLAGS_ '(' int32 ')' { $$ = (CorGenericParamAttr)$3; }
;

typarAttribs : /* EMPTY */ { $$ = 0; }
Expand Down
Loading