Download Game! Currently 82 players and visitors. Last logged in:SolvikGlaurungDescadGileon

Blitzer's Blog >> 71854

Back to blogs index
Posted: 29 Aug 2026 23:03 [ permalink ]
user@elli:~/GD$ pwd
user@elli:~/GD$ ls -ltra
total 52
-rw-r--r--  1 user user 1710 Aug 29 21:39 mvp.js
-rw-r--r--  1 user user 5516 Aug 29 22:37 GlobalHandleLedger.js
-rw-r--r--  1 user user 3896 Aug 29 22:55 stringManager.js
-rw-r--r--  1 user user  943 Aug 29 22:55 day1.js
drwxr-sr-x 18 user user 4096 Aug 29 22:57 ..
-rw-r--r--  1 user user 4656 Aug 29 22:58 phase2.txt
-rw-r--r--  1 user user 8461 Aug 29 23:01 LPCVirtualMachine.js
drwxr-sr-x  2 user user 4096 Aug 29 23:02 .
-rw-r--r--  1 user user 2479 Aug 29 23:02 day2.js
user@elli:~/GD$ node day2.js 
Cloned object OID: 0
R0 after execution: 85
R1 after execution: 0
State arena var[1]: 85
user@elli:~/GD$ 

This confirms that the store and load correctly move tagged pointers between
registers and the object's state.

4. Integration with the Execution Context (CTX)
In Phase 3, we will move current_oid and registers into a CTX struct to
support green threads. For now, this single-threaded approach is sufficient
for MVP.

5. Next Steps
Milestone 2.3  Implement the full LOAD_VAR and STORE_VAR with reference
counting for strings/arrays (not required for MVP but important for
robustness).

Phase 3  Introduce the Execution Context (CTX) and the scheduler.

With this, you have successfully completed Milestone 2.1 and 2.2  the object
model is now fully functional. You can now instantiate objects and manipulate
their global variables via bytecode.