Skip to content

Commit 768f592

Browse files
Havunenjakebailey
andauthored
perf: reduce GC pressure by hoisting script target features object (#55484)
Co-authored-by: Jake Bailey <[email protected]>
1 parent fcaa900 commit 768f592

File tree

1 file changed

+5
-4
lines changed

1 file changed

+5
-4
lines changed

src/compiler/utilities.ts

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -386,6 +386,7 @@ import {
386386
mapDefined,
387387
MapLike,
388388
MemberName,
389+
memoize,
389390
MetaProperty,
390391
MethodDeclaration,
391392
MethodSignature,
@@ -1281,8 +1282,8 @@ export function getInternalEmitFlags(node: Node): InternalEmitFlags {
12811282
export type ScriptTargetFeatures = ReadonlyMap<string, ReadonlyMap<string, string[]>>;
12821283

12831284
/** @internal */
1284-
export function getScriptTargetFeatures(): ScriptTargetFeatures {
1285-
return new Map(Object.entries({
1285+
export const getScriptTargetFeatures = /* @__PURE__ */ memoize((): ScriptTargetFeatures =>
1286+
new Map(Object.entries({
12861287
Array: new Map(Object.entries({
12871288
es2015: [
12881289
"find",
@@ -1675,8 +1676,8 @@ export function getScriptTargetFeatures(): ScriptTargetFeatures {
16751676
"cause",
16761677
],
16771678
})),
1678-
}));
1679-
}
1679+
}))
1680+
);
16801681

16811682
/** @internal */
16821683
export const enum GetLiteralTextFlags {

0 commit comments

Comments
 (0)