Files
sdk/pkg/dev_compiler/lib/src/kernel
Nicholas Shahan 2ddf0c64f6 [ddc] Use prototype trick for better chrome performance
After emitting a library, creates a dummy function for each library and
sets the library object as the `.prototype` of the dummy function.

Reverses the performance degradation seen after adding one too many
members to the `dart:_runtime` library in:
https://golem.corp.goog/PerformanceChanges?repository=dart&revision=116131

According to sra@ this serves as a signal to V8 that the members of the
library should get optimized for fast lookup. These golem runs show
performance improvements that support this.

dartdevc performance improvements:
https://golem.corp.goog/Comparison?repository=dart#targetA%3Ddartdevc%3BmachineTypeA%3Dlinux-x64%3BrevisionA%3D116273%3BpatchA%3Dnshahan--ddc--WIP-library-as-prototype-optimization-1%3BtargetB%3Ddartdevc%3BmachineTypeB%3Dlinux-x64%3BrevisionB%3D116238%3BpatchB%3DNone

dartdevc-canary performance improvements:
https://golem.corp.goog/Comparison?repository=dart#targetA%3Ddartdevc-canary%3BmachineTypeA%3Dlinux-x64%3BrevisionA%3D116273%3BpatchA%3Dnshahan--ddc--WIP-library-as-prototype-optimization-1%3BtargetB%3Ddartdevc-canary%3BmachineTypeB%3Dlinux-x64%3BrevisionB%3D116238%3BpatchB%3DNone

Change-Id: Ifee464e393609c30eff4ea7c19da511134eccdcf
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/427822
Reviewed-by: Nate Biggs <natebiggs@google.com>
Commit-Queue: Nicholas Shahan <nshahan@google.com>
2025-05-12 16:41:38 -07:00
..