Commit Graph

12 Commits

Author SHA1 Message Date
James Roseborough
8bf4c82a12 Rework the main API"s that implement the calling convention. Provide utility methods to get arguments that were supplied, and provide return values. Add a VM interface to clarify the relationship between the VM, things that call the VM, and things that are called by the VM. Make the code more closely aligned with the C++ version. 2007-07-24 05:06:10 +00:00
Ian Farmer
f7d6a49acb Add a new test case for upvalues, and enhance upvalue handling so that
they pass.
2007-07-09 04:10:25 +00:00
James Roseborough
c8e1934916 Refactor call stack and its use throughout. CallFrame now does all bytecode processing, and the callframe is reinitialized anytime something might have changed, like a function call. 2007-06-27 06:43:33 +00:00
James Roseborough
99077764ac Fix basic class processing via metatables. Make print output more closely match that produces by C interpreter 2007-06-19 04:25:34 +00:00
James Roseborough
5d3c86e552 Partial implementation of metatables. 2007-06-16 15:31:27 +00:00
James Roseborough
be20581731 Improve call stack handling to prepare for propert tail call handling. 2007-06-15 06:41:40 +00:00
James Roseborough
14108aee87 Fix upvalues that allow closures to work properly. 2007-06-14 04:09:57 +00:00
James Roseborough
4b7bbc1d8e Vix VARARGS passing by adjusting stack on varargs call to bury varargs + length of varargs under base of stack 2007-06-12 14:30:49 +00:00
James Roseborough
b6f123d5e5 Improve vararg handling logic. 2007-06-12 06:22:55 +00:00
James Roseborough
da6f63bb3d Fix calling convention by managing top of stack and adjusting on way in and out of function calls. 2007-06-11 05:51:19 +00:00
James Roseborough
05cfdaa33b Improve calling convention handling when the number of arguments doesn't match the expected number, and the number of return values doesn't match those needed. 2007-06-11 04:30:03 +00:00
James Roseborough
70dfc20f57 Initial draft of interpreter. Lua compiled "chunks" can be unmarshalled. Approximately half of bytecodes implemented in some form or another. 2007-06-08 05:11:37 +00:00