objdiff-wasm 3.1.1 → 3.2.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.
|
@@ -28,6 +28,32 @@ export interface SymbolFlags {
|
|
|
28
28
|
sizeInferred?: boolean,
|
|
29
29
|
ignored?: boolean,
|
|
30
30
|
}
|
|
31
|
+
export interface DiffResult {
|
|
32
|
+
left?: ObjectDiff,
|
|
33
|
+
right?: ObjectDiff,
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* # Variants
|
|
37
|
+
*
|
|
38
|
+
* ## `"target"`
|
|
39
|
+
*
|
|
40
|
+
* ## `"base"`
|
|
41
|
+
*/
|
|
42
|
+
export type DiffSide = 'target' | 'base';
|
|
43
|
+
/**
|
|
44
|
+
* # Variants
|
|
45
|
+
*
|
|
46
|
+
* ## `"unknown"`
|
|
47
|
+
*
|
|
48
|
+
* ## `"code"`
|
|
49
|
+
*
|
|
50
|
+
* ## `"data"`
|
|
51
|
+
*
|
|
52
|
+
* ## `"bss"`
|
|
53
|
+
*
|
|
54
|
+
* ## `"common"`
|
|
55
|
+
*/
|
|
56
|
+
export type SectionKind = 'unknown' | 'code' | 'data' | 'bss' | 'common';
|
|
31
57
|
export interface SymbolInfo {
|
|
32
58
|
id: SymbolRef,
|
|
33
59
|
name: string,
|
|
@@ -37,22 +63,11 @@ export interface SymbolInfo {
|
|
|
37
63
|
kind: SymbolKind,
|
|
38
64
|
section?: number,
|
|
39
65
|
sectionName?: string,
|
|
66
|
+
sectionKind: SectionKind,
|
|
40
67
|
flags: SymbolFlags,
|
|
41
68
|
align?: number,
|
|
42
69
|
virtualAddress?: bigint,
|
|
43
70
|
}
|
|
44
|
-
export interface DiffResult {
|
|
45
|
-
left?: ObjectDiff,
|
|
46
|
-
right?: ObjectDiff,
|
|
47
|
-
}
|
|
48
|
-
/**
|
|
49
|
-
* # Variants
|
|
50
|
-
*
|
|
51
|
-
* ## `"target"`
|
|
52
|
-
*
|
|
53
|
-
* ## `"base"`
|
|
54
|
-
*/
|
|
55
|
-
export type DiffSide = 'target' | 'base';
|
|
56
71
|
|
|
57
72
|
export class DiffConfig {
|
|
58
73
|
constructor()
|
|
@@ -6,11 +6,15 @@ export function symbolContext(diff: ObjectDiff, symbol: SymbolRef): Array<Contex
|
|
|
6
6
|
export function symbolHover(diff: ObjectDiff, symbol: SymbolRef): Array<HoverItem>;
|
|
7
7
|
export function instructionContext(diff: ObjectDiff, symbol: SymbolRef, rowIndex: number, config: DiffConfig): Array<ContextItem>;
|
|
8
8
|
export function instructionHover(diff: ObjectDiff, symbol: SymbolRef, rowIndex: number, config: DiffConfig): Array<HoverItem>;
|
|
9
|
+
export function displayDataRow(diff: ObjectDiff, symbol: SymbolRef, rowIndex: number): DataDiffRow;
|
|
10
|
+
export function dataContext(diff: ObjectDiff, symbol: SymbolRef, rowIndex: number): Array<ContextItem>;
|
|
11
|
+
export function dataHover(diff: ObjectDiff, symbol: SymbolRef, rowIndex: number): Array<HoverItem>;
|
|
9
12
|
export type Object = import('./objdiff-core-diff.js').Object;
|
|
10
13
|
export type ObjectDiff = import('./objdiff-core-diff.js').ObjectDiff;
|
|
11
14
|
export type DiffConfig = import('./objdiff-core-diff.js').DiffConfig;
|
|
12
15
|
export type SymbolInfo = import('./objdiff-core-diff.js').SymbolInfo;
|
|
13
16
|
export type SymbolRef = import('./objdiff-core-diff.js').SymbolRef;
|
|
17
|
+
export type SectionKind = import('./objdiff-core-diff.js').SectionKind;
|
|
14
18
|
export interface DisplayConfig {
|
|
15
19
|
showHiddenSymbols: boolean,
|
|
16
20
|
showMappedSymbols: boolean,
|
|
@@ -26,6 +30,7 @@ export interface SectionDisplay {
|
|
|
26
30
|
size: bigint,
|
|
27
31
|
matchPercent?: number,
|
|
28
32
|
symbols: Uint32Array,
|
|
33
|
+
kind: SectionKind,
|
|
29
34
|
}
|
|
30
35
|
export interface SymbolDisplay {
|
|
31
36
|
info: SymbolInfo,
|
|
@@ -197,3 +202,30 @@ export interface InstructionDiffRow {
|
|
|
197
202
|
segments: Array<DiffTextSegment>,
|
|
198
203
|
diffKind: InstructionDiffKind,
|
|
199
204
|
}
|
|
205
|
+
/**
|
|
206
|
+
* # Variants
|
|
207
|
+
*
|
|
208
|
+
* ## `"none"`
|
|
209
|
+
*
|
|
210
|
+
* ## `"replace"`
|
|
211
|
+
*
|
|
212
|
+
* ## `"delete"`
|
|
213
|
+
*
|
|
214
|
+
* ## `"insert"`
|
|
215
|
+
*/
|
|
216
|
+
export type DataDiffKind = 'none' | 'replace' | 'delete' | 'insert';
|
|
217
|
+
export interface DataDiff {
|
|
218
|
+
data: Uint8Array,
|
|
219
|
+
size: number,
|
|
220
|
+
kind: DataDiffKind,
|
|
221
|
+
}
|
|
222
|
+
export interface DataRelocationDiff {
|
|
223
|
+
address: bigint,
|
|
224
|
+
size: number,
|
|
225
|
+
kind: DataDiffKind,
|
|
226
|
+
}
|
|
227
|
+
export interface DataDiffRow {
|
|
228
|
+
address: bigint,
|
|
229
|
+
segments: Array<DataDiff>,
|
|
230
|
+
relocations: Array<DataRelocationDiff>,
|
|
231
|
+
}
|
package/dist/objdiff.core.wasm
CHANGED
|
Binary file
|
package/dist/objdiff.js
CHANGED
|
@@ -119,6 +119,7 @@ let postReturn5;
|
|
|
119
119
|
let postReturn6;
|
|
120
120
|
let postReturn7;
|
|
121
121
|
let postReturn8;
|
|
122
|
+
let postReturn9;
|
|
122
123
|
const handleTable0 = [
|
|
123
124
|
T_FLAG,
|
|
124
125
|
0
|
|
@@ -395,10 +396,10 @@ ObjectDiff.prototype.findSymbol = function(arg1, arg2) {
|
|
|
395
396
|
variant4_2 = len3;
|
|
396
397
|
}
|
|
397
398
|
const ret = diffMethodObjectDiffFindSymbol(handle0, ptr2, len2, variant4_0, variant4_1, variant4_2);
|
|
398
|
-
let
|
|
399
|
+
let variant16;
|
|
399
400
|
switch(dataView(memory0).getUint8(ret + 0, true)){
|
|
400
401
|
case 0:
|
|
401
|
-
|
|
402
|
+
variant16 = void 0;
|
|
402
403
|
break;
|
|
403
404
|
case 1:
|
|
404
405
|
{
|
|
@@ -461,40 +462,60 @@ ObjectDiff.prototype.findSymbol = function(arg1, arg2) {
|
|
|
461
462
|
default:
|
|
462
463
|
throw new TypeError('invalid variant discriminant for option');
|
|
463
464
|
}
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
465
|
+
let enum12;
|
|
466
|
+
switch(dataView(memory0).getUint8(ret + 72, true)){
|
|
467
|
+
case 0:
|
|
468
|
+
enum12 = 'unknown';
|
|
469
|
+
break;
|
|
470
|
+
case 1:
|
|
471
|
+
enum12 = 'code';
|
|
472
|
+
break;
|
|
473
|
+
case 2:
|
|
474
|
+
enum12 = 'data';
|
|
475
|
+
break;
|
|
476
|
+
case 3:
|
|
477
|
+
enum12 = 'bss';
|
|
478
|
+
break;
|
|
479
|
+
case 4:
|
|
480
|
+
enum12 = 'common';
|
|
481
|
+
break;
|
|
482
|
+
default:
|
|
483
|
+
throw new TypeError('invalid discriminant specified for SectionKind');
|
|
484
|
+
}
|
|
485
|
+
if ((4294967040 & dataView(memory0).getUint8(ret + 73, true)) !== 0) throw new TypeError('flags have extraneous bits set');
|
|
486
|
+
var flags13 = {
|
|
487
|
+
global: Boolean(1 & dataView(memory0).getUint8(ret + 73, true)),
|
|
488
|
+
local: Boolean(2 & dataView(memory0).getUint8(ret + 73, true)),
|
|
489
|
+
weak: Boolean(4 & dataView(memory0).getUint8(ret + 73, true)),
|
|
490
|
+
common: Boolean(8 & dataView(memory0).getUint8(ret + 73, true)),
|
|
491
|
+
hidden: Boolean(16 & dataView(memory0).getUint8(ret + 73, true)),
|
|
492
|
+
hasExtra: Boolean(32 & dataView(memory0).getUint8(ret + 73, true)),
|
|
493
|
+
sizeInferred: Boolean(64 & dataView(memory0).getUint8(ret + 73, true)),
|
|
494
|
+
ignored: Boolean(128 & dataView(memory0).getUint8(ret + 73, true))
|
|
474
495
|
};
|
|
475
|
-
let
|
|
496
|
+
let variant14;
|
|
476
497
|
switch(dataView(memory0).getUint8(ret + 76, true)){
|
|
477
498
|
case 0:
|
|
478
|
-
|
|
499
|
+
variant14 = void 0;
|
|
479
500
|
break;
|
|
480
501
|
case 1:
|
|
481
|
-
|
|
502
|
+
variant14 = dataView(memory0).getInt32(ret + 80, true) >>> 0;
|
|
482
503
|
break;
|
|
483
504
|
default:
|
|
484
505
|
throw new TypeError('invalid variant discriminant for option');
|
|
485
506
|
}
|
|
486
|
-
let
|
|
507
|
+
let variant15;
|
|
487
508
|
switch(dataView(memory0).getUint8(ret + 88, true)){
|
|
488
509
|
case 0:
|
|
489
|
-
|
|
510
|
+
variant15 = void 0;
|
|
490
511
|
break;
|
|
491
512
|
case 1:
|
|
492
|
-
|
|
513
|
+
variant15 = BigInt.asUintN(64, dataView(memory0).getBigInt64(ret + 96, true));
|
|
493
514
|
break;
|
|
494
515
|
default:
|
|
495
516
|
throw new TypeError('invalid variant discriminant for option');
|
|
496
517
|
}
|
|
497
|
-
|
|
518
|
+
variant16 = {
|
|
498
519
|
id: dataView(memory0).getInt32(ret + 8, true) >>> 0,
|
|
499
520
|
name: result5,
|
|
500
521
|
demangledName: variant7,
|
|
@@ -503,16 +524,17 @@ ObjectDiff.prototype.findSymbol = function(arg1, arg2) {
|
|
|
503
524
|
kind: enum8,
|
|
504
525
|
section: variant9,
|
|
505
526
|
sectionName: variant11,
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
527
|
+
sectionKind: enum12,
|
|
528
|
+
flags: flags13,
|
|
529
|
+
align: variant14,
|
|
530
|
+
virtualAddress: variant15
|
|
509
531
|
};
|
|
510
532
|
break;
|
|
511
533
|
}
|
|
512
534
|
default:
|
|
513
535
|
throw new TypeError('invalid variant discriminant for option');
|
|
514
536
|
}
|
|
515
|
-
const retVal =
|
|
537
|
+
const retVal = variant16;
|
|
516
538
|
postReturn3(ret);
|
|
517
539
|
return retVal;
|
|
518
540
|
};
|
|
@@ -522,10 +544,10 @@ ObjectDiff.prototype.getSymbol = function(arg1) {
|
|
|
522
544
|
if (!handle1 || (handleTable0[(handle1 << 1) + 1] & T_FLAG) === 0) throw new TypeError('Resource error: Not a valid "ObjectDiff" resource.');
|
|
523
545
|
var handle0 = handleTable0[(handle1 << 1) + 1] & ~T_FLAG;
|
|
524
546
|
const ret = diffMethodObjectDiffGetSymbol(handle0, toUint32(arg1));
|
|
525
|
-
let
|
|
547
|
+
let variant13;
|
|
526
548
|
switch(dataView(memory0).getUint8(ret + 0, true)){
|
|
527
549
|
case 0:
|
|
528
|
-
|
|
550
|
+
variant13 = void 0;
|
|
529
551
|
break;
|
|
530
552
|
case 1:
|
|
531
553
|
{
|
|
@@ -588,40 +610,60 @@ ObjectDiff.prototype.getSymbol = function(arg1) {
|
|
|
588
610
|
default:
|
|
589
611
|
throw new TypeError('invalid variant discriminant for option');
|
|
590
612
|
}
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
|
|
613
|
+
let enum9;
|
|
614
|
+
switch(dataView(memory0).getUint8(ret + 72, true)){
|
|
615
|
+
case 0:
|
|
616
|
+
enum9 = 'unknown';
|
|
617
|
+
break;
|
|
618
|
+
case 1:
|
|
619
|
+
enum9 = 'code';
|
|
620
|
+
break;
|
|
621
|
+
case 2:
|
|
622
|
+
enum9 = 'data';
|
|
623
|
+
break;
|
|
624
|
+
case 3:
|
|
625
|
+
enum9 = 'bss';
|
|
626
|
+
break;
|
|
627
|
+
case 4:
|
|
628
|
+
enum9 = 'common';
|
|
629
|
+
break;
|
|
630
|
+
default:
|
|
631
|
+
throw new TypeError('invalid discriminant specified for SectionKind');
|
|
632
|
+
}
|
|
633
|
+
if ((4294967040 & dataView(memory0).getUint8(ret + 73, true)) !== 0) throw new TypeError('flags have extraneous bits set');
|
|
634
|
+
var flags10 = {
|
|
635
|
+
global: Boolean(1 & dataView(memory0).getUint8(ret + 73, true)),
|
|
636
|
+
local: Boolean(2 & dataView(memory0).getUint8(ret + 73, true)),
|
|
637
|
+
weak: Boolean(4 & dataView(memory0).getUint8(ret + 73, true)),
|
|
638
|
+
common: Boolean(8 & dataView(memory0).getUint8(ret + 73, true)),
|
|
639
|
+
hidden: Boolean(16 & dataView(memory0).getUint8(ret + 73, true)),
|
|
640
|
+
hasExtra: Boolean(32 & dataView(memory0).getUint8(ret + 73, true)),
|
|
641
|
+
sizeInferred: Boolean(64 & dataView(memory0).getUint8(ret + 73, true)),
|
|
642
|
+
ignored: Boolean(128 & dataView(memory0).getUint8(ret + 73, true))
|
|
601
643
|
};
|
|
602
|
-
let
|
|
644
|
+
let variant11;
|
|
603
645
|
switch(dataView(memory0).getUint8(ret + 76, true)){
|
|
604
646
|
case 0:
|
|
605
|
-
|
|
647
|
+
variant11 = void 0;
|
|
606
648
|
break;
|
|
607
649
|
case 1:
|
|
608
|
-
|
|
650
|
+
variant11 = dataView(memory0).getInt32(ret + 80, true) >>> 0;
|
|
609
651
|
break;
|
|
610
652
|
default:
|
|
611
653
|
throw new TypeError('invalid variant discriminant for option');
|
|
612
654
|
}
|
|
613
|
-
let
|
|
655
|
+
let variant12;
|
|
614
656
|
switch(dataView(memory0).getUint8(ret + 88, true)){
|
|
615
657
|
case 0:
|
|
616
|
-
|
|
658
|
+
variant12 = void 0;
|
|
617
659
|
break;
|
|
618
660
|
case 1:
|
|
619
|
-
|
|
661
|
+
variant12 = BigInt.asUintN(64, dataView(memory0).getBigInt64(ret + 96, true));
|
|
620
662
|
break;
|
|
621
663
|
default:
|
|
622
664
|
throw new TypeError('invalid variant discriminant for option');
|
|
623
665
|
}
|
|
624
|
-
|
|
666
|
+
variant13 = {
|
|
625
667
|
id: dataView(memory0).getInt32(ret + 8, true) >>> 0,
|
|
626
668
|
name: result2,
|
|
627
669
|
demangledName: variant4,
|
|
@@ -630,16 +672,17 @@ ObjectDiff.prototype.getSymbol = function(arg1) {
|
|
|
630
672
|
kind: enum5,
|
|
631
673
|
section: variant6,
|
|
632
674
|
sectionName: variant8,
|
|
633
|
-
|
|
634
|
-
|
|
635
|
-
|
|
675
|
+
sectionKind: enum9,
|
|
676
|
+
flags: flags10,
|
|
677
|
+
align: variant11,
|
|
678
|
+
virtualAddress: variant12
|
|
636
679
|
};
|
|
637
680
|
break;
|
|
638
681
|
}
|
|
639
682
|
default:
|
|
640
683
|
throw new TypeError('invalid variant discriminant for option');
|
|
641
684
|
}
|
|
642
|
-
const retVal =
|
|
685
|
+
const retVal = variant13;
|
|
643
686
|
postReturn3(ret);
|
|
644
687
|
return retVal;
|
|
645
688
|
};
|
|
@@ -847,11 +890,11 @@ function displaySections(arg0, arg1, arg2) {
|
|
|
847
890
|
}
|
|
848
891
|
var { showHiddenSymbols: v6_0, showMappedSymbols: v6_1, reverseFnOrder: v6_2 } = arg2;
|
|
849
892
|
const ret = displayDisplaySections(handle0, variant4_0, variant4_1, variant4_2, variant5_0, variant5_1, v6_0 ? 1 : 0, v6_1 ? 1 : 0, v6_2 ? 1 : 0);
|
|
850
|
-
var
|
|
851
|
-
var
|
|
852
|
-
var
|
|
853
|
-
for(let i = 0; i <
|
|
854
|
-
const base =
|
|
893
|
+
var len12 = dataView(memory0).getInt32(ret + 4, true);
|
|
894
|
+
var base12 = dataView(memory0).getInt32(ret + 0, true);
|
|
895
|
+
var result12 = [];
|
|
896
|
+
for(let i = 0; i < len12; i++){
|
|
897
|
+
const base = base12 + 48 * i;
|
|
855
898
|
var ptr7 = dataView(memory0).getInt32(base + 0, true);
|
|
856
899
|
var len7 = dataView(memory0).getInt32(base + 4, true);
|
|
857
900
|
var result7 = utf8Decoder.decode(new Uint8Array(memory0.buffer, ptr7, len7));
|
|
@@ -872,15 +915,36 @@ function displaySections(arg0, arg1, arg2) {
|
|
|
872
915
|
var ptr10 = dataView(memory0).getInt32(base + 32, true);
|
|
873
916
|
var len10 = dataView(memory0).getInt32(base + 36, true);
|
|
874
917
|
var result10 = new Uint32Array(memory0.buffer.slice(ptr10, ptr10 + 4 * len10));
|
|
875
|
-
|
|
918
|
+
let enum11;
|
|
919
|
+
switch(dataView(memory0).getUint8(base + 40, true)){
|
|
920
|
+
case 0:
|
|
921
|
+
enum11 = 'unknown';
|
|
922
|
+
break;
|
|
923
|
+
case 1:
|
|
924
|
+
enum11 = 'code';
|
|
925
|
+
break;
|
|
926
|
+
case 2:
|
|
927
|
+
enum11 = 'data';
|
|
928
|
+
break;
|
|
929
|
+
case 3:
|
|
930
|
+
enum11 = 'bss';
|
|
931
|
+
break;
|
|
932
|
+
case 4:
|
|
933
|
+
enum11 = 'common';
|
|
934
|
+
break;
|
|
935
|
+
default:
|
|
936
|
+
throw new TypeError('invalid discriminant specified for SectionKind');
|
|
937
|
+
}
|
|
938
|
+
result12.push({
|
|
876
939
|
id: result7,
|
|
877
940
|
name: result8,
|
|
878
941
|
size: BigInt.asUintN(64, dataView(memory0).getBigInt64(base + 16, true)),
|
|
879
942
|
matchPercent: variant9,
|
|
880
|
-
symbols: result10
|
|
943
|
+
symbols: result10,
|
|
944
|
+
kind: enum11
|
|
881
945
|
});
|
|
882
946
|
}
|
|
883
|
-
const retVal =
|
|
947
|
+
const retVal = result12;
|
|
884
948
|
postReturn4(ret);
|
|
885
949
|
return retVal;
|
|
886
950
|
}
|
|
@@ -949,68 +1013,88 @@ function displaySymbol(arg0, arg1) {
|
|
|
949
1013
|
default:
|
|
950
1014
|
throw new TypeError('invalid variant discriminant for option');
|
|
951
1015
|
}
|
|
952
|
-
|
|
953
|
-
|
|
954
|
-
global: Boolean(1 & dataView(memory0).getUint8(ret + 64, true)),
|
|
955
|
-
local: Boolean(2 & dataView(memory0).getUint8(ret + 64, true)),
|
|
956
|
-
weak: Boolean(4 & dataView(memory0).getUint8(ret + 64, true)),
|
|
957
|
-
common: Boolean(8 & dataView(memory0).getUint8(ret + 64, true)),
|
|
958
|
-
hidden: Boolean(16 & dataView(memory0).getUint8(ret + 64, true)),
|
|
959
|
-
hasExtra: Boolean(32 & dataView(memory0).getUint8(ret + 64, true)),
|
|
960
|
-
sizeInferred: Boolean(64 & dataView(memory0).getUint8(ret + 64, true)),
|
|
961
|
-
ignored: Boolean(128 & dataView(memory0).getUint8(ret + 64, true))
|
|
962
|
-
};
|
|
963
|
-
let variant10;
|
|
964
|
-
switch(dataView(memory0).getUint8(ret + 68, true)){
|
|
1016
|
+
let enum9;
|
|
1017
|
+
switch(dataView(memory0).getUint8(ret + 64, true)){
|
|
965
1018
|
case 0:
|
|
966
|
-
|
|
1019
|
+
enum9 = 'unknown';
|
|
967
1020
|
break;
|
|
968
1021
|
case 1:
|
|
969
|
-
|
|
1022
|
+
enum9 = 'code';
|
|
1023
|
+
break;
|
|
1024
|
+
case 2:
|
|
1025
|
+
enum9 = 'data';
|
|
1026
|
+
break;
|
|
1027
|
+
case 3:
|
|
1028
|
+
enum9 = 'bss';
|
|
1029
|
+
break;
|
|
1030
|
+
case 4:
|
|
1031
|
+
enum9 = 'common';
|
|
970
1032
|
break;
|
|
971
1033
|
default:
|
|
972
|
-
throw new TypeError('invalid
|
|
1034
|
+
throw new TypeError('invalid discriminant specified for SectionKind');
|
|
973
1035
|
}
|
|
1036
|
+
if ((4294967040 & dataView(memory0).getUint8(ret + 65, true)) !== 0) throw new TypeError('flags have extraneous bits set');
|
|
1037
|
+
var flags10 = {
|
|
1038
|
+
global: Boolean(1 & dataView(memory0).getUint8(ret + 65, true)),
|
|
1039
|
+
local: Boolean(2 & dataView(memory0).getUint8(ret + 65, true)),
|
|
1040
|
+
weak: Boolean(4 & dataView(memory0).getUint8(ret + 65, true)),
|
|
1041
|
+
common: Boolean(8 & dataView(memory0).getUint8(ret + 65, true)),
|
|
1042
|
+
hidden: Boolean(16 & dataView(memory0).getUint8(ret + 65, true)),
|
|
1043
|
+
hasExtra: Boolean(32 & dataView(memory0).getUint8(ret + 65, true)),
|
|
1044
|
+
sizeInferred: Boolean(64 & dataView(memory0).getUint8(ret + 65, true)),
|
|
1045
|
+
ignored: Boolean(128 & dataView(memory0).getUint8(ret + 65, true))
|
|
1046
|
+
};
|
|
974
1047
|
let variant11;
|
|
975
|
-
switch(dataView(memory0).getUint8(ret +
|
|
1048
|
+
switch(dataView(memory0).getUint8(ret + 68, true)){
|
|
976
1049
|
case 0:
|
|
977
1050
|
variant11 = void 0;
|
|
978
1051
|
break;
|
|
979
1052
|
case 1:
|
|
980
|
-
variant11 =
|
|
1053
|
+
variant11 = dataView(memory0).getInt32(ret + 72, true) >>> 0;
|
|
981
1054
|
break;
|
|
982
1055
|
default:
|
|
983
1056
|
throw new TypeError('invalid variant discriminant for option');
|
|
984
1057
|
}
|
|
985
1058
|
let variant12;
|
|
986
|
-
switch(dataView(memory0).getUint8(ret +
|
|
1059
|
+
switch(dataView(memory0).getUint8(ret + 80, true)){
|
|
987
1060
|
case 0:
|
|
988
1061
|
variant12 = void 0;
|
|
989
1062
|
break;
|
|
990
1063
|
case 1:
|
|
991
|
-
variant12 = dataView(memory0).
|
|
1064
|
+
variant12 = BigInt.asUintN(64, dataView(memory0).getBigInt64(ret + 88, true));
|
|
992
1065
|
break;
|
|
993
1066
|
default:
|
|
994
1067
|
throw new TypeError('invalid variant discriminant for option');
|
|
995
1068
|
}
|
|
996
1069
|
let variant13;
|
|
997
|
-
switch(dataView(memory0).getUint8(ret +
|
|
1070
|
+
switch(dataView(memory0).getUint8(ret + 96, true)){
|
|
998
1071
|
case 0:
|
|
999
1072
|
variant13 = void 0;
|
|
1000
1073
|
break;
|
|
1001
1074
|
case 1:
|
|
1002
|
-
variant13 = dataView(memory0).
|
|
1075
|
+
variant13 = dataView(memory0).getInt32(ret + 100, true) >>> 0;
|
|
1003
1076
|
break;
|
|
1004
1077
|
default:
|
|
1005
1078
|
throw new TypeError('invalid variant discriminant for option');
|
|
1006
1079
|
}
|
|
1007
1080
|
let variant14;
|
|
1008
|
-
switch(dataView(memory0).getUint8(ret +
|
|
1081
|
+
switch(dataView(memory0).getUint8(ret + 104, true)){
|
|
1009
1082
|
case 0:
|
|
1010
1083
|
variant14 = void 0;
|
|
1011
1084
|
break;
|
|
1012
1085
|
case 1:
|
|
1013
|
-
variant14 =
|
|
1086
|
+
variant14 = dataView(memory0).getFloat32(ret + 108, true);
|
|
1087
|
+
break;
|
|
1088
|
+
default:
|
|
1089
|
+
throw new TypeError('invalid variant discriminant for option');
|
|
1090
|
+
}
|
|
1091
|
+
let variant15;
|
|
1092
|
+
switch(dataView(memory0).getUint8(ret + 112, true)){
|
|
1093
|
+
case 0:
|
|
1094
|
+
variant15 = void 0;
|
|
1095
|
+
break;
|
|
1096
|
+
case 1:
|
|
1097
|
+
variant15 = [
|
|
1014
1098
|
BigInt.asUintN(64, dataView(memory0).getBigInt64(ret + 120, true)),
|
|
1015
1099
|
BigInt.asUintN(64, dataView(memory0).getBigInt64(ret + 128, true))
|
|
1016
1100
|
];
|
|
@@ -1028,13 +1112,14 @@ function displaySymbol(arg0, arg1) {
|
|
|
1028
1112
|
kind: enum5,
|
|
1029
1113
|
section: variant6,
|
|
1030
1114
|
sectionName: variant8,
|
|
1031
|
-
|
|
1032
|
-
|
|
1033
|
-
|
|
1115
|
+
sectionKind: enum9,
|
|
1116
|
+
flags: flags10,
|
|
1117
|
+
align: variant11,
|
|
1118
|
+
virtualAddress: variant12
|
|
1034
1119
|
},
|
|
1035
|
-
targetSymbol:
|
|
1036
|
-
matchPercent:
|
|
1037
|
-
diffScore:
|
|
1120
|
+
targetSymbol: variant13,
|
|
1121
|
+
matchPercent: variant14,
|
|
1122
|
+
diffScore: variant15,
|
|
1038
1123
|
rowCount: dataView(memory0).getInt32(ret + 136, true) >>> 0
|
|
1039
1124
|
};
|
|
1040
1125
|
postReturn5(ret);
|
|
@@ -1544,6 +1629,225 @@ function instructionHover(arg0, arg1, arg2, arg3) {
|
|
|
1544
1629
|
postReturn8(ret);
|
|
1545
1630
|
return retVal;
|
|
1546
1631
|
}
|
|
1632
|
+
let displayDisplayDataRow;
|
|
1633
|
+
function displayDataRow(arg0, arg1, arg2) {
|
|
1634
|
+
var handle1 = arg0[symbolRscHandle];
|
|
1635
|
+
if (!handle1 || (handleTable0[(handle1 << 1) + 1] & T_FLAG) === 0) throw new TypeError('Resource error: Not a valid "ObjectDiff" resource.');
|
|
1636
|
+
var handle0 = handleTable0[(handle1 << 1) + 1] & ~T_FLAG;
|
|
1637
|
+
const ret = displayDisplayDataRow(handle0, toUint32(arg1), toUint32(arg2));
|
|
1638
|
+
var len4 = dataView(memory0).getInt32(ret + 12, true);
|
|
1639
|
+
var base4 = dataView(memory0).getInt32(ret + 8, true);
|
|
1640
|
+
var result4 = [];
|
|
1641
|
+
for(let i = 0; i < len4; i++){
|
|
1642
|
+
const base = base4 + 16 * i;
|
|
1643
|
+
var ptr2 = dataView(memory0).getInt32(base + 0, true);
|
|
1644
|
+
var len2 = dataView(memory0).getInt32(base + 4, true);
|
|
1645
|
+
var result2 = new Uint8Array(memory0.buffer.slice(ptr2, ptr2 + +len2));
|
|
1646
|
+
let enum3;
|
|
1647
|
+
switch(dataView(memory0).getUint8(base + 12, true)){
|
|
1648
|
+
case 0:
|
|
1649
|
+
enum3 = 'none';
|
|
1650
|
+
break;
|
|
1651
|
+
case 1:
|
|
1652
|
+
enum3 = 'replace';
|
|
1653
|
+
break;
|
|
1654
|
+
case 2:
|
|
1655
|
+
enum3 = 'delete';
|
|
1656
|
+
break;
|
|
1657
|
+
case 3:
|
|
1658
|
+
enum3 = 'insert';
|
|
1659
|
+
break;
|
|
1660
|
+
default:
|
|
1661
|
+
throw new TypeError('invalid discriminant specified for DataDiffKind');
|
|
1662
|
+
}
|
|
1663
|
+
result4.push({
|
|
1664
|
+
data: result2,
|
|
1665
|
+
size: dataView(memory0).getInt32(base + 8, true) >>> 0,
|
|
1666
|
+
kind: enum3
|
|
1667
|
+
});
|
|
1668
|
+
}
|
|
1669
|
+
var len6 = dataView(memory0).getInt32(ret + 20, true);
|
|
1670
|
+
var base6 = dataView(memory0).getInt32(ret + 16, true);
|
|
1671
|
+
var result6 = [];
|
|
1672
|
+
for(let i = 0; i < len6; i++){
|
|
1673
|
+
const base = base6 + 16 * i;
|
|
1674
|
+
let enum5;
|
|
1675
|
+
switch(dataView(memory0).getUint8(base + 12, true)){
|
|
1676
|
+
case 0:
|
|
1677
|
+
enum5 = 'none';
|
|
1678
|
+
break;
|
|
1679
|
+
case 1:
|
|
1680
|
+
enum5 = 'replace';
|
|
1681
|
+
break;
|
|
1682
|
+
case 2:
|
|
1683
|
+
enum5 = 'delete';
|
|
1684
|
+
break;
|
|
1685
|
+
case 3:
|
|
1686
|
+
enum5 = 'insert';
|
|
1687
|
+
break;
|
|
1688
|
+
default:
|
|
1689
|
+
throw new TypeError('invalid discriminant specified for DataDiffKind');
|
|
1690
|
+
}
|
|
1691
|
+
result6.push({
|
|
1692
|
+
address: BigInt.asUintN(64, dataView(memory0).getBigInt64(base + 0, true)),
|
|
1693
|
+
size: dataView(memory0).getInt32(base + 8, true) >>> 0,
|
|
1694
|
+
kind: enum5
|
|
1695
|
+
});
|
|
1696
|
+
}
|
|
1697
|
+
const retVal = {
|
|
1698
|
+
address: BigInt.asUintN(64, dataView(memory0).getBigInt64(ret + 0, true)),
|
|
1699
|
+
segments: result4,
|
|
1700
|
+
relocations: result6
|
|
1701
|
+
};
|
|
1702
|
+
postReturn9(ret);
|
|
1703
|
+
return retVal;
|
|
1704
|
+
}
|
|
1705
|
+
let displayDataContext;
|
|
1706
|
+
function dataContext(arg0, arg1, arg2) {
|
|
1707
|
+
var handle1 = arg0[symbolRscHandle];
|
|
1708
|
+
if (!handle1 || (handleTable0[(handle1 << 1) + 1] & T_FLAG) === 0) throw new TypeError('Resource error: Not a valid "ObjectDiff" resource.');
|
|
1709
|
+
var handle0 = handleTable0[(handle1 << 1) + 1] & ~T_FLAG;
|
|
1710
|
+
const ret = displayDataContext(handle0, toUint32(arg1), toUint32(arg2));
|
|
1711
|
+
var len8 = dataView(memory0).getInt32(ret + 4, true);
|
|
1712
|
+
var base8 = dataView(memory0).getInt32(ret + 0, true);
|
|
1713
|
+
var result8 = [];
|
|
1714
|
+
for(let i = 0; i < len8; i++){
|
|
1715
|
+
const base = base8 + 24 * i;
|
|
1716
|
+
let variant7;
|
|
1717
|
+
switch(dataView(memory0).getUint8(base + 0, true)){
|
|
1718
|
+
case 0:
|
|
1719
|
+
{
|
|
1720
|
+
var ptr2 = dataView(memory0).getInt32(base + 4, true);
|
|
1721
|
+
var len2 = dataView(memory0).getInt32(base + 8, true);
|
|
1722
|
+
var result2 = utf8Decoder.decode(new Uint8Array(memory0.buffer, ptr2, len2));
|
|
1723
|
+
let variant4;
|
|
1724
|
+
switch(dataView(memory0).getUint8(base + 12, true)){
|
|
1725
|
+
case 0:
|
|
1726
|
+
variant4 = void 0;
|
|
1727
|
+
break;
|
|
1728
|
+
case 1:
|
|
1729
|
+
var ptr3 = dataView(memory0).getInt32(base + 16, true);
|
|
1730
|
+
var len3 = dataView(memory0).getInt32(base + 20, true);
|
|
1731
|
+
var result3 = utf8Decoder.decode(new Uint8Array(memory0.buffer, ptr3, len3));
|
|
1732
|
+
variant4 = result3;
|
|
1733
|
+
break;
|
|
1734
|
+
default:
|
|
1735
|
+
throw new TypeError('invalid variant discriminant for option');
|
|
1736
|
+
}
|
|
1737
|
+
variant7 = {
|
|
1738
|
+
tag: 'copy',
|
|
1739
|
+
val: {
|
|
1740
|
+
value: result2,
|
|
1741
|
+
label: variant4
|
|
1742
|
+
}
|
|
1743
|
+
};
|
|
1744
|
+
break;
|
|
1745
|
+
}
|
|
1746
|
+
case 1:
|
|
1747
|
+
{
|
|
1748
|
+
var ptr5 = dataView(memory0).getInt32(base + 4, true);
|
|
1749
|
+
var len5 = dataView(memory0).getInt32(base + 8, true);
|
|
1750
|
+
var result5 = utf8Decoder.decode(new Uint8Array(memory0.buffer, ptr5, len5));
|
|
1751
|
+
let enum6;
|
|
1752
|
+
switch(dataView(memory0).getUint8(base + 16, true)){
|
|
1753
|
+
case 0:
|
|
1754
|
+
enum6 = 'normal';
|
|
1755
|
+
break;
|
|
1756
|
+
case 1:
|
|
1757
|
+
enum6 = 'extab';
|
|
1758
|
+
break;
|
|
1759
|
+
default:
|
|
1760
|
+
throw new TypeError('invalid discriminant specified for SymbolNavigationKind');
|
|
1761
|
+
}
|
|
1762
|
+
variant7 = {
|
|
1763
|
+
tag: 'navigate',
|
|
1764
|
+
val: {
|
|
1765
|
+
label: result5,
|
|
1766
|
+
symbol: dataView(memory0).getInt32(base + 12, true) >>> 0,
|
|
1767
|
+
kind: enum6
|
|
1768
|
+
}
|
|
1769
|
+
};
|
|
1770
|
+
break;
|
|
1771
|
+
}
|
|
1772
|
+
case 2:
|
|
1773
|
+
variant7 = {
|
|
1774
|
+
tag: 'separator'
|
|
1775
|
+
};
|
|
1776
|
+
break;
|
|
1777
|
+
default:
|
|
1778
|
+
throw new TypeError('invalid variant discriminant for ContextItem');
|
|
1779
|
+
}
|
|
1780
|
+
result8.push(variant7);
|
|
1781
|
+
}
|
|
1782
|
+
const retVal = result8;
|
|
1783
|
+
postReturn7(ret);
|
|
1784
|
+
return retVal;
|
|
1785
|
+
}
|
|
1786
|
+
let displayDataHover;
|
|
1787
|
+
function dataHover(arg0, arg1, arg2) {
|
|
1788
|
+
var handle1 = arg0[symbolRscHandle];
|
|
1789
|
+
if (!handle1 || (handleTable0[(handle1 << 1) + 1] & T_FLAG) === 0) throw new TypeError('Resource error: Not a valid "ObjectDiff" resource.');
|
|
1790
|
+
var handle0 = handleTable0[(handle1 << 1) + 1] & ~T_FLAG;
|
|
1791
|
+
const ret = displayDataHover(handle0, toUint32(arg1), toUint32(arg2));
|
|
1792
|
+
var len6 = dataView(memory0).getInt32(ret + 4, true);
|
|
1793
|
+
var base6 = dataView(memory0).getInt32(ret + 0, true);
|
|
1794
|
+
var result6 = [];
|
|
1795
|
+
for(let i = 0; i < len6; i++){
|
|
1796
|
+
const base = base6 + 24 * i;
|
|
1797
|
+
let variant5;
|
|
1798
|
+
switch(dataView(memory0).getUint8(base + 0, true)){
|
|
1799
|
+
case 0:
|
|
1800
|
+
{
|
|
1801
|
+
var ptr2 = dataView(memory0).getInt32(base + 4, true);
|
|
1802
|
+
var len2 = dataView(memory0).getInt32(base + 8, true);
|
|
1803
|
+
var result2 = utf8Decoder.decode(new Uint8Array(memory0.buffer, ptr2, len2));
|
|
1804
|
+
var ptr3 = dataView(memory0).getInt32(base + 12, true);
|
|
1805
|
+
var len3 = dataView(memory0).getInt32(base + 16, true);
|
|
1806
|
+
var result3 = utf8Decoder.decode(new Uint8Array(memory0.buffer, ptr3, len3));
|
|
1807
|
+
let enum4;
|
|
1808
|
+
switch(dataView(memory0).getUint8(base + 20, true)){
|
|
1809
|
+
case 0:
|
|
1810
|
+
enum4 = 'normal';
|
|
1811
|
+
break;
|
|
1812
|
+
case 1:
|
|
1813
|
+
enum4 = 'emphasized';
|
|
1814
|
+
break;
|
|
1815
|
+
case 2:
|
|
1816
|
+
enum4 = 'special';
|
|
1817
|
+
break;
|
|
1818
|
+
case 3:
|
|
1819
|
+
enum4 = 'delete';
|
|
1820
|
+
break;
|
|
1821
|
+
case 4:
|
|
1822
|
+
enum4 = 'insert';
|
|
1823
|
+
break;
|
|
1824
|
+
default:
|
|
1825
|
+
throw new TypeError('invalid discriminant specified for HoverItemColor');
|
|
1826
|
+
}
|
|
1827
|
+
variant5 = {
|
|
1828
|
+
tag: 'text',
|
|
1829
|
+
val: {
|
|
1830
|
+
label: result2,
|
|
1831
|
+
value: result3,
|
|
1832
|
+
color: enum4
|
|
1833
|
+
}
|
|
1834
|
+
};
|
|
1835
|
+
break;
|
|
1836
|
+
}
|
|
1837
|
+
case 1:
|
|
1838
|
+
variant5 = {
|
|
1839
|
+
tag: 'separator'
|
|
1840
|
+
};
|
|
1841
|
+
break;
|
|
1842
|
+
default:
|
|
1843
|
+
throw new TypeError('invalid variant discriminant for HoverItem');
|
|
1844
|
+
}
|
|
1845
|
+
result6.push(variant5);
|
|
1846
|
+
}
|
|
1847
|
+
const retVal = result6;
|
|
1848
|
+
postReturn8(ret);
|
|
1849
|
+
return retVal;
|
|
1850
|
+
}
|
|
1547
1851
|
const $init = (()=>{
|
|
1548
1852
|
let gen = function*() {
|
|
1549
1853
|
const module0 = fetchCompile(new URL('./objdiff.core.wasm', import.meta.url));
|
|
@@ -1579,8 +1883,9 @@ const $init = (()=>{
|
|
|
1579
1883
|
postReturn4 = exports1['cabi_post_objdiff:core/display#display-sections'];
|
|
1580
1884
|
postReturn5 = exports1['cabi_post_objdiff:core/display#display-symbol'];
|
|
1581
1885
|
postReturn6 = exports1['cabi_post_objdiff:core/display#display-instruction-row'];
|
|
1582
|
-
postReturn7 = exports1['cabi_post_objdiff:core/display#
|
|
1583
|
-
postReturn8 = exports1['cabi_post_objdiff:core/display#
|
|
1886
|
+
postReturn7 = exports1['cabi_post_objdiff:core/display#data-context'];
|
|
1887
|
+
postReturn8 = exports1['cabi_post_objdiff:core/display#data-hover'];
|
|
1888
|
+
postReturn9 = exports1['cabi_post_objdiff:core/display#display-data-row'];
|
|
1584
1889
|
exports1Init = exports1.init;
|
|
1585
1890
|
exports1Version = exports1.version;
|
|
1586
1891
|
diffConstructorDiffConfig = exports1['objdiff:core/diff#[constructor]diff-config'];
|
|
@@ -1598,6 +1903,9 @@ const $init = (()=>{
|
|
|
1598
1903
|
displaySymbolHover = exports1['objdiff:core/display#symbol-hover'];
|
|
1599
1904
|
displayInstructionContext = exports1['objdiff:core/display#instruction-context'];
|
|
1600
1905
|
displayInstructionHover = exports1['objdiff:core/display#instruction-hover'];
|
|
1906
|
+
displayDisplayDataRow = exports1['objdiff:core/display#display-data-row'];
|
|
1907
|
+
displayDataContext = exports1['objdiff:core/display#data-context'];
|
|
1908
|
+
displayDataHover = exports1['objdiff:core/display#data-hover'];
|
|
1601
1909
|
}();
|
|
1602
1910
|
let promise, resolve, reject;
|
|
1603
1911
|
function runNext(value) {
|
|
@@ -1627,6 +1935,9 @@ const diff = {
|
|
|
1627
1935
|
runDiff: runDiff
|
|
1628
1936
|
};
|
|
1629
1937
|
const display = {
|
|
1938
|
+
dataContext: dataContext,
|
|
1939
|
+
dataHover: dataHover,
|
|
1940
|
+
displayDataRow: displayDataRow,
|
|
1630
1941
|
displayInstructionRow: displayInstructionRow,
|
|
1631
1942
|
displaySections: displaySections,
|
|
1632
1943
|
displaySymbol: displaySymbol,
|