b35dc346e8 
								
							
								 
							
						 
						
							
							
								
								📈  performance: caching the current block helps, barely  
							
							
							
						 
						
							2023-10-02 19:14:54 -05:00  
				
					
						
							
							
								 
						
							
							
								52df317326 
								
							
								 
							
						 
						
							
							
								
								measuring  
							
							
							
						 
						
							2023-10-02 18:54:09 -05:00  
				
					
						
							
							
								 
						
							
							
								11fd5b6cbc 
								
							
								 
							
						 
						
							
							
								
								🚧  wip: always keep at least one stack frame handy  
							
							... 
							
							
							
							This removes a bunch of unwraps but doesn't make it any faster 
							
						 
						
							2023-10-02 18:20:03 -05:00  
				
					
						
							
							
								 
						
							
							
								66fe54adef 
								
							
								 
							
						 
						
							
							
								
								remove unused things  
							
							
							
						 
						
							2023-10-02 17:55:17 -05:00  
				
					
						
							
							
								 
						
							
							
								e11026a553 
								
							
								 
							
						 
						
							
							
								
								📈  performance: down to 800 ms / 3.3x by changing PC handling  
							
							
							
						 
						
							2023-10-02 17:39:33 -05:00  
				
					
						
							
							
								 
						
							
							
								130330b688 
								
							
								 
							
						 
						
							
							
								
								down to 4.2x slower than PUC Lua, but the code became ugly to behold  
							
							
							
						 
						
							2023-10-02 16:14:34 -05:00  
				
					
						
							
							
								 
						
							
							
								eb32a53d18 
								
							
								 
							
						 
						
							
							
								
								🚧  wip: add string interning, but a few things broke  
							
							
							
						 
						
							2023-10-02 14:52:38 -05:00  
				
					
						
							
							
								 
						
							
							
								08bbb53900 
								
							
								 
							
						 
						
							
							
								
								add StringInterner  
							
							
							
						 
						
							2023-10-02 12:27:25 -05:00  
				
					
						
							
							
								 
						
							
							
								b9865b7174 
								
							
								 
							
						 
						
							
							
								
								🚧  wip  
							
							
							
						 
						
							2023-10-02 12:13:54 -05:00  
				
					
						
							
							
								 
						
							
							
								247d6b7a24 
								
							
								 
							
						 
						
							
							
								
								✅  test: proving to myself that string interning is a good idea  
							
							
							
						 
						
							2023-10-02 11:57:57 -05:00  
				
					
						
							
							
								 
						
							
							
								bba98043c7 
								
							
								 
							
						 
						
							
							
								
								✅  test: this script revealed the recent bug in call/return  
							
							
							
						 
						
							2023-10-02 11:06:08 -05:00  
				
					
						
							
							
								 
						
							
							
								543cf58b1e 
								
							
								 
							
						 
						
							
							
								
								📦  build: this isn't needed in the code  
							
							... 
							
							
							
							There's an env var that's better for flamegraph, and this was in the wrong
place anyway. 
							
						 
						
							2023-10-02 01:03:09 -05:00  
				
					
						
							
							
								 
						
							
							
								b88735a61b 
								
							
								 
							
						 
						
							
							
								
								🐛  bug: fix a bug in OP_CALL when b or c is 0  
							
							
							
						 
						
							2023-10-02 00:59:30 -05:00  
				
					
						
							
							
								 
						
							
							
								8baea40e82 
								
							
								 
							
						 
						
							
							
								
								♻️  refactor: extract `State::eval` for testing bugs the REPL finds  
							
							
							
						 
						
							2023-10-01 23:07:52 -05:00  
				
					
						
							
							
								 
						
							
							
								f9e8f26ac3 
								
							
								 
							
						 
						
							
							
								
								⭐  star: add a primitive REPL  
							
							... 
							
							
							
							This turned out a few new bugs in the VM 
							
						 
						
							2023-10-01 22:50:06 -05:00  
				
					
						
							
							
								 
						
							
							
								b8dd59cd7c 
								
							
								 
							
						 
						
							
							
								
								♻️  refactor: match the Lua CLI API more closely  
							
							
							
						 
						
							2023-10-01 21:26:47 -05:00  
				
					
						
							
							
								 
						
							
							
								db84365c27 
								
							
								 
							
						 
						
							
							
								
								♻️  refactor: State owns its Chunk now  
							
							
							
						 
						
							2023-10-01 20:31:30 -05:00  
				
					
						
							
							
								 
						
							
							
								700b273a11 
								
							
								 
							
						 
						
							
							
								
								✅  test: fix up some bugs to support an embedding example  
							
							
							
						 
						
							2023-10-01 19:50:50 -05:00  
				
					
						
							
							
								 
						
							
							
								ffb1950f80 
								
							
								 
							
						 
						
							
							
								
								♻️  refactor: split up the VM from the CLI program  
							
							
							
						 
						
							2023-10-01 17:56:06 -05:00  
				
					
						
							
							
								 
						
							
							
								51b04be1ab 
								
							
								 
							
						 
						
							
							
								
								🐛  bug: PUC Lua says divides always make floats, even int / int  
							
							
							
						 
						
							2023-10-01 15:03:37 -05:00  
				
					
						
							
							
								 
						
							
							
								eb024eed3e 
								
							
								 
							
						 
						
							
							
								
								🚧  wip: only 5.8x slower than PUC, but brittle  
							
							
							
						 
						
							2023-10-01 02:46:10 -05:00  
				
					
						
							
							
								 
						
							
							
								5331b5a4d2 
								
							
								 
							
						 
						
							
							
								
								♻️  refactor: mark where we can optimize tables for int keys  
							
							... 
							
							
							
							n-body actually doesn't need this, it's bottlenecked on string key
reads and writes. 
							
						 
						
							2023-10-01 02:12:17 -05:00  
				
					
						
							
							
								 
						
							
							
								4e9f9a74c5 
								
							
								 
							
						 
						
							
							
								
								📝  doc: benchmark results  
							
							
							
						 
						
							2023-10-01 02:00:23 -05:00  
				
					
						
							
							
								 
						
							
							
								c50c16b9db 
								
							
								 
							
						 
						
							
							
								
								🐛  bug: fix io.write and take off the `max_iters` restriction  
							
							... 
							
							
							
							The math is lining up with PUC Lua and LuaJIT. Now I can actually check
the speed. 
							
						 
						
							2023-10-01 01:36:40 -05:00  
				
					
						
							
							
								 
						
							
							
								fb46ede3ca 
								
							
								 
							
						 
						
							
							
								
								🐛  bug: fix OP_TEST ignoring `k`  
							
							... 
							
							
							
							I didn't know what `k` was a few days ago. 
							
						 
						
							2023-10-01 01:33:47 -05:00  
				
					
						
							
							
								 
						
							
							
								a9820677e9 
								
							
								 
							
						 
						
							
							
								
								🐛  bug: fix some stuff in calling native functions  
							
							
							
						 
						
							2023-10-01 01:06:15 -05:00  
				
					
						
							
							
								 
						
							
							
								06638574f7 
								
							
								 
							
						 
						
							
							
								
								🔊  improve error message for this error with the missing math lib  
							
							
							
						 
						
							2023-09-30 23:41:12 -05:00  
				
					
						
							
							
								 
						
							
							
								bccd5fc3a7 
								
							
								 
							
						 
						
							
							
								
								Merge remote-tracking branch 'gitea/main'  
							
							
							
						 
						
							2023-09-30 10:13:03 -05:00  
				
					
						
							
							
								 
						
							
							
								be9cd1e5ac 
								
							
								 
							
						 
						
							
							
								
								📝  doc: improve error message  
							
							
							
						 
						
							2023-09-30 10:12:31 -05:00  
				
					
						
							
							
								 
						
							
							
								d0f9014f03 
								
							
								 
							
						 
						
							
							
								
								📝  doc: improve error message  
							
							
							
						 
						
							2023-09-30 10:09:37 -05:00  
				
					
						
							
							
								 
						
							
							
								ae858ebe70 
								
							
								 
							
						 
						
							
							
								
								🐛  bug: patch loader  
							
							
							
						 
						
							2023-09-30 10:08:13 -05:00  
				
					
						
							
							
								 
						
							
							
								46cf5837bc 
								
							
								 
							
						 
						
							
							
								
								🐛  bug: impl opcodes  
							
							
							
						 
						
							2023-09-30 10:05:07 -05:00  
				
					
						
							
							
								 
						
							
							
								e59dd85246 
								
							
								 
							
						 
						
							
							
								
								🐛  bug: impl opcodes  
							
							
							
						 
						
							2023-09-30 10:01:30 -05:00  
				
					
						
							
							
								 
						
							
							
								1943f0a40b 
								
							
								 
							
						 
						
							
							
								
								🐛  bug: impl OP_ADDI  
							
							
							
						 
						
							2023-09-30 09:57:51 -05:00  
				
					
						
							
							
								 
						
							
							
								81743108c3 
								
							
								 
							
						 
						
							
							
								
								🐛  bug: implement OP_MULK  
							
							
							
						 
						
							2023-09-30 09:52:42 -05:00  
				
					
						
							
							
								 
						
							
							
								64384e7ca5 
								
							
								 
							
						 
						
							
							
								
								🐛  bug: fix loader using the old broken `parse_int` for instruction count  
							
							
							
						 
						
							2023-09-30 09:49:36 -05:00  
				
					
						
							
							
								 
						
							
							
								9bfd3c64c3 
								
							
								 
							
						 
						
							
							
								
								✅  tests: add failing benchmark  
							
							... 
							
							
							
							It doesn't even want to load the bytecode lol 
							
						 
						
							2023-09-30 09:48:02 -05:00  
				
					
						
							
							
								 
						
							
							
								15e4832623 
								
							
								 
							
						 
						
							
							
								
								➖  remove unused artifacts  
							
							
							
						 
						
							2023-09-29 17:46:46 -05:00  
				
					
						
							
							
								 
						
							
							
								57486f7a65 
								
							
								 
							
						 
						
							
							
								
								🐛  bug: fma test passes with a hack  
							
							... 
							
							
							
							So closures are kinda working, but I'm probably missing some edge cases. 
							
						 
						
							2023-09-29 17:44:54 -05:00  
				
					
						
							
							
								 
						
							
							
								2a0e02aec4 
								
							
								 
							
						 
						
							
							
								
								✅  test: closure passing again, fma still not  
							
							
							
						 
						
							2023-09-29 17:25:54 -05:00  
				
					
						
							
							
								 
						
							
							
								24d576879b 
								
							
								 
							
						 
						
							
							
								
								make Debug print easier to read  
							
							
							
						 
						
							2023-09-29 17:17:53 -05:00  
				
					
						
							
							
								 
						
							
							
								35e62027e6 
								
							
								 
							
						 
						
							
							
								
								🐛  bug  
							
							
							
						 
						
							2023-09-29 16:58:40 -05:00  
				
					
						
							
							
								 
						
							
							
								e499d27dfc 
								
							
								 
							
						 
						
							
							
								
								🚧  wip: improving debugging  
							
							
							
						 
						
							2023-09-29 16:55:02 -05:00  
				
					
						
							
							
								 
						
							
							
								a460b5a932 
								
							
								 
							
						 
						
							
							
								
								♻️  refactor: hoist breakpoints out of State  
							
							
							
						 
						
							2023-09-29 16:32:29 -05:00  
				
					
						
							
							
								 
						
							
							
								a9e14d0f47 
								
							
								 
							
						 
						
							
							
								
								♻️  refactor: extract a single step method for State  
							
							
							
						 
						
							2023-09-29 16:27:50 -05:00  
				
					
						
							
							
								 
						
							
							
								f0d4f25cec 
								
							
								 
							
						 
						
							
							
								
								implement a couple more opcodes fighting the closure issue  
							
							
							
						 
						
							2023-09-29 16:15:00 -05:00  
				
					
						
							
							
								 
						
							
							
								4da634a2aa 
								
							
								 
							
						 
						
							
							
								
								🚧  wip: working on closures / upvalues  
							
							
							
						 
						
							2023-09-28 01:31:23 -05:00  
				
					
						
							
							
								 
						
							
							
								05b1d6e1f7 
								
							
								 
							
						 
						
							
							
								
								⭐  loading upvalue metadata  
							
							
							
						 
						
							2023-09-28 00:55:16 -05:00  
				
					
						
							
							
								 
						
							
							
								b639d02027 
								
							
								 
							
						 
						
							
							
								
								remove unused file  
							
							
							
						 
						
							2023-09-28 00:28:33 -05:00  
				
					
						
							
							
								 
						
							
							
								96c82c27c8 
								
							
								 
							
						 
						
							
							
								
								🐛  bug: fix long string loading and int adding  
							
							... 
							
							
							
							Long strings didn't work before because I hadn't implemented Lua's varint
decoding. It's an easy translation from the original C.
Int adding previously created a float because I always coerced to float.
Also an easy fix. 
							
						 
						
							2023-09-28 00:27:05 -05:00