Commit d5cb46c
committed
Convert BigInt<->Number based on library function
This change introduces and type to the `__sig` scheme that we using for
library functions: 'p'. This letter signifies that the paramater or
return value is the width of a pointer which means it will differ
between wasm32 and wasm64.
We use this whenever a JS function receives or returns pointer type or a
size_t type.
For wasm32, we don't need to do anything since the incoming value is and
i32. For wasm64 we covert the incoming BigInt value to an int53/double
at the JS/Wasm boundary. At the moment no checking is done on the
values, which means values that don't pricely convert to JS double can
be currupted/truncated. As a followup, we could consider using the
checking coversion functions, or asserting in debug builds if the values
don't fit within this range.__sig attributes1 parent 3aeb48b commit d5cb46c
File tree
6 files changed
+74
-14
lines changed- .circleci
- src
- tests
- tools
6 files changed
+74
-14
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
380 | 380 | | |
381 | 381 | | |
382 | 382 | | |
383 | | - | |
| 383 | + | |
384 | 384 | | |
385 | 385 | | |
386 | 386 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
90 | 90 | | |
91 | 91 | | |
92 | 92 | | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
| 111 | + | |
| 112 | + | |
| 113 | + | |
| 114 | + | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
| 120 | + | |
| 121 | + | |
| 122 | + | |
| 123 | + | |
| 124 | + | |
| 125 | + | |
| 126 | + | |
| 127 | + | |
| 128 | + | |
| 129 | + | |
| 130 | + | |
93 | 131 | | |
94 | 132 | | |
95 | 133 | | |
| |||
110 | 148 | | |
111 | 149 | | |
112 | 150 | | |
| 151 | + | |
| 152 | + | |
| 153 | + | |
| 154 | + | |
| 155 | + | |
| 156 | + | |
113 | 157 | | |
114 | 158 | | |
115 | 159 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
87 | 87 | | |
88 | 88 | | |
89 | 89 | | |
| 90 | + | |
| 91 | + | |
90 | 92 | | |
91 | 93 | | |
92 | 94 | | |
| |||
357 | 359 | | |
358 | 360 | | |
359 | 361 | | |
| 362 | + | |
360 | 363 | | |
361 | 364 | | |
362 | 365 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
154 | 154 | | |
155 | 155 | | |
156 | 156 | | |
| 157 | + | |
157 | 158 | | |
158 | 159 | | |
159 | 160 | | |
| |||
164 | 165 | | |
165 | 166 | | |
166 | 167 | | |
| 168 | + | |
167 | 169 | | |
168 | 170 | | |
169 | 171 | | |
170 | 172 | | |
171 | 173 | | |
172 | 174 | | |
| 175 | + | |
173 | 176 | | |
174 | 177 | | |
175 | 178 | | |
176 | 179 | | |
177 | 180 | | |
| 181 | + | |
178 | 182 | | |
179 | 183 | | |
180 | 184 | | |
181 | 185 | | |
182 | 186 | | |
| 187 | + | |
183 | 188 | | |
184 | 189 | | |
185 | 190 | | |
| |||
192 | 197 | | |
193 | 198 | | |
194 | 199 | | |
| 200 | + | |
195 | 201 | | |
196 | 202 | | |
197 | 203 | | |
| |||
582 | 588 | | |
583 | 589 | | |
584 | 590 | | |
| 591 | + | |
585 | 592 | | |
586 | 593 | | |
587 | 594 | | |
| |||
602 | 609 | | |
603 | 610 | | |
604 | 611 | | |
| 612 | + | |
605 | 613 | | |
606 | 614 | | |
607 | 615 | | |
| |||
610 | 618 | | |
611 | 619 | | |
612 | 620 | | |
| 621 | + | |
613 | 622 | | |
614 | 623 | | |
615 | 624 | | |
616 | 625 | | |
617 | 626 | | |
618 | 627 | | |
| 628 | + | |
619 | 629 | | |
620 | 630 | | |
621 | 631 | | |
622 | 632 | | |
623 | 633 | | |
| 634 | + | |
624 | 635 | | |
625 | 636 | | |
626 | 637 | | |
627 | 638 | | |
| 639 | + | |
628 | 640 | | |
629 | 641 | | |
630 | 642 | | |
631 | 643 | | |
| 644 | + | |
632 | 645 | | |
633 | 646 | | |
634 | 647 | | |
| |||
637 | 650 | | |
638 | 651 | | |
639 | 652 | | |
| 653 | + | |
640 | 654 | | |
641 | 655 | | |
642 | 656 | | |
| |||
685 | 699 | | |
686 | 700 | | |
687 | 701 | | |
| 702 | + | |
688 | 703 | | |
689 | 704 | | |
690 | 705 | | |
| |||
775 | 790 | | |
776 | 791 | | |
777 | 792 | | |
| 793 | + | |
778 | 794 | | |
779 | 795 | | |
780 | 796 | | |
| |||
838 | 854 | | |
839 | 855 | | |
840 | 856 | | |
| 857 | + | |
841 | 858 | | |
842 | 859 | | |
843 | 860 | | |
| |||
871 | 888 | | |
872 | 889 | | |
873 | 890 | | |
| 891 | + | |
874 | 892 | | |
875 | 893 | | |
876 | 894 | | |
| |||
921 | 939 | | |
922 | 940 | | |
923 | 941 | | |
| 942 | + | |
924 | 943 | | |
925 | 944 | | |
926 | 945 | | |
| |||
1043 | 1062 | | |
1044 | 1063 | | |
1045 | 1064 | | |
1046 | | - | |
1047 | | - | |
1048 | | - | |
1049 | | - | |
1050 | | - | |
1051 | | - | |
1052 | | - | |
1053 | | - | |
1054 | | - | |
1055 | | - | |
1056 | | - | |
1057 | 1065 | | |
1058 | 1066 | | |
1059 | 1067 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
9267 | 9267 | | |
9268 | 9268 | | |
9269 | 9269 | | |
9270 | | - | |
| 9270 | + | |
9271 | 9271 | | |
9272 | 9272 | | |
9273 | | - | |
| 9273 | + | |
9274 | 9274 | | |
9275 | 9275 | | |
9276 | 9276 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
20 | 20 | | |
21 | 21 | | |
22 | 22 | | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
23 | 28 | | |
24 | 29 | | |
25 | 30 | | |
| |||
0 commit comments