perf: reduce GC pressure by hoisting script target features object (#55484)

Co-authored-by: Jake Bailey <5341706+jakebailey@users.noreply.github.com>
This commit is contained in:
Sampo Kivistö
2023-08-24 02:06:20 +03:00
committed by GitHub
parent fcaa900012
commit 768f59296d

View File

@@ -386,6 +386,7 @@ import {
mapDefined,
MapLike,
MemberName,
memoize,
MetaProperty,
MethodDeclaration,
MethodSignature,
@@ -1281,8 +1282,8 @@ export function getInternalEmitFlags(node: Node): InternalEmitFlags {
export type ScriptTargetFeatures = ReadonlyMap<string, ReadonlyMap<string, string[]>>;
/** @internal */
export function getScriptTargetFeatures(): ScriptTargetFeatures {
return new Map(Object.entries({
export const getScriptTargetFeatures = /* @__PURE__ */ memoize((): ScriptTargetFeatures =>
new Map(Object.entries({
Array: new Map(Object.entries({
es2015: [
"find",
@@ -1675,8 +1676,8 @@ export function getScriptTargetFeatures(): ScriptTargetFeatures {
"cause",
],
})),
}));
}
}))
);
/** @internal */
export const enum GetLiteralTextFlags {