File tree Expand file tree Collapse file tree 3 files changed +292
-49
lines changed
stdlib/public/RuntimeModule Expand file tree Collapse file tree 3 files changed +292
-49
lines changed Original file line number Diff line number Diff line change @@ -54,6 +54,7 @@ The following instructions are currently defined
54
54
| ` 0010axxx ` | ` ra ` | A return address value follows |
55
55
| ` 0011axxx ` | ` async ` | An async resume point follows |
56
56
| ` 01xxxxxx ` | ` omit ` | Indicates frames have been omitted |
57
+ | ` 1000xxxx ` | ` rep ` | Repeat the previous frame |
57
58
| ` 1xxxxxxx ` | reserved | Reserved for future expansion |
58
59
59
60
### ` end ` /` trunc `
@@ -139,3 +140,24 @@ machine word length) that are zero-extended to machine word length and
139
140
that represent a count of the number of frames that were omitted.
140
141
141
142
If ` x ` is ` 0 ` , ` count + 1 ` is the number of frames that were omitted.
143
+
144
+ ### ` rep `
145
+
146
+ #### Encoding
147
+
148
+ ~~~
149
+ 7 6 5 4 3 2 1 0
150
+ ┌────────────────┬───┬──────────┐
151
+ │ 1 0 0 0 │ x │ count │ repeat
152
+ └────────────────┴───┴──────────┘
153
+ ~~~
154
+
155
+ #### Meaning
156
+
157
+ Repeat the previous frame.
158
+
159
+ If ` x ` is ` 1 ` , the instruction is followed by ` count + 1 ` bytes that are zero
160
+ extended to machine word length and that represent a count of the number of
161
+ times to repeat the preceding frame.
162
+
163
+ If ` x ` is ` 0 ` , the previous frame should be repeated ` count + 1 ` times.
You can’t perform that action at this time.
0 commit comments