Skip to content

Remove some IE11 support (Symbols)#21079

Open
NullVoxPopuli wants to merge 4 commits intomainfrom
nvp/remove-some-ie11-support
Open

Remove some IE11 support (Symbols)#21079
NullVoxPopuli wants to merge 4 commits intomainfrom
nvp/remove-some-ie11-support

Conversation

@NullVoxPopuli
Copy link
Contributor

@NullVoxPopuli NullVoxPopuli commented Feb 8, 2026

We dropped IE11 long ago, and forgot to clean this up

bench results are unchanged

duration phase no difference [-114ms to 80ms]
renderEnd phase no difference [-3ms to 2ms]
render1000Items1End phase no difference [-6ms to 22ms]
clearItems1End phase no difference [0ms to 2ms]
render1000Items2End phase estimated improvement -1ms [-17ms to 0ms] OR -0.22% [-7.18% to -0.02%]
clearItems2End phase no difference [0ms to 0ms]
render5000Items1End phase no difference [-43ms to 17ms]
clearManyItems1End phase no difference [-3ms to 7ms]
render5000Items2End phase no difference [-51ms to 33ms]
clearManyItems2End phase no difference [-4ms to 2ms]
render1000Items3End phase no difference [0ms to 0ms]
append1000Items1End phase no difference [-16ms to 17ms]
append1000Items2End phase no difference [-16ms to 33ms]
updateEvery10thItem1End phase no difference [0ms to 16ms]
updateEvery10thItem2End phase no difference [0ms to 0ms]
selectFirstRow1End phase no difference [0ms to 0ms]
selectSecondRow1End phase no difference [0ms to 0ms]
removeFirstRow1End phase no difference [0ms to 16ms]
removeSecondRow1End phase no difference [0ms to 16ms]
swapRows1End phase no difference [0ms to 0ms]
swapRows2End phase no difference [0ms to 0ms]
clearItems4End phase no difference [0ms to 0ms]
paint phase no difference [0ms to 0ms]

artifact-2.pdf

// This code exists for that, and as a fallback in IE11. In general, prefer
// `symbol` below when creating a new symbol.
export function enumerableSymbol(debugName: string): string {
// TODO: Investigate using platform symbols, but we do not
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

TODID

@github-actions
Copy link
Contributor

github-actions bot commented Feb 8, 2026

Estimated Asset Sizes

Diff

--- main/out.txt	2026-02-06 20:32:44.000000000 +0000
+++ pr/./pr-21806644814/out.txt	2026-02-08 22:36:28.000000000 +0000
@@ -1,46 +1,46 @@
 ╔═══════╤═══════════╤═══════════╗
 ║       │ Min       │ Gzip      ║
 ╟───────┼───────────┼───────────╢
-║ Total │ 352.26 KB │ 203.59 KB ║
+║ Total │ 351.99 KB │ 203.81 KB ║
 ╚═══════╧═══════════╧═══════════╝
 
 ╔══════════════════════╤═══════════╤═══════════╗
 ║ @ember/*             │ Min       │ Gzip      ║
 ╟──────────────────────┼───────────┼───────────╢
-║ Total                │ 313.87 KB │ 181.83 KB ║
+║ Total                │ 313.6 KB  │ 182.07 KB ║
 ╟──────────────────────┼───────────┼───────────╢
-║ -internals           │ 36.68 KB  │ 25.99 KB  ║
-║ application          │ 13.24 KB  │ 7.99 KB   ║
-║ array                │ 13.05 KB  │ 7.54 KB   ║
+║ -internals           │ 36.61 KB  │ 25.96 KB  ║
+║ application          │ 13.24 KB  │ 8.13 KB   ║
+║ array                │ 13.05 KB  │ 7.55 KB   ║
 ║ canary-features      │ 304 B     │ 419 B     ║
-║ component            │ 2.05 KB   │ 1.63 KB   ║
-║ controller           │ 1.96 KB   │ 1.45 KB   ║
-║ debug                │ 11.73 KB  │ 8.14 KB   ║
+║ component            │ 2.05 KB   │ 1.61 KB   ║
+║ controller           │ 1.9 KB    │ 1.43 KB   ║
+║ debug                │ 11.73 KB  │ 8.16 KB   ║
 ║ deprecated-features  │ 31 B      │ 77 B      ║
 ║ destroyable          │ 561 B     │ 383 B     ║
 ║ enumerable           │ 259 B     │ 387 B     ║
-║ helper               │ 1.08 KB   │ 841 B     ║
+║ helper               │ 1.08 KB   │ 834 B     ║
 ║ instrumentation      │ 2.43 KB   │ 1.78 KB   ║
-║ modifier             │ 1.22 KB   │ 991 B     ║
-║ object               │ 35.98 KB  │ 22.1 KB   ║
+║ modifier             │ 1.22 KB   │ 984 B     ║
+║ object               │ 35.84 KB  │ 22.23 KB  ║
 ║ owner                │ 159 B     │ 178 B     ║
-║ renderer             │ 630 B     │ 509 B     ║
-║ routing              │ 59.37 KB  │ 33.94 KB  ║
-║ runloop              │ 2.36 KB   │ 1.5 KB    ║
-║ service              │ 1 KB      │ 858 B     ║
-║ template             │ 654 B     │ 535 B     ║
+║ renderer             │ 630 B     │ 494 B     ║
+║ routing              │ 59.37 KB  │ 34.05 KB  ║
+║ runloop              │ 2.36 KB   │ 1.45 KB   ║
+║ service              │ 1 KB      │ 855 B     ║
+║ template             │ 654 B     │ 541 B     ║
 ║ template-compilation │ 429 B     │ 366 B     ║
 ║ template-compiler    │ 123.33 KB │ 59.61 KB  ║
 ║ template-factory     │ 370 B     │ 385 B     ║
 ║ test                 │ 923 B     │ 627 B     ║
-║ utils                │ 4.11 KB   │ 3.63 KB   ║
+║ utils                │ 4.11 KB   │ 3.62 KB   ║
 ║ version              │ 55 B      │ 131 B     ║
 ╚══════════════════════╧═══════════╧═══════════╝
 
 ╔═════════════════╤══════════╤══════════╗
 ║ @glimmer/*      │ Min      │ Gzip     ║
 ╟─────────────────┼──────────┼──────────╢
-║ Total           │ 38.38 KB │ 21.75 KB ║
+║ Total           │ 38.38 KB │ 21.74 KB ║
 ╟─────────────────┼──────────┼──────────╢
 ║ destroyable     │ 2.78 KB  │ 1.38 KB  ║
 ║ encoder         │ 81 B     │ 171 B    ║
@@ -53,7 +53,7 @@
 ║ program         │ 252 B    │ 308 B    ║
 ║ reference       │ 548 B    │ 544 B    ║
 ║ runtime         │ 10.32 KB │ 5.21 KB  ║
-║ tracking        │ 1.34 KB  │ 1.18 KB  ║
+║ tracking        │ 1.34 KB  │ 1.17 KB  ║
 ║ util            │ 1.94 KB  │ 1.6 KB   ║
 ║ validator       │ 15.53 KB │ 6.9 KB   ║
 ║ vm              │ 495 B    │ 569 B    ║

Details

This PRmain
╔═══════╤═══════════╤═══════════╗
║       │ Min       │ Gzip      ║
╟───────┼───────────┼───────────╢
║ Total │ 351.99 KB │ 203.81 KB ║
╚═══════╧═══════════╧═══════════╝

╔══════════════════════╤═══════════╤═══════════╗
║ @ember/*             │ Min       │ Gzip      ║
╟──────────────────────┼───────────┼───────────╢
║ Total                │ 313.6 KB  │ 182.07 KB ║
╟──────────────────────┼───────────┼───────────╢
║ -internals           │ 36.61 KB  │ 25.96 KB  ║
║ application          │ 13.24 KB  │ 8.13 KB   ║
║ array                │ 13.05 KB  │ 7.55 KB   ║
║ canary-features      │ 304 B     │ 419 B     ║
║ component            │ 2.05 KB   │ 1.61 KB   ║
║ controller           │ 1.9 KB    │ 1.43 KB   ║
║ debug                │ 11.73 KB  │ 8.16 KB   ║
║ deprecated-features  │ 31 B      │ 77 B      ║
║ destroyable          │ 561 B     │ 383 B     ║
║ enumerable           │ 259 B     │ 387 B     ║
║ helper               │ 1.08 KB   │ 834 B     ║
║ instrumentation      │ 2.43 KB   │ 1.78 KB   ║
║ modifier             │ 1.22 KB   │ 984 B     ║
║ object               │ 35.84 KB  │ 22.23 KB  ║
║ owner                │ 159 B     │ 178 B     ║
║ renderer             │ 630 B     │ 494 B     ║
║ routing              │ 59.37 KB  │ 34.05 KB  ║
║ runloop              │ 2.36 KB   │ 1.45 KB   ║
║ service              │ 1 KB      │ 855 B     ║
║ template             │ 654 B     │ 541 B     ║
║ template-compilation │ 429 B     │ 366 B     ║
║ template-compiler    │ 123.33 KB │ 59.61 KB  ║
║ template-factory     │ 370 B     │ 385 B     ║
║ test                 │ 923 B     │ 627 B     ║
║ utils                │ 4.11 KB   │ 3.62 KB   ║
║ version              │ 55 B      │ 131 B     ║
╚══════════════════════╧═══════════╧═══════════╝

╔═════════════════╤══════════╤══════════╗
║ @glimmer/*      │ Min      │ Gzip     ║
╟─────────────────┼──────────┼──────────╢
║ Total           │ 38.38 KB │ 21.74 KB ║
╟─────────────────┼──────────┼──────────╢
║ destroyable     │ 2.78 KB  │ 1.38 KB  ║
║ encoder         │ 81 B     │ 171 B    ║
║ env             │ 38 B     │ 87 B     ║
║ global-context  │ 886 B    │ 545 B    ║
║ manager         │ 977 B    │ 627 B    ║
║ node            │ 175 B    │ 268 B    ║
║ opcode-compiler │ 1.11 KB  │ 905 B    ║
║ owner           │ 159 B    │ 202 B    ║
║ program         │ 252 B    │ 308 B    ║
║ reference       │ 548 B    │ 544 B    ║
║ runtime         │ 10.32 KB │ 5.21 KB  ║
║ tracking        │ 1.34 KB  │ 1.17 KB  ║
║ util            │ 1.94 KB  │ 1.6 KB   ║
║ validator       │ 15.53 KB │ 6.9 KB   ║
║ vm              │ 495 B    │ 569 B    ║
║ wire-format     │ 1.84 KB  │ 1.35 KB  ║
╚═════════════════╧══════════╧══════════╝
╔═══════╤═══════════╤═══════════╗
║       │ Min       │ Gzip      ║
╟───────┼───────────┼───────────╢
║ Total │ 352.26 KB │ 203.59 KB ║
╚═══════╧═══════════╧═══════════╝

╔══════════════════════╤═══════════╤═══════════╗
║ @ember/*             │ Min       │ Gzip      ║
╟──────────────────────┼───────────┼───────────╢
║ Total                │ 313.87 KB │ 181.83 KB ║
╟──────────────────────┼───────────┼───────────╢
║ -internals           │ 36.68 KB  │ 25.99 KB  ║
║ application          │ 13.24 KB  │ 7.99 KB   ║
║ array                │ 13.05 KB  │ 7.54 KB   ║
║ canary-features      │ 304 B     │ 419 B     ║
║ component            │ 2.05 KB   │ 1.63 KB   ║
║ controller           │ 1.96 KB   │ 1.45 KB   ║
║ debug                │ 11.73 KB  │ 8.14 KB   ║
║ deprecated-features  │ 31 B      │ 77 B      ║
║ destroyable          │ 561 B     │ 383 B     ║
║ enumerable           │ 259 B     │ 387 B     ║
║ helper               │ 1.08 KB   │ 841 B     ║
║ instrumentation      │ 2.43 KB   │ 1.78 KB   ║
║ modifier             │ 1.22 KB   │ 991 B     ║
║ object               │ 35.98 KB  │ 22.1 KB   ║
║ owner                │ 159 B     │ 178 B     ║
║ renderer             │ 630 B     │ 509 B     ║
║ routing              │ 59.37 KB  │ 33.94 KB  ║
║ runloop              │ 2.36 KB   │ 1.5 KB    ║
║ service              │ 1 KB      │ 858 B     ║
║ template             │ 654 B     │ 535 B     ║
║ template-compilation │ 429 B     │ 366 B     ║
║ template-compiler    │ 123.33 KB │ 59.61 KB  ║
║ template-factory     │ 370 B     │ 385 B     ║
║ test                 │ 923 B     │ 627 B     ║
║ utils                │ 4.11 KB   │ 3.63 KB   ║
║ version              │ 55 B      │ 131 B     ║
╚══════════════════════╧═══════════╧═══════════╝

╔═════════════════╤══════════╤══════════╗
║ @glimmer/*      │ Min      │ Gzip     ║
╟─────────────────┼──────────┼──────────╢
║ Total           │ 38.38 KB │ 21.75 KB ║
╟─────────────────┼──────────┼──────────╢
║ destroyable     │ 2.78 KB  │ 1.38 KB  ║
║ encoder         │ 81 B     │ 171 B    ║
║ env             │ 38 B     │ 87 B     ║
║ global-context  │ 886 B    │ 545 B    ║
║ manager         │ 977 B    │ 627 B    ║
║ node            │ 175 B    │ 268 B    ║
║ opcode-compiler │ 1.11 KB  │ 905 B    ║
║ owner           │ 159 B    │ 202 B    ║
║ program         │ 252 B    │ 308 B    ║
║ reference       │ 548 B    │ 544 B    ║
║ runtime         │ 10.32 KB │ 5.21 KB  ║
║ tracking        │ 1.34 KB  │ 1.18 KB  ║
║ util            │ 1.94 KB  │ 1.6 KB   ║
║ validator       │ 15.53 KB │ 6.9 KB   ║
║ vm              │ 495 B    │ 569 B    ║
║ wire-format     │ 1.84 KB  │ 1.35 KB  ║
╚═════════════════╧══════════╧══════════╝

@NullVoxPopuli NullVoxPopuli changed the title Remove some IE11 support Remove some IE11 support (Symbols) Feb 8, 2026
// Set internal symbol-keyed properties directly on the instance.
// These are not passed through create() because Object.keys() doesn't
// enumerate Symbol properties.
(component as any)[ARGS] = capturedArgs;
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If we get rid of curly components, we can get rid of this

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That'd need an RFC + deprecation

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ofc. Asd is outside the scope and random cleanup

@NullVoxPopuli NullVoxPopuli marked this pull request as ready for review February 8, 2026 22:40
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