Commit a1789c5
committed
CogVM source as per VMMaker.oscog-eem.3759
Include primitiveContextPreserveTemps as primitive #213.
Make StackInterpreter>>marryFrame:SP:, CoInterpreter>>marryFrame:SP:, and the trampolines
generated by CogObjectRepresentationForSpur>>genGetActiveContextLarge:inBlock: all agree
to capture the non-argument stack (which includes temp vars) as nils, rather than copying
potentially stale temp vars, and requiring explcit use of Context>>preserveTemps[:]
(primitive #213, primitiveContextPreserveTemps) to capture non-stale temps (N.B. given
the closure design this should be required in exceptional circumstances if at all).
Refactor pushedReceiverOrClosureOfFrame: & stackPointerIndexForFrame:WithSP: above the
new stackPointerIndexForFrame:WithSP:NumArgs: so that StackInterpreter>>marryFrame:SP:
accesses frameNumArgs: once rather than twice.
Slang:
fix ancient type inferrence bug. The final pass of type inferrence must be
repeated until a fixed point is reached, otherwise inferrences may be missed.
This was demonstrated by primitiveContextPreserveTemps.1 parent 886523d commit a1789c5
60 files changed
Lines changed: 6657 additions & 1923 deletions
File tree
- src
- plugins/JPEGReadWriter2Plugin
- spur32.cog.lowcode
- spur32.cog
- spur32.sista
- spur32.stack.lowcode
- spur32.stack
- spur64.cog.lowcode
- spur64.cog
- spur64.sista
- spur64.stack.lowcode
- spur64.stack
- v3.cog
- v3.stack
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | | - | |
3 | | - | |
| 2 | + | |
| 3 | + | |
4 | 4 | | |
5 | | - | |
| 5 | + | |
6 | 6 | | |
7 | | - | |
| 7 | + | |
8 | 8 | | |
9 | 9 | | |
10 | 10 | | |
| |||
124 | 124 | | |
125 | 125 | | |
126 | 126 | | |
127 | | - | |
| 127 | + | |
128 | 128 | | |
129 | 129 | | |
130 | 130 | | |
| |||
355 | 355 | | |
356 | 356 | | |
357 | 357 | | |
358 | | - | |
| 358 | + | |
359 | 359 | | |
360 | 360 | | |
361 | 361 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | | - | |
3 | | - | |
| 2 | + | |
| 3 | + | |
4 | 4 | | |
5 | 5 | | |
6 | 6 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | | - | |
3 | | - | |
| 2 | + | |
| 3 | + | |
4 | 4 | | |
5 | | - | |
| 5 | + | |
6 | 6 | | |
7 | | - | |
| 7 | + | |
8 | 8 | | |
9 | 9 | | |
10 | 10 | | |
| |||
11577 | 11577 | | |
11578 | 11578 | | |
11579 | 11579 | | |
11580 | | - | |
| 11580 | + | |
11581 | 11581 | | |
11582 | 11582 | | |
11583 | 11583 | | |
| |||
11690 | 11690 | | |
11691 | 11691 | | |
11692 | 11692 | | |
11693 | | - | |
| 11693 | + | |
11694 | 11694 | | |
11695 | 11695 | | |
11696 | 11696 | | |
| |||
24953 | 24953 | | |
24954 | 24954 | | |
24955 | 24955 | | |
24956 | | - | |
24957 | | - | |
24958 | | - | |
| 24956 | + | |
| 24957 | + | |
| 24958 | + | |
| 24959 | + | |
| 24960 | + | |
| 24961 | + | |
| 24962 | + | |
24959 | 24963 | | |
24960 | 24964 | | |
24961 | 24965 | | |
| |||
25008 | 25012 | | |
25009 | 25013 | | |
25010 | 25014 | | |
25011 | | - | |
| 25015 | + | |
25012 | 25016 | | |
25013 | 25017 | | |
25014 | 25018 | | |
| |||
25326 | 25330 | | |
25327 | 25331 | | |
25328 | 25332 | | |
25329 | | - | |
25330 | | - | |
25331 | | - | |
25332 | | - | |
25333 | | - | |
25334 | | - | |
25335 | | - | |
25336 | | - | |
25337 | | - | |
| 25333 | + | |
| 25334 | + | |
| 25335 | + | |
| 25336 | + | |
25338 | 25337 | | |
25339 | | - | |
25340 | | - | |
25341 | | - | |
25342 | | - | |
25343 | | - | |
25344 | | - | |
25345 | | - | |
25346 | | - | |
25347 | | - | |
| 25338 | + | |
25348 | 25339 | | |
25349 | | - | |
| 25340 | + | |
25350 | 25341 | | |
25351 | | - | |
| 25342 | + | |
25352 | 25343 | | |
25353 | 25344 | | |
25354 | | - | |
25355 | | - | |
| 25345 | + | |
25356 | 25346 | | |
25357 | 25347 | | |
25358 | 25348 | | |
25359 | | - | |
| 25349 | + | |
25360 | 25350 | | |
25361 | 25351 | | |
25362 | 25352 | | |
| 25353 | + | |
25363 | 25354 | | |
25364 | | - | |
25365 | | - | |
25366 | | - | |
25367 | | - | |
25368 | | - | |
25369 | | - | |
25370 | | - | |
25371 | | - | |
| 25355 | + | |
| 25356 | + | |
| 25357 | + | |
25372 | 25358 | | |
25373 | | - | |
| 25359 | + | |
25374 | 25360 | | |
| 25361 | + | |
25375 | 25362 | | |
25376 | 25363 | | |
25377 | | - | |
| 25364 | + | |
25378 | 25365 | | |
25379 | 25366 | | |
25380 | 25367 | | |
25381 | | - | |
| 25368 | + | |
25382 | 25369 | | |
25383 | 25370 | | |
25384 | 25371 | | |
25385 | 25372 | | |
25386 | 25373 | | |
25387 | 25374 | | |
25388 | | - | |
25389 | | - | |
25390 | | - | |
25391 | | - | |
| 25375 | + | |
25392 | 25376 | | |
25393 | 25377 | | |
25394 | 25378 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | | - | |
3 | | - | |
| 2 | + | |
| 3 | + | |
4 | 4 | | |
5 | | - | |
| 5 | + | |
6 | 6 | | |
7 | | - | |
| 7 | + | |
8 | 8 | | |
9 | 9 | | |
10 | 10 | | |
| |||
11349 | 11349 | | |
11350 | 11350 | | |
11351 | 11351 | | |
11352 | | - | |
| 11352 | + | |
11353 | 11353 | | |
11354 | 11354 | | |
11355 | 11355 | | |
| |||
23214 | 23214 | | |
23215 | 23215 | | |
23216 | 23216 | | |
23217 | | - | |
23218 | | - | |
23219 | | - | |
| 23217 | + | |
| 23218 | + | |
| 23219 | + | |
| 23220 | + | |
| 23221 | + | |
| 23222 | + | |
| 23223 | + | |
23220 | 23224 | | |
23221 | 23225 | | |
23222 | 23226 | | |
| |||
23256 | 23260 | | |
23257 | 23261 | | |
23258 | 23262 | | |
23259 | | - | |
| 23263 | + | |
23260 | 23264 | | |
23261 | 23265 | | |
23262 | 23266 | | |
| |||
23447 | 23451 | | |
23448 | 23452 | | |
23449 | 23453 | | |
23450 | | - | |
23451 | | - | |
23452 | | - | |
23453 | | - | |
23454 | | - | |
23455 | | - | |
23456 | | - | |
23457 | | - | |
23458 | | - | |
23459 | | - | |
23460 | | - | |
23461 | | - | |
23462 | | - | |
23463 | | - | |
23464 | | - | |
| 23454 | + | |
| 23455 | + | |
| 23456 | + | |
| 23457 | + | |
23465 | 23458 | | |
23466 | | - | |
23467 | | - | |
23468 | | - | |
| 23459 | + | |
| 23460 | + | |
23469 | 23461 | | |
23470 | | - | |
23471 | | - | |
23472 | | - | |
23473 | | - | |
| 23462 | + | |
| 23463 | + | |
23474 | 23464 | | |
23475 | | - | |
23476 | | - | |
| 23465 | + | |
| 23466 | + | |
| 23467 | + | |
23477 | 23468 | | |
23478 | 23469 | | |
23479 | | - | |
| 23470 | + | |
23480 | 23471 | | |
23481 | 23472 | | |
23482 | | - | |
| 23473 | + | |
23483 | 23474 | | |
23484 | 23475 | | |
23485 | 23476 | | |
23486 | | - | |
23487 | | - | |
23488 | | - | |
23489 | | - | |
| 23477 | + | |
23490 | 23478 | | |
23491 | 23479 | | |
23492 | 23480 | | |
| |||
0 commit comments