OR-1 dataflow CPU sketch

feat: ALLOC_REMOTE reads fref+2 for data-driven ALLOC_SHARED master

Task 1 Phase 4a Subcomponent A: Updated ALLOC_REMOTE handler in emu/pe.py to read fref+2 from frame constants and conditionally emit ALLOC_SHARED vs ALLOC based on whether parent_act_id is non-zero. Implementation details: - Read fref+0 (target PE), fref+1 (target act_id), and new fref+2 (parent act_id) - If parent_act (fref+2) is non-zero: emit FrameControlToken with op=ALLOC_SHARED and payload=parent_act - If parent_act is zero/None: emit op=ALLOC and payload=0 (backwards compatible) - Frame slots at fref+0, fref+1, fref+2 are assumed to be int values per codegen contract - No runtime type checking added (consistent with existing ALLOC_REMOTE pattern) Accepts AC4.1 (data-driven shared allocation) and AC4.2 (no new opcodes). All 1290 tests pass. Backwards compatibility verified: existing tests with only fref+0/fref+1 populated default fref+2 to None/0 (falsy), so they emit op=ALLOC as before.


Author Orual Date Commit 617aa7ac Parent a2f3f878 Change ID kzywponv
+15 -3
1 changed file