Commit Graph
100 Commits
Author SHA1 Message Date
David Anderson bad69571b6 rewrote forward API to use cached parameter pushing instead of immediate pushing
removed copy back cruft since it's no longer needed
removed PushCells() from API requirements, not needed
adjusted documentation and added TODO list to ForwardSys.cpp
various internal improvements

--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%40188
2006-11-12 09:51:39 +00:00
David Anderson 442806dd45 updated types and test plugin
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%40187
2006-11-12 02:27:27 +00:00
David Anderson 94dc5ca298 fixed copy backs so they work properly
NOTE: heap fails, working on a rewrite

--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%40186
2006-11-12 02:24:45 +00:00
David Anderson 6bef3c2c5a Initial import of forward system
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%40185
2006-11-12 01:06:17 +00:00
David Anderson e4ff973dbf synced type changes
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%40183
2006-11-11 11:10:45 +00:00
David Anderson adc1475b76 Fleshed out forward system and extensively documented its design considerations
Implemented and did basic tests on new IPluginFunction type
Split function types into a separate file

--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%40182
2006-11-11 11:10:24 +00:00
David Anderson c25cc64024 Implemented a lot more of the plugin system
added aggressive caching O(1) function object retrieval

--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%40181
2006-11-11 05:49:52 +00:00
David Anderson 438ccf39a0 added new API for function address lookups. this gives us O(1) code_addr -> sequential index
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%40180
2006-11-11 05:47:00 +00:00
David Anderson 50e5307d32 initial import of proposed forward API
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%40179
2006-11-11 01:19:46 +00:00
David Anderson 30956eae5b added plugin sys initial import
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%40178
2006-11-10 18:08:13 +00:00
David Anderson ac761f61ce initial import of plugin loading code
little fixes to API
temporarily commented dependency iface until final

--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%40177
2006-11-10 07:49:38 +00:00
David Anderson ace0d842e5 fixed silly bugizzle
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%40176
2006-11-10 06:07:41 +00:00
David Anderson c89dd6f101 imported new API for exposing plugin info
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%40175
2006-11-10 00:16:33 +00:00
David Anderson f43b4468c6 added the ability to pre-declare a struct, like extern
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%40174
2006-11-10 00:16:12 +00:00
David Anderson 73eb8bfd40 removed an assertion that was firing
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%40173
2006-11-09 23:05:42 +00:00
David Anderson f8e7a10e06 added very, very primitive, mostly unusable structs. the most these can do so far is expose themselves publically
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%40172
2006-11-09 22:53:27 +00:00
David Anderson 767f6fa9ab fixed project file using /GL
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%40171
2006-11-08 09:37:16 +00:00
David Anderson 55266ffb80 sample plugin import
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%40170
2006-11-08 09:28:32 +00:00
David Anderson e060af14b4 updated all api to use new function id system
fixed a codegen bug in function ids
removed extra native status, simplified native binding

--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%40169
2006-11-08 08:41:18 +00:00
David Anderson 2892ee1fa9 fixed a crash on error
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%40168
2006-11-08 08:04:57 +00:00
David Anderson f55a7a5663 added some trivial comments
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%40167
2006-11-08 07:44:26 +00:00
David Anderson 611ab078d2 sync'd JIT to API
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%40166
2006-11-08 07:35:16 +00:00
David Anderson 9141ae103e began JIT integration
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%40165
2006-11-08 07:32:44 +00:00
David Anderson 65026ef57e finalized new structure and imported newly proposed plugin system API
added zlib to source tree
added VM API to source tree

--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%40164
2006-11-08 06:30:20 +00:00
David Anderson 4242e06465 re-added project files
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%40163
2006-11-08 06:25:25 +00:00
David Anderson aa033ee577 some reorganization
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%40162
2006-11-08 06:24:28 +00:00
David Anderson edeb131e94 fixed an index bug on non-constant values
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%40161
2006-11-07 23:26:40 +00:00
David Anderson 2348f9106a fixed a potential bug in tag matching (should this one go to thiadmer)
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%40159
2006-11-07 12:34:27 +00:00
David Anderson 1dc2662a62 fixed constant dimension size bug
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%40158
2006-11-07 11:50:30 +00:00
David Anderson 0bdf321d67 dynamic arrays no longer use a different token
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%40157
2006-11-07 10:49:16 +00:00
David Anderson e18699c702 added experimental new String tag. this tag will revert array usage to "char" sizing and packed strings
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%40156
2006-11-07 09:50:09 +00:00
David Anderson 89b125f6c1 added and tested UTF-8 support for ini files
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%40155
2006-11-07 00:53:06 +00:00
David Anderson 739bad1912 OH MY GOD REMOVED THIS TEST CRAP IT IS LATE AND I AM TIRED WHY AM I YELLING OH WELL
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%40151
2006-11-06 11:04:20 +00:00
David Anderson f19fbac013 renamed mm_api, I don't like short names!
finished and tested the INI parser and its API

--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%40150
2006-11-06 10:57:37 +00:00
David Anderson 5c6f81cb25 clarified text parsing a bit, improved interface.
i am eating a dumpling, it is very tasty!

--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%40148
2006-11-05 08:36:59 +00:00
David Anderson 1682417afa Added ITextParsers interfaces
Initial import of admin configuration (proposed)

--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%40147
2006-11-05 07:19:23 +00:00
David Anderson f83a597e49 began platform support
initial import of platform library code
tested on win32

--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%40146
2006-11-05 02:47:13 +00:00
David Anderson c63d26e1c5 initial import of the first four core interfaces
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%40145
2006-11-05 00:29:44 +00:00
David Anderson 936ed6ded5 config files dot com
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%40144
2006-11-04 20:01:12 +00:00
David Anderson 8402d79760 initial import of project file and a few files
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%40142
2006-11-04 19:27:20 +00:00
David Anderson 4d61a07d58 --HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%40141
2006-11-04 18:58:27 +00:00
David Anderson 8099cb09bd made these names a little nicer
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%40140
2006-11-04 18:54:03 +00:00
David Anderson bc16901bd6 Expanded weak function pointers with type checking
Added function typing enumeration

--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%40137
2006-11-03 06:14:43 +00:00
David Anderson fca7456f4d removed the old heap setting code for arrays
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%40136
2006-11-02 20:48:15 +00:00
David Anderson a10aabaeda swapped usage to new tracker opcodes
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%40134
2006-11-02 18:36:38 +00:00
David Anderson 4d44a1df4f Fixed a bug where dynamic arrays might not be freed in loops
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%40133
2006-10-31 08:31:14 +00:00
David Anderson 4f5f8dced9 arrays can now be public variables
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%40132
2006-10-31 07:17:23 +00:00
David Anderson 0c67ad1e7d added support for op.genarray.z opcode
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%40129
2006-10-17 05:50:59 +00:00
David Anderson 53be062c6b added new op.genarray.z for zeroing arrays
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%40128
2006-10-17 03:44:37 +00:00
David Anderson e3dccb8ae4 new error code
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%40127
2006-10-16 22:25:45 +00:00
David Anderson eb341f9a1d finished dynamic array generation
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%40126
2006-10-16 22:25:18 +00:00
David Anderson 209dd31751 Added new op.genarray for dynamic arrays
Fixed up opcode table for new opcodes

--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%40125
2006-10-16 04:10:01 +00:00
David Anderson a19823e4c6 fixed dynamic arrays not generating stack correctly
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%40124
2006-10-16 04:08:18 +00:00
David Anderson b7180795ec initial import of.... DYNAMIC ARRAYS
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%40123
2006-10-16 02:05:26 +00:00
David Anderson ea6e82d79a committed new stack modification method
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%40122
2006-10-15 23:31:09 +00:00
David Anderson 2c65e42379 reorganized the tracker to be a bit more modular
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%40121
2006-10-15 20:57:14 +00:00
David Anderson 6f2ebd8da7 separated this from the rest
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%40120
2006-10-15 20:26:51 +00:00
David Anderson 785173578b committed new header
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%40119
2006-10-12 00:27:47 +00:00
David Anderson 6adba4b731 changed error defines to have "ERROR" instead of "ERR"
added and verified sysreq.c which is generated on -O0

--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%40118
2006-10-12 00:27:18 +00:00
David Anderson fb7942ee4d and you thought you'd never see the day.. sysreq.n verified!
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%40117
2006-10-11 23:47:04 +00:00
David Anderson d328933cc5 marked switch and casetbl as verified
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%40115
2006-10-10 17:33:05 +00:00
David Anderson 8fe4440b10 fixed non-sequential not having a correct default case
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%40114
2006-10-10 17:32:09 +00:00
David Anderson 9bc1279af1 fixed casetbl not being aligned correctly
fixed bitshifting the wrong way (oops!)

--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%40113
2006-10-10 17:22:28 +00:00
David Anderson f62af67279 small touch-ups
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%40112
2006-10-10 16:39:55 +00:00
David Anderson d2cb27e20c added simple test procedure to VM and updated some context stuff for stack checking
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%40111
2006-10-10 02:06:50 +00:00
David Anderson 4b6c4f11af added DLL exports (it builds now!)
rewrote error checking mechanism
fixed some opcode cases not being right
fixed various opcode and codegen bugs
fixed stack alignment problems
made proc aligned to a dword
fixed up helpers naming scheme
started marking opcodes as either working or not working
probably more -- too much to list

--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%40110
2006-10-10 01:55:08 +00:00
David Anderson bc22a3bc84 finalized structures I think
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%40109
2006-10-10 00:39:45 +00:00
David Anderson 5eec9f6dff moved # of params error message back to an actual error
fixed a bug in the peephole optimizer

--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%40108
2006-10-10 00:39:19 +00:00
David Anderson fb9234eb86 oh
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%40107
2006-10-06 17:05:07 +00:00
David Anderson cfcb4d288b - param count pushed is now cell based, not byte based
- removed .. for cases

--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%40106
2006-10-06 17:03:33 +00:00
David Anderson c6f60dbd6c added op.call
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%40105
2006-10-05 01:03:54 +00:00
David Anderson ea6c73dcb3 added jump for zero cases
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%40104
2006-10-01 21:06:50 +00:00
David Anderson 47dadb6cd6 added experimental implementation of switch
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%40103
2006-10-01 21:05:07 +00:00
David Anderson 55b590cb8e reorganized ungen opcode stuff
fixed mislabeled ungen ops, then added appropriate notes
added executable memory functions to API
compilation results in an sp_context_t, not a BaseContext now
renamed FreeContextVars() to FreeContext()
other minor changes

--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%4098
2006-09-24 06:17:10 +00:00
David Anderson 968692755b merged in the easy relocation requiring opcodes
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%4096
2006-09-23 04:11:01 +00:00
David Anderson 1bf17b05bb sketched out break opcode
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%4091
2006-09-21 05:04:51 +00:00
David Anderson 9ba07e4b28 added cmps, bounds, halt, and other fixes/additions
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%4090
2006-09-21 02:58:59 +00:00
David Anderson 2ada767528 committed ret/retn
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%4089
2006-09-21 01:48:19 +00:00
David Anderson 894ac3c513 added heap opcode and check function
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%4088
2006-09-20 23:33:40 +00:00
David Anderson fb39f34d4b committed op.stack
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%4085
2006-09-20 21:23:48 +00:00
David Anderson ae9c2187cb implemented op.sctrl
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%4084
2006-09-20 20:29:28 +00:00
David Anderson 240d29846c committed OP_LCTRL for some reason
added setpos() to JIT helpers

--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%4083
2006-09-20 20:11:02 +00:00
David Anderson 0503ac73b7 implemented some more opcode
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%4081
2006-09-20 15:51:05 +00:00
David Anderson 1577897925 I'm proud to present the first non-backpatched error checking routine!
all of this is untested

--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%4080
2006-09-20 08:44:21 +00:00
David Anderson 824beee935 Wrote the JIT execution function
Solidified some more code

--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%4079
2006-09-20 07:07:49 +00:00
David Anderson 3cdf54e7e9 fixed AMX_INFO_FRM being used instead of AMX_REG_INFO
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%4078
2006-09-20 04:52:13 +00:00
David Anderson 7d0bb14848 added some more macro opcodes
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%4077
2006-09-20 04:14:53 +00:00
David Anderson 7b3530de67 imported all finished opcodes that do not require jumping/relocation
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%4076
2006-09-20 03:56:24 +00:00
David Anderson f7df595ca5 note! we're still not at the point of a build
committed here to fill in more structural integrity

--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%4075
2006-09-20 02:56:20 +00:00
David Anderson 45aa735928 initial recleaning of this mess, preparing for merge of JIT proper
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%4074
2006-09-20 01:59:56 +00:00
David Anderson 302636d5e0 test dummy import of JIT structure
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%4073
2006-09-20 00:41:24 +00:00
David Anderson 70a960dd84 initial import of magical new API... FINALLY!
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%4072
2006-09-19 22:26:13 +00:00
David Anderson 103f958bae fixed whitespace
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%4071
2006-09-14 17:08:33 +00:00
David Anderson f53fe346ae changed this a bit to be nicer
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%4070
2006-09-14 07:02:02 +00:00
David Anderson c0f7e0b579 initial changes - fixed a code generation bug
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%4069
2006-09-14 05:34:02 +00:00
David Anderson 9743c00e2f the bridge function
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%4063
2006-08-06 23:31:08 +00:00
David Anderson 03587a329e added debug api fo' real
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%4061
2006-08-06 18:38:00 +00:00
David Anderson 28736ae60c added core debug api
added missing setstring function

--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%4060
2006-08-06 18:37:14 +00:00
David Anderson e0abed88d5 flattened this structure out
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%4053
2006-08-02 17:30:12 +00:00
David Anderson c23a23fb34 Added new .dbg.info section to the compiler for helping counting
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%4051
2006-08-01 23:17:13 +00:00