@scriptc/compiler 0.0.32 → 0.0.33
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/backend/cc-cache.test.js +308 -1
- package/dist/backend/cc-cache.test.js.map +1 -1
- package/dist/backend/cc.d.ts +6 -0
- package/dist/backend/cc.js +707 -68
- package/dist/backend/cc.js.map +1 -1
- package/dist/backend/emission/emit-exprs.js +53 -2
- package/dist/backend/emission/emit-exprs.js.map +1 -1
- package/dist/backend/emission/emitter.d.ts +12 -5
- package/dist/backend/emission/emitter.js +160 -22
- package/dist/backend/emission/emitter.js.map +1 -1
- package/dist/backend/emission/may-throw.js +7 -4
- package/dist/backend/emission/may-throw.js.map +1 -1
- package/dist/backend/ffi-callbacks.d.ts +38 -1
- package/dist/backend/ffi-callbacks.js +76 -3
- package/dist/backend/ffi-callbacks.js.map +1 -1
- package/dist/backend/llvm/emitter.js +243 -12
- package/dist/backend/llvm/emitter.js.map +1 -1
- package/dist/diagnostics/diagnostic.js +2 -0
- package/dist/diagnostics/diagnostic.js.map +1 -1
- package/dist/ffi/profile.d.ts +17 -5
- package/dist/ffi/profile.js +169 -22
- package/dist/ffi/profile.js.map +1 -1
- package/dist/frontend/lowering/lower-calls.d.ts +1 -0
- package/dist/frontend/lowering/lower-calls.js +89 -23
- package/dist/frontend/lowering/lower-calls.js.map +1 -1
- package/dist/frontend/lowering/lower-containers.js +65 -19
- package/dist/frontend/lowering/lower-containers.js.map +1 -1
- package/dist/frontend/lowering/lowerer.d.ts +12 -0
- package/dist/frontend/lowering/lowerer.js +20 -1
- package/dist/frontend/lowering/lowerer.js.map +1 -1
- package/dist/frontend/ts7/checker.d.ts +2 -0
- package/dist/frontend/ts7/checker.js +20 -3
- package/dist/frontend/ts7/checker.js.map +1 -1
- package/dist/frontend/types.d.ts +8 -0
- package/dist/frontend/types.js +33 -5
- package/dist/frontend/types.js.map +1 -1
- package/dist/index.js +35 -0
- package/dist/index.js.map +1 -1
- package/dist/ir/nodes.d.ts +22 -9
- package/dist/ir/nodes.js +7 -1
- package/dist/ir/nodes.js.map +1 -1
- package/dist/ir/serialize.d.ts +1 -1
- package/dist/ir/serialize.js +1 -1
- package/dist/ir/validate.js +74 -1
- package/dist/ir/validate.js.map +1 -1
- package/dist/library/int-infer.test.js +4 -4
- package/dist/library/profile.d.ts +3 -0
- package/dist/library/profile.js +9 -1
- package/dist/library/profile.js.map +1 -1
- package/package.json +2 -2
- package/surface-manifest.json +1 -1
|
@@ -78,10 +78,12 @@ export declare class CheckerFacade {
|
|
|
78
78
|
* array requests instead of thousands of round trips. */
|
|
79
79
|
prefetchSourceFile(sf: SourceFile): void;
|
|
80
80
|
private prefetchTypes;
|
|
81
|
+
private prefetchTypesIn;
|
|
81
82
|
/** withPanicFence over the type sweep (observed panic: GetTypeAtLocation
|
|
82
83
|
* over an unresolved npm import's clause — a server-side nil deref). */
|
|
83
84
|
private typesWithPanicFence;
|
|
84
85
|
private prefetchSymbols;
|
|
86
|
+
private prefetchSymbolsIn;
|
|
85
87
|
private autoPrefetch;
|
|
86
88
|
getTypeAtLocation(node: Node): Type;
|
|
87
89
|
getSymbolAtLocation(node: Node): Ts7Symbol | undefined;
|
|
@@ -32,7 +32,7 @@
|
|
|
32
32
|
* object types. Both verified against the raw checker AND against 5.9.3
|
|
33
33
|
* by the adapter's suites. */
|
|
34
34
|
import { walkPreorder } from "./ast.js";
|
|
35
|
-
import { SignatureKind, TypeFlags } from "./enums.js";
|
|
35
|
+
import { SignatureKind, SyntaxKind, TypeFlags } from "./enums.js";
|
|
36
36
|
/** Array-overload chunk size: large enough that per-request overhead
|
|
37
37
|
* vanishes, small enough to keep any single JSON-RPC payload modest. */
|
|
38
38
|
const BATCH_CHUNK = 2048;
|
|
@@ -74,6 +74,17 @@ function chunked(items, fetch) {
|
|
|
74
74
|
* query the lowering does make below the floor falls through to a direct,
|
|
75
75
|
* memoized per-node call. */
|
|
76
76
|
const PREFETCH_MAX_DEPTH = 512;
|
|
77
|
+
/** Node kinds the lowering routinely asks getTypeAtLocation about. The
|
|
78
|
+
* fallback path remains correct for every other kind, but bulk-querying the
|
|
79
|
+
* entire AST was severe overfetch on generated facades (191k nodes fetched,
|
|
80
|
+
* only 29k ever requested). */
|
|
81
|
+
const TYPE_PREFETCH_KINDS = new Set([
|
|
82
|
+
SyntaxKind.Identifier,
|
|
83
|
+
SyntaxKind.PropertyAccessExpression,
|
|
84
|
+
SyntaxKind.ObjectLiteralExpression,
|
|
85
|
+
SyntaxKind.ArrayLiteralExpression,
|
|
86
|
+
SyntaxKind.ConditionalExpression,
|
|
87
|
+
]);
|
|
77
88
|
/** Preorder sweep of the whole file, ITERATIVE (walkPreorder): the obvious
|
|
78
89
|
* recursive forEachChild walk overflowed the stack HERE, in the prefetch
|
|
79
90
|
* sweep, on the binderBinaryExpressionStress chains — before lowering could
|
|
@@ -222,7 +233,10 @@ export class CheckerFacade {
|
|
|
222
233
|
if (this.prefetchedTypes.has(sf))
|
|
223
234
|
return;
|
|
224
235
|
this.prefetchedTypes.add(sf);
|
|
225
|
-
|
|
236
|
+
this.prefetchTypesIn(sf);
|
|
237
|
+
}
|
|
238
|
+
prefetchTypesIn(root) {
|
|
239
|
+
const nodes = collectNodes(root).filter((n) => TYPE_PREFETCH_KINDS.has(n.kind) && !this.typeAtLocation.has(n));
|
|
226
240
|
const types = chunked(nodes, (chunk) => this.typesWithPanicFence(chunk));
|
|
227
241
|
nodes.forEach((n, i) => this.typeAtLocation.set(n, types[i]));
|
|
228
242
|
}
|
|
@@ -235,7 +249,10 @@ export class CheckerFacade {
|
|
|
235
249
|
if (this.prefetchedSymbols.has(sf))
|
|
236
250
|
return;
|
|
237
251
|
this.prefetchedSymbols.add(sf);
|
|
238
|
-
|
|
252
|
+
this.prefetchSymbolsIn(sf);
|
|
253
|
+
}
|
|
254
|
+
prefetchSymbolsIn(root) {
|
|
255
|
+
const nodes = collectNodes(root).filter((n) => n.kind === SyntaxKind.Identifier && !this.symbolAtLocation.has(n));
|
|
239
256
|
// The same bisecting panic fence as the type sweep: tsgo panics on
|
|
240
257
|
// SYMBOL queries too (observed: GetSymbolAtLocation over an
|
|
241
258
|
// `import.defer(...)` callee — the sweep's batch must not turn one
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checker.js","sourceRoot":"","sources":["../../../src/frontend/ts7/checker.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"checker.js","sourceRoot":"","sources":["../../../src/frontend/ts7/checker.ts"],"names":[],"mappings":"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"}
|
package/dist/frontend/types.d.ts
CHANGED
|
@@ -228,6 +228,14 @@ export interface TypeMapperCtx {
|
|
|
228
228
|
/** --dynamic: `any` maps to the island handle type (jsval). Off, `any`
|
|
229
229
|
* stays unmapped and the requires-dynamic diagnostic fires per site. */
|
|
230
230
|
dynamic: boolean;
|
|
231
|
+
/** Successful context-free mappings, keyed by dynamic posture + the
|
|
232
|
+
* TypeScript server's stable type id. A generated facade can reference the
|
|
233
|
+
* same large record/function type thousands of times; remapping its full
|
|
234
|
+
* member graph each time is quadratic work. Generic/mixin contexts opt out
|
|
235
|
+
* through canMemoizeType because the same checker type can map differently
|
|
236
|
+
* under different instantiation bindings. */
|
|
237
|
+
typeMemo?: Map<string, IrType>;
|
|
238
|
+
canMemoizeType?: () => boolean;
|
|
231
239
|
/** True for files the Lowerer actually compiles (its module order). A
|
|
232
240
|
* class type can reach the entry through the TYPE world alone — a jsdoc
|
|
233
241
|
* `typeof import('./mod')` over a module never imported at value level
|
package/dist/frontend/types.js
CHANGED
|
@@ -565,9 +565,11 @@ function genChannels(yieldTs, retTs, nextTs, ctx) {
|
|
|
565
565
|
* fallback for it. */
|
|
566
566
|
const MAP_TYPE_MAX_DEPTH = 64;
|
|
567
567
|
let mapTypeDepth = 0;
|
|
568
|
-
/** Bumped whenever mapType resolves a type through CONTEXT-SENSITIVE
|
|
569
|
-
* (a generic body's type parameter, a mixin
|
|
570
|
-
*
|
|
568
|
+
/** Bumped whenever mapType resolves a type through CONTEXT-SENSITIVE or
|
|
569
|
+
* collection-sensitive hooks (a generic body's type parameter, a mixin
|
|
570
|
+
* instantiation, a generic class instance) — mappings that can make the same
|
|
571
|
+
* ts.Type answer differently across instantiation contexts or collection
|
|
572
|
+
* phases.
|
|
571
573
|
* The recursive-shape machinery keys shape identity by checker type, which
|
|
572
574
|
* is sound only for context-FREE mappings: a recursive frame that observes
|
|
573
575
|
* a bump between entry and exit stays fenced (recursive generic-open types
|
|
@@ -576,9 +578,27 @@ let contextResolutions = 0;
|
|
|
576
578
|
export function mapType(type, ctx) {
|
|
577
579
|
if (mapTypeDepth >= MAP_TYPE_MAX_DEPTH)
|
|
578
580
|
return null;
|
|
581
|
+
const topLevel = mapTypeDepth === 0;
|
|
582
|
+
const typeId = type.id;
|
|
583
|
+
const memoizable = typeId !== undefined && (ctx.canMemoizeType?.() ?? true);
|
|
584
|
+
const memoKey = memoizable ? `${ctx.dynamic ? 1 : 0}:${typeId}` : null;
|
|
585
|
+
if (memoKey !== null) {
|
|
586
|
+
const memo = ctx.typeMemo?.get(memoKey);
|
|
587
|
+
if (memo !== undefined)
|
|
588
|
+
return memo;
|
|
589
|
+
}
|
|
590
|
+
const sensitivityAtEntry = contextResolutions;
|
|
579
591
|
mapTypeDepth++;
|
|
580
592
|
try {
|
|
581
|
-
|
|
593
|
+
const mapped = mapTypeInner(type, ctx);
|
|
594
|
+
if (mapped !== null &&
|
|
595
|
+
memoKey !== null &&
|
|
596
|
+
topLevel &&
|
|
597
|
+
contextResolutions === sensitivityAtEntry &&
|
|
598
|
+
(ctx.canMemoizeType?.() ?? true)) {
|
|
599
|
+
ctx.typeMemo?.set(memoKey, mapped);
|
|
600
|
+
}
|
|
601
|
+
return mapped;
|
|
582
602
|
}
|
|
583
603
|
finally {
|
|
584
604
|
mapTypeDepth--;
|
|
@@ -1054,7 +1074,15 @@ function mapTypeInner(type, ctx) {
|
|
|
1054
1074
|
// INSTANTIATION's class (`Box%0`), registered on demand — the Lowerer
|
|
1055
1075
|
// hook owns the instance table (monomorphization by flow).
|
|
1056
1076
|
if (classDecl.typeParameters) {
|
|
1057
|
-
|
|
1077
|
+
const instance = ctx.genericClassInstance
|
|
1078
|
+
? ctx.genericClassInstance(classDecl, widened)
|
|
1079
|
+
: null;
|
|
1080
|
+
// Before the generic declaration's collection turn, the hook can only
|
|
1081
|
+
// return its family shell; after collection the same checker type names
|
|
1082
|
+
// a concrete registered instance. Never memoize either phase's answer.
|
|
1083
|
+
if (instance !== null)
|
|
1084
|
+
contextResolutions++;
|
|
1085
|
+
return instance;
|
|
1058
1086
|
}
|
|
1059
1087
|
return { kind: "object", className: classNamer(classDecl) };
|
|
1060
1088
|
}
|