Skip to content

[Parser] Introduce a request for parsing type and extension members. #26925

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

Merged
merged 1 commit into from
Aug 29, 2019

Conversation

DougGregor
Copy link
Member

Ensure that lazy parsing of the members of nominal type definitions
and extensions is handled through a request. Most of the effort here
is in establishing a new request zone for parser requests.

@DougGregor
Copy link
Member Author

@swift-ci please smoke test

@DougGregor
Copy link
Member Author

@swift-ci please test source compatibility

@DougGregor
Copy link
Member Author

@swift-ci please test compiler performance

@swift-ci
Copy link
Contributor

Compilation-performance test failed

Ensure that lazy parsing of the members of nominal type definitions
and extensions is handled through a request. Most of the effort here
is in establishing a new request zone for parser requests.
@DougGregor DougGregor force-pushed the parse-members-request branch from 6e66c5c to d8f7c9e Compare August 29, 2019 04:40
@DougGregor
Copy link
Member Author

@swift-ci please smoke test

@DougGregor
Copy link
Member Author

@swift-ci please test source compatibility

@DougGregor
Copy link
Member Author

@swift-ci please test compiler performance

1 similar comment
@DougGregor
Copy link
Member Author

@swift-ci please test compiler performance

@DougGregor
Copy link
Member Author

@swift-ci please test source compatibility

@DougGregor
Copy link
Member Author

@swift-ci please smoke test Linux

@DougGregor
Copy link
Member Author

The source-compatibility failure is unrelated; master failed the same way in https://ci.swift.org/view/Source%20Compatibility/job/swift-master-source-compat-suite/4034/ and has since been fixed.

@swift-ci
Copy link
Contributor

Summary for master full

Unexpected test results, excluded stats for RxCocoa, SwifterSwift, Base64CoderSwiftUI

No regressions above thresholds

Debug-batch

debug-batch brief

Regressed (0)
name old new delta delta_pct
Improved (0)
name old new delta delta_pct
Unchanged (delta < 1.0% or delta < 100.0ms) (3)
name old new delta delta_pct
Frontend.NumInstructionsExecuted 44,102,740,066,603 44,148,709,878,908 45,969,812,305 0.1%
LLVM.NumLLVMBytesOutput 1,794,639,658 1,794,643,012 3,354 0.0%
time.swift-driver.wall 4484.9s 4493.7s 8.8s 0.2%

debug-batch detailed

Regressed (0)
name old new delta delta_pct
Improved (2)
name old new delta delta_pct
Driver.NumDriverPipePolls 70,802 70,042 -760 -1.07% ✅
Driver.NumDriverPipeReads 59,960 59,263 -697 -1.16% ✅
Unchanged (delta < 1.0% or delta < 100.0ms) (167)
name old new delta delta_pct
AST.ImportSetCacheHit 1,120 1,120 0 0.0%
AST.ImportSetCacheMiss 18,397 18,397 0 0.0%
AST.ImportSetFoldHit 5,249 5,249 0 0.0%
AST.ImportSetFoldMiss 13,148 13,148 0 0.0%
AST.ModuleShadowCacheHit 1,592 1,592 0 0.0%
AST.ModuleShadowCacheMiss 976 976 0 0.0%
AST.ModuleVisibilityCacheHit 285,024 285,024 0 0.0%
AST.ModuleVisibilityCacheMiss 19,517 19,517 0 0.0%
AST.NumASTBytesAllocated 60,086,254,801 60,161,160,652 74,905,851 0.12%
AST.NumASTScopeLookups 0 0 0 0.0%
AST.NumBraceStmtASTScopeExpansions 0 0 0 0.0%
AST.NumBraceStmtASTScopes 0 0 0 0.0%
AST.NumDecls 140,002 140,002 0 0.0%
AST.NumDependencies 253,405 253,421 16 0.01%
AST.NumInfixOperators 53,779 53,779 0 0.0%
AST.NumIterableTypeBodyASTScopeExpansions 0 0 0 0.0%
AST.NumIterableTypeBodyASTScopes 0 0 0 0.0%
AST.NumLinkLibraries 0 0 0 0.0%
AST.NumLoadedModules 321,736 321,736 0 0.0%
AST.NumLocalTypeDecls 253 253 0 0.0%
AST.NumLookupInModule 6,082,631 6,089,400 6,769 0.11%
AST.NumLookupQualifiedInAnyObject 291 291 0 0.0%
AST.NumLookupQualifiedInModule 3,025,965 3,032,676 6,711 0.22%
AST.NumLookupQualifiedInNominal 7,762,828 7,764,847 2,019 0.03%
AST.NumModuleLookupClassMember 16,334 16,334 0 0.0%
AST.NumModuleLookupValue 41,470,024 41,477,673 7,649 0.02%
AST.NumObjCMethods 24,701 24,701 0 0.0%
AST.NumPostfixOperators 23 23 0 0.0%
AST.NumPrecedenceGroups 25,668 25,668 0 0.0%
AST.NumPrefixOperators 99 99 0 0.0%
AST.NumReferencedDynamicNames 199 199 0 0.0%
AST.NumReferencedMemberNames 6,335,120 6,335,120 0 0.0%
AST.NumReferencedTopLevelNames 477,030 477,030 0 0.0%
AST.NumSourceBuffers 395,556 395,556 0 0.0%
AST.NumSourceLines 4,685,680 4,685,680 0 0.0%
AST.NumSourceLinesPerSecond 3,393,312 3,378,849 -14,463 -0.43%
AST.NumTotalClangImportedEntities 5,678,085 5,680,815 2,730 0.05%
AST.NumUnqualifiedLookup 3,915,158 3,915,222 64 0.0%
Driver.ChildrenMaxRSS 195,688,775,680 195,673,503,744 -15,271,936 -0.01%
Driver.DriverDepCascadingDynamic 0 0 0 0.0%
Driver.DriverDepCascadingExternal 0 0 0 0.0%
Driver.DriverDepCascadingMember 0 0 0 0.0%
Driver.DriverDepCascadingNominal 0 0 0 0.0%
Driver.DriverDepCascadingTopLevel 0 0 0 0.0%
Driver.DriverDepDynamic 0 0 0 0.0%
Driver.DriverDepExternal 0 0 0 0.0%
Driver.DriverDepMember 0 0 0 0.0%
Driver.DriverDepNominal 0 0 0 0.0%
Driver.DriverDepTopLevel 0 0 0 0.0%
Driver.NumDriverJobsRun 27,904 27,904 0 0.0%
Driver.NumDriverJobsSkipped 0 0 0 0.0%
Driver.NumProcessFailures 0 0 0 0.0%
Frontend.MaxMallocUsage 992,309,326,480 992,886,678,320 577,351,840 0.06%
Frontend.NumInstructionsExecuted 44,102,740,066,603 44,148,709,878,908 45,969,812,305 0.1%
Frontend.NumProcessFailures 0 0 0 0.0%
IRModule.NumIRAliases 197,196 197,196 0 0.0%
IRModule.NumIRBasicBlocks 6,834,083 6,834,083 0 0.0%
IRModule.NumIRComdatSymbols 0 0 0 0.0%
IRModule.NumIRFunctions 3,374,319 3,374,319 0 0.0%
IRModule.NumIRGlobals 3,535,042 3,535,042 0 0.0%
IRModule.NumIRIFuncs 0 0 0 0.0%
IRModule.NumIRInsts 87,091,678 87,091,678 0 0.0%
IRModule.NumIRNamedMetaData 134,220 134,220 0 0.0%
IRModule.NumIRValueSymbols 6,254,504 6,254,504 0 0.0%
LLVM.NumLLVMBytesOutput 1,794,639,658 1,794,643,012 3,354 0.0%
Parse.NumFunctionsParsed 267,975 267,975 0 0.0%
Parse.NumIterableDeclContextParsed 714,279 714,279 0 0.0%
SILModule.NumSILGenDefaultWitnessTables 0 0 0 0.0%
SILModule.NumSILGenFunctions 1,709,501 1,709,501 0 0.0%
SILModule.NumSILGenGlobalVariables 53,884 53,884 0 0.0%
SILModule.NumSILGenVtables 18,576 18,576 0 0.0%
SILModule.NumSILGenWitnessTables 72,169 72,169 0 0.0%
SILModule.NumSILOptDefaultWitnessTables 0 0 0 0.0%
SILModule.NumSILOptFunctions 2,450,964 2,450,964 0 0.0%
SILModule.NumSILOptGlobalVariables 55,492 55,492 0 0.0%
SILModule.NumSILOptVtables 31,332 31,332 0 0.0%
SILModule.NumSILOptWitnessTables 157,762 157,762 0 0.0%
Sema.AbstractGenericSignatureRequest 24,001 24,001 0 0.0%
Sema.AccessLevelRequest 12,564,377 12,583,197 18,820 0.15%
Sema.AttachedFunctionBuilderRequest 3 3 0 0.0%
Sema.AttachedPropertyWrapperTypeRequest 515,429 515,429 0 0.0%
Sema.AttachedPropertyWrappersRequest 2,132,747 2,132,747 0 0.0%
Sema.ClassAncestryFlagsRequest 100,661 100,661 0 0.0%
Sema.CollectOverriddenDeclsRequest 7,842,249 7,865,019 22,770 0.29%
Sema.CursorInfoRequest 0 0 0 0.0%
Sema.CustomAttrNominalRequest 3 3 0 0.0%
Sema.DefaultAndMaxAccessLevelRequest 54,973 54,973 0 0.0%
Sema.DefaultDefinitionTypeRequest 7,903 7,903 0 0.0%
Sema.DefaultTypeRequest 460,216 460,216 0 0.0%
Sema.EmittedMembersRequest 26,648 26,648 0 0.0%
Sema.EnumRawTypeRequest 22,799 22,799 0 0.0%
Sema.ExistentialConformsToSelfRequest 20,916 20,936 20 0.1%
Sema.ExistentialTypeSupportedRequest 16,539 16,539 0 0.0%
Sema.ExtendedNominalRequest 5,941,753 5,945,811 4,058 0.07%
Sema.ExtendedTypeRequest 105,686 105,688 2 0.0%
Sema.FunctionBuilderTypeRequest 3 3 0 0.0%
Sema.FunctionOperatorRequest 62,411 62,411 0 0.0%
Sema.GetDestructorRequest 27,132 27,132 0 0.0%
Sema.HasDynamicMemberLookupAttributeRequest 0 0 0 0.0%
Sema.InheritedDeclsReferencedRequest 5,745,924 5,756,781 10,857 0.19%
Sema.InheritedTypeRequest 305,452 305,568 116 0.04%
Sema.InitKindRequest 106,451 106,451 0 0.0%
Sema.IsAccessorTransparentRequest 315,162 315,162 0 0.0%
Sema.IsDeclApplicableRequest 0 0 0 0.0%
Sema.IsDynamicRequest 1,626,892 1,626,892 0 0.0%
Sema.IsFinalRequest 2,635,151 2,637,813 2,662 0.1%
Sema.IsGetterMutatingRequest 434,048 434,048 0 0.0%
Sema.IsImplicitlyUnwrappedOptionalRequest 2,450,961 2,451,604 643 0.03%
Sema.IsObjCRequest 1,567,009 1,567,026 17 0.0%
Sema.IsSetterMutatingRequest 347,741 347,741 0 0.0%
Sema.LazyStoragePropertyRequest 2,400 2,400 0 0.0%
Sema.MangleLocalTypeDeclRequest 506 506 0 0.0%
Sema.NamedLazyMemberLoadFailureCount 19,729 19,736 7 0.04%
Sema.NamedLazyMemberLoadSuccessCount 28,648,359 28,656,733 8,374 0.03%
Sema.NominalTypeLookupDirectCount 36,058,006 36,069,674 11,668 0.03%
Sema.NumAccessorBodiesSynthesized 189,252 189,252 0 0.0%
Sema.NumAccessorsSynthesized 289,230 289,230 0 0.0%
Sema.NumConformancesDeserialized 9,252,441 9,265,263 12,822 0.14%
Sema.NumConstraintScopes 27,098,795 27,100,363 1,568 0.01%
Sema.NumConstraintsConsideredForEdgeContraction 86,076,430 86,076,994 564 0.0%
Sema.NumCyclicOneWayComponentsCollapsed 0 0 0 0.0%
Sema.NumDeclsDeserialized 71,558,099 71,647,040 88,941 0.12%
Sema.NumDeclsTypechecked 1,403,509 1,403,509 0 0.0%
Sema.NumDeclsValidated 2,493,246 2,493,255 9 0.0%
Sema.NumFunctionsTypechecked 527,256 527,256 0 0.0%
Sema.NumGenericSignatureBuilders 1,348,145 1,348,972 827 0.06%
Sema.NumLazyGenericEnvironments 12,673,560 12,679,905 6,345 0.05%
Sema.NumLazyGenericEnvironmentsLoaded 301,333 301,417 84 0.03%
Sema.NumLazyIterableDeclContexts 8,538,931 8,544,841 5,910 0.07%
Sema.NumLazyRequirementSignatures 858,820 858,920 100 0.01%
Sema.NumLazyRequirementSignaturesLoaded 570,924 571,053 129 0.02%
Sema.NumLeafScopes 17,440,256 17,441,486 1,230 0.01%
Sema.NumTypesDeserialized 20,908,839 20,925,040 16,201 0.08%
Sema.NumTypesValidated 1,706,301 1,706,306 5 0.0%
Sema.NumUnloadedLazyIterableDeclContexts 5,177,530 5,179,976 2,446 0.05%
Sema.OpaqueReadOwnershipRequest 273,007 273,007 0 0.0%
Sema.OverriddenDeclsRequest 2,490,745 2,493,335 2,590 0.1%
Sema.PropertyWrapperBackingPropertyInfoRequest 510,305 510,305 0 0.0%
Sema.PropertyWrapperBackingPropertyTypeRequest 515,429 515,429 0 0.0%
Sema.PropertyWrapperMutabilityRequest 612,163 612,163 0 0.0%
Sema.PropertyWrapperTypeInfoRequest 1 1 0 0.0%
Sema.ProtocolRequiresClassRequest 80,737 80,855 118 0.15%
Sema.ProvideDefaultImplForRequest 7,842,249 7,865,019 22,770 0.29%
Sema.RangeInfoRequest 0 0 0 0.0%
Sema.RequirementRequest 108,453 108,454 1 0.0%
Sema.RequirementSignatureRequest 658,074 658,311 237 0.04%
Sema.RequiresOpaqueAccessorsRequest 1,311,514 1,311,514 0 0.0%
Sema.RequiresOpaqueModifyCoroutineRequest 264,389 264,389 0 0.0%
Sema.ResilienceExpansionRequest 1,748,141 1,748,149 8 0.0%
Sema.ResolveProtocolNameRequest 0 0 0 0.0%
Sema.RootAndResultTypeOfKeypathDynamicMemberRequest 0 0 0 0.0%
Sema.RootTypeOfKeypathDynamicMemberRequest 0 0 0 0.0%
Sema.SelfAccessKindRequest 5,536,678 5,538,125 1,447 0.03%
Sema.SelfBoundsFromWhereClauseRequest 7,562,546 7,579,557 17,011 0.22%
Sema.SetterAccessLevelRequest 149,654 149,654 0 0.0%
Sema.StorageImplInfoRequest 1,182,857 1,182,857 0 0.0%
Sema.StoredPropertiesAndMissingMembersRequest 30,980 30,980 0 0.0%
Sema.StoredPropertiesRequest 314,751 314,751 0 0.0%
Sema.StructuralTypeRequest 0 0 0 0.0%
Sema.SuperclassDeclRequest 441,729 441,934 205 0.05%
Sema.SuperclassTypeRequest 52,020 52,020 0 0.0%
Sema.SynthesizeAccessorRequest 289,230 289,230 0 0.0%
Sema.TypeCheckFunctionBodyUntilRequest 527,256 527,256 0 0.0%
Sema.TypeDeclsFromWhereClauseRequest 28,964 28,964 0 0.0%
Sema.TypeRelationCheckRequest 0 0 0 0.0%
Sema.USRGenerationRequest 9,010,710 9,036,485 25,775 0.29%
Sema.UnderlyingTypeDeclsReferencedRequest 275,331 275,429 98 0.04%

Release

release brief

Regressed (0)
name old new delta delta_pct
Improved (0)
name old new delta delta_pct
Unchanged (delta < 1.0% or delta < 100.0ms) (3)
name old new delta delta_pct
Frontend.NumInstructionsExecuted 47,322,682,936,199 47,365,395,897,804 42,712,961,605 0.09%
LLVM.NumLLVMBytesOutput 1,530,054,670 1,530,058,126 3,456 0.0%
time.swift-driver.wall 7580.7s 7587.9s 7.2s 0.1%

release detailed

Regressed (0)
name old new delta delta_pct
Improved (0)
name old new delta delta_pct
Unchanged (delta < 1.0% or delta < 100.0ms) (21)
name old new delta delta_pct
AST.NumLoadedModules 30,333 30,333 0 0.0%
AST.NumTotalClangImportedEntities 1,231,555 1,231,555 0 0.0%
IRModule.NumIRBasicBlocks 5,608,688 5,608,688 0 0.0%
IRModule.NumIRFunctions 2,849,076 2,849,076 0 0.0%
IRModule.NumIRGlobals 3,030,523 3,030,523 0 0.0%
IRModule.NumIRInsts 52,605,316 52,605,316 0 0.0%
IRModule.NumIRValueSymbols 5,523,291 5,523,291 0 0.0%
LLVM.NumLLVMBytesOutput 1,530,054,670 1,530,058,126 3,456 0.0%
SILModule.NumSILGenFunctions 1,191,481 1,191,481 0 0.0%
SILModule.NumSILOptFunctions 1,711,269 1,711,269 0 0.0%
Sema.NumConformancesDeserialized 4,079,694 4,079,694 0 0.0%
Sema.NumConstraintScopes 26,615,603 26,615,603 0 0.0%
Sema.NumDeclsDeserialized 10,411,974 10,411,974 0 0.0%
Sema.NumDeclsValidated 1,826,150 1,826,150 0 0.0%
Sema.NumFunctionsTypechecked 530,878 530,878 0 0.0%
Sema.NumGenericSignatureBuilders 279,409 279,409 0 0.0%
Sema.NumLazyGenericEnvironments 1,972,770 1,972,770 0 0.0%
Sema.NumLazyGenericEnvironmentsLoaded 34,177 34,177 0 0.0%
Sema.NumLazyIterableDeclContexts 1,326,390 1,326,390 0 0.0%
Sema.NumTypesDeserialized 5,675,438 5,675,438 0 0.0%
Sema.NumTypesValidated 947,067 947,067 0 0.0%

@DougGregor DougGregor merged commit 2c9def8 into swiftlang:master Aug 29, 2019
@DougGregor DougGregor deleted the parse-members-request branch August 29, 2019 20:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants