@yabgu_gm/tensionscript 0.13.0 → 0.13.1
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/asc.generated.d.ts +27 -3
- package/dist/asc.js +1 -1
- package/dist/asc.js.map +1 -1
- package/dist/assemblyscript.generated.d.ts +27 -3
- package/dist/assemblyscript.js +4 -4
- package/dist/assemblyscript.js.map +3 -3
- package/dist/importmap.json +2 -2
- package/dist/web.js +3 -3
- package/package.json +1 -1
|
@@ -6730,6 +6730,29 @@ declare module "types:tensionscript/src/compiler" {
|
|
|
6730
6730
|
* value materialised somewhere, which is the return path, not this one.
|
|
6731
6731
|
*/
|
|
6732
6732
|
private expandSroaArrayArgument;
|
|
6733
|
+
/**
|
|
6734
|
+
* Compiles an array literal into one operand per element leaf, starting at
|
|
6735
|
+
* `at`, and returns how many were written.
|
|
6736
|
+
*
|
|
6737
|
+
* Shared by the call site (`expandSroaArrayArgument`) and the return
|
|
6738
|
+
* (`compileMultivalueReturnStatement`) so the two positions accept the same
|
|
6739
|
+
* shapes and refuse the same ones by the same rule, instead of by two copies
|
|
6740
|
+
* of it. `verb` is `"passing"` or `"returning"` — the only word the two
|
|
6741
|
+
* refusals disagree on.
|
|
6742
|
+
*
|
|
6743
|
+
* Three rules:
|
|
6744
|
+
*
|
|
6745
|
+
* - A **record element** is several leaves and no literal names them, so it is
|
|
6746
|
+
* refused by name; building the array field-by-field in a local is the
|
|
6747
|
+
* working route in both positions.
|
|
6748
|
+
* - A **short** literal zero-fills. The slot exists either way, and a WASM
|
|
6749
|
+
* operand cannot be left out.
|
|
6750
|
+
* - A **long** literal is an arity error rather than a write past the operand
|
|
6751
|
+
* block — `sum([1, 2, 3, 4, 5])` into a `[u32 * 4]` parameter reached
|
|
6752
|
+
* Binaryen with five operands for four slots and crashed the compiler, so
|
|
6753
|
+
* this bound is a guard, not a formality.
|
|
6754
|
+
*/
|
|
6755
|
+
private pushSroaArrayLiteralOperands;
|
|
6733
6756
|
private expandSroaArgument;
|
|
6734
6757
|
/**
|
|
6735
6758
|
* The SROA local an expression names, or `null`.
|
|
@@ -7166,9 +7189,10 @@ declare module "types:tensionscript/src/compiler" {
|
|
|
7166
7189
|
* Returns a value-form `[T * N]` value as WASM multivalue results.
|
|
7167
7190
|
*
|
|
7168
7191
|
* One result per element leaf, element-major — the order `resultRefs` declares
|
|
7169
|
-
* and the caller's unpack indexes into.
|
|
7170
|
-
*
|
|
7171
|
-
* literal
|
|
7192
|
+
* and the caller's unpack indexes into. Two shapes reach here, and both end as
|
|
7193
|
+
* one operand per leaf: a value-form local pushes its SROA leaves, and a fresh
|
|
7194
|
+
* array literal compiles element by element through the same walk the call
|
|
7195
|
+
* site uses (`pushSroaArrayLiteralOperands`).
|
|
7172
7196
|
*
|
|
7173
7197
|
* Requires `Feature.MultiValue`, which `Resolver` turns on when it resolves
|
|
7174
7198
|
* this return type (`enableMultiValueOnce`), so a module that returns one of
|