@specy/x86 2.3.0 → 2.4.0

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/index.d.mts CHANGED
@@ -16,6 +16,12 @@ type MonacoError = {
16
16
  /** Project-relative source path when checking a virtual Project. */file?: string;
17
17
  lineIndex: number;
18
18
  column: number;
19
+ /**
20
+ * One-based and exclusive, so the squiggle covers the whole name the
21
+ * assembler complained about. Absent when the message named nothing that
22
+ * could be found in the line.
23
+ */
24
+ endColumn?: number;
19
25
  line: {
20
26
  line: string;
21
27
  line_index: number;
@@ -40,7 +46,9 @@ declare enum RegisterSize {
40
46
  Byte = 1,
41
47
  Word = 2,
42
48
  Long = 4,
43
- Double = 8
49
+ Double = 8,
50
+ /** 16 bytes, the width of an SSE register. */
51
+ Quad = 16
44
52
  }
45
53
  type ExecutionStep = {
46
54
  mutations: MutationOperation[];
@@ -387,15 +395,27 @@ declare function fasmDiagnostics(str: string): DiagnosticLine[];
387
395
  * the error itself.
388
396
  */
389
397
  declare function ldDiagnostics(str: string): DiagnosticLine[];
398
+ /** Where in a line a diagnostic belongs, in one-based columns. */
399
+ type DiagnosticSpan = {
400
+ column: number;
401
+ /**
402
+ * One-based and exclusive. Absent when nothing in the line could be
403
+ * identified, which leaves how much to underline to the caller.
404
+ */
405
+ endColumn?: number;
406
+ };
390
407
  /**
391
- * The one-based column a diagnostic belongs on. NASM reports a line and no
408
+ * Which part of a line a diagnostic belongs on. NASM reports a line and no
392
409
  * column, but it names the thing it is complaining about: `msg' in "symbol
393
410
  * `msg' not defined", `.data' in a section warning. Finding that name in the
394
- * line turns a whole-line squiggle into one under the mistake itself.
411
+ * line turns a whole-line squiggle into one under the mistake itself, and the
412
+ * name's own length is how far the squiggle runs.
395
413
  *
396
- * Falls back to the first column, which is what the caller would have used
397
- * anyway, so a message that names nothing findable is no worse off.
414
+ * Falls back to the first column and no extent, which is what the caller would
415
+ * have used anyway, so a message that names nothing findable is no worse off.
398
416
  */
417
+ declare function locateDiagnosticSpan(message: string, line: string, warningClass?: string): DiagnosticSpan;
418
+ /** The one-based column a diagnostic belongs on. */
399
419
  declare function locateDiagnosticColumn(message: string, line: string, warningClass?: string): number;
400
420
  //#endregion
401
421
  //#region src/wasm-types.d.ts
@@ -501,7 +521,9 @@ type BlinkenlibModule = {
501
521
  blinkenlibSetRegister(register: X86RegisterName, value: bigint): boolean;
502
522
  blinkenlibSetFlags(flags: number): void;
503
523
  blinkenlibSetStepRecording(enabled: boolean): void;
504
- blinkenlibGetRegisterSnapshot(): RegisterSnapshot;
524
+ blinkenlibGetRegisterSnapshot(): RegisterSnapshot; /** A copy of the packed FPU state block; empty when there is no machine. */
525
+ blinkenlibGetFpuState(): Uint8Array; /** Restores the whole packed FPU state block; false when there is no machine or the length is wrong. */
526
+ blinkenlibSetFpuState(bytes: Uint8Array | number[]): boolean;
505
527
  blinkenlibReadMemoryBytes(address: bigint, length: number): MemoryReadResult;
506
528
  blinkenlibWriteMemoryBytes(address: bigint, bytes: Uint8Array | number[]): MemoryWriteResult;
507
529
  blinkenlibGetDisassembly(): DisassemblySnapshot;
@@ -628,6 +650,26 @@ declare class BlinkRuntime {
628
650
  getRegisterSnapshot(): RegisterSnapshot;
629
651
  getRegister(register: keyof RegisterSnapshot['registers']): bigint;
630
652
  setRegister(register: keyof RegisterSnapshot['registers'], value: bigint): void;
653
+ /**
654
+ * A copy of the whole packed FPU state block: `xmm0..xmm15`, `mxcsr`, the
655
+ * x87 stack and its control, status and tag words. One bridge call reads
656
+ * the lot, so a per-step snapshot costs the same whatever the instruction
657
+ * touched. Before a program is loaded there is no machine, the bridge
658
+ * answers with an empty array, and the block reads as zeros.
659
+ *
660
+ * Any other length means the wasm and this package disagree about the
661
+ * layout, which would silently degrade every read to zeros, every step to
662
+ * "the FPU did not change" and every undo to writing a zeroed FPU file, so
663
+ * it throws instead.
664
+ */
665
+ getFpuStateRaw(): Uint8Array;
666
+ /**
667
+ * Restores a block read by `getFpuStateRaw()`. The write goes straight
668
+ * into the machine, so it is never recorded as a step of its own. A block
669
+ * of any other length is rejected here, before the bridge, so that a
670
+ * layout mistake does not read as a missing machine.
671
+ */
672
+ setFpuStateRaw(bytes: Uint8Array): void;
631
673
  setFlags(flags: bigint | number): void;
632
674
  setStepRecording(enabled: boolean): void;
633
675
  getPc(): bigint;
@@ -663,6 +705,115 @@ declare class BlinkRuntime {
663
705
  private tryReadSourceMap;
664
706
  }
665
707
  //#endregion
708
+ //#region src/fpu-state.d.ts
709
+ /**
710
+ * Decoding and encoding of the packed FPU state block that
711
+ * `blinkenlib_get_fpu_state()` copies out of Blink's machine and
712
+ * `blinkenlib_set_fpu_state()` copies back.
713
+ *
714
+ * The layout is documented once, authoritatively, in
715
+ * `libblink/blink/blinkenlib.h`; the offsets below mirror it and the two must
716
+ * move together. Everything here is pure: it takes bytes and returns values,
717
+ * so it can be unit tested without a machine and used both by the register
718
+ * panel and by the undo snapshot.
719
+ */
720
+ /** Byte offset of `xmm[16][16]` in the block. */
721
+ declare const X86_FPU_STATE_XMM_OFFSET = 0;
722
+ /** Byte offset of `mxcsr` in the block. */
723
+ declare const X86_FPU_STATE_MXCSR_OFFSET = 256;
724
+ /** Byte offset of the eight `st` doubles, in physical array order. */
725
+ declare const X86_FPU_STATE_ST_OFFSET = 260;
726
+ /** Byte offset of the x87 status word, which carries TOP in bits 11..13. */
727
+ declare const X86_FPU_STATE_SW_OFFSET = 324;
728
+ /** Byte offset of the x87 tag word. */
729
+ declare const X86_FPU_STATE_TW_OFFSET = 328;
730
+ /** Byte offset of the last x87 opcode, carried through untouched. */
731
+ declare const X86_FPU_STATE_OP_OFFSET = 332;
732
+ /** Byte offset of the x87 control word. */
733
+ declare const X86_FPU_STATE_CW_OFFSET = 336;
734
+ /** Byte offset of the last x87 instruction pointer, carried through untouched. */
735
+ declare const X86_FPU_STATE_IP_OFFSET = 340;
736
+ /** Byte offset of the last x87 data pointer, carried through untouched. */
737
+ declare const X86_FPU_STATE_DP_OFFSET = 348;
738
+ /** Total size in bytes of the block, matching `BLINKENLIB_FPU_STATE_SIZE`. */
739
+ declare const X86_FPU_STATE_SIZE = 356;
740
+ /**
741
+ * The SSE register file in the order `decodeFpuState` returns it: `xmm[0]`
742
+ * through `xmm[15]`, then `mxcsr`.
743
+ */
744
+ declare const X86_SSE_REGISTERS: readonly ["xmm0", "xmm1", "xmm2", "xmm3", "xmm4", "xmm5", "xmm6", "xmm7", "xmm8", "xmm9", "xmm10", "xmm11", "xmm12", "xmm13", "xmm14", "xmm15", "mxcsr"];
745
+ /**
746
+ * The x87 register file in the order `decodeFpuState` returns it: the stack
747
+ * `st[0]` (the top) through `st[7]`, then the control, status and tag words.
748
+ */
749
+ declare const X86_X87_REGISTERS: readonly ["st0", "st1", "st2", "st3", "st4", "st5", "st6", "st7", "fctrl", "fstat", "ftag"];
750
+ type X86SseRegisterName = (typeof X86_SSE_REGISTERS)[number];
751
+ type X86X87RegisterName = (typeof X86_X87_REGISTERS)[number];
752
+ type X86FpuState = {
753
+ /**
754
+ * `xmm0` through `xmm15` as unsigned 128-bit values. Lane 0, the lowest
755
+ * byte in memory, is the least significant part of the value.
756
+ */
757
+ xmm: bigint[]; /** The SSE control and status register. */
758
+ mxcsr: number;
759
+ /**
760
+ * The x87 stack in LOGICAL order: `st[0]` is `st(0)`, the top of the
761
+ * stack, whatever TOP happens to be. Blink keeps the stack as 64-bit
762
+ * doubles rather than 80-bit extended values, so these are exactly the
763
+ * doubles the machine holds.
764
+ */
765
+ st: number[]; /** The 16-bit x87 control word. */
766
+ fctrl: number; /** The 16-bit x87 status word. TOP lives in bits 11..13. */
767
+ fstat: number;
768
+ /**
769
+ * The 16-bit x87 tag word, two bits per PHYSICAL stack slot: the tag for
770
+ * logical `st[i]` is bits `2 * ((i + TOP) & 7)` of this word, with
771
+ * `TOP = (fstat >> 11) & 7`. A tag of `0b11` means the slot is empty and
772
+ * the matching `st[i]` value is meaningless - Blink leaves whatever the
773
+ * slot last held there, which commonly reads back as a NaN.
774
+ * `readLogicalStTags()` does that rotation for you.
775
+ */
776
+ ftag: number;
777
+ };
778
+ /**
779
+ * Reads the block into named values, rotating the x87 stack from the physical
780
+ * array order the machine holds into the logical `st(0)..st(7)` order a
781
+ * programmer reads.
782
+ */
783
+ declare function decodeFpuState(raw: Uint8Array): X86FpuState;
784
+ /**
785
+ * Writes `state` over a copy of `base`, inverting the rotation `decodeFpuState`
786
+ * applied: the logical stack goes back to physical slots under the TOP that
787
+ * `state.fstat` carries. `op`, `ip` and `dp` are not part of `X86FpuState` and
788
+ * are carried through from `base` untouched, as are the high halves of the
789
+ * control, status and tag words, so `encodeFpuState(decodeFpuState(raw), raw)`
790
+ * reproduces `raw` byte for byte.
791
+ */
792
+ declare function encodeFpuState(state: X86FpuState, base: Uint8Array): Uint8Array;
793
+ /**
794
+ * The eight x87 stack slots as raw IEEE-754 binary64 bit patterns, in LOGICAL
795
+ * order. Undo diffing compares bit patterns rather than the decoded doubles so
796
+ * that a NaN compares equal to itself and never looks like a write.
797
+ */
798
+ declare function readLogicalStBits(raw: Uint8Array): bigint[];
799
+ /**
800
+ * The two-bit x87 tag of each stack slot, in LOGICAL order to match
801
+ * `X86FpuState.st`: `readLogicalStTags(raw)[0]` tags `st(0)`. `0b00` is a
802
+ * valid value, `0b01` zero, `0b10` a special (NaN or infinity) and `0b11` an
803
+ * empty slot whose `st` value must not be shown as a number.
804
+ */
805
+ declare function readLogicalStTags(raw: Uint8Array): number[];
806
+ /** True when two blocks hold the same bytes. The common step changes nothing, and this is all it costs. */
807
+ declare function fpuStateBlocksEqual(a: Uint8Array, b: Uint8Array): boolean;
808
+ /**
809
+ * The block the panel shows before a program is built: zeros everywhere except
810
+ * the tag word, which reads `0xffff`, every slot empty. That is what a reset
811
+ * x87 holds - `FpuInit()` in blink/fpu.c sets `tw = -1` - and a zero tag word
812
+ * would instead claim all eight slots hold valid `0.0` values, so the panel
813
+ * would render a full stack for a machine that does not exist yet.
814
+ */
815
+ declare function emptyFpuStateBlock(): Uint8Array;
816
+ //#endregion
666
817
  //#region src/project.d.ts
667
818
  declare const X86_PROJECT_ROOT = "/__x86_project";
668
819
  declare function validateX86Project(project: X86Project): void;
@@ -746,6 +897,28 @@ declare class X86Emulator extends BaseEmulator<BlinkRuntime, X86RegisterName, X8
746
897
  getRegisterValuesRecord(): Record<X86RegisterName, bigint>;
747
898
  getRegisterValue(register: X86RegisterName, size?: RegisterSize): bigint;
748
899
  setRegisterValue(register: X86RegisterName, value: bigint, size?: RegisterSize): void;
900
+ /**
901
+ * The SSE and x87 register files: `xmm0..xmm15` and `mxcsr`, and the x87
902
+ * stack in logical order with its control, status and tag words. Read as
903
+ * one block through a single bridge call. `X86_SSE_REGISTERS` and
904
+ * `X86_X87_REGISTERS` name the values in order.
905
+ */
906
+ getFpuState(): X86FpuState;
907
+ /**
908
+ * Presets the SSE and x87 register files. The write goes straight into the
909
+ * machine, like `setRegisterValue`, so it never becomes an undo entry; the
910
+ * x87 op, instruction and data pointers are left as the machine had them.
911
+ *
912
+ * Like the other setters it does NOT resume the machine: presetting a
913
+ * register on a terminated or paused program must not erase why it
914
+ * stopped. The next step resumes a paused machine on its own.
915
+ *
916
+ * A preset made before the FIRST step does not survive it: the first step
917
+ * starts the program, which builds the machine afresh, so the values are
918
+ * wiped. This is exactly how `setRegisterValue` behaves; a caller that
919
+ * wants to preset state must step once first.
920
+ */
921
+ setFpuState(state: X86FpuState): void;
749
922
  hasTerminated(): boolean;
750
923
  run(limit?: number, breakpoints?: X86Breakpoint[]): Promise<EmulatorStatus>;
751
924
  private validateRunLimit;
@@ -757,11 +930,23 @@ declare class X86Emulator extends BaseEmulator<BlinkRuntime, X86RegisterName, X8
757
930
  private prepareOneInstructionRun;
758
931
  private captureStep;
759
932
  private recordStep;
933
+ /**
934
+ * Notes the SSE and x87 registers the step wrote. Most instructions touch
935
+ * none of them, and that case costs one byte comparison: only a block that
936
+ * actually differs is decoded and diffed register by register.
937
+ *
938
+ * The block carries three fields `X86FpuState` does not name - the last
939
+ * x87 opcode and the instruction and data pointers - so a step that moves
940
+ * only those decodes both blocks and then names no register. Undo stays
941
+ * exact either way, because it restores the whole block rather than
942
+ * replaying the mutations.
943
+ */
944
+ private recordFpuMutations;
760
945
  private recordMemoryMutations;
761
946
  private recordControlFlowMutation;
762
947
  private emit;
763
948
  }
764
949
  declare function createX86Emulator(options?: X86EmulatorOptions): Promise<X86Emulator>;
765
950
  //#endregion
766
- export { AssemblerId, AssemblerMode, BaseEmulator, Binary, BlinkRunOptions, BlinkRuntime, BlinkRuntimeCallbacks, BlinkRuntimeOptions, BlinkState, BlinkenlibModule, BlinkenlibModuleOptions, CompilationError, DEFAULT_ASSEMBLER_ID, DiagnosticLine, DiagnosticSeverity, DiagnosticsParser, DisassemblySnapshot, EmscriptenFS, EmulatorConfig, EmulatorDecoration, EmulatorStatus, ExecutionStep, Instruction, LinkerBinary, MaybePromise, MemoryReadResult, MemoryWriteResult, MonacoError, MutationOperation, NativeControlFlowKind, NativeInstruction, NativeMemoryWrite, NativeRunControls, NativeRunStop, NativeRunStopKind, NativeStepInfo, NativeSymbol, RegisterHex, RegisterSize, RegisterSnapshot, ResourceSource, StackFrame, StatusRegister, StopReason, StopReasonKind, X86Breakpoint, X86CompilationDiagnostic, X86CompileResult, X86Emulator, X86EmulatorEventHandler, X86EmulatorEventMap, X86EmulatorEventName, X86EmulatorOptions, X86Project, X86ProjectFile, X86RegisterName, X86SourceLocation, X86_PROJECT_ROOT, X86_REGISTER_NAMES, assemblers, createX86Emulator, defaultResourceUrl, fasmDiagnostics, gnuDiagnostics, isNodeRuntime, ldDiagnostics, locateDiagnosticColumn, nasmDiagnostics, observeCallbackResult, readResourceBytes, selectX86Source, stageX86Project, toResourceUrl, validateX86Project, x86ProjectSourcePath, x86ProjectText };
951
+ export { AssemblerId, AssemblerMode, BaseEmulator, Binary, BlinkRunOptions, BlinkRuntime, BlinkRuntimeCallbacks, BlinkRuntimeOptions, BlinkState, BlinkenlibModule, BlinkenlibModuleOptions, CompilationError, DEFAULT_ASSEMBLER_ID, DiagnosticLine, DiagnosticSeverity, DiagnosticSpan, DiagnosticsParser, DisassemblySnapshot, EmscriptenFS, EmulatorConfig, EmulatorDecoration, EmulatorStatus, ExecutionStep, Instruction, LinkerBinary, MaybePromise, MemoryReadResult, MemoryWriteResult, MonacoError, MutationOperation, NativeControlFlowKind, NativeInstruction, NativeMemoryWrite, NativeRunControls, NativeRunStop, NativeRunStopKind, NativeStepInfo, NativeSymbol, RegisterHex, RegisterSize, RegisterSnapshot, ResourceSource, StackFrame, StatusRegister, StopReason, StopReasonKind, X86Breakpoint, X86CompilationDiagnostic, X86CompileResult, X86Emulator, X86EmulatorEventHandler, X86EmulatorEventMap, X86EmulatorEventName, X86EmulatorOptions, X86FpuState, X86Project, X86ProjectFile, X86RegisterName, X86SourceLocation, X86SseRegisterName, X86X87RegisterName, X86_FPU_STATE_CW_OFFSET, X86_FPU_STATE_DP_OFFSET, X86_FPU_STATE_IP_OFFSET, X86_FPU_STATE_MXCSR_OFFSET, X86_FPU_STATE_OP_OFFSET, X86_FPU_STATE_SIZE, X86_FPU_STATE_ST_OFFSET, X86_FPU_STATE_SW_OFFSET, X86_FPU_STATE_TW_OFFSET, X86_FPU_STATE_XMM_OFFSET, X86_PROJECT_ROOT, X86_REGISTER_NAMES, X86_SSE_REGISTERS, X86_X87_REGISTERS, assemblers, createX86Emulator, decodeFpuState, defaultResourceUrl, emptyFpuStateBlock, encodeFpuState, fasmDiagnostics, fpuStateBlocksEqual, gnuDiagnostics, isNodeRuntime, ldDiagnostics, locateDiagnosticColumn, locateDiagnosticSpan, nasmDiagnostics, observeCallbackResult, readLogicalStBits, readLogicalStTags, readResourceBytes, selectX86Source, stageX86Project, toResourceUrl, validateX86Project, x86ProjectSourcePath, x86ProjectText };
767
952
  //# sourceMappingURL=index.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.mts","names":[],"sources":["../src/resources.ts","../src/interface.ts","../src/callbacks.ts","../src/types.ts","../src/wasm-assembler.ts","../src/assemblers.ts","../src/wasm-types.ts","../src/blink-runtime.ts","../src/project.ts","../src/x86-emulator.ts"],"mappings":"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"}
1
+ {"version":3,"file":"index.d.mts","names":[],"sources":["../src/resources.ts","../src/interface.ts","../src/callbacks.ts","../src/types.ts","../src/wasm-assembler.ts","../src/assemblers.ts","../src/wasm-types.ts","../src/blink-runtime.ts","../src/fpu-state.ts","../src/project.ts","../src/x86-emulator.ts"],"mappings":"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"}