Commit 8289177
committed
Refactor unpacking of recursive types
Extracted from: #370
As initially implemented, we allocate a new stack whenever we
encounter a child stack. This means acquiring a whole 4kiB chunk
from the arena, which generally is overkill.
Instead we can introduce a new type of stack item, that behave just
like a Hash or Array.1 parent 9bac145 commit 8289177
3 files changed
+11
-20
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
108 | 108 | | |
109 | 109 | | |
110 | 110 | | |
111 | | - | |
112 | | - | |
113 | | - | |
114 | | - | |
115 | | - | |
116 | | - | |
| 111 | + | |
117 | 112 | | |
118 | 113 | | |
119 | 114 | | |
120 | 115 | | |
121 | 116 | | |
122 | | - | |
| 117 | + | |
123 | 118 | | |
124 | 119 | | |
125 | 120 | | |
126 | 121 | | |
127 | 122 | | |
128 | 123 | | |
129 | | - | |
130 | 124 | | |
131 | 125 | | |
132 | 126 | | |
| |||
343 | 337 | | |
344 | 338 | | |
345 | 339 | | |
346 | | - | |
347 | | - | |
348 | | - | |
349 | | - | |
| 340 | + | |
350 | 341 | | |
351 | 342 | | |
352 | | - | |
353 | | - | |
| 343 | + | |
354 | 344 | | |
355 | 345 | | |
356 | 346 | | |
| |||
783 | 773 | | |
784 | 774 | | |
785 | 775 | | |
| 776 | + | |
| 777 | + | |
786 | 778 | | |
787 | 779 | | |
788 | 780 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
31 | 31 | | |
32 | 32 | | |
33 | 33 | | |
| 34 | + | |
34 | 35 | | |
35 | 36 | | |
36 | 37 | | |
| |||
44 | 45 | | |
45 | 46 | | |
46 | 47 | | |
47 | | - | |
48 | 48 | | |
49 | 49 | | |
50 | 50 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
58 | 58 | | |
59 | 59 | | |
60 | 60 | | |
| 61 | + | |
| 62 | + | |
61 | 63 | | |
62 | 64 | | |
63 | | - | |
64 | 65 | | |
65 | 66 | | |
66 | 67 | | |
67 | 68 | | |
68 | | - | |
69 | | - | |
70 | | - | |
71 | | - | |
| 69 | + | |
| 70 | + | |
72 | 71 | | |
73 | 72 | | |
74 | 73 | | |
| |||
0 commit comments